WhyCan Forum(哇酷开发者社区)

人过留名,雁过留声,感谢各位朋友不离不弃地支持。 QQ: 516333132, 微信: whycan_cn (哇酷网/挖坑网/填坑网) admin@whycan.cn

您尚未登录。

#1 2020-03-01 22:21:35

XIVN1987
会员
注册时间: 2019-08-30
累计积分: 21

NUC970_Buildroot生成的yaffs2根文件系统挂载失败

用NUC970_Buildroot生成了u-boot-spl.bin、u-boot.bin、uImage、rootfs.yaffs2,,

依次烧写u-boot-spl.bin、u-boot.bin、uImage、env.txt,上电执行,,能启动内核并打印如下信息:
Buildroot_startup_info.jpg

所以我就把rootfs.yaffs2烧录在了0x1600000地址处,,重新上电,,显示如下信息
Buildroot_startup_fail.jpg

没烧录rootfs.yaffs2之前系统就打印的这些信息,,感觉内核没有去挂载rootfs.yaffs2

所以就在env.txt中添加了如下信息:
bootargs=noinitrd root=/dev/mtdblock2 rootfstype=yaffs2 rw

重新上电,,结果内核根本启动不起来
Buildroot_startup_fail2.jpg

请问哪位坛友知道应该怎么修复,,谢谢!

离线

#2 2020-03-01 22:25:32

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 9,116

Re: NUC970_Buildroot生成的yaffs2根文件系统挂载失败

kernel 的 make menuconfig initramfs 的勾去掉了吗?

离线

#3 2020-03-01 22:35:38

XIVN1987
会员
注册时间: 2019-08-30
累计积分: 21

Re: NUC970_Buildroot生成的yaffs2根文件系统挂载失败

晕哥 说:

kernel 的 make menuconfig initramfs 的勾去掉了吗?

去掉了,,不去掉编译会失败的。。

离线

#4 2020-03-02 09:33:30

JasonWoo
会员
注册时间: 2019-06-04
累计积分: 23

Re: NUC970_Buildroot生成的yaffs2根文件系统挂载失败

遇到过类似问题,可以参考下
https://www.cnblogs.com/hnrainll/archive/2011/06/09/2076138.html

另外也有人提到是老的设备树升级了kernel

离线

#5 2020-03-02 10:17:11

dso_2019
会员
注册时间: 2019-10-13
累计积分: 12

Re: NUC970_Buildroot生成的yaffs2根文件系统挂载失败

手动做一下 rootfs 为yaffs2镜像呢

离线

#6 2020-03-02 10:18:02

dso_2019
会员
注册时间: 2019-10-13
累计积分: 12

Re: NUC970_Buildroot生成的yaffs2根文件系统挂载失败

我用buildroot 编成JFFS2没啥问题

离线

#7 2020-03-08 15:18:26

XIVN1987
会员
注册时间: 2019-08-30
累计积分: 21

Re: NUC970_Buildroot生成的yaffs2根文件系统挂载失败

问题解决了,,

是bootargs设置错了,,

改成“bootargs=noinitrd root=/dev/mtdblock2 rootfstype=yaffs2 rootflags=inband-tags console=ttyS0,115200n8 rdinit=/sbin/init mem=64M”就可以了

离线

#8 2020-03-08 15:59:22

飞翔工控
会员
注册时间: 2019-11-21
累计积分: 71

Re: NUC970_Buildroot生成的yaffs2根文件系统挂载失败

XIVN1987 说:

问题解决了,,

是bootargs设置错了,,

改成“bootargs=noinitrd root=/dev/mtdblock2 rootfstype=yaffs2 rootflags=inband-tags console=ttyS0,115200n8 rdinit=/sbin/init mem=64M”就可以了

请问原来是什么样的, 改了什么?

离线

#9 2020-03-08 18:03:38

XIVN1987
会员
注册时间: 2019-08-30
累计积分: 21

Re: NUC970_Buildroot生成的yaffs2根文件系统挂载失败

飞翔工控 说:

请问原来是什么样的, 改了什么?

就改了内核启动参数,,最开始没有指定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

离线

#10 2020-03-08 18:32:35

firstman
会员
注册时间: 2019-04-06
累计积分: 277

Re: NUC970_Buildroot生成的yaffs2根文件系统挂载失败

mark, 长见识了

离线

#11 2020-03-24 16:17:55

Gentlepig
会员
注册时间: 2018-10-24
累计积分: 325

Re: NUC970_Buildroot生成的yaffs2根文件系统挂载失败

XIVN1987 说:

...

我遇到了类似问题,请教楼主。
这是我的env.txt
baudrate=115200
bootdelay=1
ethact=emac
ethaddr=00:00:00:11:66:88
stderr=serial
stdin=serial
stdout=serial
ipaddr=192.168.1.11
serverip=192.168.1.99
bootcmd=nboot 0x7fc0 0 0x200000;bootm 0x7fc0
bootargs=noinitrd root=/dev/mtdblock2 rootfstype=yaffs2
rootflags=inband-tags console=ttyS0,115200n8 rdinit=/sbin/init mem=64M mtdparts=nand0:0x200000@0x0(u-boot)ro,0x800000@0x200000(kernel)ro,-(user)

一开始没有红字部分内容,烧录后可以加载内核,加载根文件时报错。感觉是没有配置nand flash分区。
把mtdparts部分加入到boot option里,可以加载文件系统了。
我后来想把修改的内容加入的env.txt里,于是就加入了红字部分,结果刚准备启动内核,串口就没调试信息了。

离线

页脚