From 79927a59bee8b4b583d2e8248060754d7029c801 Mon Sep 17 00:00:00 2001 From: Charlie Root Date: Sat, 16 Sep 2017 22:21:53 +0900 Subject: [PATCH 1/4] add release.conf for PINE64 --- release/arm64/PINE64.conf | 58 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 release/arm64/PINE64.conf diff --git a/release/arm64/PINE64.conf b/release/arm64/PINE64.conf new file mode 100644 index 000000000000..3d10ba6cd5b8 --- /dev/null +++ b/release/arm64/PINE64.conf @@ -0,0 +1,58 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +SRCBRANCH="base/head@rHEAD" +EMBEDDEDBUILD=1 +EMBEDDED_TARGET="arm64" +EMBEDDED_TARGET_ARCH="aarch64" +EMBEDDEDPORTS="sysutils/u-boot-pine64 security/ca_root_nss" +KERNEL="GENERIC" +WORLD_FLAGS="${WORLD_FLAGS} UBLDR_LOADADDR=0x42000000" +IMAGE_SIZE="2560M" +PART_SCHEME="MBR" +FAT_SIZE="63m -b 1m" +FAT_TYPE="16" +MD_ARGS="-x 63 -y 255" +NODOC=1 + +arm_install_uboot() { + UBOOT_DIR="/usr/local/share/u-boot/u-boot-pine64" + UBOOT_FILE="u-boot-sunxi-with-spl.bin" + UBOOT_FILES="README ${UBOOT_FILE}" + FATMOUNT="${DESTDIR%${KERNEL}}/fat" + UFSMOUNT="${DESTDIR%${KERNEL}}/ufs" + # write IPL and u-boot + chroot ${CHROOTDIR} dd if=${UBOOT_DIR}/${UBOOT_FILE} \ + of=/dev/${mddev} bs=1k seek=8 conv=sync + chroot ${CHROOTDIR} mkdir -p "${FATMOUNT}" "${UFSMOUNT}" + chroot ${CHROOTDIR} mount_msdosfs /dev/${mddev}s1 ${FATMOUNT} + chroot ${CHROOTDIR} mount /dev/${mddev}s2a ${UFSMOUNT} + for _UF in ${UBOOT_FILES}; do + chroot ${CHROOTDIR} cp -p ${UBOOT_DIR}/${_UF} \ + ${FATMOUNT}/${_UF} + done + chroot ${CHROOTDIR} mkdir -p ${FATMOUNT}/dtb + (export MACHINE=${EMBEDDED_TARGET} ; export DTC="/usr/bin/dtc -H both" ; chroot ${CHROOTDIR} /usr/src/sys/tools/fdt/make_dtb.sh /usr/src/sys /sys/boot/fdt/dts/${EMBEDDED_TARGET}/pine64_plus.dts ${FATMOUNT}/dtb ;) + + _OBJDIR="$(chroot ${CHROOTDIR} make -C ${WORLDDIR} -V .OBJDIR)" + _OBJDIR="$(chroot ${CHROOTDIR} realpath ${_OBJDIR})" + if [ -d "${CHROOTDIR}/${_OBJDIR%%/usr/src}/${EMBEDDED_TARGET}.${EMBEDDED_TARGET_ARCH}" ]; then + BOOTFILES="/${_OBJDIR%%/usr/src}/${EMBEDDED_TARGET}.${EMBEDDED_TARGET_ARCH}/usr/src/sys/boot" + else + BOOTFILES="/${_OBJDIR}/sys/boot" + fi + + chroot ${CHROOTDIR} mkdir -p ${FATMOUNT}/EFI/BOOT + chroot ${CHROOTDIR} cp -p ${BOOTFILES}/efi/boot1/boot1.efi \ + ${FATMOUNT}/EFI/BOOT/bootaa64.efi + chroot ${CHROOTDIR} touch ${UFSMOUNT}/firstboot + sync + umount_loop ${CHROOTDIR}/${FATMOUNT} + umount_loop ${CHROOTDIR}/${UFSMOUNT} + chroot ${CHROOTDIR} rmdir ${FATMOUNT} + chroot ${CHROOTDIR} rmdir ${UFSMOUNT} + + return 0 +} From 336144369312c120cd869b28adfceb98720d8d7f Mon Sep 17 00:00:00 2001 From: Charlie Root Date: Mon, 6 Nov 2017 12:25:44 +0900 Subject: [PATCH 2/4] fix to set BOOTFILES --- release/arm64/PINE64.conf | 3 ++- release/arm64/RPI3.conf | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/release/arm64/PINE64.conf b/release/arm64/PINE64.conf index 360de769ae1d..d25b14ecaebf 100644 --- a/release/arm64/PINE64.conf +++ b/release/arm64/PINE64.conf @@ -41,7 +41,8 @@ arm_install_uboot() { env TARGET=${EMBEDDED_TARGET} TARGET_ARCH=${EMBEDDED_TARGET_ARCH} \ WITH_UNIFIED_OBJDIR=yes \ make -C ${WORLDDIR}/sys/boot -V .OBJDIR)" - BOOTFILES="$(realpath ${BOOTFILES})" + BOOTFILES="$(chroot ${CHROOTDIR} \ + realpath ${BOOTFILES})" chroot ${CHROOTDIR} mkdir -p ${FATMOUNT}/EFI/BOOT chroot ${CHROOTDIR} cp -p ${BOOTFILES}/efi/boot1/boot1.efi \ diff --git a/release/arm64/RPI3.conf b/release/arm64/RPI3.conf index 8636ddbfa8ba..b4d5a4434fdb 100644 --- a/release/arm64/RPI3.conf +++ b/release/arm64/RPI3.conf @@ -46,7 +46,8 @@ arm_install_uboot() { env TARGET=${EMBEDDED_TARGET} TARGET_ARCH=${EMBEDDED_TARGET_ARCH} \ WITH_UNIFIED_OBJDIR=yes \ make -C ${WORLDDIR}/sys/boot -V .OBJDIR)" - BOOTFILES="$(realpath ${BOOTFILES})" + BOOTFILES="$(chroot ${CHROOTDIR} \ + realpath ${BOOTFILES})" chroot ${CHROOTDIR} mkdir -p ${FATMOUNT}/EFI/BOOT chroot ${CHROOTDIR} cp -p ${BOOTFILES}/efi/boot1/boot1.efi \ From 922333251b164de479bc0c1c86a56071fac34587 Mon Sep 17 00:00:00 2001 From: Charlie Root Date: Wed, 15 Nov 2017 17:28:05 +0900 Subject: [PATCH 3/4] fix to change dts directory from sys/boot/ftd/dts to sys/dts. --- release/arm64/PINE64.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/arm64/PINE64.conf b/release/arm64/PINE64.conf index 9f83f5c5dbfc..4a218ed36d68 100644 --- a/release/arm64/PINE64.conf +++ b/release/arm64/PINE64.conf @@ -35,7 +35,7 @@ arm_install_uboot() { ${FATMOUNT}/${_UF} done chroot ${CHROOTDIR} mkdir -p ${FATMOUNT}/dtb - (export MACHINE=${EMBEDDED_TARGET} ; export DTC="/usr/bin/dtc -H both" ; chroot ${CHROOTDIR} /usr/src/sys/tools/fdt/make_dtb.sh /usr/src/sys /sys/boot/fdt/dts/${EMBEDDED_TARGET}/pine64_plus.dts ${FATMOUNT}/dtb ;) + (export MACHINE=${EMBEDDED_TARGET} ; export DTC="/usr/bin/dtc -H both" ; chroot ${CHROOTDIR} /usr/src/sys/tools/fdt/make_dtb.sh /usr/src/sys /sys/dts/${EMBEDDED_TARGET}/pine64_plus.dts ${FATMOUNT}/dtb ;) BOOTFILES="$(chroot ${CHROOTDIR} \ env TARGET=${EMBEDDED_TARGET} TARGET_ARCH=${EMBEDDED_TARGET_ARCH} \ From 02df3f97b4b68457394e83277289d88bbd75a66a Mon Sep 17 00:00:00 2001 From: Charlie Root Date: Sun, 19 Nov 2017 08:50:22 +0900 Subject: [PATCH 4/4] delete to create dtb for PINE64. --- release/arm64/PINE64.conf | 2 -- 1 file changed, 2 deletions(-) diff --git a/release/arm64/PINE64.conf b/release/arm64/PINE64.conf index 888f0e37114e..798b8685f001 100644 --- a/release/arm64/PINE64.conf +++ b/release/arm64/PINE64.conf @@ -32,8 +32,6 @@ arm_install_uboot() { chroot ${CHROOTDIR} cp -p ${UBOOT_DIR}/${_UF} \ ${FATMOUNT}/${_UF} done - chroot ${CHROOTDIR} mkdir -p ${FATMOUNT}/dtb - (export MACHINE=${EMBEDDED_TARGET} ; export DTC="/usr/bin/dtc -H both" ; chroot ${CHROOTDIR} /usr/src/sys/tools/fdt/make_dtb.sh /usr/src/sys /sys/dts/${EMBEDDED_TARGET}/pine64_plus.dts ${FATMOUNT}/dtb ;) BOOTFILES="$(chroot ${CHROOTDIR} \ env TARGET=${EMBEDDED_TARGET} TARGET_ARCH=${EMBEDDED_TARGET_ARCH} \