How should I set load_address for fdt in the .its file...

Hello all,
I saw https://www.thegoodpenguin.co.uk/blog/u-boot-fit-image-overview/ and used it to make .itb file (FIT image).
(see the its sample right below the line saying : Let's try this out by creating an image tree source file (.its): )
I was doing the experiment and found the load address of fdt was set wrong and changed it to the next address after the linux kernel (but 8 byte aligned).
But the SPL program complains it can't find the 'configurations' node. So I'm curious about how I should set the address.
But I'm not sure how to set the 'load_address' and 'entry_address' for fdt. Should I set it so that fdt is just placed some place above the linux Image?
And why doesn't initrd image node have those 'load_address' and 'entry_address'?
Thanks for reading.
Chan Kim

Hello all,
For my question below, I later found I didn't load enough bytes for the FIT image (that's why it could find the configuration node). Now because our FPGA board has only 8MB fake RAM for now, I loaded FIT (about 5.7MB. containing kernel Image, fdt and initramfs.cpio.gz) to 0x8000_0000 (start of fake RAM ). I'm using 'boot from RAM' method(using CONFIG_SPL_RAM_DEVICE, CONFIG_SPL_OS_BOOT). The spl tried to copy the kernel to another location, so I skipped the kernel memcpy to use the kernel image as is inside the FIT image. And I made the fdt to be copied to a location above FIT image. Now I see 'Jumping to Linux' message. I have three questions here..(sorry for asking too many questions at once)
1. I wish linux could start with the kernel image inside FIT as is. But the start address of the kernel image is 0x800000bc, a weird address, and I guess there was a certain requirement for the kernel image alignment (like 16KB?). So can this(using kernel image as in the FIT image, not aligned nicely to 4KB) work? 2. In my spl_image_info struct, the 'void *arg' value is set to NULL. How should I set the value? (I have already CONFIG_BOOT_ARGS=y and CONFIG_BOOTARGS has values for passing the console and earlycon, but I don't know how to fill the spl_image_info's arg value) 3. Another question is, in this method, can linux recognize the initramfs.cpio.gz file? (I guessed so because using qemu, it worked)
Any comment will be appreciated. Happy new year!
Chan Kim
-----Original Message----- From: U-Boot u-boot-bounces@lists.denx.de On Behalf Of ckim@etri.re.kr Sent: Thursday, December 23, 2021 6:49 PM To: 'U-Boot Mailing List' u-boot@lists.denx.de Subject: How should I set load_address for fdt in the .its file...
Hello all,
I saw https://www.thegoodpenguin.co.uk/blog/u-boot-fit-image-overview/ and used it to make .itb file (FIT image).
(see the its sample right below the line saying : Let's try this out by creating an image tree source file (.its): )
I was doing the experiment and found the load address of fdt was set wrong and changed it to the next address after the linux kernel (but 8 byte aligned).
But the SPL program complains it can't find the 'configurations' node. So I'm curious about how I should set the address.
But I'm not sure how to set the 'load_address' and 'entry_address' for
fdt.
Should I set it so that fdt is just placed some place above the linux Image?
And why doesn't initrd image node have those 'load_address' and 'entry_address'?
Thanks for reading.
Chan Kim
participants (2)
-
Chan Kim
-
ckim@etri.re.kr