mvallim / live-custom-ubuntu-from-scratch

(Yes, the project is still alive 😃) This procedure shows how to create a bootable and installable Ubuntu Live (along with the automatic hardware detection and configuration) from scratch.
https://mvallim.github.io/live-custom-ubuntu-from-scratch/
GNU General Public License v3.0
397 stars 186 forks source link

Ubuntu 21.10 and 22.04(RC) Desktop Live (Ubuntu default) not using isolinux anymore #40

Closed pdcq closed 2 years ago

pdcq commented 2 years ago

Hi, Your solution is tested/validated for Ubuntu 20.04 (focal). Looking at the Ubuntu 21.10 (and 22.04) LiveCD they don't include isolinux anymore. We are currently implementing a pxeboot EFI (Secureboot) Full automatic Ubuntu installation, and all works fine on "old" hardware. But the most recent hardware seem to not behave as it should ( ethernet driver/tcp stack issues), and testing the "standard" Ubuntu 22.04 (RC) Desktop Live iso shows our problem (HTTP ISO download during initial pxeboot bootloader fails to load iso after 250MB) is working as expected.

The problem here is that since isolinux is not used anymore with the latest 2 releases of Ubuntu, I don't have a clue how to rebuild the iso (xorriso command).

Ubuntu clearly "dropped" BIOS Boot from 21.10 on their liveCD, but I do not see this reflected in the documentation here (and @Ubuntu). Surely this would/should be documented somewhere, but I can't find it. I'm wondering if, based on the experience here (very clear instructions) there is an answer to be found regarding 21.10/22.04. As some point we'll need to follow anyways.

pdcq commented 2 years ago

Using the information from [https://askubuntu.com/questions/1289400/remaster-installation-image-for-ubuntu-20-10] After extracting the required mbr and efi (explained in the article) I was able to remaster the default 22.04 ISO using the following command (which I could not split, xorriso didn't like that so it's a oneliner):

xorriso -as mkisofs -r -V "ubuntu-preseed" -J -joliet-long -l -iso-level 3 -partition_offset 16 --grub2-mbr "$mbr" --mbr-force-bootable -append_partition 2 0xEF "$efi" -appended_part_as_gpt -c boot.catalog -b boot/grub/i386-pc/eltorito.img -no-emul-boot -boot-load-size 4 -boot-info-table --grub2-boot-info -eltorito-alt-boot -e '--interval:appended_partition_2:all::' -no-emul-boot -o "${destination_iso}" .

This ommits symlinks: libisofs: WARNING : Cannot add /ubuntu to Joliet tree. Symlinks can only be added to a Rock Ridge tree. ...

I hope this info is useful to incorporate/add to your excellent documentation.