Update docs to reflect recent changes
This commit is contained in:
parent
c189dad168
commit
6adb1ebcec
18
README.rst
18
README.rst
|
@ -29,12 +29,15 @@ Get me started!
|
||||||
a hard drive. This is currently hardcoded as sda. You also need
|
a hard drive. This is currently hardcoded as sda. You also need
|
||||||
to put ``sysc/tmp/disk.img`` onto your sda on the bootstrapping
|
to put ``sysc/tmp/disk.img`` onto your sda on the bootstrapping
|
||||||
machine.
|
machine.
|
||||||
|
c. Alternatively, do not use python at all, see "Python-less build"
|
||||||
|
below.
|
||||||
|
|
||||||
5. Wait.
|
5. Wait.
|
||||||
6. If you can, observe the many binaries in ``/usr/bin``! When the
|
6. If you can, observe the many binaries in ``/usr/bin``! When the
|
||||||
bootstrap is completed ``bash`` is launched providing a shell to
|
bootstrap is completed ``bash`` is launched providing a shell to
|
||||||
explore the system.
|
explore the system.
|
||||||
|
|
||||||
|
|
||||||
Background
|
Background
|
||||||
----------
|
----------
|
||||||
|
|
||||||
|
@ -88,7 +91,7 @@ Comparison between GNU Guix and live-bootstrap
|
||||||
+----------------------+----------------------+----------------------+
|
+----------------------+----------------------+----------------------+
|
||||||
|
|
||||||
[1]: Both projects only use software licensed under a FSF-approved
|
[1]: Both projects only use software licensed under a FSF-approved
|
||||||
free software license.
|
free software license. Kernel is excluded from seed.
|
||||||
[2]: Reiterating that Guix is working on a full source bootstrap,
|
[2]: Reiterating that Guix is working on a full source bootstrap,
|
||||||
although that still uses guile (~12 MB). [3]: Work is ongoing to use
|
although that still uses guile (~12 MB). [3]: Work is ongoing to use
|
||||||
other, smaller POSIX kernels.
|
other, smaller POSIX kernels.
|
||||||
|
@ -153,3 +156,16 @@ from sysb, executed through util-linux's ``switch_root`` command which moves
|
||||||
the entire rootfs without a reboot. Every package from here on out is compiled
|
the entire rootfs without a reboot. Every package from here on out is compiled
|
||||||
under this system, taking binaries from sysa. Chroot mode skips sysb, as it
|
under this system, taking binaries from sysa. Chroot mode skips sysb, as it
|
||||||
is obviously irrelevant for a chroot.
|
is obviously irrelevant for a chroot.
|
||||||
|
|
||||||
|
Python-less build
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
Python is no longer a requirement to set up the build system. The
|
||||||
|
repository is almost completely in a form where it can be used as the
|
||||||
|
source of a build.
|
||||||
|
|
||||||
|
1. Copy sysa/stage0-posix/src/* to the root of the repository.
|
||||||
|
2. Copy sysa/stage0-posix/src/bootstrap-seeds/POSIX/x86/kaem-optional-seed
|
||||||
|
to init in the root of the repository.
|
||||||
|
3. Create a CPIO archive (eg, ``cpio --format newc --create --directory . > ../initramfs``).
|
||||||
|
4. Boot your initramfs and kernel.
|
||||||
|
|
50
parts.rst
50
parts.rst
|
@ -250,8 +250,8 @@ m4 1.4.7
|
||||||
flex 2.6.4 and bison. It allows macros to be defined and files to be
|
flex 2.6.4 and bison. It allows macros to be defined and files to be
|
||||||
generated from those macros.
|
generated from those macros.
|
||||||
|
|
||||||
flex 2.6.14
|
flex 2.6.4
|
||||||
===========
|
==========
|
||||||
|
|
||||||
We recompile unpatched GNU ``flex`` using older flex 2.5.11. This is
|
We recompile unpatched GNU ``flex`` using older flex 2.5.11. This is
|
||||||
again a two stage process, first compiling flex using ``scan.c`` (from
|
again a two stage process, first compiling flex using ``scan.c`` (from
|
||||||
|
@ -584,14 +584,12 @@ work with our version of binutils. However, a much earlier 4.9.10 does
|
||||||
(selected arbitarily, could go newer but did not test), with a small amount
|
(selected arbitarily, could go newer but did not test), with a small amount
|
||||||
of patching. This is also modern enough for most hardware and to cause few
|
of patching. This is also modern enough for most hardware and to cause few
|
||||||
problems with software built in sysc. Secondly, the linux-libre scripts are used
|
problems with software built in sysc. Secondly, the linux-libre scripts are used
|
||||||
to deblob the kernel. Unauditable, unbootstrappable binary blobs within our
|
to deblob the kernel. Every other pregenerated file is appended with ``_shipped``
|
||||||
kernel are unacceptable. Our gawk is too buggy/old so we use sed instead for
|
so we use a ``find`` command to remove those, which are automatically regenerated.
|
||||||
this operation. Every other pregenerated file is appended with ``_shipped`` so
|
|
||||||
we use a ``find`` command to remove those, which are automatically regenerated.
|
|
||||||
The kernel config was originally taken from Void Linux, and was then modified
|
The kernel config was originally taken from Void Linux, and was then modified
|
||||||
for the requirements of live-bootstrap, including compiler features, drivers,
|
for the requirements of live-bootstrap, including compiler features, drivers,
|
||||||
and removing modules. Speaking of which, modules cannot be used. These cannot
|
and removing modules. Modules are unused. They are difficult to transfer to
|
||||||
be transferred to subsequent systems, and we do not have ``modprobe``. Lastly,
|
subsequent systems, and we do not have ``modprobe``. Lastly,
|
||||||
the initramfs of sysb is generated in this stage, using ``gen_init_cpio`` within
|
the initramfs of sysb is generated in this stage, using ``gen_init_cpio`` within
|
||||||
the Linux kernel tree. This avoids the compilation of ``cpio`` as well.
|
the Linux kernel tree. This avoids the compilation of ``cpio`` as well.
|
||||||
|
|
||||||
|
@ -601,11 +599,14 @@ go_sysb
|
||||||
This is the last step of sysa, run for non-chroot mode. It uses kexec to load
|
This is the last step of sysa, run for non-chroot mode. It uses kexec to load
|
||||||
the new Linux kernel into RAM and execute it, moving into sysb.
|
the new Linux kernel into RAM and execute it, moving into sysb.
|
||||||
|
|
||||||
|
In chroot, sysb is skipped, and data is transferred directly to sysc and
|
||||||
|
chrooted into.
|
||||||
|
|
||||||
sysb
|
sysb
|
||||||
====
|
====
|
||||||
|
|
||||||
sysb is purely a transition to sysc, allowing binaries from sysa to get onto a
|
sysb is purely a transition to sysc, allowing binaries from sysa to get onto a
|
||||||
disk (as sysa does not nessecarily have hard disk support in the kernel).
|
disk (as sysa does not necessarily have hard disk support in the kernel).
|
||||||
It populates device nodes, mounts sysc, copies over data, and executes sysc.
|
It populates device nodes, mounts sysc, copies over data, and executes sysc.
|
||||||
|
|
||||||
bash 5.1
|
bash 5.1
|
||||||
|
@ -738,6 +739,31 @@ We finally compile a full version of Perl using Configure. This includes all bas
|
||||||
extensions required and is the latest version of Perl. We are now basically able
|
extensions required and is the latest version of Perl. We are now basically able
|
||||||
to run any Perl application we want.
|
to run any Perl application we want.
|
||||||
|
|
||||||
|
libarchive 3.5.2
|
||||||
|
================
|
||||||
|
|
||||||
|
``libarchive`` is a C library used to read and write archives.
|
||||||
|
|
||||||
|
openssl 1.1.1l
|
||||||
|
==============
|
||||||
|
|
||||||
|
OpenSSL is a C library for secure communications/cryptography. We do not
|
||||||
|
strictly use any of the networking functions of this library but it is a hard dependency
|
||||||
|
of XBPS.
|
||||||
|
|
||||||
|
zlib 1.2.12
|
||||||
|
===========
|
||||||
|
|
||||||
|
zlib is a software library used for data compression and implements an abstraction of
|
||||||
|
DEFLATE algorithm that is also used in ``gzip``.
|
||||||
|
|
||||||
|
xbps 0.59.1
|
||||||
|
===========
|
||||||
|
|
||||||
|
XBPS is the package manager used from Void Linux. It has a rather simple package
|
||||||
|
creation and installation system, and is much more robust than the hand-rolled
|
||||||
|
tar package system used previously. From here, all package archives use XBPS.
|
||||||
|
|
||||||
automake 1.16.3
|
automake 1.16.3
|
||||||
===============
|
===============
|
||||||
|
|
||||||
|
@ -767,12 +793,6 @@ texinfo 6.7
|
||||||
Texinfo is a typesetting syntax used for generating documentation. We can now use
|
Texinfo is a typesetting syntax used for generating documentation. We can now use
|
||||||
``makeinfo`` script to convert ``.texi`` files into ``.info`` documentation format.
|
``makeinfo`` script to convert ``.texi`` files into ``.info`` documentation format.
|
||||||
|
|
||||||
zlib 1.2.11
|
|
||||||
===========
|
|
||||||
|
|
||||||
zlib is a software library used for data compression and implements an abstraction of
|
|
||||||
DEFLATE algorithm that is also used in ``gzip``.
|
|
||||||
|
|
||||||
gcc 4.7.4
|
gcc 4.7.4
|
||||||
=========
|
=========
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue