+ -
当前位置:首页 → 问答吧 → 请教嵌入式linux文件系统问题

请教嵌入式linux文件系统问题

时间:2005-08-03

来源:互联网

我现在内核已编译好,下载到板子上,可是启动时要一个文件系统,交叉编译工具带的文件系统启动时提示无法打开被始化一个控制台.弱弱地问我现在该怎么办? 怎么创建一个文件系统并和我的内核联系起来.我现在通过bootloader下到板子上的内核文件关电后就消失了,请问怎么样才能把我一个完整的系统包括 自己的应用程序加载到板子上??      

作者: happykevinxing   发布时间: 2005-08-03

大侠们,小弟急啊,快出手吧!      

作者: happykevinxing   发布时间: 2005-08-03

是你自己做的吗?      

作者: hiboyhxf   发布时间: 2005-08-03

呵,楼主要想做这些工作应该先找些合适的书看看嘛,不要说嵌入式了,就是一般的作内核编译也会涉及到initrd的做法。      

作者: flag   发布时间: 2005-08-03

楼上是斑竹吗?

看书每个人的理解都不同,把你的心得写出来,让我们的大脑也能跟着您的思路走走。你理解的东西肯定比书上写的生动多了。

交流才有长足发展嘛。      

作者: sunfish   发布时间: 2005-08-04

一般都是用Busybox编译出一个小工具集合,然后使用loop设备将这些以及共享库和其他必要的文件总和到一个文件里并用gzip压缩。这就是做一般小文件系统initrd文件的方法。      

作者: flag   发布时间: 2005-08-04

这样做了之后,系统不能打开console啊,到这个地方就死了.这个文件系统里etc目录下面要加一些初始化的东西,就是不知道这些东东怎么写,最少需要那些东西?      

作者: happykevinxing   发布时间: 2005-08-05

和etc目录下的没有什么关系,etc目录只是放配置文件的。如果你用busybox做的话,那么会在有一个/sbin/init的链接,这就是内核引导完成后会去调用的第一个后台初始化进程。然后就会抛到busybox提供的shell里……      

作者: flag   发布时间: 2005-08-05

init是系统第一个进程,它好象关不会打一个控制台.etc下面至少有fstab,inittab和profile,要不系统启动是不能进入一个console      

作者: happykevinxing   发布时间: 2005-08-08

楼上的理解肯定有错,因为这几个文件绝对不是必需的。因为如果用busybox的话,并不会用到这几个。      

作者: flag   发布时间: 2005-08-08

不是我这样理解的,事实是这样,我也没办法.只有一个busybox不管用NFS还是用ramdisk都无法启动!      

作者: happykevinxing   发布时间: 2005-08-09

这些知识最好找个书系统看一下,即使别人给你说个大概,真正做产品的时候,用处也不大。
欢迎大家访问我的网站 [url="http://www.myembed.com"]www.myembed.com[/url] ,里面有大量嵌入式linux 的资料      

作者: liqinliqin   发布时间: 2005-08-09

[QUOTE=happykevinxing]不是我这样理解的,事实是这样,我也没办法.只有一个busybox不管用NFS还是用ramdisk都无法启动![/QUOTE]
NFS和busybox有啥关系?ramdisk又有啥关系?      

作者: flag   发布时间: 2005-08-09

缺少/dev/console这个设备,mknod建好放在/dev下面      

作者: alfredqian   发布时间: 2005-08-09

mknod /dev/console c 5 1

这一步弄了没有?      

作者: wuyanmin   发布时间: 2005-08-11

dev/console下面这个是要创建的,要不是不能启动控帛制台的.造成这样的原因是我在内核配置里面没有选devfs自动挂载,如果选了这个就不用手动创建了.

不过现在有新的问题了:我的应用程序放在/tmp下面,启动后运行应用程序出错如下:
/tmp # ./hello
-sh: ./hello: not found
我的程序明明就在那里,却说找不到.我想这应该是busybox的shell 的问题了,还有我的busybox重新编译后加到文件系统,我的文件就也无法启动出错很怪.
kmod: failed to exec /sbin/modprobe -s -k binfmt-464c, errno = 8
kmod: failed to exec /sbin/modprobe -s -k binfmt-464c, errno = 8
kmod: failed to exec /sbin/modprobe -s -k binfmt-464c, errno = 8
kmod: failed to exec /sbin/modprobe -s -k binfmt-464c, errno = 8
kmod: failed to exec /sbin/modprobe -s -k binfmt-464c, errno = 8
kmod: failed to exec /sbin/modprobe -s -k binfmt-464c, errno = 8
kmod: failed to exec /sbin/modprobe -s -k binfmt-464c, errno = 8
kmod: failed to exec /sbin/modprobe -s -k binfmt-464c, errno = 8
kmod: failed to exec /sbin/modprobe -s -k binfmt-464c, errno = 8
kmod: failed to exec /sbin/modprobe -s -k binfmt-464c, errno = 8
kmod: failed to exec /sbin/modprobe -s -k binfmt-464c, errno = 8
kmod: failed to exec /sbin/modprobe -s -k binfmt-464c, errno = 8

这个错误不停打出来,象一个死循环!!

我现在只能用第一次编译的busybox!!!真晕啊!而第一次的又不能运行我的应用程序!!!!!      

作者: happykevinxing   发布时间: 2005-08-15