Hi Neil, On jeu., oct. 17, 2024 at 13:33, Mattijs Korpershoek <mkorpersh...@baylibre.com> wrote:
> Hi Neil, > > Thank you for the series. > > On mer., oct. 16, 2024 at 17:46, Neil Armstrong <neil.armstr...@linaro.org> > wrote: > >> When trying to use the Android boot image with header version 2 >> on recent Qualcomm platforms, we get into some troubles. >> >> First the kernel in-place address can be > 32bit, then since >> we use the Android mkbootimg, it uses the default load address >> which isn't big enough to uncompress the kernel. >> >> Finally, the ramdisk also uses a default load address, and >> it should be taken in account like for the kernel address. >> >> Signed-off-by: Neil Armstrong <neil.armstr...@linaro.org> >> --- >> Neil Armstrong (3): >> image: android: use ulong for kernel address >> boot: image-android: do not boot XIP when kernel is compressed >> image: android: handle ramdisk default address > > I have boot tested aosp/main on Khadas VIM3 using > khadas_vim3_android_defconfig > > This ensures that boot image v2 still works. > > I also tried to boot test the Beagle Play board (which runs Android 14 > with boot image v4). > > Unfortunetly, that does not boot. The kernel starts but then I see: > > [ 0.434360][ T1] /dev/root: Can't open blockdev > [ 0.439587][ T1] Kernel panic - not syncing: VFS: Unable to mount root > fs on unknown-block(0,0) > > Full boot logs: > https://paste.debian.net/1332547/ > > Full boot logs on master: > https://paste.debian.net/1332548/ > > It seems that somehow, the bootconfig section is no longer present. > > I'll try to identify the offending patch and help debug this. Offending patch is [PATCH 3/3] image: android: handle ramdisk default address The following (invalid) diff "fixes it" modified boot/image-android.c @@ -448,9 +448,9 @@ int android_image_get_ramdisk(const void *hdr, const void *vendor_boot_img, } printf("RAM disk load addr 0x%08lx size %u KiB\n", - ramdisk_ptr, DIV_ROUND_UP(img_data.ramdisk_size, 1024)); + img_data.ramdisk_addr, DIV_ROUND_UP(img_data.ramdisk_size, 1024)); - *rd_data = ramdisk_ptr; + *rd_data = img_data.ramdisk_addr; *rd_len = img_data.ramdisk_size; return 0; I'll debug a bit more. > >> >> boot/image-android.c | 60 >> +++++++++++++++++++++++++++++++++++++------------ >> include/android_image.h | 2 +- >> 2 files changed, 47 insertions(+), 15 deletions(-) >> --- >> base-commit: d5cab0d6adc26ec1bbd45c2fed101184d04454ae >> change-id: 20241016-topic-fastboot-fixes-mkbootimg-8d73ab93db3d >> >> Best regards, >> -- >> Neil Armstrong <neil.armstr...@linaro.org>