[meta-xilinx] How to make uImage for zynqmp
Nathan Rossi
nathan at nathanrossi.com
Tue Oct 11 00:53:19 PDT 2016
On Tue, Oct 11, 2016 at 5:37 PM, Cai, Chuntian (GE Transportation)
<chuntian.cai at ge.com> wrote:
>
> Hi,
>
>
>
> How to config yocto to include CRC information?
You are mis-reading the error, the CRC check is informing you that the
ramdisk is corrupt (aka it doesn't match the CRC). This is because
your ramdisk is 102MB, which will not fit between the memory range
0x6000000 to 0x7000000 (a 16MB segment). And when you load the dtb at
0x7000000 it will overwrite part of your rootfs image.
Just swap the addresses you are using for the dtb and rootfs, this
will make sure the rootfs has more than enough space to load into
memory.
Regards,
Nathan
>
>
>
>
>
>
>
>
>
>
>
>
>
> -----Original Message-----
> From: Nathan Rossi [mailto:nathan at nathanrossi.com]
> Sent: Monday, October 10, 2016 6:21 PM
> To: Mike Looijmans
> Cc: Cai, Chuntian (GE Transportation); meta-xilinx at yoctoproject.org
> Subject: EXT: Re: [meta-xilinx] How to make uImage for zynqmp
>
>
>
> On Mon, Oct 10, 2016 at 8:00 PM, Mike Looijmans <mike.looijmans at topic.nl> wrote:
>
> > On 10-10-16 11:44, Cai, Chuntian (GE Transportation) wrote:
>
> >>
>
> >> Hi Nathan
>
> >>
>
> >> I am not aware of that uImage is obsoleted for arm64, could you tell
>
> >> me how to use booti command to boot linux?
>
> >>
>
> >> What address and how to set dtb and rootfs?
>
> >
>
> >
>
> > Ah, now we're getting to the real question.
>
> >
>
> > Just looking at the u-boot source code reveils how it's done:
>
> >
>
> > https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_Xilinx
>
> > _u-2Dboot-2Dxlnx_blob_master_include_configs_xilinx-5Fzynqmp.h-23L189&
>
> > d=DQIBaQ&c=IV_clAzoPDE253xZdHuilRgztyh_RiV3wUrLrDQYWSI&r=Ei3floKgst6Ph
>
> > YpovUjTVlWwDEc4CVl_t-gxqM04eQY&m=P2RIjgA4fo1ZTJDct27dCOVsc2iB2qKhyu6p8
>
> > ZytjAk&s=ErswBjlcqCrJiEJlVzG9bh4U0LNmJ6YNIMrfD-8fing&e=
>
> >
>
> > booti $kernel_addr - $fdt_addr
>
> >
>
>
>
> Yep, works the same as the other boot* style commands. The following addresses should work for zynqmp:
>
>
>
> tftpboot 0x80000 Image
>
> tftpboot 0x6000000 core-image-minimal-ep108-zynqmp.cpio.gz.u-boot
>
> tftpboot 0x7000000 Image-zynqmp-ep108.dtb booti 0x80000 0x6000000 0x7000000
>
>
>
> Regards,
>
> Nathan
>
>
>
> >
>
> >
>
> >>
>
> >
>
> > Kind regards,
>
> >
>
> > Mike Looijmans
>
> > System Expert
>
> >
>
> > TOPIC Products
>
> > Materiaalweg 4, NL-5681 RJ Best
>
> > Postbus 440, NL-5680 AK Best
>
> > Telefoon: +31 (0) 499 33 69 79
>
> > E-mail: mike.looijmans at topicproducts.com
>
> > Website: www.topicproducts.com
>
> >
>
> > Please consider the environment before printing this e-mail
>
> >
>
> >
>
> >
>
> >
>
> >
>
> > -----Original Message-----
>
> >>
>
> >> From: Nathan Rossi [mailto:nathan at nathanrossi.com]
>
> >> Sent: Monday, October 10, 2016 5:31 PM
>
> >> To: Cai, Chuntian (GE Transportation)
>
> >> Cc: meta-xilinx at yoctoproject.org; Mike Looijmans
>
> >> Subject: EXT: Re: [meta-xilinx] How to make uImage for zynqmp
>
> >>
>
> >> On Mon, Oct 10, 2016 at 3:46 PM, Mike Looijmans
>
> >> <mike.looijmans at topic.nl>
>
> >> wrote:
>
> >>>
>
> >>> On 09-10-16 03:20, Cai, Chuntian (GE Transportation) wrote:
>
> >>>
>
> >>>> I using bitbake build Linux system for zcu102 board.
>
> >>>>
>
> >>>> I issue bitbake core-image-x11 , then I can found Image file in the
>
> >>>> deploy folder, But I could not find uImage, and I want use uImage
>
> >>
>
> >>
>
> >> uImage is not a valid target for aarch64/arm64 in the kernel (like it
>
> >> is for arm). This is because "uImage" is actually shorthand for
>
> >> u-boot wrapped zImage. And arm64 does not have support for zImage,
>
> >> thus also does not have a uImage target.
>
> >>
>
> >> (arm targets)
>
> >> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/
>
> >> arch/arm/Makefile?id=refs/tags/v4.8#n365
>
> >> (arm64 targets)
>
> >>
>
> >> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/
>
> >> arch/arm64/Makefile?id=refs/tags/v4.8#n135
>
> >>
>
> >> ---
>
> >>
>
> >> A good question is why do you want to use uImage? If you are not
>
> >> aware it is possible to boot a linux "Image" with the U-Boot "booti"
>
> >> command.
>
> >>
>
> >> However it is possible to wrap the kernel image with mkimage (or a
>
> >> FIT blob if you are prepared to configure the image tree). For
>
> >> wrapping with mkimage the command you will need is similar to:
>
> >>
>
> >> mkimage -A arm64 -O linux -T kernel -C none -a 0x80000 -e 0x80000 -d
>
> >> Image Image.ub
>
> >>
>
> >> Also if you need mkimage, run the command using the mkimage built by
>
> >> OE from the sysroot relative to the tmp/deploy/images/<machine>/
>
> >> directory of your build (assuming you are on a x86_64 host):
>
> >>
>
> >> ../../../sysroots/x86_64-linux/usr/bin/mkimage ...
>
> >>
>
> >>>>
>
> >>>>
>
> >>>> Could you tell me how to build uImage rather than Image
>
> >>>
>
> >>>
>
> >>>
>
> >>> Just setting KERNEL_IMAGETYPE="uImage" in the kernel recipe or
>
> >>> machine config would do that.
>
> >>>
>
> >>> I think you can even specify multiple types in there.
>
> >>
>
> >>
>
> >> You can, KERNEL_IMAGETYPES += "<extra ones>"
>
> >>
>
> >> Regards,
>
> >> Nathan
>
> >>
>
> >>>
>
> >>>
>
> >>>
>
> >>> Kind regards,
>
> >>>
>
> >>> Mike Looijmans
>
> >>> System Expert
>
> >>>
>
> >>> TOPIC Products
>
> >>> Materiaalweg 4, NL-5681 RJ Best
>
> >>> Postbus 440, NL-5680 AK Best
>
> >>> Telefoon: +31 (0) 499 33 69 79
>
> >>> E-mail: mike.looijmans at topicproducts.com
>
> >>> Website: www.topicproducts.com
>
> >>>
>
> >>> Please consider the environment before printing this e-mail
>
> >>>
>
> >>>
>
> >>>
>
> >>>
>
> >>>
>
> >>> --
>
> >>> _______________________________________________
>
> >>> meta-xilinx mailing list
>
> >>> meta-xilinx at yoctoproject.org
>
> >>> https://lists.yoctoproject.org/listinfo/meta-xilinx
>
> >
>
> >
More information about the meta-xilinx
mailing list