[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Load filesystem.squashfs other than using fetch as boot parameter



Hey there,

I took a look at the list history and I saw in 2014 someone with a similar question but the solution doesn't apply for what I want to do.

I am using ipxe with imgverify, that means vmlinuz, initrd.img and potentially filesystem.squashfs are previously loaded into memory and they have a signature check done prior boot. The code below works perfectly, but the filesystem.squashfs can't be verified because it is downloaded during boot time and the live boot seems not to be able to load it from the local system (initrd). In the second code below I tried to pass the argument "fetch=file:///image/filesystem.squashfs" but it throws a "wget" error saying that the file:/// scheme isn't supported.

I am wondering how can I swap the option "fetch" to use "curl" instead of "wget" to get the filesystem.squashfs from local, since it supports file:/// and I suppose it would allow using pre-downloaded images from the initrd filesystem. PS: Passing the option "initrd /images/filesystem.squashfs /image/filesystem.squashfs" on the second code block makes filesystem.squashfs available into /image within the initrd (https://ipxe.org/cmd/imgfetch).

What I have now:
#!ipxe
set boot_options boot=live boot=live live-netdev=eth0 ethdevice=eth0 ethdevice-timeout=120 dhcp noprompt union=aufs live-getty config console=ttyS0,115200n8 console=tty0
kernel /images/vmlinuz ${boot_options} fetch=http://${dhcp-server}/images/filesystem.squashfs
initrd /images/initrd.img
imgverify vmlinuz http://${dhcp-server}/images/vmlinuz.sig
imgverify initrd.img http://${dhcp-server}/images/initrd.img.sig
imgstat
sleep 5
boot

What I want to have:
#!ipxe
set boot_options boot=live boot=live live-netdev=eth0 ethdevice=eth0 ethdevice-timeout=120 dhcp noprompt union=aufs live-getty config console=ttyS0,115200n8 console=tty0
kernel /images/vmlinuz ${boot_options} fetch=file:///image/filesystem.squashfs
initrd /images/initrd.img
initrd /images/filesystem.squashfs /image/filesystem.squashfs
imgverify vmlinuz http://${dhcp-server}/images/vmlinuz.sig
imgverify initrd.img http://${dhcp-server}/images/initrd.img.sig
imgverify filesystem.squashfs http://${dhcp-server}/images/filesystem.squashfs.sig
imgstat
sleep 5
boot

Thank you all,

--
Kleber Leal

Reply to: