Branch v2023.04-ti-09.01.00.0008-BeaglePlay:
./arch/arm/include/asm/global_data.h:125:65: error: invalid register name for ‘gd’
Branch v2023.04-ti-09.01.00.0008-BeaglePlay:
./arch/arm/include/asm/global_data.h:125:65: error: invalid register name for ‘gd’
Which config are you building? bb-u-boot-beagleplay-debian-12/suite/bookworm/debian/rules · main · BeagleBoard.org / repos-arm64 · GitLab
Regards
I am building config "am62x_evm_a53_defconfig. I just set Buildroot up for Beagleplay kernel, it compiled just fine. Now I added Beagleplay uboot to Buildroot, ran into this compilation error.
Use @jkridner 's branch here: Files · 2023.11-beagle · BeagleBoard.org / Buildroot · GitLab
Regards,
Thanks so much for the info. I’ve got the kernel going. Does this branch cover the u-boot config for Buildroot? I have the beagleplay kernel already compiled.
never mine, he runs of the current build: play: add readme (8d6b9e7a) · Commits · BeagleBoard.org / Buildroot · GitLab
Right now to build u-boot for the BeaglePlay, you need:
git clone -b 09.01.00.008 https://git.ti.com/git/processor-firmware/ti-linux-firmware.git
git clone -b v2.10.0 https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git
git clone -b 4.0.0 https://github.com/OP-TEE/optee_os.git
git clone -b v2023.04-ti-09.01.00.008-BeaglePlay https://git.beagleboard.org/beagleboard/u-boot.git
Build Trusted-Firmware-A
make -C ./trusted-firmware-a/ CROSS_COMPILE=/usr/bin/aarch64-linux-gnu- CFLAGS= LDFLAGS= ARCH=aarch64 PLAT=k3 TARGET_BOARD=lite K3_PM_SYSTEM_SUSPEND=1 SPD=opteed all
Grab: trusted-firmware-a/build/k3/lite/release/bl31.bin
you’ll need it later…
Built Optee
make -C ./optee_os/ O=../optee CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf- CROSS_COMPILE64=/usr/bin/aarch64-linux-gnu- CFLAGS= LDFLAGS= PLATFORM=k3-am62x CFG_WITH_SOFTWARE_PRNG=y CFG_ARM64_core=y all
Grab: optee/core/tee-pager_v2.bin
you’ll need it later.
Build u-boot for the r5…
make -C ./u-boot O=../CORTEXR CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf- am62x_evm_r5_defconfig beagleplay_r5.config
make -C ./u-boot O=../CORTEXR CROSS_COMPILE=/usr/bin/arm-linux-gnueabihf- BINMAN_INDIRS=../ti-linux-firmware
Grab: CORTEXR/tiboot3-am62x-gp-evm.bin
that’s tiboot3.bin
build u-boot for the a53
make -C ./u-boot O=../CORTEXA CROSS_COMPILE=/usr/bin/aarch64-linux-gnu- am62x_evm_a53_defconfig beagleplay_a53.config
make -C ./u-boot O=../CORTEXA CROSS_COMPILE=/usr/bin/aarch64-linux-gnu- BL31=../trusted-firmware-a/build/k3/lite/release/bl31.bin TEE=../optee/core/tee-pager_v2.bin BINMAN_INDIRS=../ti-linux-firmware
Grab: CORTEXA/tispl.bin_unsigned
that’s tispl.bin
Grab: CORTEXA/u-boot.img_unsigned
that’s u-boot.img
So did you do all 4 builds in buildroot???
Regards,
Yes, buildroot is set up to build all 4. It is getting a compilation error with uboot only. The kernel, trusted firmware, and optee all compile just fine. Uboot was the last piece I added. I’ll make sure I’m using the same repository you just listed in the buildroot config and see what happens.
Thanks for the detailed info!
I did have a problem with the Beagleboard git URL for uboot. I switched it, made sure I had the config & config-fragment correct, it failed yet again in the same place.
I ran the instructions you listed to build u-boot. I got successful builds for optee, trusted-firmware-a, and uboot for R5. I got the following error on A53 uboot build:
binman: ‘type’ object is not subscriptable
/home/patti/Projects/BeeBox/beebox/u-boot/Makefile:1108: recipe for target ‘.binman_stamp’ failed
Any hints on what this means and how to fix it?
Thanks!
No idea, what Linux distro and version are you using to build?
I am using Ubuntu 20.04 to run the uboot build. I moved my script to my work desktop which is Ubuntu 22.04 and the u-boot built successfully. Very weird. I’ll update my other computer to 22.04. Thanks for getting back to me!
One more question, do I take CORTEXR or CORTEXA binaries for BeaglePlay board booting?
On the Play, CORTEXR (R5/tiboot3.bin) runs at startup, loads the CORTEXA (A53/tispl.bin/u-boot.img), then we jump into A53, then from u-boot jump into Linux…
Regards,
Ok, does R5/tiboot3.bin point to gp, hs, or hs-fs binary for BeaglePlay?
BeaglePlay use GP am62’s…
Regards,
Thanks so much. Going to try it out now. Fingers crossed!
Got my beagleplay to boot with my own u-boot/kernel builds. Thanks so much for the assistance!