Hi,
> Given a kiwi-ng live image (built using image="iso", and thus using a
> squashfs) installed onto a USB stick with automatically created
> persistent partition, I've noticed that making changes to boot scripts
> or installing new kernels or kernel modules and then running sudo
> dracut -f appears successful but then on reboot it still uses the
> original image's boot and initrd.
> It's probably unsurprising that this doesn't work directly due to the
> overlays.
Yeah this is a known problem for read-only systems with an overlay.
The bootloader setup reads the initrd and the kernel from the read-only
storage and that makes this data immutable. If the overlay is a tmpfs
a copy of the initrd/kernel due to a dracut call or a package update that
issues it would only exist temporary. If the overlay is a persistent write
space created on first boot and re-used for any subsequent boot processes
it would be in theory possible to point the bootloader to this space.
We could write a more smart early-boot script for grub which checks
on a by-label search if there is a storage space to read the initrd
and the kernel from. At the moment we don't do this. Maybe I find
the time for some experiments.
> Is there some other image format that might work better (perhaps just
> image="ext4" -- can that make a bootable usb)?
As you wrote in your other e-mail using a real disk image (image="oem")
is an option to solve this problem. You can consider to use a filesystem
that supports compression like btrfs to achieve a similar size as you
get with a squashfs/erofs based live system. Such an image is then
mutable like a standard OS.
Hope this helps
Regards,
Marcus
--
Public Key available via:
https://keybase.io/marcus_schaefer/key.asc
keybase search marcus_schaefer