通过引导程序拉起 Linux

  • LWN.net needs subscriptions: Without subscribers, LWN wouldn't exist. Consider subscribing at [https://lwn.net/Promo/nst-nag...].
  • Bootstrappable builds:

    • Guix project reduced binary bootstrap seed size to 357-bytes.
    • live-bootstrap project removed the need for an existing kernel.
    • Started in 2020 by Samuel Tyler, with co-maintainers and 17 contributors.
    • Goal is to create a usable system with human-auditable and written source code.
    • Incorporates various bootstrapping tools and historical software versions.
  • The process:

    • Clone Git repository or download release tarball. Use recursive clone for submodules.
    • rootfs.py tool can be used for different builds (chroot, QEMU, bare metal).
    • Optional to use rootfs.py; instructions for building bare-metal disk image by hand.
    • Download release tarballs with./download-distfiles.sh.
    • Assemble Builder-Hex0 minimal kernel and concatenate files.
  • A minimal kernel:

    • Builder-Hex0 is a 32-bit minimal kernel by Rick Masters.
    • Bootloader reads sources, assembles, and jumps to kernel.
    • Kernel has a built-in shell to interpret a shell script.
  • Toward a larger kernel:

    • Build stage0-posix, then Mes (Scheme interpreter and C compiler).
    • Mes builds Tiny C Compiler (tcc), which builds Fiwix (OS kernel).
    • Fiwix supports various features.
  • A chain of legacy software:

    • Build older versions of open-source projects until GCC.
    • Complex process includes building musl and other tools.
  • Overall:

    • The process takes a long time and CPU.
    • Removing the Linux kernel lays to rest trust concerns.
    • Bootstrappable builds give users confidence in packages.
    • They simplify building Linux distributions and ensure software longevity.
阅读 18
0 条评论