diff options
-rw-r--r-- | mkrootfs.sh.in | 47 |
1 files changed, 30 insertions, 17 deletions
diff --git a/mkrootfs.sh.in b/mkrootfs.sh.in index 4529003..3e959d2 100644 --- a/mkrootfs.sh.in +++ b/mkrootfs.sh.in @@ -43,7 +43,18 @@ die() { } usage() { - echo "Usage: $PROGNAME [-C xbps.conf] [-k xbps-keys-dir] [-m rpi|odroid-u2] [-p 'pkg1 pkg2'] [-V]" + cat <<_EOF +Usage: $PROGNAME [options] <platform> + +Supported platforms: cubieboard2, odroid-u2, rpi + +Options + -C <file> Full path to the XBPS configuration file + -h Show this help + -k <dir> Full path to a directory with the XBPS RSA public keys for repositories + -p <pkgs> Additional packages to install into the rootfs (separated by blanks) + -V Show version +_EOF } mount_pseudofs() { @@ -89,19 +100,31 @@ register_binfmt() { # # main() # -while getopts "C:hk:m:p:V" opt; do +while getopts "C:hk:p:V" opt; do case $opt in C) XBPS_CONFFILE="-C $OPTARG";; h) usage; exit 0;; k) KEYSDIR="$OPTARG";; - m) TARGET_ARCH="$OPTARG";; p) EXTRA_PKGS="$OPTARG";; - R) XBPS_REPO="$OPTARG";; V) echo "$PROGNAME @@MKLIVE_VERSION@@"; exit 0;; esac done shift $(($OPTIND - 1)) +PLATFORM="$1" + +if [ -z "$PLATFORM" ]; then + echo "$PROGNAME: platform was not set!" + usage; exit 1 +fi + +case "$PLATFORM" in + cubieboard2) _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; + odroid-u2) _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; + rpi) _ARCH="armv6l"; QEMU_BIN=qemu-arm-static;; + *) die "$PROGNAME: invalid platform!";; +esac + if [ "$(id -u)" -ne 0 ]; then die "need root perms to continue, exiting." fi @@ -115,16 +138,6 @@ for f in chroot tar xbps-install xbps-reconfigure xbps-query; do fi done -# -# Sanitize target arch. -# -case "$TARGET_ARCH" in - rpi) _ARCH="armv6l"; QEMU_BIN=qemu-arm-static;; - odroid*) _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; - cubieboard*) _ARCH="armv7l"; QEMU_BIN=qemu-arm-static;; - *) ;; -esac - if [ -z "$KEYSDIR" ]; then KEYSDIR="/var/db/xbps/keys" # use void default fi @@ -143,7 +156,7 @@ run_cmd "xbps-query -R -r $rootfs $XBPS_CONFFILE -ppkgver $PKGBASE" chmod 755 $rootfs -PKGS="${PKGBASE}" +PKGS="${PKGBASE} ${PLATFORM}-base" [ -n "$EXTRA_PKGS" ] && PKGS="${PKGS} ${EXTRA_PKGS}" mount_pseudofs @@ -193,11 +206,11 @@ if [ -n "$TARGET_ARCH" ]; then arch=$TARGET_ARCH fi -tarball=void-${arch}-rootfs-$(date '+%Y%m%d').tar.xz +tarball=void-${PLATFORM}-rootfs-$(date '+%Y%m%d').tar.xz run_cmd "tar cp -C $rootfs . | xz -9 > $tarball" rm -rf $rootfs -info_msg "Successfully created $tarball" +info_msg "Successfully created $tarball ($PLATFORM)" # vim: set ts=4 sw=4 et: |