Hi,

TL;DR:
------

Is it (easily) possible to use lb to build an ISO from an existing rootfs directory? (skipping the initial setup, bootstrap creation, etc)

If so, could I please have some pointers/guidance?

Background and context:
-----------------------

I work with TurnKey Linux[1] and we have been producing a library of ~100 task/software specific minimalist headless Linux Live booting ISOs for ~14 years.

[1] https://www.turnkeylinux.org/

Initially we were based on Ubuntu and just leveraged their live booting system (Casper and friends). Then in 2012 we moved to a Debian base. At that point, Debian had no live system so we dragged Casper and friends with us and "maintained" (aka just kept it running) for a number of years. We used that in combination with "di-live" a tool we created that leverages debian-installer source to build a minimalist live installer.

During this time, we have developed a custom build system which uses a minimalist Debian bootstrap, with task specific Debian packages installed where possible, but also our own custom packages and in some cases, other third party repos/software (e.g. sury.org for newer PHP where relevant, upstream source in other cases). Our build system also has a system of "overlays" and "conf scripts" (i.e. files to overlay on the rootfs and scripts to run within the rootfs respectively).

As time has gone on, the live boot component has become harder to maintain and there are things that I would like to include that aren't simple for me using di-live (e.g. UEFI boot, encrypted FS, etc). Over the years, I have been watching Debian Live develop with interest.

A couple of years ago (buster IIRC), we dropped Casper and starting using live-boot (still with our di-live installer). That worked well for us, however, we'd now like to go further.

As noted above, 2 things that I'd like to implement are support for UEFI boot and disk encryption.

On face value, the easiest way to do that is to leverage lb (and/or some of it's underlying components) and on initial investigation, it seems possible to just replace the lb generated rootfs, with ours, then build the iso.

Ultimately we will consider porting all of our build code to lb and use that directly, however with Bookworm freshly released, we're getting to the pointy end of our new (Bookworm based) release. So for now, we just want to build a better ISO, but we already have exactly what we want in the rootfs.

We have already tried putting lb into the workflow. Essentially it works, but it feels clunky and makes the ISO building process MUCH slower the first time (because it builds the debian-live rootfs first) and still quite a bit slower every run after.

So is there a better/easier way to leverage lb to achieve my goal (without having to dive too deep into the lb codebase)?

----

As something of an aside, if/when we do integrate more tightly with live-boot, I'd (quite selfishly) be potentially interested in getting involved with live-boot maintenance and development if that's something that we could explore?

Cheers,
Jeremy

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply via email to