From 32089fab150bbc62ebb805f0e6b2ebe177c8e781 Mon Sep 17 00:00:00 2001 From: Joris van Rantwijk Date: Sun, 7 Jan 2024 01:11:46 +0100 Subject: [PATCH] Build files for SD card --- os/21_build_bootimg.sh | 24 ++++++++++++++++++++++++ os/22_prepare_sdcard.sh | 30 ++++++++++++++++++++++++++++++ os/config/uboot_script.txt | 8 ++++++++ 3 files changed, 62 insertions(+) create mode 100755 os/21_build_bootimg.sh create mode 100755 os/22_prepare_sdcard.sh create mode 100644 os/config/uboot_script.txt diff --git a/os/21_build_bootimg.sh b/os/21_build_bootimg.sh new file mode 100755 index 0000000..041116d --- /dev/null +++ b/os/21_build_bootimg.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +set -e + +. script_env + +mkdir -p boot_img + +cp fsbl/fsbl.elf "$BOOTIMG_DIR" +cp "$UBOOT_DIR/u-boot.elf" "$BOOTIMG_DIR" + +rm -f "$BOOTIMG_DIR/boot.bin" + +cat >"$BOOTIMG_DIR/boot.bif" <&2 + echo " Build U-Boot to prepare the mkimage tool" >&2 +fi + +mkdir -p "$SDCARD_DIR" + +# Copy Xilinx boot image (FSBL and U-Boot) +cp -a "$BOOTIMG_DIR/boot.bin" "$SDCARD_DIR" + +# Wrap Linux kernel in U-Boot image file +$MKIMAGE -A arm -O linux -C none -T kernel -a 0x8000 -e 0x8000 -n Linux -d "$LINUX_DIR/arch/arm/boot/zImage" "$SDCARD_DIR/uImage" + +# Copy device tree +cp -a devicetree/devicetree.dtb "$SDCARD_DIR" + +# Copy root fs image +cp -a "$BUILDROOT_DIR/output/images/rootfs.cpio.uboot" "$SDCARD_DIR" + +# Wrap U-Boot script in image file +$MKIMAGE -A arm -T script -d config/uboot_script.txt "$SDCARD_DIR/boot.scr" + diff --git a/os/config/uboot_script.txt b/os/config/uboot_script.txt new file mode 100644 index 0000000..045758c --- /dev/null +++ b/os/config/uboot_script.txt @@ -0,0 +1,8 @@ +echo boot.scr: Booting Linux +devicetree_load_address=0x1f00000 +kernel_load_address=0x2000000 +ramdisk_load_address=0x3100000 +load mmc 0 ${kernel_load_address} uImage +load mmc 0 ${devicetree_load_address} devicetree.dtb +load mmc 0 ${ramdisk_load_address} rootfs.cpio.uboot +bootm ${kernel_load_address} ${ramdisk_load_address} ${devicetree_load_address}