sudo apt update
sudo apt install build-essential gcc-arm-none-eabi u-boot-tools
또는 필요한 cross-compiler (aarch64-linux-gnu-gcc 등) 설치
git clone https://github.com/u-boot/u-boot.git
cd u-boot
이후, 라즈베리파이4를 기준으로
make rpi_4_defconfig
여기서 오류가 난다면, 다음을 설치
sudo apt update
sudo apt install bison flex
sudo apt install libssl-dev
모두 완료되면, 다음과 같이 빌드를 해준다.
make -j$(nproc)
sudo cp u-boot.bin /boot/firmware/
sudo nano -m /boot/config.txt
위 파일을 열고 난 후, [all]에 다음을 추가해준다.
kernel=u-boot.bin
enable_uart=1
sudo reboot

위와 같은 uart가 출력된다면, 성공이다.
fatload mmc 0:1 0x80000 kernel8.img # 커널 로드
fatload mmc 0:1 0x05600000 bcm2711-rpi-4-b.dtb # 디바이스트리 로드 (dtb 이름 확인 필수)
setenv bootargs console=ttyAMA0,115200 root=/dev/mmcblk0p2 rw rootwait # 커널 인자 설정
booti 0x80000 - 0x05600000 # 부팅 실행

이제, putty와 같은 SSH에서도 볼 수 있다.