Release vmlinuz and initrd alongside iso

Christian Ehrhardt christian.ehrhardt at canonical.com
Wed Nov 10 10:36:51 UTC 2021


On Wed, Nov 10, 2021 at 2:51 AM Michael Hudson-Doyle
<michael.hudson at canonical.com> wrote:
>
> Hi,
>
> On Tue, 9 Nov 2021 at 02:19, MonkZ <i+ubuntu-devel-discuss at monkz.de> wrote:
>>
>> Hi,
>>
>> currently enabling booting via ipxe (https://ipxe.org/) over http needs
>> a dedicated mirror that has vmlinuz and initrd extracted from the iso.
>>
>> Would it be possible to release those files - already extracted from the
>> iso - alongside those very isos?
>
>
> This is something we should do, yes. I've created an internal ticket to look into it (after failing to find the one I was *sure* already existed) -- I personally am not very familiar with the relevant bits and pieces.

Wasn't that in the past already available and discoverable through
simplestreams for MAAS doing PXE boots?
Here an old example what I remember
https://lists.ubuntu.com/archives/ubuntu-server-bugs/2015-October/137272.html

IIRC this isn't used exactly the same way nowadays, but the following
still discovers me a set of kernels and can be further restricted as
needed:

sstream-query http://images.maas.io/ephemeral-v3/stable/streams/v1/com.ubuntu.maas:stable:v3:download.json
kflavor=generic ftype=boot-kernel release=focal arch=amd64
sstream-query http://images.maas.io/ephemeral-v3/stable/streams/v1/com.ubuntu.maas:stable:v3:download.json
kflavor=generic ftype=boot-initrd release=focal arch=amd64

The Maas team might have better info how to (or why you should not)
use those nowadays.

> Cheers,
> mwh
>
>>
>> This would enable ubuntu to create one iso, that can boot every version
>> available directly from one usb stick or pxe server.
>>
>> #!ipxe
>> dhcp
>> set http-server https://releases.ubuntu.com
>> kernel
>> http://${http-server}/ubuntu/21.10/ubuntu-21.10-desktop-amd64.iso.vmlinuz
>> initrd
>> http://${http-server}/ubuntu/21.10/ubuntu-21.10-desktop-amd64.iso.initrd
>> imgargs ubuntu-21.10-desktop-amd64.iso.vmlinuz root=/dev/ram0
>> ramdisk_size=3000000 boot=casper ip=dhcp netboot=url
>> url=http://${http-server}/os/ubuntu/21.10/ubuntu-21.10.x-desktop-amd64.iso
>> boot || shell
>>
>> Something similar is done by Arch Linux. But they included the Let's
>> Encrypt Root Certificate too, to enable boot via https, and they
>> chainloaded a menu from their mirror to just have one iso or usbstick
>> image to work indefinitely, as the critical information, what to boot
>> would be loaded after the boot of ipxe.
>>
>>
>> Regards
>>
>> MonkZ
>>
>>
>> --
>> Ubuntu-devel-discuss mailing list
>> Ubuntu-devel-discuss at lists.ubuntu.com
>> Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel-discuss
>
> --
> Ubuntu-devel-discuss mailing list
> Ubuntu-devel-discuss at lists.ubuntu.com
> Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel-discuss



-- 
Christian Ehrhardt
Staff Engineer, Ubuntu Server
Canonical Ltd



More information about the Ubuntu-devel-discuss mailing list