[meta-xilinx] Problem with generating uImage via meta-xilinx

avallash avallash at o2.pl
Mon Jul 13 09:58:07 PDT 2015


Hi,
So I found few things regarding your suggestions (BTW thanks for them)

when expanded to values the qspiboot is:
qspiboot=echo Copying Linux from QSPI flash to RAM... && sf probe 0 0 0 &&
sf read 0x2080000 0x100000 0x500000 && sf read 0x2000000 0x600000 0x20000
&& echo Copying ramdisk... && sf read 0x4000000 0x620000 0x5E0000 && bootm
0x2080000 0x4000000 0x2000000

>From this I get that in flash I should have kernel on address 0x100000,
which I don't supply while merging with bootgen. Is this correct asumption?

after executing:
zynq-uboot> sf probe 0 0 0
SF: Detected S25FL128S_64K with page size 512 Bytes, erase size 128 KiB,
total 32 MiB
zynq-uboot> sf read 0x2080000 0x620000 0x500000
SF: 5242880 bytes @ 0x620000 Read: OK
zynq-uboot> iminfo 0x2080000

## Checking Image at 02080000 ...
   Legacy image found
   Image Name:   core-image-minimal-mod-initramfs
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    2220303 Bytes = 2.1 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
zynq-uboot>

i get from this that what I get while building is just the ramdisk, and not
the uImage with kernel and ramdisk, correct?

If my asumptions are correct, what should I do to get yocto to build and
image of kernel with ramdisk?



---------------------------------------
Pozdrawiam,
Bogusz Brodziński

On Fri, Jul 10, 2015 at 1:07 PM, Nathan Rossi <nathan at nathanrossi.com>
wrote:

