【问题标题】:LFS 7.1 in Ubuntu 10.04 chroot: failed to run command `/tools/bin/env': No such file or directoryUbuntu 10.04 chroot 中的 LFS 7.1:无法运行命令“/tools/bin/env”:没有这样的文件或目录
【发布时间】:2012-08-17 01:54:50
【问题描述】:

我在 Ubuntu 12.04 中创建了 LFS 7.1,但问题发生在第 6.4 章:进入 Chroot 环境。我执行命令: chroot "$LFS" /tools/bin/env -i \ HOME=/root TERM="$TERM" PS1='\u:\w\$ '\ PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin\ /tools/bin/bash --login +h 我没有创建符号链接 /tools ,而只是为每个命令使用 /mnt/lfs/tools 。 在我 ldd bash 之后,我发现它的输出是:

root@ubuntu:/mnt/lfs/tools# ldd ./bin/env
linux-gate.so.1 =>  (0xb7703000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb754c000)
/mnt/lfs/tools/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0xb7704000)

谁能帮我解决这个问题?

【问题讨论】:

    标签: linux linux-from-scratch


    【解决方案1】:

    我认为这本书没有暗示这个符号链接是可选的......

    需要在创建第一个工具链时使用该符号链接。只有这样,您才能在主机系统和 chroot 系统中拥有相同的(阅读:文本上相同的)路径。这是必需的,因为在编译工具期间,用于查找其他工具和库(“/tools”)的路径将嵌入到刚刚创建的可执行文件中。 (不使用符号链接会导致在可执行文件中嵌入路径“/mnt/lfs/tools”,该路径在 chroot 之后不再存在)。

    如果你不想回到第 4.2 章,你可以试试这个:在你的 lfs 系统中创建路径 /mnt/lfs/tools 以指向工具在 chrooted 系统中所在的位置。换句话说,创建另一个符号链接,像这样(在主机系统中):

    ln -s /tools /mnt/lfs/mnt/lfs/tools
    

    (是的,第二个参数读取 /mnt/lfs/mnt/lfs/tools,它包含 /mnt/lfs 两次)。 然后继续 6.4 进入 Chroot...

    但更好(更干净)的选择是删除第 5 章的结果并返回到 4.2。这次创建符号链接。

    【讨论】:

      猜你喜欢
      • 2016-02-10
      • 1970-01-01
      • 2011-04-08
      • 1970-01-01
      • 1970-01-01
      • 2016-02-20
      • 1970-01-01
      • 1970-01-01
      • 2018-04-13
      相关资源
      最近更新 更多