From e6b9cee76b14d687fb7ee6e37f381349b749401b Mon Sep 17 00:00:00 2001 From: Emmanuel Vadot Date: Tue, 24 Nov 2020 17:53:13 +0000 Subject: release: Merge the RPI2 and BEAGLEBONE image with the GENERICSD one Both RPI2 and BEAGLEBONE are still popular and used arm boards. Both u-boots can coexist as they are named differently and live in the fat partition. This leave us with only one image that can be used for both of those boards and all the other ones supported by FreeBSD provided that you install the correct u-boot on it. Reviewed by: imp Relnotes: yes Differential Revision: https://reviews.freebsd.org/D27283 --- release/arm/GENERICSD.conf | 53 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) (limited to 'release/arm/GENERICSD.conf') diff --git a/release/arm/GENERICSD.conf b/release/arm/GENERICSD.conf index 17086ba59185..8749f5fd95cf 100644 --- a/release/arm/GENERICSD.conf +++ b/release/arm/GENERICSD.conf @@ -6,11 +6,64 @@ EMBEDDED_TARGET_ARCH="armv7" EMBEDDED_TARGET="arm" EMBEDDEDBUILD=1 +EMBEDDEDPORTS="sysutils/u-boot-beaglebone sysutils/u-boot-rpi2 sysutils/rpi-firmware" FAT_SIZE="50m -b 1m" FAT_TYPE="16" IMAGE_SIZE="3072M" KERNEL="GENERIC" MD_ARGS="-x 63 -y 255" NODOC=1 +BBB_UBOOT_DIR="/usr/local/share/u-boot/u-boot-beaglebone" +RPI_UBOOT_DIR="/usr/local/share/u-boot/u-boot-rpi2" +RPI_FIRMWARE_DIR="/usr/local/share/rpi-firmware" +RPI_OL_DIR="${RPI_FIRMWARE_DIR}/overlays" +OVERLAYS="mmc.dtbo" PART_SCHEME="MBR" export BOARDNAME="GENERICSD" + +arm_install_uboot_rpi2() { + UBOOT_FILES="u-boot.bin" + RPI_FIRMWARE_FILES="bootcode.bin config.txt \ + fixup.dat fixup_cd.dat fixup_db.dat fixup_x.dat \ + start.elf start_cd.elf start_db.elf start_x.elf \ + bcm2709-rpi-2-b.dtb" + FATMOUNT="${DESTDIR%${KERNEL}}/fat" + chroot ${CHROOTDIR} mkdir -p "${FATMOUNT}" + chroot ${CHROOTDIR} mount_msdosfs /dev/${mddev}s1 ${FATMOUNT} + for _UF in ${UBOOT_FILES}; do + chroot ${CHROOTDIR} cp -p ${RPI_UBOOT_DIR}/${_UF} \ + ${FATMOUNT}/${_UF} + done + for _UF in ${RPI_FIRMWARE_FILES}; do + chroot ${CHROOTDIR} cp -p ${RPI_FIRMWARE_DIR}/${_UF} \ + ${FATMOUNT}/${_UF} + done + chroot ${CHROOTDIR} mkdir -p ${FATMOUNT}/overlays + for _OL in ${OVERLAYS}; do + chroot ${CHROOTDIR} cp -p ${RPI_OL_DIR}/${_OL} \ + ${FATMOUNT}/overlays/${_OL} + done + sync + umount_loop ${CHROOTDIR}/${FATMOUNT} + chroot ${CHROOTDIR} rmdir ${FATMOUNT} + + return 0 +} + +arm_install_uboot_bbb() { + FATMOUNT="${DESTDIR%${KERNEL}}/fat" + chroot ${CHROOTDIR} mkdir -p "${FATMOUNT}" + chroot ${CHROOTDIR} mount_msdosfs /dev/${mddev}s1 ${FATMOUNT} + chroot ${CHROOTDIR} cp -p ${BBB_UBOOT_DIR}/MLO ${FATMOUNT}/MLO + chroot ${CHROOTDIR} cp -p ${BBB_UBOOT_DIR}/u-boot.img ${FATMOUNT}/u-boot.img + sync + umount_loop ${CHROOTDIR}/${FATMOUNT} + chroot ${CHROOTDIR} rmdir ${FATMOUNT} + + return 0 +} + +arm_install_uboot() { + arm_install_uboot_bbb + arm_install_uboot_rpi2 +} -- cgit v1.2.3