diff options
Diffstat (limited to 'mkrootfs.sh.in')
-rw-r--r-- | mkrootfs.sh.in | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/mkrootfs.sh.in b/mkrootfs.sh.in index 583044c..9425d0b 100644 --- a/mkrootfs.sh.in +++ b/mkrootfs.sh.in @@ -47,7 +47,7 @@ Usage: $PROGNAME [options] <platform> Supported platforms: i686, i686-musl, x86_64, x86_64-musl, dockstar, bananapi, beaglebone, cubieboard2, cubietruck, - odroid-u2, rpi, rpi2 (armv7), usbarmory + odroid-c2, odroid-u2, rpi, rpi2 (armv7), usbarmory, ci20 Options -b <syspkg> Set an alternative base-system package (defaults to base-system) @@ -97,12 +97,18 @@ register_binfmt() { case "${_ARCH}" in armv*) echo ':arm:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-arm-static:' > /proc/sys/fs/binfmt_misc/register - cp -f $(which qemu-arm-static) $rootfs/usr/bin || die "failed to copy qemu-arm-static to the rootfs" + ;; + aarch*) + echo ':qemu-arm64:M::\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff:/usr/bin/qemu-aarch64-static:' > /proc/sys/fs/binfmt_misc/register + ;; + mipsel*) + echo ':mipsel:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x08\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-mipsel-static:' > /proc/sys/fs/binfmt_misc/register ;; *) die "Unknown target architecture!" ;; esac + cp -f $(which $QEMU_BIN) $rootfs/usr/bin || die "failed to copy $QEMU_BIN to the rootfs" } # @@ -131,6 +137,10 @@ case "$PLATFORM" in dockstar) _TARGET_ARCH="armv5tel"; _ARCH="armv5tel";; rpi-musl) _TARGET_ARCH="armv6l-musl"; _ARCH="armv6l";; rpi) _TARGET_ARCH="armv6l"; _ARCH="armv6l";; + ci20-musl) _TARGET_ARCH="mipselhf-musl"; _ARCH="mipsel-musl";; + ci20) _TARGET_ARCH="mipselhf"; _ARCH="mipsel";; + odroid-c2-musl) _TARGET_ARCH="aarch64-musl"; _ARCH="aarch64";; + odroid-c2) _TARGET_ARCH="aarch64"; _ARCH="aarch64";; *-musl) _TARGET_ARCH="armv7l-musl"; _ARCH="armv7l";; *) _TARGET_ARCH="armv7l"; _ARCH="armv7l";; esac @@ -157,6 +167,8 @@ case "$PLATFORM" in rpi2*) SUBPLATFORM=rpi; QEMU_BIN=qemu-arm-static;; rpi*) SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; usbarmory*) SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-arm-static;; + ci20*) SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-mipsel-static;; + odroid-c2*) SUBPLATFORM=${PLATFORM%-*}; QEMU_BIN=qemu-aarch64-static;; i686*) QEMU_BIN=qemu-i386-static;; x86_64*) QEMU_BIN=qemu-x86_64-static;; *) die "$PROGNAME: invalid platform!";; @@ -221,7 +233,7 @@ if [ -n "${_ARCH}" ]; then register_binfmt run_cmd "xbps-reconfigure -r $rootfs base-files" run_cmd "chroot $rootfs env -i xbps-reconfigure -f base-files" - rmdir $rootfs/usr/lib32 + rmdir $rootfs/usr/lib32 2>/dev/null rm -f $rootfs/lib32 $rootfs/lib64 $rootfs/usr/lib64 ;; esac |