Michael Oberg - Freiberuflicher EDV-Berater und Software-Entwickler
Frame Version


Compile

The compiling of the myLinux-Systems happens with only one command:

LFS=<goal partition> nohup mylinux-usermanager-0.9x/compile-scripts/MAIN &

Because of the nohup-command a logoff is possible. The compiling - which takes on an Pentium III / 800 MHz system with 128 MB RAM around seven and a half hours -, could run overnight.

In the available case the goal partition was mounted in /mnt/hda4 ; the command was:

LFS=/mnt/hda4 nohup mylinux-usermanager-0.92/compile-scripts/MAIN &

The compiling will be totally controlled by the skript MAIN, which starts different others, in the following explained skripts starts.

Automatic decompressing

In the three sections of the compiling process the contents of the folders LFS-Packages, BLFS-Packages und MyLinux-Packages will be decompressed into of MAIN created folders LFS-Sources, BLFS-Sources and MyLinux-Sources . This will be done by the skripts UNPACK-LFS, UNPACK-BLFS and UNPACK-MyLinux.

Static Version

The Skript COMPILE-STATIC creates static linked versions for the by compiling needed packages, among them bash, gcc and glibc. The commands are essentially taken out of the book "Linux from Scratch" of Gerard Beekmans.

Dynamic Version

It is possible with the static linked programs, to create a "change root" environment and in this to compile programs. This is used, to create a minimum Linux-System - evenly "Linux from Scratch".

The skripts MAKETREE and MAKEKERNEL-HEADERS create a listing-tree of an Linux-System, including Devices, proc-filesystem, different links and the Kernel-Header-Files.

The skript COMPILE-RUNTIME1 creates a version of glibc. the book "Linux from Scratch" orders from this a restart of the shell. After this the skript MAIN runs with the shell of the originally Linux-System, but the of this process started skripts are running in the "change root" environment. The termination of COMPILE-RUNTIME1 and the start of another skript by chroot-command restarts the shell of the "change root" environment.

The skript COMPILE-RUNTIME2 compiles a part of the LFS-Package, til the bash. After the compiling the bash should be restarted.

This happens by changing to skript COMPILE-RUNTIME3, which is compiling the rest of the packages. At the end of the compiling process, glibc will be recompiled. Since this, the bash will be dynamic merged as a "shared library", afterwards a restart of bash is again recommended.

The skript COMPILE-RUNTIME4 essentially implements configuration work and installs the Kernel-Sources.

The commands of these skripts are essentially taken from the book "Linux from Scratch" of Gerard Beekmans.

Kernel

In the meantime MAIN creates a skript setup, which overtakes parts of the myLinux configuration. Essentially these are network- and filesystem-configuration. After that, the two Default-Kernels of myLinux will be created by the skript MAKEKERNEL. The scsikernel includes drivers of nearly all networkcards and SCSI-Hostadapters, in principle every system should be supported.

However, there could be a conflict between the drivers. Therefor a second Kernel, the idekernel, which got the SCSI-Hostadapters compiled as Modules, is generated. In the matter of course, this Kernel can't be used on systems, on which an SCSI-Device uses as an boot-device.
Otherwise SCSI-Devices can be only used after loading the appropriate module.

BLFS

The skript COMPILE-BLFS compiles different packages of the book "Beyond Linux from Scratch". The commands were essentially taken out of this book, partly (f.ex. Samba) regarding the configuration shortened, because this konfigurationen will be overwritten by the following skript.

myLinux

The skript COMPILE-MYLINUX compiles packages, which are not described in the book "Beyond Linux from Scratch" and also recompiles a few packages again, which were compiled before without any support of LDAP.
(please note: xpdf is an BLFS-Package, that i compiled only here, because in this distribution it's only important for ht://dig.)

Configuration

All other commands in MAIN are concerning only the configuration of the myLinux-system.