umanovskis / baremetal-arm

An ebook about bare-metal programming for ARM

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FDT and ATAGS support not compiled in resetting ...

gjyoung1974 opened this issue · comments

Following the instructions in Chapter 03 I get the following error & QEmu exits/quits:

On: Debian GNU/Linux 11 x86_64

using latest U-Boot source:
U-Boot 2023.01-rc2-00072-g27c415ae8b-dirty (Nov 27 2022 - 09:52:08 -0700)

Experiencing the following issue:

66156 bytes read in 28 ms (2.3 MiB/s)

Booting kernel from Legacy Image at 60000000 ...

Image Name:
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 66092 Bytes = 64.5 KiB
Load Address: 60000000
Entry Point: 60000000
Verifying Checksum ... OK
Working FDT set to 0
Loading Kernel Image
FDT and ATAGS support not compiled in

resetting ...

To get past this I had to make a kludgy hack to
arch/arm/lib/bootm.c

and remove the "else panic" conditon in
/* Subcommand: PREP */
static void boot_prep_linux(struct bootm_headers *images)

Commented out

} else {
	panic("FDT and ATAGS support not compiled in\n");
}

Now I can boot

what's the correct way to get past this? We need to include an FDT or something ?

Experiencing the same. Thanks for posting your workaround @gjyoung1974

what's the correct way to get past this? We need to include an FDT or something ?

Ig appending the following at the end of configs/vexpress_ca9x4_defconfig can be considered as the correct way.

CONFIG_SUPPORT_PASSING_ATAGS=y
CONFIG_OF_LIBFDT=y