首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >引导时内核图像中的错误

引导时内核图像中的错误
EN

Stack Overflow用户
提问于 2016-10-24 17:44:51
回答 1查看 1.3K关注 0票数 0

实际上,我正试图在我的Zedboard上引导linux (有zync SoC和ARM corders-A9处理器)。但没有成功。在这里,我将分享到现在的故事:-

1-我已对我的SD卡进行了第一次分区,并将其命名为Boot,并在此复制了以下内容:

BOOT.bin uEnv.txt devicetree.dtb uImage uramdisk.image.gz

现在,我试图从SD卡引导它,但它没有发生,我得到了以下信息。在这条消息中,我特别强调了错误消息,以及我在我的tty终端中得到的其他相关消息。

代码语言:javascript
复制
U-Boot 2014.01 (Oct 08 2016 - 12:33:09) 

I2C:   ready

Memory: ECC disabled

DRAM:  512 MiB

MMC:   zynq_sdhci: 0

SF: Detected S25FL256S_64K with page size 256 Bytes, erase size 64 KiB, total 32 MiB

*** Warning - bad CRC, using default environment



In:    serial

Out:   serial

Err:   serial

Net:   Gem.e000b000

Hit any key to stop autoboot:  3  2  1  0 

Device: zynq_sdhci

Manufacturer ID: 27

OEM: 5048

Name: SD04G

Tran Speed: 50000000

Rd Block Len: 512

SD version 3.0

High Capacity: Yes

Capacity: 3.7 GiB

Bus Width: 4-bit

reading uEnv.txt

226 bytes read in 7 ms (31.3 KiB/s)

Loaded environment from uEnv.txt

Importing environment from SD ...

Running uenvcmd ...

Device: zynq_sdhci

Manufacturer ID: 27

OEM: 5048

Name: SD04G

Tran Speed: 50000000

Rd Block Len: 512

SD version 3.0

High Capacity: Yes

Capacity: 3.7 GiB

Bus Width: 4-bit

reading uImage

4150864 bytes read in 399 ms (9.9 MiB/s)

reading devicetree.dtb

9275 bytes read in 16 ms (565.4 KiB/s)

reading uramdisk.image.gz

18047061 bytes read in 1698 ms (10.1 MiB/s)

**Wrong Image Format for bootm command**

**ERROR: can't get kernel image!**

Copying Linux from SD to RAM...

reading uImage

4150864 bytes read in 399 ms (9.9 MiB/s)

reading devicetree.dtb

9275 bytes read in 16 ms (565.4 KiB/s)

reading uramdisk.image.gz

18047061 bytes read in 1698 ms (10.1 MiB/s)

**Wrong Image Format for bootm command**

**ERROR: can't get kernel image!**

zynq-uboot> 

3.我的uenv.txt文件内容如下:

代码语言:javascript
复制
boot_Zed=mmcinfo;fatload mmc 0 0x3000000 ${kernel_image}; fatload mmc 0 0x2A00000 ${devicetree_image}; fatload mmc 0 0x2000000 ${ramdisk_image}; bootm 0x3000000 0x2000000 0x2A00000
uenvcmd=run boot_Zed 

4-我通过以下命令创建了ramdiskimage映像:

代码语言:javascript
复制
mkimage -A ARM -T ramdisk -C gzip -n 'ZED filesystem' -d ramdisk.image.gz uramdisk.image.gz

在执行上述命令时,我收到以下消息:

代码语言:javascript
复制
Image Name:   ZED filesystemCreated: 

Mon Oct 24 10:40:13 2016

Image Type:   ARM Linux RAMDisk Image (gzip compressed)

Data Size:    18046997 Bytes = 17624.02 kB = 17.21 MB

Load Address: 00000000

Entry Point:  00000000

这是我在评论中所要求的printenv列表:-

