Project

General

Profile

Feature #5691

live-build 3.x

Added by Tails over 4 years ago. Updated over 3 years ago.

Status:
In Progress
Priority:
Normal
Assignee:
-
Category:
Build system
Target version:
-
Start date:
Due date:
% Done:

20%

QA Check:
Feature Branch:
feature/live-build-3.x
Type of work:
Research
Blueprint:
Starter:
No
Affected tool:

Description

live-build 2.x is a pain to install on Wheezy and later, so we have to find a solution to that (be it migrating to live-build 3.x, or to something else). For Tails 1.1, we have kept live-build 2.x, and we provide a custom package thereof, with a version greater than Wheezy's 3.x (https://tails.boum.org/contribute/build/#manual).

Next thing to do is to decide if we go for live-build 3.x, on the longer term, or something else.

If we go with live-build 3.x:

  1. compare the resulting packages list with an ISO built with live-build 2.x (the tasks support was removed, so we could lack a few standard priority packages)
  2. review all our lb config options, and make sure they are still valid and taking effect
  3. fix the resulting ISO file naming
  4. verify that one can still build offline (unsure, given how lb 3.x cleans http_proxy, combined with the broken environment.binary support)
  5. patch and/or overlay syslinux config to bring back our preferences that lb 3.x does not support directly anymore (see commit 3458797)
  6. see what breaks, report bugs upstream and possibly fix them.

Benefits from live-build 3.x improvements:

  • inject variables through config/environment.chroot into the chroot environment (note: environment.binary is broken for us, and environemnt.chroot can't be used for variables whose value contains spaces)
  • use --firmware-chroot true instead of manually listing all firmware packages (not usable for us, see commit 3dee0470)
  • save more disk space at build time (#5940)
  • the configuration tree is bind-mounted on /root/config in the chroot, and available for hooks

Cons of switching to live-build 3.x:

  • basically all configuration files were renamed, which makes it a pain to migrate our many branches; same for a bunch of command-line switches;
  • interestingly, live-build 4.x (alpha) has renamed some more files already, and we cannot safely assume this won't go any further.
  • Even if we move to live-build 3.x, we still realistically can neither contribute upstream our changes based on this branch, nor backport improvements we might implement in the upstream 4.x branch to the 3.x used in production: in the meantime, quite a bit was rewritten in Python, and source files renamed along the way.

Related issues

Related to Tails - Feature #5570: Improve failsafe mode Confirmed
Related to Tails - Bug #12146: Intermediary Tails is not seen as a bootable device on MacBook Pro Confirmed 01/15/2017
Blocks Tails - Feature #5940: Save more disk space at build time Confirmed
Copied to Tails - Feature #7217: Build environment compatible with Wheezy Resolved 05/11/2014

History

#1 Updated by intrigeri about 4 years ago

  • Subject changed from live-build 3.x to Build environment compatible with Wheezy
  • Type of work changed from Test to Research
  • Starter set to No

#2 Updated by intrigeri about 4 years ago

  • Assignee set to intrigeri

#3 Updated by intrigeri over 3 years ago

  • Category set to Build system

#4 Updated by intrigeri over 3 years ago

  • Description updated (diff)

#5 Updated by intrigeri over 3 years ago

  • Description updated (diff)

#6 Updated by intrigeri over 3 years ago

  • Description updated (diff)

#7 Updated by intrigeri over 3 years ago

  • Priority changed from Normal to Elevated

Raising priority: if we decide to migrate away from live-build 2.x, better do it as early as possible in the 1.1 release cycle.

#8 Updated by intrigeri over 3 years ago

  • Feature Branch set to feature/live-build-3.x

After many hours of work, I've got a live-build 3.x config tree that builds fine until the binary hooks. I expected this process to be painful. It was worse. And I've no idea how one could review the current devel..feature/live-build-3.x diff.

Anyway, I'll try to get something that works out of it, we'll see.

#9 Updated by intrigeri over 3 years ago

  • Status changed from Confirmed to In Progress
  • % Done changed from 0 to 10

#10 Updated by intrigeri over 3 years ago

  • Description updated (diff)

#11 Updated by intrigeri over 3 years ago

  • Description updated (diff)

feature/live-build-3.x now builds.

#12 Updated by intrigeri over 3 years ago

  • Copied to Feature #7217: Build environment compatible with Wheezy added

#13 Updated by intrigeri over 3 years ago

  • Subject changed from Build environment compatible with Wheezy to live-build 3.x
  • Assignee deleted (intrigeri)
  • Priority changed from Elevated to Normal
  • Target version deleted (Tails_1.1)
  • % Done changed from 10 to 20

#14 Updated by intrigeri over 3 years ago

  • Description updated (diff)

#15 Updated by BitingBird over 3 years ago

It builds, but doesn't boot.

#16 Updated by BitingBird almost 3 years ago

#17 Updated by intrigeri almost 3 years ago

#18 Updated by intrigeri almost 3 years ago

#19 Updated by intrigeri 4 days ago

  • Related to Bug #12146: Intermediary Tails is not seen as a bootable device on MacBook Pro added

Also available in: Atom PDF