> On Fri, Jul 10, 2015 at 8:26 PM, avallash <avallash at o2.pl> wrote:
> > Hi,
> > I am trying to run linux on zc706 xilinx dev board and I get this error
> > while u-boot tries to boot uImage:
> >
> > Board:  Xilinx Zynq
> > I2C:   ready
> > DRAM:  ECC disabled 1 GiB
> > MMC:   zynq_sdhci: 0
> > SF: Detected S25FL128S_64K with page size 512 Bytes, erase size 128 KiB,
> > total 32 MiB
> > *** Warning - bad CRC, using default environment
> >
> > In:    serial
> > Out:   serial
> > Err:   serial
> > Board:  Xilinx Zynq
> > Net:   Gem.e000b000
> > Hit any key to stop autoboot:  0
> > Copying Linux from QSPI flash to RAM...
> > SF: Detected S25FL128S_64K with page size 512 Bytes, erase size 128 KiB,
> > total 32 MiB
> > SF: 5242880 bytes @ 0x100000 Read: OK
> > SF: 131072 bytes @ 0x600000 Read: OK
> > Copying ramdisk...
> > SF: 6160384 bytes @ 0x620000 Read: OK
> > Wrong Image Format for bootm command
> > ERROR: can't get kernel image!
> > zynq-uboot> <INTERRUPT>
> > zynq-uboot>
> >
>
> It looks like the uImage is correct and the partitioning and addresses are
> fine.
>
> Can you confirm whether or not the expected content was actually
> stored into the QSPI flash correctly? you should be able to do with
> with a mix of iminfo and md in u-boot.
>
> e.g. load the kernel section of flash into memory and do iminfo (to
> see if it is correctly read and that u-boot sees it as a image), if
> not use md to dump the memory and see whether it looks correct or not.
>
> Regards,
> Nathan
>
> >
> > I am using fsbl from petalinux, u-boot from meta-xilinx (u-boot-xlnx) and
> > building core-image-minimal and core-image-minimal-initramfs
> > yocto version poky-dizzy-12.0.2
> >
> > I think uImage header is correct:
> >
> > 00000000   27 05 19 56  AA D0 FC AC  55 9B EB 70  00 30 46 E8
> > '..V....U..p.0F.
> > 00000010   00 00 80 00  00 00 80 00  92 CC BB 0D  05 02 02 00
> > ................
> > 00000020   4C 69 6E 75  78 2D 33 2E  31 34 2E 32  2D 78 69 6C
> > Linux-3.14.2-xil
> > 00000030   69 6E 78 00  00 00 00 00  00 00 00 00  00 00 00 00
> > inx.............
> >
> >
> > What am I missing? Can someone point me to materials that can help me fix
> > this issue? Was this problem addressed in the past?
> >
> > printenv:
> >
> > zynq-uboot> 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_load_address=0x2000000
> > devicetree_size=0x20000
> > dfu_mmc=run dfu_mmc_info && dfu 0 mmc 0
> > dfu_mmc_info=set dfu_alt_info ${kernel_image} fat 0
> 1\\;${devicetree_image}
> > fat 0 1\\;${ramdisk_image} fat 0 1
> > dfu_ram=run dfu_ram_info && dfu 0 ram 0
> > dfu_ram_info=set dfu_alt_info ${kernel_image} ram 0x3000000
> > 0x500000\\;${devicetree_image} ram 0x2A00000 0x20000\\;${ramdisk_image}
> ram
> > 0x2000000 0x600000
> > ethact=Gem.e000b000
> > ethaddr=00:0a:35:00:01:22
> > fdt_high=0x20000000
> > importbootenv=echo Importing environment from SD ...; env import -t
> > ${loadbootenv_addr} $filesize
> > initrd_high=0x20000000
> > ipaddr=10.10.70.102
> > jtagboot=echo TFTPing Linux to RAM... && tftpboot ${kernel_load_address}
> > ${kernel_image} && tftpboot ${devicetree_load_address}
> ${devicetree_image}
> > && tftpboot ${ramdisk_load_address} ${ramdisk_image} && bootm
> > ${kernel_load_addres
> > s} ${ramdisk_load_address} ${devicetree_load_address}
> > kernel_image=uImage
> > kernel_load_address=0x2080000
> > kernel_size=0x500000
> > loadbit_addr=0x100000
> > loadbootenv=load mmc 0 ${loadbootenv_addr} ${bootenv}
> > loadbootenv_addr=0x2000000
> > mmc_loadbit=echo Loading bitstream from SD/MMC/eMMC to RAM.. && mmcinfo
> &&
> > load mmc 0 ${loadbit_addr} ${bitstream_image} && fpga load 0
> ${loadbit_addr}
> > ${filesize}
> > modeboot=qspiboot
> > nandboot=echo Copying Linux from NAND flash to RAM... && nand read
> > ${kernel_load_address} 0x100000 ${kernel_size} && nand read
> > ${devicetree_load_address} 0x600000 ${devicetree_size} && echo Copying
> > ramdisk... && nand read ${ramdis
> > k_load_address} 0x620000 ${ramdisk_size} && bootm ${kernel_load_address}
> > ${ramdisk_load_address} ${devicetree_load_address}
> > norboot=echo Copying Linux from NOR flash to RAM... && cp.b 0xE2100000
> > ${kernel_load_address} ${kernel_size} && cp.b 0xE2600000
> > ${devicetree_load_address} ${devicetree_size} && echo Copying ramdisk...
> &&
> > cp.b 0xE2620000 ${ramdisk_
> > load_address} ${ramdisk_size} && bootm ${kernel_load_address}
> > ${ramdisk_load_address} ${devicetree_load_address}
> > preboot=if test $modeboot = sdboot && env run sd_uEnvtxt_existence_test;
> > then if env run loadbootenv; then env run importbootenv; fi; fi;
> > qspiboot=echo Copying Linux from QSPI flash to RAM... && sf probe 0 0 0
> &&
> > sf read ${kernel_load_address} 0x100000 ${kernel_size} && sf read
> > ${devicetree_load_address} 0x600000 ${devicetree_size} && echo Copying
> > ramdisk... && sf r
> > ead ${ramdisk_load_address} 0x620000 ${ramdisk_size} && bootm
> > ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
> > ramdisk_image=uramdisk.image.gz
> > ramdisk_load_address=0x4000000
> > ramdisk_size=0x5E0000
> > rsa_jtagboot=echo TFTPing Image to RAM... && tftpboot 0x100000
> ${boot_image}
> > && zynqrsa 0x100000 && bootm ${kernel_load_address}
> ${ramdisk_load_address}
> > ${devicetree_load_address}
> > rsa_nandboot=echo Copying Image from NAND flash to RAM... && nand read
> > 0x100000 0x0 ${boot_size} && zynqrsa 0x100000 && bootm
> > ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
> > rsa_norboot=echo Copying Image from NOR flash to RAM... && cp.b
> 0xE2100000
> > 0x100000 ${boot_size} && zynqrsa 0x100000 && bootm ${kernel_load_address}
> > ${ramdisk_load_address} ${devicetree_load_address}
> > rsa_qspiboot=echo Copying Image from QSPI flash to RAM... && sf probe 0
> 0 0
> > && sf read 0x100000 0x0 ${boot_size} && zynqrsa 0x100000 && bootm
> > ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}
> > rsa_sdboot=echo Copying Image from SD to RAM... && load mmc 0 0x100000
> > ${boot_image} && zynqrsa 0x100000 && bootm ${kernel_load_address}
> > ${ramdisk_load_address} ${devicetree_load_address}
> > sd_uEnvtxt_existence_test=test -e mmc 0 /uEnv.txt
> > sdboot=if mmcinfo; then run uenvboot; echo Copying Linux from SD to
> RAM...
> > && load mmc 0 ${kernel_load_address} ${kernel_image} && load mmc 0
> > ${devicetree_load_address} ${devicetree_image} && load mmc 0
> > ${ramdisk_load_address} ${r
> > amdisk_image} && bootm ${kernel_load_address} ${ramdisk_load_address}
> > ${devicetree_load_address}; fi
> > serverip=10.10.70.101
> > stderr=serial
> > stdin=serial
> > stdout=serial
> > thor_mmc=run dfu_mmc_info && thordown 0 mmc 0
> > thor_ram=run dfu_ram_info && thordown 0 ram 0
> > uenvboot=if run loadbootenv; then echo Loaded environment from
> ${bootenv};
> > run importbootenv; fi; if test -n $uenvcmd; then echo Running uenvcmd
> ...;
> > run uenvcmd; fi
> > usbboot=if usb start; then run uenvboot; echo Copying Linux from USB to
> > RAM... && load usb 0 ${kernel_load_address} ${kernel_image} && load usb 0
> > ${devicetree_load_address} ${devicetree_image} && load usb 0
> > ${ramdisk_load_address}
> >  ${ramdisk_image} && bootm ${kernel_load_address} ${ramdisk_load_address}
> > ${devicetree_load_address}; fi
> >
> > Environment size: 4831/131068 bytes
> >
> >
> >
> >
> > --
> > _______________________________________________
> > meta-xilinx mailing list
> > meta-xilinx at yoctoproject.org
> > https://lists.yoctoproject.org/listinfo/meta-xilinx
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/meta-xilinx/attachments/20150713/be08fa7b/attachment.html>


More information about the meta-xilinx mailing list