baudrate=115200 bitstream_image=system.bit.bin boot_image=BOOT.bin boot_size=0xF00000 bootcmd=run $modeboot bootdelay=3 bootenv=uEnv.txt devicetree_image=devicetree.dtb devicetree_size=0x20000 ethact=Gem.e000b000 ethaddr=00:0a:35:00:01:22 fdt_high=0x20000000 importbootenv=echo从SD导入环境.;env导入-t ${loadbootenv_addr} $filesize initrd_high=0x20000000 ipaddr=10.10.70.102 jtagboot=echo TFTPing Linux到RAM..。&& tftpboot 0x3000000 ${kernel_image} && tftpboot 0x2A00000 ${devicetree_image} && tftpboot 0x2000000 ${ramdisk_image} && bootm 0x3000000 0x2000000 0x2A00000 kernel_image=uImage kernel_size=0x500000 loadbit_addr=0x100000 loadbootenv=fatload mmc 0 ${loadbootenv_addr} ${bootenv} loadbootenv_addr=0x2000000 mmc_loadbit_fat=echo将位流从SD/MMC/eMMC加载到RAM。& mmcinfo && fatload mmc 0 ${loadbit_addr} ${bitstream_image} && fpga加载0 ${loadbit_addr} ${filesize} modeboot=sdboot nandboot=echo将Linux从NAND复制到内存.- && nand读0x3000000 0x100000 ${kernel_size} && nand读0x2A00000 0x600000 ${devicetree_size} &&回波复制磁盘。&& nand读为0x2000000 0x620000 ${ramdisk_size} && bootm 0x3000000 0x20000000x2A00000 norboot=echo将Linux从或闪存复制到内存中.采购产品名称:公司名称:上海市发布日期:上海市发布日期:上海市发布时间:2009-4-15&& cp.b 0xE2620000 0x2000000 ${ramdisk_size} && bootm 0x3000000 0x2000000 0x2A00000 qspiboot=echo将Linux从QSPI闪存复制到内存..。& sf探针0 0 0 && sf读取0x3000000 0x100000美元{kernel_size} && sf读0x2A00000 0x600000美元{devicetree_size}&回声拷贝磁盘。&& sf读为0x2000000 0x620000 ${ramdisk_size} && bootm 0x3000000 0x20000000x2A00000 ramdisk_image=uramdisk.image.gz ramdisk_size=0x5E0000 rsa_jtagboot=echo TFTPing图像到内存..。&& tftpboot 0x100000 ${boot_image} && zynqrsa 0x100000 & bootm 0x3000000 0x2000000 0x2A00000 rsa_nandboot=echo从NAND复制图像到内存。&& nand读为0x100000 0x0 ${boot_size} && zynqrsa 0x100000 & bootm 0x3000000 0x2000000 0x2A00000 rsa_norboot=echo从或闪存复制图像到内存.&& cp.b 0xE2100000 0x100000 ${boot_size} & zynqrsa 0x100000 & bootm 0x3000000 0x2000000 0x2A00000 rsa_qspiboot=echo将图像从QSPI复制到内存中。&& sf探针0 0 0 && sf读0 x100000 0x0 ${boot_size} && zynqrsa 0x100000 && bootm 0x3000000 0x2000000 0x2A00000 rsa_sdboot=echo从SD复制图像到内存.&& fatload mmc 0 0x100000美元{boot_image} && zynqrsa 0x100000 & bootm 0x3000000 0x2000000 0x2A00000 sdboot=if mmcinfo;然后运行uenvboot;回显将Linux从SD复制到RAM.&& fatload mmc 0 0x3000000美元{kernel_image}&加脂mmc 0 0x2A00000 ${devicetree_image} && fatload mmc 00x2000000 ${ramdisk_image} & bootm 0x3000000 0x2000000 0x2A00000;fi serverip=10.10.70.101 stderr=serial stdin=serial stdout=serial uenvboot=if运行loadbootenv;然后从${bootenv}执行回送加载环境;运行importbootenv;fi;如果测试-n $uenvcmd;然后回送运行uenvcmd .;运行uenvcmd;fi usbboot=if启动;然后运行uenvboot;回显将Linux从usb复制到内存.&& fatload USB00x3000000美元{kernel_image}和fatload USB00x2A00000美元{devicetree_image}和fatload USB00x2000000美元{ramdisk_image}& bootm 0x3000000 0x2000000 0x2A00000;fi 环境大小: 3368/131068字节

因此,根据我的上述信息,请您告诉/建议我解决地雷问题。

EN

回答 1

Stack Overflow用户

发布于 2016-10-25 02:23:54

您还没有将加载地址传递给mkimage。尝试向其添加-a 0x2000000参数。另外,-C gzip参数可能是错误的,因为输入文件已经被压缩。尝试使用-C none代替。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40224397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档