请问你是以下情况的哪一种?
1. 宿主机(即 zhou-desktop 对应的系统)是 x86 架构,想 chroot 到一个 arm 环境。
2. 宿主机是 arm 架构,想 chroot 到一个 arm 环境。
其实,“No such file or directory”这个提示不一定是可执行文件没找到,也可能是 cpu 架构不一致或者库文件没找到,或者其他原因。
如果是情况 1.,因为 x86 cpu 不能执行 arm 指令,所以 chroot 是不成功的。得在 arm 里 chroot 到 arm 环境。
如果是情况 2.,可能是 bash 的链接库不存在。可以用静态链接的程序做测试。
比如有如下这样一个目录,其中 bash 是 x86 动态链接的程序,busybox 是 x86 静态链接的程序,busybox.arm 是 arm 静态链接的程序。
代码: 全选
tree test/
test/
`-- bin
|-- bash
|-- busybox
`-- busybox.arm
1 directory, 3 files
试验结果,busybox 可以 chroot 成功,其他两个都是 No such file or directory。
[bash]
sudo chroot test/
chroot: failed to run command ‘/bin/bash’: No such file or directory
sudo chroot test/ /bin/bash
chroot: failed to run command ‘/bin/bash’: No such file or directory
sudo chroot test/ /bin/busybox.arm
chroot: failed to run command ‘/bin/busybox.arm’: No such file or directory
sudo chroot test/ /bin/busybox
BusyBox v1.20.2 (Debian 1:1.20.0-9) multi-call binary.
Copyright (C) 1998-2011 Erik Andersen, Rob Landley, Denys Vlasenko
and others. Licensed under GPLv2.
See source distribution for full notice.
Usage: busybox [function] [arguments]...
# 以下是一堆 busybox 帮助的输出,省略。
[/bash]