嵌入式系统裁剪移植常见问题一

项目中遇到系统无法挂载rootfs,导致不断重启的问题。分析原因是内核缺少对不同存储介质如SPI NOR/ NAND Flash支持的文件系统,特别是UBI。解决方案是启用内核配置,包括CONFIG_UBIFS_FS及其相关压缩和扩展属性选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目场景:

  更换flash类型,需要适配系统,过程中会遇到一些奇怪问题,现总结如下

问题描述

系统挂载不了rootfs,不断重启,不断重启,打印一大段错误log.

VFS: Cannot open root device "ubi0:ubifs" or unknown-block(0,0): error -19
Please append a correct "root=" boot option; here are the available partitions:
0100           65536 ram0 
 (driver?)
0101           65536 ram1 
 (driver?)
0102           65536 ram2 
 (driver?)
0103           65536 ram3 
 (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.19.90 #27
Call trace:
 dump_backtrace+0x0/0x1a0
 show_stack+0x14/0x20
 dump_stack+0xa8/0xcc
 panic+0x134/0x28c
 mount_block_root+0x20c/0x2ec
 prepare_namespace+0x98/0x1a8
 kernel_init_freeable+0x1d0/0x1f0
 kernel_init+0x10/0x100
 ret_from_fork+0x10/0x1c
SMP: stopping secondary CPUs
Kernel Offset: disabled
---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) ]---

原因分析:

不同的存储介质需要使用不同的文件系统,需要内核支持,
spi norflash 使用的jffs2文件系统
spi nandflash 使用的ubi文件系统
nandflash 使用的ubi文件系统


解决方案:

CONFIG_UBIFS_FS=y
CONFIG_UBIFS_FS_LZO=y
CONFIG_UBIFS_FS_ZLIB=y
CONFIG_UBIFS_FS_XATTR=y
CONFIG_UBIFS_FS_SECURITY=y

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

弱鸡在进步

老铁觉得好的话

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值