[Buildroot] [PATCH v2 2/2] configs/beaglev_ahead: new defconfig

kilian.zinnecker at mail.de kilian.zinnecker at mail.de
Mon Dec 4 23:12:12 UTC 2023


From: Kilian Zinnecker <kilian.zinnecker at mail.de>

This patch adds board support for the BeagleV-Ahead. It uses a
custom kernel for the board's SoC. As the SoC has an outdated and
currently not supported version of the RISC-V vector extension, the
vector extension is disabled.

Signed-off-by: Kilian Zinnecker <kilian.zinnecker at mail.de>
---
 DEVELOPERS                                    |  2 +
 board/beaglev-ahead/genimage.cfg              | 62 ++++++++++++++++
 board/beaglev-ahead/linux.fragment            |  2 +
 .../0001-Overwrite-bootcmd-by-force.patch     | 30 ++++++++
 board/beaglev-ahead/post-image.sh             |  6 ++
 board/beaglev-ahead/readme.txt                | 70 +++++++++++++++++++
 board/beaglev-ahead/uEnv.txt                  |  4 ++
 board/beaglev-ahead/uboot.fragment            |  2 +
 configs/beaglev_ahead_defconfig               | 44 ++++++++++++
 9 files changed, 222 insertions(+)
 create mode 100644 board/beaglev-ahead/genimage.cfg
 create mode 100644 board/beaglev-ahead/linux.fragment
 create mode 100644 board/beaglev-ahead/patches/uboot/0001-Overwrite-bootcmd-by-force.patch
 create mode 100755 board/beaglev-ahead/post-image.sh
 create mode 100644 board/beaglev-ahead/readme.txt
 create mode 100644 board/beaglev-ahead/uEnv.txt
 create mode 100644 board/beaglev-ahead/uboot.fragment
 create mode 100644 configs/beaglev_ahead_defconfig

diff --git a/DEVELOPERS b/DEVELOPERS
index 4d18bc49d4..71f672f9e6 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1839,7 +1839,9 @@ N:	Kieran Bingham <kieran.bingham at ideasonboard.com>
 F:	package/libcamera/
 
 N:	Kilian Zinnecker <kilian.zinnecker at mail.de>
+F:	board/beaglev-ahead/
 F:	board/radxa/rock5b/
+F:	configs/beaglev_ahead_defconfig
 F:	configs/rock5b_defconfig
 F:	package/rockchip-rkbin/
 F:	package/xuantie-bins/
