当前位置: 技术问答>linux和unix
关于linux内核移植文件系统问题的一些讨论
来源: 互联网 发布时间:2016-06-12
本文导语: 最近做linux系统移植,出现了文件系统无法挂载的问题,在网上看了很多类似的问题和答案还是没法解决,贴上来请教下做过的大侠 启动linux的时候出现下面的错误信息: have set IISLRCK=GPE0, IISSCLK=GPE1, CDCLK=GPE2, IISSDI=GPE3, IISS...
最近做linux系统移植,出现了文件系统无法挂载的问题,在网上看了很多类似的问题和答案还是没法解决,贴上来请教下做过的大侠
启动linux的时候出现下面的错误信息:
have set IISLRCK=GPE0, IISSCLK=GPE1, CDCLK=GPE2, IISSDI=GPE3, IISSDO=GPE4
line 1323 passed! have Enable IIS clock
success register irq: iisout_dma_done_handler
success register irq: iisin_dma_done_handler
UDA1341 audio driver initialized
driver uda1341 in /sound/oss/s3c2410-oss.c
yaffs: dev is 32505859 name is "mtdblock3" //这里"mtdblock3"是我存放cramfs文件系统的地方yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.3, "mtdblock3"//这里是去寻找我的文件系统?yaffs: auto selecting yaffs2 //怎么到了这里又选择yaffs2了??VFS: Mounted root (yaffs filesystem). //还有这里我本来是cramfs文件系统,怎么变成mount yaffs文件系统了
mount_devfs_fs(): unable to mount devfs, err: -2 //失败。。。
Freeing init memory: 132K
Warning: unable to open an initial console. //我maknod了节点的,怎么还是错。。。Kernel panic - not syncing: No init found. Try passing init= option to kernel.
我对linux文件系统不是很熟悉,谢谢大虾们指点指点
启动linux的时候出现下面的错误信息:
have set IISLRCK=GPE0, IISSCLK=GPE1, CDCLK=GPE2, IISSDI=GPE3, IISSDO=GPE4
line 1323 passed! have Enable IIS clock
success register irq: iisout_dma_done_handler
success register irq: iisin_dma_done_handler
UDA1341 audio driver initialized
driver uda1341 in /sound/oss/s3c2410-oss.c
yaffs: dev is 32505859 name is "mtdblock3" //这里"mtdblock3"是我存放cramfs文件系统的地方yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.3, "mtdblock3"//这里是去寻找我的文件系统?yaffs: auto selecting yaffs2 //怎么到了这里又选择yaffs2了??VFS: Mounted root (yaffs filesystem). //还有这里我本来是cramfs文件系统,怎么变成mount yaffs文件系统了
mount_devfs_fs(): unable to mount devfs, err: -2 //失败。。。
Freeing init memory: 132K
Warning: unable to open an initial console. //我maknod了节点的,怎么还是错。。。Kernel panic - not syncing: No init found. Try passing init= option to kernel.
我对linux文件系统不是很熟悉,谢谢大虾们指点指点
|
可以在启动命令行设置一下嘛 root=/dev/xxx ...
|
你的bootloader 里没有设置文件系统类型。。。
另外看一下
cat /proc/filesystems
你的kernel是否支持 cramfs
再看看
cat /proc/cmdline
看一下启动参数是什么。
另外你可以重点看一下 init目录下的 do_mounts.c 文件,这是kernel启动时候挂文件系统用的,
你可以在这里直接把文件系统类型些死了。
另外看一下
cat /proc/filesystems
你的kernel是否支持 cramfs
再看看
cat /proc/cmdline
看一下启动参数是什么。
另外你可以重点看一下 init目录下的 do_mounts.c 文件,这是kernel启动时候挂文件系统用的,
你可以在这里直接把文件系统类型些死了。
|
root=/dev/mtdblock3
这个要在 uboot的启动参数里设置。
你的问题其实很明显。
你的文件系统是 cramfs, 但是你按照 yaffs 格式去挂载,当然不能成功了。
如何设置 u-boot ,你google一下就有了 。
|
不知道你用的 优龙 的 2410 是否能支持1G的 flash.
你这样修改了之后能否用df 看到flash存储空间的变化,能否看到真实的1G的空间?
你这样修改了之后能否用df 看到flash存储空间的变化,能否看到真实的1G的空间?
|
从yaffs: dev is 32505859 name is "mtdblock3"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.3, "mtdblock3
yaffs: auto selecting yaffs2
得到是用了yaffs文件系统,可以把启动的参数修改一下,rootfs=cramfs
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.3, "mtdblock3
yaffs: auto selecting yaffs2
得到是用了yaffs文件系统,可以把启动的参数修改一下,rootfs=cramfs