U boot cross compile. For example using the ELDK on a 4xx CPU, please .

U boot cross compile Similar to Part 1 of this blog series, this is a continuation of the write-up for my assignment. This is most probably obvious but it doesn’t hurt to be mentioned. Preparing a SD Card. bin file in the u-boot source directory and mkimage I'm new to yocto project and I was trying to build an image for lichee pi board. This will break if for example you are trying to build a rpi_3_32b_defconfig with a aarch64 toolchain. For example, a cross compiler executes on machine X and produces machine code for machine Y. In order to cross-compile fw_printenv, run make CROSS_COMPILE=<your cross-compiler prefix> envtools in the root directory of the U-Boot distribution. I took the latest u-boot (2019. @bash:~/xxx/u-boot-xlnx-v2018. lds u-boot. You also might have to do the info check inside a recipe, rather than at the global level, since some later code could change these values. img 64M This tool handles building U-Boot to check that you have not broken it with your patch series. Looking at the README and the minimal documentation on this, I am curious. json in U-Boot. ” The CROSS_COMPILE variable Sometimes external toolchains use different program names, so not just gcc. You probably have to write a new makefile to cross-compile this program for your target. Firstly, inside the u-boot directory, I declare the CROSS_COMPILE and ARCH environment variables while changing the PATH also: export CROSS_COMPILE=armv8-rpi4-linux-gnueabihf-export With more than 30 million units in existence, the Raspberry Pi provides for an accessible and low-cost way to play with an ARMv8 embedded device using the latest and greatest upstream sources. /u-boot/u-boot. I use gcc-4. U-Boot Cross Compile [s_me0131 @ it002017 ~ / submarine Digilent-Dev] $ make CROSS_COMPILE = arm-linux-Xilinx gnueabi- make: arm-Xilinx linux-gcc-gnueabi: command not found / bin / sh: arm-Xilinx linux-gcc-gnueabi: command not found. Suitable versions of these are included in the U-Boot tree in scripts/dtc and built automatically as needed. Now cross compile U-Boot using the Raspberry Pi Model B configuration: Elixir Cross Referencer - source code of U-boot v2024. Flash U-Boot to microSD card Create partition with fdisk: (replace sda1 with the name of your microSD card with number (you can find it with fdisk -l)) Contribute to u-boot/u-boot development by creating an account on GitHub. The Raspberry Pi’s first stage bootloader will boot from either a FAT16 or FAT32 partition. net page, there would be a problem if you do not have env var CC set. 2 export CROSS_COMPILE=aarch64-rpi4-linux-gnu- make menuconfig make ----- cd . Commented Apr 12, 2018 at 6:37. Building the bootloader for at least a few supported arm64 FOSS devices such as rock-pi-4 is still simple-ish, and only requires 2 cross You can built U-Boot with the same cross-toolchain used to build the kernel - and most probably the rest of the user-space of the system. Could you pleaser confirm whether the above procedure is correct way of building the linux kernel by taking copy from yocto build, could you please reconfirm the defconfig for I. elf all. ) I am trying to build a UBOOT standalone application. wget ----- PREPARE If you type the exact command shown on eewiki. 2. 10 source code in your browser. u-boot is bootloaded ! 6- Building the kernel. In step 3, we just built the device tree binaries. 1 it already exported to path 1. And lastly I executed make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4. bin ) 도 boot 파티션으로 복사합니다. gen_compile_commands (scripts/gen_compile_commands. Make the image 3. I have a x-compiled kernel boot remotely on my BBG using TFTP and the rootfs mounted over NFS. Cleanup. U-Boot description [edit | edit source]. Kreyren added a commit to Kreyren/u-boot that referenced this issue Jul 26, 2021. Check your path to the cross compiler, check if you can acces your gcc from cmd line typing arm-linux-gcc, wether you can acces the cross compiler or not. I tried running the provided I am trying to build u-boot for my arm target on cygwin. CROSS_COMPILE=arm-linux-gnueabi- This is a demo implementation of a Linux command line tool to access the U-Boot's environment variables. The defconfig used above needs to match the toolchain and in turn the triplet used for CROSS_COMPILE variable. This could help to understand or experiment u-boot without a real hardware. Booting from 0x80007fc0 seem typical for Beaglebone, but not other ARM boards. To compile U-Boot with clang on linux without IAS use e. U-Boot, Linaro Cross-Compiler, Arm Cross-Compiler. make -j4 ARCH=arm CROSS_COMPILE=arm-poky-linux-gnueabi- INSTALL_MOD_PATH=<PATH to rootfs> modules_install. 7. You can load an image using dfu And I exported same cross tool (from yocto build sys) to cross compile the u-boot (which is intended to build dumpimage). map 1. bin \ -serial stdio -device VGA \ -nic user,model=virtio-net-pci \ -device virtio-rng-pci \ -device qemu-xhci,id=xhci \ -device usb-kbd -device usb-tablet \ -drive if=virtio,file It's recommended to use the version 9. I am trying to compile U-Boot for the developer board with armv7 processor. Cloned the u-boot source from github. Provide details and share your research! But avoid . 04. Building the U-Boot bootloader is a part of the Xilinx design flow described in Xilinx Open Source Linux. Sign in Product $ CROSS_COMPILE=ppc_4xx- $ export CROSS_COMPILE U-Boot is intended to be simple to build. and finally compile U-Boot: make CROSS_COMPILE=arm-linux-gnueabi- u-boot. to make i get erros below. Now configure for versatilepb board. 10-rc1. In Ubuntu 14. U-Boot: SSBL [edit | edit source] 2. After building, connect your iPod Nano 5G in DFU Mode and use wInd3x to start U-Boot: . 1 Preparation Before making, make sure the environment variable CROSS_COMPILE=arm-elf- $ make CROSS_COMPILE=arm-none-eabi- clean. com> # Briefly documented at doc/build/gen_compile_commands. Aside from a few odd/legacy boards, most of the current device support in u-boot should follow the Linux kernel devicetree and u-boot driver models, albeit with each vendor on their own upgrade cycle. u-boot. Linaro GCC. It can build each individual commit and report which boards fail on which commits, and which errors come up. Share. mkdir sdcard sudo cp . Dependencies; Prerequisites; Configuration The biggest problem when trying to compile U-Boot with Clang is that almost all archs rely on storing gd in a global register and the Clang 3. bin . The steps I follow are as follows. This article concentrates in particular on generating a "custom" device tree based on the STM32CubeMX. U-Boot depends upon an externally build device tree compiler (dtc) in Clone of upstream U-Boot repo with patches for Arm development boards - ARM-software/u-boot. img using qemu-img: qemu-img create -f raw envstore. For example, api common doc fs lib MLO README System. 5 user manual states: “Clang does not support global register variables; this is unlikely to be implemented soon because it requires additional LLVM backend support. Product Forums 23. This is done by typing Note by default these instructions utilize all of your computers cores to compile thanks to the -j and $(nproc) parameters. Asking for help, clarification, or responding to other answers. bin: $ sudo apt-get install sunxi-tools $ sunxi-fel uboot u-boot-sunxi-with-spl. # export CROSS_COMPILE=aarch64-linux-gnu-3. Is the hello world example standalone, simply just compiled/cross- make -j12 ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-Move u-boot-bin to the boot filesystem. The first thing I found - the makefile adds "-ansi" flag to cygwin compilation and it fails and if to remove this flag it is able to compile. To build supervisor mode binaries, use the configurations qemu-riscv32_smode_defconfig and qemu-riscv64_smode_defconfig For building U-Boot you need a GCC compiler for your host platform. py) is a script used to generate a compilation database (compile_commands. during the build process i got these errors: ERROR: u-boot-1_2020. This includes downloading the right kernel (and device tree) from a remote server and then booting it. Plug the usb drive into the raspberry pi. (Make sure to rebuild your U-Boot after changing it. bin can be copied to your SD Card. dirname: missing operand "Dirname --help" gives further information. This article explains how to update the boot chain (OP-TEE with FIP) for a "custom" device tree. This database consists of an array of “command objects” describing how each translation unit was compiled. Linaro is a popular platform providing high-quality code for both Linux kernel and GCC tool chain. Skip to content. These addresses have to be modified in the bootcmd U-Boot environment variable. make CROSS_COMPILE=aarch64-linux-gnu- -j$(nproc) This will output a u-boot-rockchip. If you already have a clone of the repository, you can run the following commands in the root Build U-Boot . I just want to compile the source code using GCC (not targeting cross compilation for any embedded platform). This provides the reference implementation of secure software for Armv8-A, offering PSCI and SMCCC services. Building U-Boot. byteswap scripts test u-boot. /wInd3x cfw run u-boot. 3-arm-linux-gnueabi that comes with Ubuntu 14. and generally only requires the u-boot sources. U-Boot 2018 Dependencies Cross compiler Ubuntu 18. Note that no changes to the Makefile or any other source files are necessary. Try loading the uImage to 0x80200000 and the DTB to 0x81200000 as described here. 2$ export ARCH=arm @bash:~/xxx/u-boot-xlnx-v2018. The latest mainline of U-boot and Linux kernel already has support for H3/H5 SoC. You can either specify the value of the CROSS_COMPILE variable on the make command line or export it beforehand. arm-linux-gnueabihf-gcc, you can compile by doing: $ cd u-boot $ export CROSS_COMPILE=arm-linux-gnueabihf- $ make mx6qsabresd_config $ make. Boards that use CONFIG_OF_CONTROL (i. Prepared u-boot config files using make qemu_arm_config ARCH=arm CROSS_COMPILE=arm-none-eabi-Build u-boot make all ARCH=arm CROSS_COMPILE=arm-none-eabi-. Navigation Menu Toggle navigation. 04 PC: gouwa@Server:~$ aarch64-linux-gnu-gcc -v Using built-in specs. 4 kernel (github branch) - or try to "Enable workarounds for booting old kernels" in U-Boot: make menuconfig or make CROSS_COMPILE=arm-linux-gnueabihf- menuconfig, the option is located under "ARM architecture". First, a warning: compiling mainline u-boot for any 64-bit Amlogic SoC is not a simple task. For example using the ELDK on a 4xx CPU, please The biggest problem when trying to compile U-Boot with clang is that. An external cross-compiling Kreyren changed the title Unable to cross-compile u-boot from x86_64-gnu-linux on aarch64-linux-unknown-gnu using NixOS Unable to cross-compile u-boot from x86_64-gnu-linux on aarch64-unknown-linux-gnu using NixOS Jul 26, 2021. This should create a I have download and extracted u-boot-1. 다음 내용을 입력합니다. For building U-Boot you need a GCC compiler for your host platform. Compilation of required modules for PKCS on Linux host S32G PKCS Compile and Test Procedure, Rev. On Debian based systems the cross I want to compile u-boot for ultra96. Purpose [edit | edit source]. 6 on Ubuntu Linux. In u-boot source code doc/README. Use the SDK. Introduction. Note The U-boot bootloader is very configurable and can be configured to start the right kernel for the right Raspberry Pi board if needed. S when compiling a loader that is executed after the SPL and before the actual U-Boot. From the command line: Download and unpack the the 32-bit and/or 64-bit Arm cross-toolchain files: Alternatively, mkimage tool is also built during the U-Boot compilation. All the variants and distributions are submitted to Linux and will be merged to the Mainline. When I am trying to make u-boot for apalis-aimx6-quad board, and below list is shows the details of my configuration: CROSS_COMPILER = aarch64-unknown-linux-gnu 1. mk drivers include Licenses MLO. sym arch config. enable_uart=1. make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- vexpress_ca9x4_config make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- cp u-boot /mnt/image # you can go for a quick test of generated u It's currently, as of 2. The first and foremost thing in compiling kernel is installing ARM gcc cross compiler. It is configurable and expendable. 0, 03/2022 NXP Semiconductors 5 2. - CONFIG_TPL_BUILD Modifies the behaviour of start. We now have to install the bootloader U-Boot (Das The cross-compilation tool I use is armv8-rpi4-linux-gnueabihf-gcc. Obtaining the source; Building with GCC. manual states: "clang does not support global register variables; this CROSS_COMPILE. I waited. rst # """A tool for generating compile_commands. There are too many HOST* variables besides the two that you tried to "fix". Follow asked Aug 25, 2021 at 8:30. In order to compile u-boot, you will need: A Linux system – tried and tested distributions are: Debian; Fedora; Ubuntu; An ARM cross compiler and Building U-Boot Set the CROSS_COMPILE environment variable as usual, and run: qemu-system-aarch64 \ -machine virt -cpu cortex-a53 -m 4G -smp 4 \ -bios u-boot. in the root directory of the U-Boot distribution. The cross-compiling toolchain can be fully configured within Buildroot. Contribute to u-boot/u-boot development by creating an account on GitHub. 10) I took the latest linaro gnu-eabi toolchain. Since, BeagleBone Black is based on AM335x Sitara Contribute to u-boot/u-boot development by creating an account on GitHub. For armv7: make CROSS_COMPILE=arm-linux-gnueabi-or for ARM64: Building U-Boot¶ Set the CROSS_COMPILE environment variable as usual, and run: For ARM: make qemu_arm_defconfig make For AArch64: Additional persistent U-boot environment support can be added as follows: Create envstore. bin, which is your freshly built SPL+U-Boot combined image. A bootloader is - by definition - self Assuming your cross compiler is called e. Host code is compiled to create the . a. Check the build process by building the T4240QDS binary, i. In this post we’ll walk through the steps required to build U-Boot, the Linux kernel and a filesystem, as well as the steps required for preparing an SD card and make nano5g_defconfig make CROSS_COMPILE=arm-none-eabi- Running. S when compiling a loader that is executed before the actual U-Boot. bin u-boot. elf rock64-rk3328_defconfig. Those with CONFIG_PYLIBFDT need pylibfdt, a Python library for accessing devicetree data. export CROSS_COMPILE=aarch64-linux-gnu- make qemu_arm64_defconfig make BTW, install the cross-compiler for aarch64: sudo apt-get install gcc-aarch64-linux-gnu Run: 2. Table 9-2 lists the files generated during U-Boot's compilation. qemu-arm, it could be found that u-boot could run under qemu. 04, you can use below command to install cross compiler for armv7: sudo apt-get install gcc-arm-linux-gnueabi. Compiling. I prefer the following, it assumes you have reasonably current install of arm-linux-gnueabi-gcc as your cross toolchain (adjust if In this article, we are going to discuss cross-compiler. In order to prevent this, the required device-tree MUST be set Open Terminal in the U-Boot folder and flash U-Boot to microSD card with following commands (you can find the name of your microSD card with e. . 4. Installed all the build dependencies in the system. By default, u-boot is compiled with armada-8040-db device-tree. with defconfig being the value from the previous table. There are two paths here. Improve this question. cfg u-boot. Unfortunately, Amlogic has decided to include some closed-source, encrypted blobs in the bootloader code. json). If you want to change u-boot. Building Arm Trusted Firmware (TF-A) Boards using a 64-bit Soc (A64, H5, H6, H616, R329) require the BL31 stage of the Arm Trusted Firmware-A firmware. I know on the first boot, u-boot takes a bit of time depending on what is exactly on the system. Improve this answer. If you wish to only use one core to compile, or change the number of cores used for example to only two cores, then you can either completely remove the -j$(nproc) parameter from the make commands, or just take off $(nproc) and add the number of threads Elixir Cross Referencer - explore U-boot v2024. – pritam. RESULT: I saw warning: #warning CONFIG_SPL_BUILD IS NOT DEFINED! in Cross-compiling mainline u-boot for the "La Frite" Generating and integrating the closed-source blobs. txt 파일을 생성하고. SSBL main features are the following: . To compile the U-Boot bootloader for the Raspberry Pi, you must first have an ARM cross compiler installed. Compile YOCTO, Create SD card and Test it Compile cd ~/fsl-community-bsp/ MACHINE=imx6q-openrex source setup-environment build-openrex MACHINE=imx6q-openrex bitbake core-image-base Keep in mind that different Ubuntu version will come with different gcc version: It gcc-4 on my Ubuntu-14. To make the boot process automatic let’s compile a user-defined image file that will - CONFIG_SPL_BUILD Modifies the behaviour of start. For example, make CROSS_COMPILE=arm-linux- envtools You should then create a symlink from fw_setenv to Set the CROSS_COMPILE environment variable as usual, and run: For 32-bit RISC-V: make qemu-riscv32_defconfig make For 64-bit RISC-V: make qemu-riscv64_defconfig make This will compile U-Boot for machine mode. To build supervisor mode binaries, use the configurations qemu-riscv32_smode_defconfig and qemu-riscv64_smode_defconfig instead. gparted, we Building U-boot for an ARM64 Target. g. map u-boot. 04 LTS Other OS/ Distribution Compile U-Boot SD Card image SPI NOR flash image Customize U-Boot Marvell U-Boot 2013. Now I found that my compiler doesn't know where is its libgcc. almost all of them) need the devicetree compiler (dtc). Using A80x0 device-tree on A70x0 might break the device. $ make versatilepb_config ARCH=arm CROSS_COMPILE=arm-none-eabi-And let the cross-compile begin! $ make all ARCH=arm CROSS_COMPILE=arm-none-eabi-When the process is completed we will have u-boot. For building U-Boot you need a GCC compiler for your host platform. NXP Semiconductors U-boot quick start guide Getting started U-boot 3. All of these would not only allow you to run make menuconfig, but also to cross-compile U-Boot to verify your configuration. FriendlyElec customized the latest mainline u-boot and Linux kernel and made that u-boot and kernel work for all FriendlyElec's H5/H3/H2+ boards. when compiling a NAND SPL. When using Yocto, it can be made by the following command (see more details at Yocto Trainning Yocto Training - HOME ) U-Boot Mind-set. To use the system versions of these, use the PART A: Cross Compile U-Boot and Linux Kernel 1. Where is the cross compiler used? In bootstrapping, a cross The path to the cross compiler is wrong. At this point you have two main options – hard coding the ID or recognise a ‘blank’ EEPROM, but both of these involve compiling your own version of u-boot. It has a Rockchip RK3288 processor. make ARCH=arm CROSS_COMPILE=arm-none-eabi- distclean make ARCH=arm CROSS_COMPILE=arm-none-eabi- omap5_uevm_deconfig make ARCH=arm CROSS_COMPILE=arm-none-eabi- gcc; makefile; u-boot; Share. I get it by using the ng-crosstool auto toolchain generator. how to u-boot determine which config file to use in the compile process ? U-Boot configuration is an evolving topic , e. You can follow the U-Boot building instructions Now, build U-Boot: $ make CROSS_COMPILE=powerpc-linux-In addition to generating bootloader images, the build process will compile a few tools to be used on the host for conditioning binary images before downloading them off to the target to a running U-Boot. There are two more steps to build our custom kernel: $ sudo apt-get install bison flex lzop lzma libmpc-dev u-boot-tools libncurses5-dev:amd64 gettext $ mkdir ~/bbb_build $ cd ~/bbb_build Test Cross Compiler $ ${CC}gcc --version $ make ARCH=arm CROSS_COMPILE=${CC} distclean $ make ARCH=arm CROSS_COMPILE=${CC} am335x_evm_defconfig $ make ARCH=arm CROSS_COMPILE=${CC} Linux Kernel. The sunxi_fel tool implements the proprietary BROM protocol, and allows to bootstrap U-Boot by just providing our venerable u-boot-sunxi-with-spl. For example using the ELDK on a 4xx CPU, please enter: $ For building U-Boot you need a GCC compiler for your host platform. bin. Clean-up old residuals: # make mrproper. linux; compiler-errors; kernel; cross-compiling; u-boot; Share. 1. Follow Building Freescale U-boot The U-boot provided by Freescale can be downloaded in the following link: Forums 5. """ import argparse import json import logging import os import re import subprocess Stack Overflow for Teams Where developers & technologists share private knowledge with coworkers; Advertising & Talent Reach devs & technologists worldwide about your product, service or employer brand; OverflowAI GenAI features for Teams; OverflowAPI Train & fine-tune LLMs; Labs The future of collective knowledge sharing; About the company How to Uboot I thought I would write this up as many developers using Layerscape, QoriQ and Qonverge devices will start with a boot loader as the first access to their own newly minted hardware. : make HOSTCC=clang rpi_2_defconfig. kernel=u-boot. E. Build target cross-compiler: root # crossdev -t armv7a-unknown-linux 그리고 빌드된 uboot 이미지 파일( u-boot. S. Pre-Requsites for compiling u-boot. py. 텍스트 편집기로 config. Linaro's GCC toolchain of varoius versions can be directly cd u-boot make CROSS_COMPILE=aarch64-linux-gnu- BL31=bl31. I am using qemu to test the u-boot image in Ubuntu 18. bin You may not have a cross compile issue. e. Kconfig replaced the prior configuration scheme starting with v2014. config. For example using the ELDK on a 4xx CPU, please This how-to describes how to build the u-boot bootloader for your target platform. 2$ export CROSS_COMPILE=aarch64 In this case, you must set the environment variable CROSS_COMPILE in your shell. Configure the U-Boot: For the Armada-70x0/80x0 DB board compile u-boot and set the required device-tree using: # make DEVICE_TREE=<name> NOTE: Compilation with "mvebu_db_armada8k_defconfig" requires explicitly exporting DEVICE_TREE. 07: scripts/gen_compile_commands. Or for ARM64 This is common and available for both Upstream U-Boot and Rockchip U-Boot. Building U-Boot Set the CROSS_COMPILE environment variable as usual, and run: For 32-bit RISC-V: make qemu-riscv32_defconfig make For 64-bit RISC-V: make qemu-riscv64_defconfig make This will compile U-Boot for machine mode. a. This works but does not boot into u-boot. - CONFIG_SPL_BUILD Modifies the behaviour of start. The first is to get our SDK and find the uboot source in that, modify it While compiling u-boot using following command make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- got an error quoting older version of GCC usage, as shown in attached Here are commands I used for compiling u-boot. Seth. almost all archs rely on storing gd in a global register and clang user. 01-r0 do_compile: oe_runmake failed ERROR: u-boot- ARM cross compiler; U-Boot(optional) mkimage; Installing ARM cross compiler toolchain. bin When successfully started, U-Boot will then enumerate as yet another DFU device, this time ready to receive an U-Boot compatible image. Thanks for contributing an answer to Stack Overflow! Please be sure to answer the question. 01 Cross compiler Compile U-Boot SD Card image SPI NOR flash image Write U-Boot to Boot Device MicroSD Card On Development PC make CROSS_COMPILE=arm-none-eabi- rpi_0_w_defconfig is not cross compiling at all. Follow edited Sep 15, 2022 at 16:30. arm_64bit=1. Anyway, even w/ ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- all the commands fathomable, I get no u-boot output on boot and this is whether or not I apply the S2 button. nix-shell When you boot and hold down S2, uboot (on the eMMC) knows to boot from the sdCard. Tunahan Yeniyayla Tunahan Yeniyayla. For more details, and alternative boot locations or installations, see below. In this case either upgrade to a recent stage/sunxi-3. Home; Marcos Costa <jmcosta944@gmail. A cross compiler is a compiler capable of creating executable code for a platform other than the one on which the compiler is running. At this point, the u-boot should boot successfully. Sign in Product make CROSS_COMPILE=<your cross-compiler prefix> envtools. It features a simple command line interface (CLI), allowing users to interact over a serial port console. This how-to describes how to build the u-boot bootloader for your target platform. "Das U-Boot" Source Tree. P. U-Boot depends upon an externally build device tree compiler (dtc) in This application note describes how to port U-Boot and Linux sources from Freescale's Software Development Kit (SDK) to a new T4240 platform. After installing the sources you must configure U-Boot for one specific board type. 1 - Set the cross compiler environment variables. In the u-boot directory, after configuring, and with your environment variables set, run:. config file based on rpi_0_w_defconfig. Once compiled, u-boot. 2 or higher of the ARM GNU Toolchain to cross-compile software for Toradex modules. mx6ull evk? 2. • Using ‘export CROSS_COMPILE=’ set the path to the relevant cross compile tools within the /opt directory on your system 7. For example powerpc-linux-gcc will be noted as a toolchain for ‘powerpc’ and CROSS_COMPILE will be set to powerpc-linux- when using it Devicetree compiler¶. 04 using the following method. If you are not building on the target platform you further need a GCC cross compiler. img or the MLO file, you have to use the dd command to write it to the eMMC of the BBG. txt 파일도 boot Compiling U-Boot with Device Tree Support for the Raspberry Pi Prerequisites. For cross compiling U-boot. U-Boot is the second-stage bootloader (SSBL) of boot chain for STM32 Arm ® Cortex ® MPUs . Most likely your makefile doesn't use gcc anyway, it probably uses the value of the variable CC, which might be something different. References. 3 Pyro, not possible to run bitbake u-boot -c menuconfig as no-one has implemented that functionality for the U-Boot recipe Use of devtool. First, partition the card using fdisk where /dev/sdb is your SD/MMC block device: For building U-Boot you need a GCC compiler for your host platform. Code: make CROSS_COMPILE=aarch64-linux-gnu- BL31=bl31. This blog is based on Bootlin's Embedded Linux Course as well as Frank Vasquez and Chris Simmonds Mastering Embedded Linux Programming, so you may have some success reading their materials alongside this blog. When cross compiling you will have to specify the prefix of the cross-compiler.