上面是我的微信和QQ群,欢迎新朋友的加入。
配置内核
在General setup里面取消ramdisk
设置启动参数
这里是折腾的核心点,因为没指定文件系统位置,导致挂载一直失败
set bootargs "noinitrd ubi.mtd=2 root=ubi0:user rw rootfstype=ubifs console=ttyS0,115200n8 rdinit=/sbin/init mem=64M mtdparts=nand0:0x200000@0x0(u-boot),0x1400000@0x200000(kernel),-(user)"
启动命令为
nboot 0x7fc0 0 0x200000; bootm 0x7fc0
其他配置
文件系统
编译
生成镜像
新建一个文件ubinize.cfg
内容为
[ubifs]
mode=ubi
image=rootfs_ubifs.img
vol_id=0
vol_size=100MiB
vol_type=dynamic
vol_alignment=1
vol_name=user
vol_flags=autoresize
留意vol_name要和源码对上
文件系统打包命令
mkfs.ubifs -F -x lzo -m 2048 -e 126976 -c 732 -o rootfs_ubifs.img -d ./rootfs
ubinize -o ubi.img -p 131072 -m 2048 -s 2048 -O 2048 ubinize.cfg
生成文件系统镜像
特别注意:
Ubifs要现在uboot下格式化,再写入文件系统(也就是本章后面的内容,再uboot下执行一遍,记得saveenv)
Uboot下确认文件系统状态
mtdparts,查看分区
分区擦除,如果执行这个命令,要重新刷文件系统镜像
nand erase.part user
NAND erase.part: device 0 offset 0x1600000, size 0x6a00000
Skipping bad block at 0x01b20000
Skipping bad block at 0x03480000
Erasing at 0x7fe0000 -- 100% complete.
OK
关联文件系统
ubi part user
查看文件系统信息
ubi info
挂载文件系统
ubifsmount ubi0:user
ubifsls
这个时候就文件系统基本上问题不大了,如果启动有问题,那应该是内核配置问题
正常启动