diff --git a/board/beaglev-ahead/genimage.cfg b/board/beaglev-ahead/genimage.cfg
new file mode 100644
index 0000000000..080b169527
--- /dev/null
+++ b/board/beaglev-ahead/genimage.cfg
@@ -0,0 +1,62 @@
+# SD card image for BeagleV-Ahead
+
+image boot.vfat {
+	vfat {
+		files = {
+			"fw_dynamic.bin",
+			"Image",
+			"light_aon_fpga.bin",
+			"light-beagle.dtb",
+			"light_c906_audio.bin",
+		}
+
+		file uEnv.txt {
+			image = "uEnv.txt"
+		}
+
+		file overlays/BBORG_LOAD-00A2.dtbo {
+			image = "overlays/BBORG_LOAD-00A2.dtbo"
+		}
+
+		file overlays/BBORG_RELAY-00A2.dtbo {
+			image = "overlays/BBORG_RELAY-00A2.dtbo"
+		}
+
+		file overlays/BONE-LED_P8_03.dtbo {
+			image = "overlays/BONE-LED_P8_03.dtbo"
+		}
+
+		file overlays/BONE-LED_P9_11.dtbo {
+			image = "overlays/BONE-LED_P9_11.dtbo"
+		}
+
+		file overlays/BVA-MIKROBUS-0.dtbo {
+			image = "overlays/BVA-MIKROBUS-0.dtbo"
+		}
+	}
+	size = 48M
+}
+
+image sdcard.img {
+	hdimage {
+		partition-table-type = "gpt"
+		gpt-location = 2M
+	}
+
+	partition uboot {
+		in-partition-table = "false"
+		image = "u-boot-with-spl.bin"
+		offset = 0
+		holes = {"(440; 1048576)"}
+	}
+
+	partition boot {
+		bootable = "true"
+		image = "boot.vfat"
+	}
+
+	partition rootfs {
+		image = "rootfs.ext2"
+	}
+}
+
diff --git a/board/beaglev-ahead/linux.fragment b/board/beaglev-ahead/linux.fragment
new file mode 100644
index 0000000000..00f93f39a4
--- /dev/null
+++ b/board/beaglev-ahead/linux.fragment
@@ -0,0 +1,2 @@
+# CONFIG_VECTOR is not set
+# CONFIG_VECTOR_0_7 is not set
diff --git a/board/beaglev-ahead/patches/uboot/0001-Overwrite-bootcmd-by-force.patch b/board/beaglev-ahead/patches/uboot/0001-Overwrite-bootcmd-by-force.patch
new file mode 100644
index 0000000000..32cd6fa975
--- /dev/null
+++ b/board/beaglev-ahead/patches/uboot/0001-Overwrite-bootcmd-by-force.patch
@@ -0,0 +1,30 @@
+From 81db2d155db74192e127ae1d98dd4ec415f53dd3 Mon Sep 17 00:00:00 2001
+From: Kilian Zinnecker <kilian.zinnecker at mail.de>
+Date: Mon, 21 Aug 2023 23:51:59 +0200
+Subject: [PATCH] Overwrite bootcmd by force
+
+This patch is a dirty hack: Trying to overwrite the bootcmd via the
+usual BOOT_COMMAND had no effect: Upon boot the bootcmd defaulted
+to some preset value and could not be changed easily. Therefore a
+hook is used to force the bootcmd to be overwritten.
+
+Signed-off-by: Kilian Zinnecker <kilian.zinnecker at mail.de>
+---
+ board/thead/light-c910/light.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/board/thead/light-c910/light.c b/board/thead/light-c910/light.c
+index 8d5478e916..1448db974e 100644
+--- a/board/thead/light-c910/light.c
++++ b/board/thead/light-c910/light.c
+@@ -2282,6 +2282,7 @@ int board_late_init(void)
+ 	light_usb_boot_check();
+ 	do_firmware_load();
+ 	ap_peri_clk_disable();
++	run_command("load mmc 1:1 $ramdisk_addr_r uEnv.txt; env import -t $ramdisk_addr_r $filesize; run uenvcmd", 0);
+ 	return 0;
+ }
+ 
+-- 
+2.34.1
+
diff --git a/board/beaglev-ahead/post-image.sh b/board/beaglev-ahead/post-image.sh
new file mode 100755
index 0000000000..9e16eeff3f
--- /dev/null
+++ b/board/beaglev-ahead/post-image.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+set -e
+
+cp -r ${BUILD_DIR}/linux-custom/arch/riscv/boot/dts/thead/overlays/ ${BINARIES_DIR}
+cp board/beaglev-ahead/uEnv.txt ${BINARIES_DIR}/
+support/scripts/genimage.sh -c board/beaglev-ahead/genimage.cfg
diff --git a/board/beaglev-ahead/readme.txt b/board/beaglev-ahead/readme.txt
new file mode 100644
index 0000000000..21aceb23c9
--- /dev/null
+++ b/board/beaglev-ahead/readme.txt
@@ -0,0 +1,70 @@
+BeagleV-Ahead
+==============
+https://forum.beagleboard.org/c/beaglev/
+
+Build:
+======
+  $ make beaglev_ahead_defconfig
+  $ make
+
+Files created in output directory
+=================================
+
+output/images
+.
+├── Image
+├── boot.vfat
+├── bootloader-JH7100-buildroot.bin.out
+├── ddrinit-2133-buildroot.bin.out
+├── fw_dynamic.bin
+├── fw_dynamic.elf
+├── fw_jump.bin
+├── fw_jump.elf
+├── fw_payload.bin
+├── fw_payload.elf
+├── light-beagle.dtb
+├── light_aon_fpga.bin
+├── light_c906_audio.bin
+├── overlays
+├── rootfs.ext2
+├── rootfs.ext4
+├── rootfs.tar
+├── sdcard.img
+├── u-boot-with-spl.bin
+├── u-boot.bin
+└── uEnv.txt
+
+Creating bootable SD card:
+==========================
+
+Simply invoke (as root)
+
+sudo dd if=output/images/sdcard.img of=/dev/sdX && sync
+
+Where X is your SD card device.
+
+Booting:
+========
+
+SD card boot button:
+--------------------
+To let the board boot from SD card, keep the "SD button" pressed during power
+up / power cycle. The button is near the SD card slot.
+
+Serial console:
+---------------
+The BeagleV-Ahead has a "Debug" GPIO header. Its layout can be seen here:
+https://docs.beagleboard.org/latest/boards/beaglev/ahead/02-quick-start.html#access-uart-debug-console
+
+Note, that there are reported issues with some uart interface cables/dongles:
+https://forum.beagleboard.org/t/beaglev-ahead-debug-terminal-problems/35331
+
+Baudrate for this board is 115200.
+
+Login:
+------
+Enter 'root' as login user, and the prompt is ready.
+
+wiki link:
+----------
+https://docs.beagleboard.org/latest/boards/beaglev/ahead/index.html
diff --git a/board/beaglev-ahead/uEnv.txt b/board/beaglev-ahead/uEnv.txt
new file mode 100644
index 0000000000..7e98ae5f81
--- /dev/null
+++ b/board/beaglev-ahead/uEnv.txt
@@ -0,0 +1,4 @@
+bootcmd=booti ${kernel_addr_r} - ${fdt_addr_r}
+uenvcmd=fatload mmc 1:1 ${kernel_addr_r} Image; fatload mmc 1:1 ${fdt_addr_r} light-beagle.dtb
+bootargs=root=/dev/mmcblk1p2 rootfstype=ext4 rootwait ro console=ttyS0,115200 earlycon clk_ignore_unused net.ifnames=0
+
diff --git a/board/beaglev-ahead/uboot.fragment b/board/beaglev-ahead/uboot.fragment
new file mode 100644
index 0000000000..1f51cef106
--- /dev/null
+++ b/board/beaglev-ahead/uboot.fragment
@@ -0,0 +1,2 @@
+CONFIG_LEGACY_IMAGE_FORMAT=y
+CONFIG_AUTOBOOT=y
diff --git a/configs/beaglev_ahead_defconfig b/configs/beaglev_ahead_defconfig
new file mode 100644
index 0000000000..4b349cc6f9
--- /dev/null
+++ b/configs/beaglev_ahead_defconfig
@@ -0,0 +1,44 @@
+BR2_riscv=y
+BR2_riscv_custom=y
+BR2_RISCV_ISA_CUSTOM_RVM=y
+BR2_RISCV_ISA_CUSTOM_RVA=y
+BR2_RISCV_ISA_CUSTOM_RVF=y
+BR2_RISCV_ISA_CUSTOM_RVD=y
+BR2_RISCV_ISA_CUSTOM_RVC=y
+BR2_GCC_VERSION_13_X=y
+BR2_GLOBAL_PATCH_DIR="board/beaglev-ahead/patches"
+BR2_ROOTFS_POST_IMAGE_SCRIPT="board/beaglev-ahead/post-image.sh"
+BR2_TARGET_GENERIC_HOSTNAME="BeagleV-Ahead"
+BR2_TARGET_GENERIC_ISSUE="Welcome to the BeagleV-Ahead"
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_GIT=y
+BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
+BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/beagleboard/linux/archive/refs/heads/beaglev-v5.10.113-1.1.2-ubuntu.tar.gz"
+BR2_LINUX_KERNEL_DEFCONFIG="beaglev"
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="thead/light-beagle"
+BR2_LINUX_KERNEL_INSTALL_TARGET=y
+BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
+BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/beaglev-ahead/linux.fragment"
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+BR2_TARGET_BEAGLEV_DDRINIT=y
+BR2_TARGET_BEAGLEV_SECONDBOOT=y
+BR2_TARGET_OPENSBI=y
+BR2_TARGET_OPENSBI_CUSTOM_TARBALL=y
+BR2_TARGET_OPENSBI_CUSTOM_TARBALL_LOCATION="https://github.com/beagleboard/beaglev-ahead-opensbi/archive/refs/heads/0.9-1.1.2-ubuntu.tar.gz"
+BR2_TARGET_OPENSBI_PLAT="generic"
+BR2_TARGET_OPENSBI_UBOOT_PAYLOAD=y
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
+BR2_TARGET_UBOOT_CUSTOM_TARBALL=y
+BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="https://github.com/beagleboard/beaglev-ahead-u-boot/archive/refs/heads/beaglev-v2020.01-1.1.2-ubuntu.tar.gz"
+BR2_TARGET_UBOOT_BOARD_DEFCONFIG="light_beagle"
+BR2_TARGET_UBOOT_CONFIG_FRAGMENT_FILES="board/beaglev-ahead/uboot.fragment"
+BR2_TARGET_UBOOT_FORMAT_BIN=y
+BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
+BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-with-spl.bin"
+BR2_PACKAGE_HOST_MTOOLS=y
+BR2_PACKAGE_HOST_GENIMAGE=y
+BR2_PACKAGE_XUANTIE_BINS=y
-- 
2.25.1




More information about the buildroot mailing list