用NUC970_Buildroot生成了u-boot-spl.bin、u-boot.bin、uImage、rootfs.yaffs2,,
依次烧写u-boot-spl.bin、u-boot.bin、uImage、env.txt,上电执行,,能启动内核并打印如下信息:
所以我就把rootfs.yaffs2烧录在了0x1600000地址处,,重新上电,,显示如下信息
没烧录rootfs.yaffs2之前系统就打印的这些信息,,感觉内核没有去挂载rootfs.yaffs2
所以就在env.txt中添加了如下信息:
bootargs=noinitrd root=/dev/mtdblock2 rootfstype=yaffs2 rw
重新上电,,结果内核根本启动不起来
请问哪位坛友知道应该怎么修复,,谢谢!
离线
kernel 的 make menuconfig initramfs 的勾去掉了吗?
去掉了,,不去掉编译会失败的。。
离线
问题解决了,,
是bootargs设置错了,,
改成“bootargs=noinitrd root=/dev/mtdblock2 rootfstype=yaffs2 rootflags=inband-tags console=ttyS0,115200n8 rdinit=/sbin/init mem=64M”就可以了
离线
请问原来是什么样的, 改了什么?
就改了内核启动参数,,最开始没有指定bootargs,,系统默认的是“root=/dev/ram0 console=ttyS0,115200n8 rdinit=/sbin/init mem=64M”
后来我在uboot环境变量中定义了内核启动参数:bootargs=noinitrd root=/dev/mtdblock2 rootfstype=yaffs2 rw
系统就启动不了
最后我去看了下开发板商家提供的BSP里面使用的defconfig文件,发现他修改了内核启动参数,,方法如下:
CONFIG_CMDLINE="noinitrd root=/dev/mtdblock2 rootfstype=yaffs2 rootflags=inband-tags console=ttyS0,115200n8 rdinit=/sbin/init mem=64M"
我不想修改defconfig文件,,所以就在uboot环境变量中添加了如下内容,,然后就能启动了
bootargs=noinitrd root=/dev/mtdblock2 rootfstype=yaffs2 rootflags=inband-tags console=ttyS0,115200n8 rdinit=/sbin/init mem=64M
离线