|
楼主 |
发表于 2009-3-12 23:18:27
|
显示全部楼层
上面的怀疑对象又错了。
- $ /bin/uname -a
- Linux localhost 2.6.28.7 #1 SMP Thu Mar 5 00:36:51 CST 2009 [color="Red"]i686[/color] GNU/Linux
- $
- $ qemu-arm -L /arm-linux-gnu/lenny /arm-linux-gnu/lenny/bin/uname -a
- Linux localhost 2.6.28.7 #1 SMP Thu Mar 5 00:36:51 CST 2009 [color="Red"]armv5tel[/color] GNU/Linux
复制代码
表明 qemu 已正确安装,lenny 是前面 debootstrap 得到的 debian arm。
问题应该出在自己建立的临时系统 /arm-linux-gnu/rootfs 上。
通过 strace 比对,发现 qemu-arm 访问 /arm-linux-gnu/rootfs/lib/udev/devices/ 时异常,这个目录下有指向 /dev/ 下一些文件的软链接,删除后可以正常运行:
- $ qemu-arm -L /arm-linux-gnu/rootfs /arm-linux-gnu/rootfs/bin/uname -a
- Linux localhost 2.6.28.7 #1 SMP Thu Mar 5 00:36:51 CST 2009 [color="Lime"]armv5tel[/color] GNU/Linux
复制代码
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=297572 描述了类似问题,第一次看时,还以为 qemu-0.10.0 已经彻底解决了问题。
新问题,还是无法通过 hello,world 的测试
- $ arm-unknown-linux-gnu-gcc -o hello hello.c
- $ file hello
- hello: ELF 32-bit LSB executable, ARM, version 1, for GNU/Linux 2.6.0, dynamically linked (uses shared libs), not stripped
- $ qemu-arm -L /arm-linux-gnu/rootfs ./hello
- hello,world!
- $ rm hello
- $
- $ sbox2 gcc -o hello hello.c
- $ file hello
- hello: ELF 32-bit LSB executable, ARM, version 1, for GNU/Linux 2.6.0, dynamically linked (uses shared libs), not stripped
- $ sbox2 ./hello
- [color="Red"]/lib/ld-linux.so.2: No such file or directory[/color]
复制代码 |
|