yocto linux dns,ZYNQ_LINUX的根文件系统设置为QSPI_FLASH,JFFS2。

目录

一、问题

二、解决办法

1.创建工程

2.配置参数

3.编译

3.打包

4.下载

三、附录(开机启动信息)

一、问题

看下面这个链接,出现的问题和我一样。

当把根文件系统设置为 INITRAMFS 是好的,改为JFFS2就有问题。

https://forums.xilinx.com/t5/Embedded-Linux/Modifying-filesystem-Petalinux/td-p/869056

MTD: MTD device with name "jffs2" not found.

VFS: Cannot open root device "mtd:jffs2" or unknown-block(0,0): error -2

Please append a correct "root=" boot option; here are the available partitions:

0100 16384 ram0 (driver?)

0101 16384 ram1 (driver?)

0102 16384 ram2 (driver?)

0103 16384 ram3 (driver?)

0104 16384 ram4 (driver?)

0105 16384 ram5 (driver?)

0106 16384 ram6 (driver?)

0107 16384 ram7 (driver?)

0108 16384 ram8 (driver?)

0109 16384 ram9 (driver?)

010a 16384 ram10 (driver?)

010b 16384 ram11 (driver?)

010c 16384 ram12 (driver?)

010d 16384 ram13 (driver?)

010e 16384 ram14 (driver?)

010f 16384 ram15 (driver?)

1f00 5120 mtdblock0 (driver?)

1f01 128 mtdblock1 (driver?)

1f02 10752 mtdblock2 (driver?)

1f03 16768 mtdblock3 (driver?)

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

CPU0: stopping

二、解决办法

在zedboard上,重新开始搭建一个从QSPI_FLASH启动,根文件系统为JFFS2的LINUX系统。

1.创建工程

petalinux-create --type project --template zynq --name zedboard_jffs2

2.配置参数

petalinux-config --get-hw-description ../linux_base.sdk

按下面的配置,未提到的都保持默认。

Image Packaging Configuration中:

Root filesystem type —>选择JFFS2类型

擦除块大小选择64KB

在Yocto Settings中:

勾选Enable Debug Tweaks,可以取消每次开机串口终端输入用户名密码。

FLASH分区设置:

partition@0x00000000 {

label = "boot";

reg = <0x00000000 0x00500000>;

};

partition@0x00500000 {

label = "bootenv";

reg = <0x00500000 0x00020000>;

};

partition@0x00520000 {

label = "kernel";

reg = <0x00520000 0x00a80000>;

};

partition@0x00fa0000 {

label = "jffs2";

reg = <0x00fa0000 0x00800000>;

};

Advanced bootable images storage Settings中:

boot image settings —>选择primary flash

uboot-env—>选择flash

kernel image settings —>选择primary flash

rootfs—>选择flash

dtb image—>选择from boot image

3.编译

petalinux-build

3.打包

示例:

petalinux-package --boot --u-boot --kernel --add images/linux/rootfs.jffs2 --offset

实际使用:

petalinux-package --boot --fsbl ./images/linux/zynq_fsbl.elf --fpga --u-boot --kernel --add images/linux/rootfs.jffs2 --offset 0x00fa0000 --force

4.下载

使用xilinx sdk下载。

果然遇到问题。

jffs2: Node at 0x0000ff40 with length 0x00000994 would run over the end of the erase block

jffs2: Perhaps the file system was created with the wrong erase size?

jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000ff44: 0x0994 instead

jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000ff48: 0x790b instead

jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000ff4c: 0x0013 instead

jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000ff50: 0x001d instead

jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000ff54: 0x81ed instead

jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000ff5c: 0x7dac instead

jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000ff6c: 0xc000 in

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值