* cross compilation for glibc seems to need some specific packages
* cross compilation for glibc seems to need some specific packages
@ -54,7 +54,7 @@ The script do some writings only under :
The script builds LFS by completing the following steps:
The script builds LFS by completing the following steps:
1. Download package source code and save to the `packages` directory.
1. Download package source code and save to the _packages_ directory.
2. Build initial cross compilation tools. This corresponds to chapter 5 in the LFS book, and "phase 1" of the script.
2. Build initial cross compilation tools. This corresponds to chapter 5 in the LFS book, and "phase 1" of the script.
3. Begin to build tools required for minimal chroot environment. (chapter 6/phase 2)
3. Begin to build tools required for minimal chroot environment. (chapter 6/phase 2)
4. Enter chroot environment, and build remaining tools needed to build the entire LFS system. (chapter 7/phase 3)
4. Enter chroot environment, and build remaining tools needed to build the entire LFS system. (chapter 7/phase 3)
@ -62,14 +62,14 @@ The script builds LFS by completing the following steps:
The script ask for validation for each step.
The script ask for validation for each step.
You can disable validation until desired step with a number as argument.
You can disable validation until desired step with a number as argument.
The *number* is the chapter (of the books) on 5 digits until you validate.
The _number_ is the chapter (of the books) on 5 digits until you validate.
If you want to start validation at *5. Compiling a Cross-Toolchain*, it's *50000*.
If you want to start validation at _5. Compiling a Cross-Toolchain_, it's _50000_.
To configure it, execute a first time the *make* command.
To configure it, execute a first time the _make_ command.
A file *~lfs/.lfsbuild_config* will be created.
A file **~lfs/.lfsbuild_config** will be created.
You can customize it by setting the BREAKPOINT var.
You can customize it by setting the BREAKPOINT var.
Or create the file before :
Or create and customize the file before :
```bash
```bash
cat /home/lfs/.lfsbuild_config <<EOSF
cat /home/lfs/.lfsbuild_config <<EOSF
@ -80,22 +80,19 @@ LFS_NPROC=$(nproc)
# Bypass step by step validation until a breakpoint
# Bypass step by step validation until a breakpoint
LFS_BREAKPOINT=1
LFS_BREAKPOINT=1
# strip binaries or not
# strip binaries or not
LFS_STRIP_BINARIES=false
LFS_STRIP_BINARIES=true
# bypass network config validation by taking network config from host
# bypass network config validation by taking network config from host
LFS_NETWORKSAMEASHOST=false
LFS_NETWORKSAMEASHOST=false
# bypass network configuration for full offline build
# bypass network configuration for full offline build
LFS_NETWORKOFFLINE=false
LFS_NETWORKOFFLINE=false
# bypass linux config validation by taking linux config from host
# bypass linux config validation by taking linux config from host
# !!! LFS doesn't built a initramfs. If your host load required drivers as modules in it, you won't be able to boot.
LFS_LINUXCONFIGPROVIDED=false
# It may be convenient if you build from an LFS host.
# You can also put a config file in your home ( $HOME/linux-config-*version* e.g. linux-config-6.8.10 ) and it will be taken as config file.
LFS_LINUXCONFIGSAMEASHOST=false
EOSF
EOSF
```
```
## Examples
## Examples
Execute as *lfs* user.
Execute as **lfs** user.
```bash
```bash
make
make
@ -122,7 +119,7 @@ menuentry "GNU/Linux, Linux 6.18.10-lfs-13.0-systemd with partuuid" {
}
}
```
```
The *partuuid* section is not required, but can be helpful if you add another disk or change boot order in bios. partuuid is *more* immutable then *vdx*.
The _partuuid_ section is not required, but can be helpful if you add another disk or change boot order in bios. partuuid is _more_ immutable than _vdx_.
Devices are extracted from the following command :
Devices are extracted from the following command :