Chinaunix

标题: 根文件系统 [打印本页]

作者: cioujaf    时间: 2013-06-25 15:32
标题: 根文件系统
苦恼了我两天了,我又来这儿求助大侠们了!!!

我做了一个根文件系统,用busybox。 做了一个很简单的文件系统:
① Busybox
愀 创建了/dev/console /dev/null这两个设备节点
戀 /etc/inittab开只写了一句  console::askfirst:-/bin/sh
挀 make menuconfig 这个不知道选什么。。。都是用的默认的
搀 把arm-linux-gcc下的动态库文件拷贝到了lib里面

然后用的nfs挂载根文件系统,之前成功过。。后来不能执行文件,./test说找不到。。我就重新做了一遍 结果就出了这个错。。

eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1
Looking up port of RPC 100005/1 on 192.168.1.110
VFS: Mounted root (nfs filesystem) on device 0:11.
Freeing init memory: 164K
Failed to execute /linuxrc.  Attempting defaults...
Kernel panic - not syncing: No init found.  Try passing init= option to kernel.
Backtrace:
[<c0036270>] (dump_backtrace+0x0/0x10c) from [<c047b038>] (dump_stack+0x18/0x1c)
r7:00000000 r6:c0619570 r5:c0618d00 r4:c05d81b0
[<c047b020>] (dump_stack+0x0/0x1c) from [<c047b088>] (panic+0x4c/0x134)
[<c047b03c>] (panic+0x0/0x134) from [<c00315a4>] (init_post+0xec/0x17
r3:00000000 r2:c39aca00 r1:c065a000 r0:c054c2dc
[<c00314b8>] (init_post+0x0/0x17 from [<c00084c4>] (kernel_init+0xf4/0x124)
r5:c0021a54 r4:c0021a54
[<c00083d0>] (kernel_init+0x0/0x124) from [<c004e1a4>] (do_exit+0x0/0x62c)
r7:00000000 r6:00000000 r5:00000000 r4:00000000

谢过!!
作者: cioujaf    时间: 2013-06-25 15:57
偶尔能进到文件系统里 ,运行一个简单的helloword 它居然报-/bin/sh: ./test: not found错。。。别的指令都是可以用的啊
脑袋疼死了

作者: ddd010    时间: 2013-06-25 16:16
你说没有把那个test打进你的根文件系统。

你说偶尔正常偶尔不正常?》??
作者: cioujaf    时间: 2013-06-25 16:53
第一次编译的可以。。但是也是不能执行文件。。。重新编译busybox后就不行了。。用别人的就可以- -但是用别人的也是不能执行那个文件,那个test是在开发板里面,我随便放在root文件夹里的  快99我回复 3# ddd010


   
作者: ddd010    时间: 2013-06-25 17:12
cioujaf 发表于 2013-06-25 16:53
第一次编译的可以。。但是也是不能执行文件。。。重新编译busybox后就不行了。。用别人的就可以- -但是用别 ...


你不能执行说要么说文件不对,要么说没有执行权限。

使用ll命令看看,

作者: cioujaf    时间: 2013-06-25 17:18
不是的 我都设置成777了 它很奇怪 我运行gcc编译的他这样报错是理所当然的./a.out: line 4: syntax error: EOF in backquote substitution  运行arm-linux-gcc编译的 他说  -/bin/sh: ./test: not found  也不是没有库的原因 这个系统在别人那里用挺ok的 回复 5# ddd010


   
作者: ddd010    时间: 2013-06-25 18:17
cioujaf 发表于 2013-06-25 17:18
不是的 我都设置成777了 它很奇怪 我运行gcc编译的他这样报错是理所当然的./a.out: line 4: syntax error:  ...


使用file命令看下,很明显说你的文件格式有问题。
作者: cioujaf    时间: 2013-06-25 19:14

    [scc@scc home]$ file test
test: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, not stripped   大哥,怎么样~

回复 7# ddd010


作者: ddd010    时间: 2013-06-25 19:37
cioujaf 发表于 2013-06-25 19:14
[scc@scc home]$ file test
test: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically ...


你文件没有问题。你在检查下其它的。
作者: ddd010    时间: 2013-06-25 19:40
  1. Failed to execute /linuxrc.  Attempting defaults...
  2. Kernel panic - not syncing: No init found.  Try passing init= option to kernel.
复制代码
看你这个打印说没有找到根文件系统,或者说说你没有挂载你的根文件系统。
作者: cioujaf    时间: 2013-06-26 22:06
还可能是啥问题啊?回复 9# ddd010


   
作者: cioujaf    时间: 2013-06-27 08:54
[root@scc scc_system]# file bin/busybox
bin/busybox: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), stripped
这个问题 是这个busybox的问题么。。。 好像少了一个 for GNU/linux-2.6.*

回复 10# ddd010


   
作者: ddd010    时间: 2013-06-27 09:19
cioujaf 发表于 2013-06-27 08:54
[root@scc scc_system]# file bin/busybox
bin/busybox: ELF 32-bit LSB executable, ARM, version 1 (SY ...

整理下思路,首先要知道你的文件系统是否做正确,你上电后,能否进入到系统?能否运行系统的文件?如果都是ok的,那么根系统没问题。

根系统没问题,那么再运行你的test,如果不能运行,就是你的test有问题。

就如你所说,少了内核版本号。。。

你使用file命令看看busybox和test,看看打印是否一样。
作者: cioujaf    时间: 2013-06-27 10:44
谢谢你啦~第一个问题已经解决了  我在busybox里 配置菜单中 设置成了静态编译 然后就可以进入文件系统  但是执行文件这个问题还是不知道怎么解决。。回复 13# ddd010


   
作者: ddd010    时间: 2013-06-27 12:32
cioujaf 发表于 2013-06-27 10:44
谢谢你啦~第一个问题已经解决了  我在busybox里 配置菜单中 设置成了静态编译 然后就可以进入文件系统  但是 ...


是不是你交叉编译有问题?

你使用的是什么交叉编译工具链?
作者: cioujaf    时间: 2013-06-27 13:36
友善之臂的arm-linux-gcc 4.4.3开发板也是很老的 mini2440 busybox是网上下的1.19.2  我再网上找了半天,说是没有库,我就把编译器的库给cp到开发板的/lib里面去了 回复 15# ddd010


   
作者: cioujaf    时间: 2013-06-27 14:32
最后一次感谢你啦!!我找到问题了,是库没有拷贝过去,之前拷贝的是4.4.3/lib  后来发现在4.4.3/arm-none-linux-gnue/sys-root/lib 这里还有一个lib 把这个里面的库也拷贝过去 就可以执行啦    弄了3天 终于解决问题了 嘿嘿!!回复 16# cioujaf


   
作者: ddd010    时间: 2013-06-29 08:13
以我经验看,如果缺失依赖库会提示找不到库,而不是找不到文件。
这非常奇怪!!!
作者: cioujaf    时间: 2013-07-01 10:24
回复 18# ddd010


   




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2