[U-Boot] multi-image uImage with fitImage
Simon Glass
sjg at chromium.org
Tue Mar 24 00:49:32 CET 2015
Hi,
On 23 March 2015 at 17:42, Andre Wolokita <andre.wolokita at analog.com> wrote:
> Hi Simon,
>
> On 24/03/15 10:14, Simon Glass wrote:
>> Hi,
>>
>> On 23 March 2015 at 00:40, fat loser <george.cluniac at gmail.com> wrote:
>>> Hi all,
>>>
>>> I am currently attempting to port my combined uImage and ramdisk image +
>>> dtb over to the fitImage format. I am creating a linux kernel + ramdisk
>>> with buildroot and dt blob with buildroot. The .its I am using to create a
>>> fitImage is below:
>>>
>>> /dts-v1/;
>>> / {
>>> description = "Linux kernel";
>>> #address-cells = <1>;
>>> images {
>>> kernel at 1 {
>>> description = "Linux kernel";
>>> data = /incbin/("/tftpboot/uImage");
>>> arch = "arm";
>>> os = "linux";
>>> type = "multi";
>> What is multi? Do you want kernel or kernel_noload?
> I read somewhere that multi can represent a kernel+ramdisk uImage (image with ramdisk linked in.) If try to use "kernel" here, I get an error like: ERROR: new format image overwritten - must RESET the board to recover
> resetting ...
Sure, but that's getting further than before, when it was saying it
could not find the kernel. You may need to load the kernel to a
different place, so that it can be decompressed without overwriting.
Also what is uImage? It should be a simple uncompressed kernel image.
If it is a zImage you should likely use kernel_noload.
>>
>>> compression = "none";
>>> load = <0x89008000>;
>>> entry = <0x89008000>;
>>> };
>>> fdt at 1 {
>>> description = "Flattened Device Tree blob";
>>> data = /incbin/("/tftpboot/arm.dtb");
>>> type = "flat_dt";
>>> arch = "arm";
>>> compression = "none";
>>> };
>>> };
>>> configurations {
>>> default = "conf at 1";
>>> conf at 1 {
>>> description = "Boot Linux kernel";
>>> kernel = "kernel at 1";
>>> fdt = "fdt at 1";
>>> };
>>> };
>>> };
>>>
>>> After tftp'ing the .itb over to address 0x89000000 and running bootm, I get:
>>>
>>> # bootm
>>> ## Loading kernel from FIT Image at 89000000 ...
>>> Using 'conf at 1' configuration
>>> Trying 'kernel at 1' kernel subimage
>>> Description: Linux kernel
>>> Type: Multi-File Image
>>> Compression: uncompressed
>>> Data Start: 0x890000d0
>>> Data Size: 28604352 Bytes = 27.3 MiB
>>> Verifying Hash Integrity ... OK
>>> No Linux ARM Kernel Image Image
>>> ERROR: can't get kernel image!
>>>
>>> The images work perfectly before I try to combine them into a fitImage.
>>>
>>> Is there a special configuration option for multi-file (combined
>>> ramdisk-kernel) images in fitImage?
>>>
>>> Regards,
>>>
>>> George.
Regards,
Simon
More information about the U-Boot
mailing list