diff --git a/parts.rst b/parts.rst index 8d31f1f..fd7cf16 100644 --- a/parts.rst +++ b/parts.rst @@ -17,7 +17,7 @@ First, we use those seeds to rebuild themselves. Note that all early compilers before ``mes`` are part of `stage0-posix `_. -A kernel boostrapping option is also available at the beginning. The ``hex0-seed`` can be used to compile the ``builder-hex0`` kernel which has its own built-in shell, ``hex0`` compiler and ``src`` tool to load files into its file system. ``builder-hex0`` runs stage0-posix and then builds ``mes`` and ``tcc``. It then builds and launches the `Fiwix ` kernel which runs the build until Linux takes over. +A kernel bootstrapping option is used by default at the beginning. ``hex0-seed`` can be used to compile the ``builder-hex0`` kernel which has its own built-in shell, the ``hex0`` compiler and the ``src`` tool to load files into its file system. ``builder-hex0`` runs stage0-posix and then builds ``mes`` and ``tcc``. It then builds and launches the `Fiwix ` kernel which runs the build until Linux takes over. hex0 @@ -39,9 +39,9 @@ In the first steps we use initial ``hex0`` binary seed to rebuild ``kaem-optiona ``hex0`` can be approximated with: ``sed 's/[;#].*$//g' $input_file | xxd -r -p > $output_file`` -builder-hex0 (kernel bootstrap) -=============================== -If the kernel-bootstrap option is enabled then the ``builder-hex0`` kernel boots from a hard drive and loads an enormous shell script which embeds files (loaded with the ``src`` command) and the initial commands to build ``hex0-seed``, ``kaem-optional-seed``, and the command which launches stage0-posix using ``kaem-optional-seed`` and the stage0-posix launch script ``kaem.x86``. Builder-hex0 is written in hex0 and can be compiled with any one of ``hex0-seed``, ``sed``, the tiny ``builder-hex0-mini`` boot kernel or it can build itself. +builder-hex0 +============ +By default (when kernel bootstrap is enabled), the ``builder-hex0`` kernel boots from a hard drive and loads an enormous shell script which embeds files (loaded with the ``src`` command) and the initial commands to build ``hex0-seed``, ``kaem-optional-seed``, and the command which launches stage0-posix using ``kaem-optional-seed`` and the stage0-posix launch script ``kaem.x86``. Builder-hex0 is written in hex0 and can be compiled with any one of ``hex0-seed``, ``sed``, the tiny ``builder-hex0-mini`` boot kernel or it can build itself. kaem-optional @@ -199,16 +199,16 @@ using older versions compilable by tinycc. Prior to this point, all tools have been adapted significantly for the bootstrap; now, we will be using old tooling instead. -Fiwix 1.4.0-lb1 (kernel bootstrap) -================================== +fiwix 1.4.0-lb1 +=============== If the kernel bootstrap option is enabled then the Fiwix kernel is built next. -This is a Linux clone which is much simpler to understand and build than Linux. -This version of Fiwix is a fork of 1.4.0 that contains many modifications and -enhancements to support live-boostrap. +This is a Linux 2.0 clone which is much simpler to understand and build than +Linux. This version of Fiwix is a fork of 1.4.0 that contains many +modifications and enhancements to support live-boostrap. -lwext4 1.0.0 (kernel bootstrap) -=============================== +lwext4 1.0.0 +============ If the kernel bootstrap option is enabled then `lwext4 ` is built next. This is a library for creating ext2/3/4 file systems from user land. @@ -216,8 +216,8 @@ This is combined with a program called ``make_fiwix_initrd.c`` which creates and populates an ext2 files system which Fiwix uses for an initial ram drive (initrd). This file system contains all of the files necessary to build Linux. -kexec-fiwix (kernel bootstrap) -============================== +kexec-fiwix +=========== If the kernel bootstrap option is enabled then a C program `kexec-fiwix` is compiled and run which places the Fiwix ram drive in memory and launches the Fiwix kernel. @@ -744,9 +744,10 @@ script and ``bison`` is used to recreate some included generated files. curl 7.83.0 =========== -Curl is built in sysc because Linux must be running with support for threads. -Curl requires musl 1.2.3 with thread support which was built at the end of sysa. -Curl is built first in sysc so the rest of the packages can be downloaded. +curl is built in sysc because Linux must be running with support for threads +(which is not the case if kernel bootstrapping is being used). curl requires +musl 1.2.3 with thread support, which was built at the end of sysa. +curl is built first in sysc so the rest of the packages can be downloaded. Note that the tar file for curl itself was copied over from sysa because curl is not yet available to download it.