我正在构建 LFS 9.0 并已达到第 6.7 章。运行 make mrproper 时,我得到输出:
make: /bin/sh: Command not found
...(above repeated ~20 times)...
make: /bin/sh: Command not found
Makefile:649: arch//Makefile: no such file or directory
make: *** No rule to make target 'arch//Makefile'. Stop.
我已经尝试重新启动、重新挂载文件系统并按照 6.2 和 6.4 中的描述进入系统。我还尝试在重新启动之前和之后重新制作 /bin/sh 符号链接。我认为我正确地遵循了这本书自从重新启动后,我运行了以下命令
mount -v --bind /dev $LFS/dev
mount -vt devpts devpts $LFS/dev/pts -o gid=5,mode=620
mount -vt proc proc $LFS/procmount -vt sysfs sysfs $LFS/sys
mount -vt tmpfs tmpfs $LFS/run
chroot "$LFS" /tools/bin/env -i HOME=/root TERM="$TERM" PS1='(lfs chroot) \u:\w\$ ' PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin /tools/bin/bash --login +h
ln -sv /tools/bin/{bash,cat,chmod,dd,echo,ln,mkdir,pwd,rm,stty,touch} /bin
ln -sv /tools/bin/{env,install,perl,printf} /usr/bin
ln -sv /tools/lib/libgcc_s.so{,.1} /usr/lib
ln -sv /tools/lib/libstdc++.{a,so{,.6}} /usr/lib
ln -sv bash /bin/sh
under /sources/linux-5.2.8 ran
makr mrproper
更新:取消链接 bash 和 sh 然后重新运行“ln -sv bash /bin/sh”后,我回到了原始输出。我运行“find /bin -type l -ls”来获取 .bin 中的符号链接列表,它为 /bin/sh 返回了这个:
/bin/sh -> bash
在制作第一轮符号链接时,我打错了 bash。通过取消链接 bash 和 /bin/sh 并重新运行“ln -sv /tools/bin/bash /bin”然后“ln -sv bash /bin/sh”来修复