From 68b2bed8d50c2fdcda8065507833cf49855a4c0d Mon Sep 17 00:00:00 2001 From: Tim Sandquist Date: Fri, 25 Mar 2022 07:41:32 -0500 Subject: [PATCH 1/2] Add rockpro64 to image builder Based on @tiemenwerkman's work on https://github.com/void-linux/void-mklive/pull/221 --- lib.sh.in | 1 + mkimage.sh.in | 22 +++++++++++++++++++--- mkplatformfs.sh.in | 3 ++- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/lib.sh.in b/lib.sh.in index 1ccdfd237d..da781d4886 100644 --- a/lib.sh.in +++ b/lib.sh.in @@ -297,6 +297,7 @@ set_target_arch_from_platform() { pinebookpro*) XBPS_TARGET_ARCH="aarch64";; pinephone*) XBPS_TARGET_ARCH="aarch64";; rock64*) XBPS_TARGET_ARCH="aarch64";; + rockpro64*) XBPS_TARGET_ARCH="aarch64";; *) die "$PROGNAME: Unable to compute target architecture from platform";; esac diff --git a/mkimage.sh.in b/mkimage.sh.in index 2574b6e905..52d3d2a7f5 100644 --- a/mkimage.sh.in +++ b/mkimage.sh.in @@ -117,14 +117,14 @@ PLATFORM="${PLATFORM%-PLATFORMFS*}" # Be absolutely certain the platform is supported before continuing case "$PLATFORM" in - bananapi|beaglebone|cubieboard2|cubietruck|odroid-c2|odroid-u2|rpi-armv6l|rpi-armv7l|rpi-aarch64|GCP|pinebookpro|pinephone|rock64|*-musl);; + bananapi|beaglebone|cubieboard2|cubietruck|odroid-c2|odroid-u2|rpi-armv6l|rpi-armv7l|rpi-aarch64|GCP|pinebookpro|pinephone|rock64|rockpro64|*-musl);; *) die "The $PLATFORM is not supported, exiting..." esac # Default for bigger boot partion on rk33xx devices since it needs to # fit at least 2 Kernels + initramfs case "$PLATFORM" in - pinebookpro*|rock64*) + pinebookpro*|rock64*|rockpro64*) : "${BOOT_FSSIZE:=256MiB}" ;; esac @@ -190,7 +190,7 @@ _EOF # root filesystem. This is the generally preferred disk # layout for new platforms. case "$PLATFORM" in - pinebookpro*|rock64*) + pinebookpro*|rock64*|rockpro64*) # rk33xx devices use GPT and need more space reserved sfdisk "$FILENAME" <<_EOF label: gpt @@ -313,6 +313,22 @@ CMDLINE="panic=10 coherent_pool=1M console=ttyS2,1500000 root=UUID=${ROOT_UUID} USE_DEVICETREEDIR="yes" # relative dtb path supplied to FDT line, as long as above is unset DTBPATH="" +_EOF + mkdir -p "${ROOTFS}/boot/extlinux" + run_cmd_chroot "${ROOTFS}" "/etc/kernel.d/post-install/60-extlinux" + cleanup_chroot + ;; +rockpro64*) + rk33xx_flash_uboot "${ROOTFS}/usr/lib/rockpro64-uboot" "$LOOPDEV" + # populate the extlinux.conf file + cat >"${ROOTFS}/etc/default/extlinux" <<_EOF +TIMEOUT=10 +# Defaults to current kernel cmdline if left empty +CMDLINE="panic=10 coherent_pool=1M console=ttyS2,115200 root=UUID=${ROOT_UUID} rw" +# set this to use a DEVICETREEDIR line in place of an FDT line +USE_DEVICETREEDIR="yes" +# relative dtb path supplied to FDT line, as long as above is unset +DTBPATH="" _EOF mkdir -p "${ROOTFS}/boot/extlinux" run_cmd_chroot "${ROOTFS}" "/etc/kernel.d/post-install/60-extlinux" diff --git a/mkplatformfs.sh.in b/mkplatformfs.sh.in index 15edf9ec29..d26b957d91 100644 --- a/mkplatformfs.sh.in +++ b/mkplatformfs.sh.in @@ -51,7 +51,7 @@ Usage: $PROGNAME [options] Supported platforms: i686, x86_64, GCP, bananapi, beaglebone, cubieboard2, cubietruck, odroid-c2, odroid-u2, rpi-armv6l, rpi-armv7l, rpi-aarch64, ci20, - pinebookpro, pinephone, rock64 + pinebookpro, pinephone, rock64, rockpro64 Options -b Set an alternative base-system package (defaults to base-system) @@ -125,6 +125,7 @@ case "$PLATFORM" in pinebookpro*) PKGS="$BASEPKG ${PLATFORM%-*}-base" ;; pinephone*) PKGS="$BASEPKG ${PLATFORM%-*}-base" ;; rock64*) PKGS="$BASEPKG ${PLATFORM%-*}-base" ;; + rockpro64*) PKGS="$BASEPKG ${PLATFORM%-*}-base" ;; *) die "$PROGNAME: invalid platform!";; esac From 5e7bdf1d46aebef2fa46699453095ff984cd80f0 Mon Sep 17 00:00:00 2001 From: Tim Sandquist Date: Sun, 26 Feb 2023 10:02:58 -0600 Subject: [PATCH 2/2] Increase size of /boot Size of two linux6.1 kernels and initramfs images exceeds 256M. --- mkimage.sh.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkimage.sh.in b/mkimage.sh.in index 52d3d2a7f5..2791e8d037 100644 --- a/mkimage.sh.in +++ b/mkimage.sh.in @@ -125,7 +125,7 @@ esac # fit at least 2 Kernels + initramfs case "$PLATFORM" in pinebookpro*|rock64*|rockpro64*) - : "${BOOT_FSSIZE:=256MiB}" + : "${BOOT_FSSIZE:=384MiB}" ;; esac # By default we build all platform images with a 64MiB boot partition