[TUHS] Unix install & "standalone" package

Warner Losh imp at bsdimp.com
Thu Sep 7 03:50:45 AEST 2023


On Tue, Sep 5, 2023 at 9:53 AM Steffen Nurpmeso <steffen at sdaoden.eu> wrote:

> Steffen Nurpmeso wrote in
>  <20230904221059.sF2G0%steffen at sdaoden.eu>:
>  |Norman Wilson wrote in
>  | <9A989054DE79CE5059CBA74797391E39.for-standards-violators at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.tuhs.org/pipermail/tuhs/attachments/20230906/625ffa60/attachment.htm>


More information about the TUHS mailing list