# OVERVIEW: This build tracks linux from scratch version 9.1 # REQUIREMENTS: 1. git installed on the host 2. wget on host system 3. Directory for build, mounted at /mnt/lfs There will need to be a partition mounted there. You will be responsible for that. This build system uses whatever filesystem that is present at ${LFS} 4. run version-check.sh and install required packages if needed # WARNING: This build system is designed in such a way to not be able to trash your host system. Mistakes can happen. I am not responsible for trashed host systems. You bear all responsibilities for any failures. # GENERAL NOTES: This system was designed and debugged on an AMD64 {x86_64} system and does not support i686. The build system installs/work directory: /mnt/lfs/usr/src/LFS-RPM This build has a mkinitramfs step (which requires cpio) this step creates an initrd so cpu updates and firmware is loaded. Your lfs kernel should be configured to use this. This build has linux-firmware to provide firmware for various hardware. See BLFS book for more information. I have installed rpm macro files in: /home/lfs/.rpmmacros This makes the rpm environment correct so it builds the base system correctly. # ADDITIONS: - rpm - the package manager - mkinitramfs - to create initramfs - cpio - needed for mkinitramfs - popt - needed for rpm - python2 - needed for rpm - wget - needed to fetch packages - linux-firmware - needed to boot under certain hardware # BUILD PROCEDURE: login as root user fdisk /dev/sdx partition drive, you need to do this mkfs.ext4 /dev/sdxx create ext4 filesystem install -vdm 755 /mnt/lfs create lfs directory mount /dev/sdxx /mnt/lfs mount partition to work directory install -vdm 755 /mnt/lfs/usr/src create build directory cd /mnt/lfs/usr/src goto build directory Now fetch the build system it will go into /mnt/lfs/usr/src/LFS-RPM by default git clone https://git.cromer.cl/cromer/LFS-RPM.git cd LFS-RPM Lets do this ./setup.sh setup environment and fetches source tarballs ./lfs.sh build it ./cleanup.sh cleanup host Build at this point is complete. All that is needed is to install grub and/or add a menu item in the the grub configuration file /boot/grub.cfg This completes the build. # GRUB EXAMPLES: GPT partitioned drive menuentry 'Linux From Scratch (9.1) (on /dev/sdxx)' { insmod part_gpt insmod ext2 set root='hdx,gptx' linux /boot/vmlinuz-5.5.3 root=/dev/sdxx initrd /boot/initrd.img-5.5.3 } MSDOS/BIOS partitioned drive menuentry 'Linux From Scratch (9.1) (on /dev/sdxx)' { insmod part_msdos insmod ext2 set root='hdx,msdosx' linux /boot/vmlinuz-5.5.3 root=/dev/sdxx initrd /boot/initrd.img-5.5.3 } Change the x's to the proper drives and partition # INSTALLER SCRIPT: The installer.sh script will take the binary rpms (chapter 6) and install them into a partition that YOU mounted on /mnt. If you want to install else where then change ROOTPATH="/mnt" to the installation partition mounted by YOU. # SCRIPTS: - base.sh - builds chapter 6 - cleanup.sh - cleanup host system after build - installer.sh - install rpm binaries to mounted partition - lfs.sh - builds the whole thing - setup.sh - configure for build - tools.sh - builds chapter 5 - version-check.sh - checks host system for requirements