Boot Archiso files using systemd-boot or GRUB
Hello folks, I am doing a little crazy, I would like to boot the content of Archiso but with the extracted files not the ISO image itself. It is clear to me that to boot I need: - amd-ucode.img - intel-ucode.img - initramfs-linux.img - vmlinuz-linux - airootfs.sfs And that the linux and initrd lines are: linux /archiso/vmlinuz-linux initrd /archiso/intel-ucode.img /archiso/amd-ucode.img /archiso/initramfs-linux.img But I'm missing the options to pass to the kernel to find the airootfs.sfs. I know that using the img_dev and img_loop parameters I can tell it where the ISO file is located and boot with it, but I'm more interested in booting directly with the extracted airootfs.sfs and without the ISO. Any ideas? Greetings. -- Óscar García Amor | ogarcia at moire.org | http://ogarcia.me
Boot the ISO, check /proc/cmdline for the options passed to the kernel. Am 16.05.23 um 09:13 schrieb Óscar García Amor:
Hello folks,
I am doing a little crazy, I would like to boot the content of Archiso but with the extracted files not the ISO image itself.
It is clear to me that to boot I need: - amd-ucode.img - intel-ucode.img - initramfs-linux.img - vmlinuz-linux - airootfs.sfs
And that the linux and initrd lines are: linux /archiso/vmlinuz-linux initrd /archiso/intel-ucode.img /archiso/amd-ucode.img /archiso/initramfs-linux.img
But I'm missing the options to pass to the kernel to find the airootfs.sfs. I know that using the img_dev and img_loop parameters I can tell it where the ISO file is located and boot with it, but I'm more interested in booting directly with the extracted airootfs.sfs and without the ISO. Any ideas?
Greetings.
El mar, 16-05-2023 a las 09:22 +0200, Uwe Sauter escribió:
Boot the ISO, check /proc/cmdline for the options passed to the kernel.
That option is not valid as the kernel parameters passed are dependent on booting from the ISO. The values are: archisobasedir=arch archisodevice=UUID=2023-05-03-17-21-52-00 As I say, this makes it dependent on the ISO itself (which is the one with the UUID value). What I was looking for was a way to indicate where the airootfs.sfs file is located, but I don't know if that is possible. Greetings. -- Óscar García Amor | ogarcia at moire.org | http://ogarcia.me
On 16-05-2023 13:09, Óscar García Amor wrote:
El mar, 16-05-2023 a las 09:22 +0200, Uwe Sauter escribió:
Boot the ISO, check /proc/cmdline for the options passed to the kernel.
That option is not valid as the kernel parameters passed are dependent on booting from the ISO. The values are:
archisobasedir=arch archisodevice=UUID=2023-05-03-17-21-52-00
As I say, this makes it dependent on the ISO itself (which is the one with the UUID value). What I was looking for was a way to indicate where the airootfs.sfs file is located, but I don't know if that is possible.
Greetings.
Mount the iso , navigate to it's /arch/x86_64 folder and check which files are in it. LW
On otrdiena, 2023. gada 16. maijs 10:13:51 EEST Óscar García Amor wrote:
Hello folks,
I am doing a little crazy, I would like to boot the content of Archiso but with the extracted files not the ISO image itself.
It is clear to me that to boot I need: - amd-ucode.img - intel-ucode.img - initramfs-linux.img - vmlinuz-linux - airootfs.sfs
And that the linux and initrd lines are: linux /archiso/vmlinuz-linux initrd /archiso/intel-ucode.img /archiso/amd-ucode.img /archiso/initramfs-linux.img
But I'm missing the options to pass to the kernel to find the airootfs.sfs. I know that using the img_dev and img_loop parameters I can tell it where the ISO file is located and boot with it, but I'm more interested in booting directly with the extracted airootfs.sfs and without the ISO. Any ideas?
Greetings.
The airootfs image location is hardcoded to "/${archisobasedir}/${arch}/", so you you need to place airootfs.sfs in a "x86_64" subdirectory. Then setting archisobasedir and archisodevice should be enough. nl6720
El mar, 16-05-2023 a las 14:40 +0300, nl6720 escribió:
The airootfs image location is hardcoded to "/${archisobasedir}/${arch}/", so you you need to place airootfs.sfs in a "x86_64" subdirectory. Then setting archisobasedir and archisodevice should be enough.
This is how the boot works, but I was looking for something more dynamic, like with grml in this AUR package[1]. Because the problem with using archisodevice is that it forces you to enter the device identifier, so you would not be able to make a common configuration for all your machines. I don't think it is possible to do otherwise, though. Greetings. [1]: https://aur.archlinux.org/packages/grml-systemd-boot -- Óscar García Amor | ogarcia at moire.org | http://ogarcia.me
participants (4)
-
Lone_Wolf
-
nl6720
-
Uwe Sauter
-
Óscar García Amor