如何让 chroot 运行命令?

如何让 chroot 运行命令?

我在编译时遇到问题线性FSLinux Mint 20 上的系统和 Cinnamon。我的问题是,当我到达 Glibc 的(第三?)通道时,chroot不允许我运行任何命令,告诉我它们不是目录。 chroot 的确切输出是这样的:

root@LAPTOP:~# chroot "$LFS" /usr/bin/env -i HOME=/root TERM="$TERM" PS1='(lfs chroot) \u:\w\$ ' \
                                             PATH=/bin:/usr/bin:/sbin:/usr/sbin \
                                             /bin/bash --login +h
chroot: failed to run command '/usr/bin/env': Not a directory

我不知道这里出了什么问题。有人可以给我指点吗?

PS 如果有更好的网站可以放置此内容,请告诉我。

答案1

哎呀,我终于知道是怎么回事了。

早期,当我第一次创建文件系统时,我将 /lib 创建为 /usr/lib 的符号链接。
然后当我运行这些命令时:

case $(uname -m) in
  i?86)   ln -sfnv $PWD/elf/ld-linux.so.2        /lib ;;
  x86_64) ln -sfnv $PWD/elf/ld-linux-x86-64.so.2 /lib ;;
esac

它将链接的目标更改为$PWD/elf/ld-linux-x86-64.so.2,因此不是目录的文件是 /lib。

相关内容