On Tue, Sep 5, 2023 at 9:53 AM Steffen Nurpmeso wrote: > Steffen Nurpmeso wrote in > <20230904221059.sF2G0%steffen@sdaoden.eu>: > |Norman Wilson wrote in > | <9A989054DE79CE5059CBA74797391E39.for-standards-violators@oclsc.org>: > ... > ||Perhaps the question to ask is why such a magic program is > ||needed at all. Is it just because programs like the shell > ||have become so large and unwieldy that they won't fit in > ||a small environment suitable for loading into an initramfs? > ... > |For my laptop it allows me easy boot management. > ... > | -rwxr-xr-x 1 root root 4596 Feb 4 2023 linux-init-s1.sh* > | -rwxr-xr-x 1 root root 3646 Feb 4 2023 linux-init-lib.sh* > | -rwxr-xr-x 1 root root 5480120 Feb 11 2023 cryptsetup.static* > | -rwxr-xr-x 1 root root 1978368 Aug 15 18:51 busybox.static* > | -rwxr-xr-x 1 root root 10112672 Aug 26 18:44 ideapad-stage1.efi* > > Only to add that this is because of Linux and the way it is doing > things. If i would use FreeBSD on bare metal, then i would have > an EFI boot loader on EFI that knows (only) enough to ask for > passphrase (correct me if i am wrong), and can then boot the > kernel from FFS or ZFS. (You have to choose dedicated ZFS boot > loader iirc, but despite that...) > No, you don't have to choose the dedicated ZFS boot loader, at least not anymore. Also, you can use boot1.efi to load loader.efi from the root filesystem to load the kernel, or you could use loader.efi directly on the ESP to load the kernel. boot1 barely knows anything (and has only one choice of what to boot). loader.efi is the full deal, and can do rather a lot of sophisticated things. > I know GRUB (and maybe other) Linux bootloaders can do all that, > but they are huge, are badly maintained, or under-documented, let > alone with local manuals, and i am too stupid to configure them > (due to all that). refind is ok, however. But.. be aware of > typos in the configuration.. > > But anyhow. With an EFI_STUB Linux kernel i can save me all that, > with busybox i get a complete environment (i then even create an > initrd in /boot/ on the fly so i do not have to type the password > a second time, that can (optionally) be cached, and is, actually > > -rw------- 1 root root 4495987 May 29 16:29 .kent.initrd.0 > > Unfortunately cryptsetup is needed even though, i think, the > kernel has anything needed; you just cannot access it. cryptsetup > is only needed for "$cs open $PART_ROOT p_root --key-file -". > Of course i am no real Linux expert but only a do-it-yourself guy. > busybox allows me to manage this easily, to answer your question. > You could do that on FreeBSD with a loader.efi that has a ram disk built into it as well, including a 'beastie box' thing that's akin to busybox. It will boot in one step and no no further I/O to get a running system. Others have used this for secure boot and to boot a small ram disk that's later discarded as userland decides what root should be. But it's much less automated than in Linux... Warner