[U-Boot] [Question] Linux Boot with u-boot 2014.04 on Zynq board

Michal Simek monstr at monstr.eu
Wed Apr 30 12:12:15 CEST 2014


Hi Masahiro,

On 04/30/2014 11:54 AM, Masahiro Yamada wrote:
> Hi Michal,
> 
> I am a user of Zynq ZC-706 board.
> 
> On u-boot 2014.01 release, I put Kernel Image, Device Tree,
> Ramdisk into "fit.itb" and I could successfully boot Linux Kernel.
> 
> But I don't know how to boot Kernel on u-boot 2014.04 release.
> Please help!
> 
> The default boot sequence of Zynq on the u-boot-2014.04 release
> is Falcon boot, right?

I personally use SPL->full u-boot -> linux
but IRC I have also tested SPL->linux.


> I am trying to boot Linux with
>   - U-boot 2014.04
>   - Linux Kernel 3.14
>   - SD boot mode
>   - ZC706 board
> 
> What I did is roughly like this:
> 
>  ## U-Boot ##

Before you build u-boot you have to copy ps7_init.c/h from your
hw design to the u-boot if you want to use SPL.

> [1] Build u-boot
> [2] Convert  spl/u-boot-spl.bin into  boot.bin
>       with BootGen tool

yes - or if you look at xilinx git u-boot repo we have one
simple python script which does this automatically without bootgen.

> [3] Copy "boot.bin" to FAT-fomatted SD card.

yes.

I personally use SD boot mode it means boot.bin has just u-boot SPL
and u-boot.img on SD stores full u-boot.

Keep in your mind that using U-BOOT SPL is not fully supported flow.
Supported flow is fsbl->u-boot->linux.


>  ##Kernel ##
> [1] Build kernel  with  multi_v7_defconfig setting
> [2] Copy uImage to the SD card
> [3] Rename zynq-zc706.dtb into system.dtb
>      and copy to SD card

this step just depend on your configuration.

> 
> 
> Kernel boot failed to mount the root device.
> 
> 
> My question is, how to pass an init ramdisk?

I am using cpio compiled in directly in the kernel.

> In which file-name  should I copy init ramdisk
> into SD card?

Xilinx OSL versions are using initramdisk
which you can download here.
http://www.wiki.xilinx.com/Zynq+2014.1+Release

> How should I load the init ramdisk  from the  SD card?

And this is the command which OSL version are using.

	"sdboot=if mmcinfo; then " \
"run uenvboot; " \
"echo Copying Linux from SD to RAM... && " \
"fatload mmc 0 0x3000000 ${kernel_image} && " \
"fatload mmc 0 0x2A00000 ${devicetree_image} && " \
"fatload mmc 0 0x2000000 ${ramdisk_image} && " \
"bootm 0x3000000 0x2000000 0x2A00000; " \
"fi\0" \

You can probably add ramdisk_image to ITS format too.

Thanks,
Michal

-- 
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Microblaze cpu - http://www.monstr.eu/fdt/
Maintainer of Linux kernel - Xilinx Zynq ARM architecture
Microblaze U-BOOT custodian and responsible for u-boot arm zynq platform


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 263 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20140430/572293cc/attachment.pgp>


More information about the U-Boot mailing list