最近做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启动时候挂文件系统用的,

你可以在这里直接把文件系统类型些死了。

|

root=/dev/mtdblock3

这个要在 uboot的启动参数里设置。

你的问题其实很明显。

你的文件系统是 cramfs, 但是你按照 yaffs 格式去挂载,当然不能成功了。

如何设置 u-boot ,你google一下就有了 。

|

不知道你用的  优龙 的 2410 是否能支持1G的 flash.

你这样修改了之后能否用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

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