%general-entities; ]> Cleaning up and Saving the Temporary System The libtool .la files are only useful when linking with static libraries. They are unneeded, and potentially harmful, when using dynamic shared libraries, specially when using non-autotools build systems. While still in chroot, remove those files now: find /usr/{lib,libexec} -name \*.la -delete Remove the documentation of the temporary tools, to prevent them from ending up in the final system, and save about 35 MB: rm -rf /usr/share/{info,man,doc}/* All the remaining steps in this section are optional. Nevertheless, as soon as you begin installing packages in , the temporary tools will be overwritten. So it may be a good idea to do a backup of the temporary tools as described below. The other steps are only needed if you are really short on disk space. The following steps are performed from outside the chroot environment. That means, you have to leave the chroot environment first before continuing. The reason for that is to: make sure that objects are not in use while they are manipulated. get access to file system locations outside of the chroot environment to store/read the backup archive which should not be placed within the $LFS hierarchy for safety reasons. Now, if you are stripping installed files or making a backup, leave the chroot environment: exit All of the following instructions are executed by root. Take extra care about the commands you're going to run as mistakes here can modify your host system. Be aware that the environment variables LFS and LFS_TGT are set for user lfs by default but may not be set for root. Whenever commands are to be executed by root, make sure you have set LFS and LFS_TGT accordingly. This has been discussed in . Stripping If the LFS partition is rather small, it is good to know that unnecessary items can be removed. The executables and libraries built so far contain a little over 90 MB of unneeded debugging symbols. Strip off debugging symbols from binaries: cd $LFS/tools/$LFS_TGT bin/strip --strip-unneeded $LFS/usr/lib/* bin/strip --strip-unneeded $LFS/usr/{,s}bin/* bin/strip --strip-unneeded $LFS/tools/bin/* These commands will skip a number of files reporting that it does not recognize their file format. Most of these are scripts instead of binaries. At this point, you should have at least 5 GB of free space on the chroot partition that can be used to build and install Glibc and GCC in the next phase. If you can build and install Glibc, you can build and install the rest too. You can check the free disk space with the command df -h $LFS. Backup Now that the essential tools have been created, its time to think about a backup. When every check has passed successfully in the previously built packages, your temporary tools are in a good state and might be backed up for later reuse. In case of fatal failures in the subsequent chapters, it often turns out that removing everything and starting over (more carefully) is the best option to recover. Unfortunately, all the temporary tools will be removed, too. To avoid spending extra time to redo something which has been built successfully, prepare a backup. Make sure you have at least 600 MB free disk space (the source tarballs will be included in the backup archive) in the home directory of user root. Before we make a backup, unmount the virtual file systems: umount $LFS/dev{/pts,} umount $LFS/{sys,proc,run} Create the backup archive by running the following command: cd $LFS tar -cJpf $HOME/lfs-temp-tools-&version;.tar.xz . cd $LFS tar -cJpf $HOME/lfs-temp-tools-&versiond;.tar.xz . Replace $HOME by a directory of your choice if you do not want to have the backup stored in root's home directory. Restore In case some mistakes have been made and you need to start over, you can use this backup to restore the temporary tools and save some recovery time. Since the sources are located under $LFS, they are included in the backup archive as well, so they do not need to be downloaded again. After checking that $LFS is set properly, restore the backup by executing the following commands: The following commands are extremly dangerous. If you run rm -rf ./* as the root user and you do not change to the $LFS directory or the LFS environment variable is not set for the root user, it will destroy your entire host system. YOU ARE WARNED. cd $LFS rm -rf ./* tar -xpf $HOME/lfs-temp-tools-&version;.tar.xz cd $LFS rm -rf ./* tar -xpf $HOME/lfs-temp-tools-&versiond;.tar.xz Again, double check that the environment has been setup properly and continue building the rest of the system. If you left the chroot environment to create a backup or restart building using a restore, remember to check that the virtual filesystems are still mounted (findmnt | grep $LFS). If they are not mounted, remount them now as described in and re-enter the chroot environment (see ) before continuing.