%general-entities; ]> Creating Essential Symlinks Some programs use hard-wired paths to programs which do not exist yet. In order to satisfy these programs, create a number of symbolic links which will be replaced by real files throughout the course of the next chapter after the software has been installed. ln -sv /tools/bin/{bash,cat,echo,grep,login,pwd,stty} ${CLFS}/bin ln -sv /tools/bin/file ${CLFS}/usr/bin ln -sv /tools/lib/libgcc_s.so{,.1} ${CLFS}/usr/lib ln -sv /tools/lib/libstdc++.so{.6,} ${CLFS}/usr/lib sed -e 's/tools/usr/' /tools/lib/libstdc++.la > ${CLFS}/usr/lib/libstdc++.la ln -sv bash ${CLFS}/bin/sh ln -sv ../run ${CLFS}/var/run ln -sv /tools/sbin/init ${CLFS}/sbin ln -sv /tools/etc/{login.{access,defs},limits} ${CLFS}/etc Historically, Linux maintains a list of the mounted file systems in the file /etc/mtab. Modern kernels maintain this list internally and expose it to the user via the /proc filesystem. To satisfy utilities that expect the presence of /etc/mtab, create the following symbolic link: ln -sv /proc/self/mounts ${CLFS}/etc/mtab