From 465166a80fd6add7fa1cb981665ecf5acc96d35b Mon Sep 17 00:00:00 2001 From: Rui Abreu Ferreira Date: Mon, 18 Jan 2016 15:18:30 +0000 Subject: mkrootfs: Added -k to run post hook New flag -k . " " is executed after the rootfs is created, points to the new rootfs. --- mkrootfs.sh.in | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'mkrootfs.sh.in') diff --git a/mkrootfs.sh.in b/mkrootfs.sh.in index bedcb0c..472cec9 100644 --- a/mkrootfs.sh.in +++ b/mkrootfs.sh.in @@ -56,6 +56,7 @@ Options -h Show this help -p Additional packages to install into the rootfs (separated by blanks) -r Set XBPS repository (may be set multiple times) + -k Call "cmd " after building the rootfs -V Show version _EOF } @@ -104,7 +105,7 @@ register_binfmt() { # # main() # -while getopts "b:C:c:hp:r:V" opt; do +while getopts "b:C:c:hp:r:k:V" opt; do case $opt in b) PKGBASE="$OPTARG";; C) XBPS_CONFFILE="-C $OPTARG";; @@ -112,6 +113,7 @@ while getopts "b:C:c:hp:r:V" opt; do h) usage; exit 0;; p) EXTRA_PKGS="$OPTARG";; r) XBPS_REPOSITORY="$XBPS_REPOSITORY --repository=$OPTARG";; + k) POST_HOOK="$OPTARG";; V) echo "$PROGNAME @@MKLIVE_VERSION@@"; exit 0;; esac done @@ -226,6 +228,9 @@ fi # Setup default root password. # run_cmd "chroot $rootfs sh -c 'echo "root:voidlinux" | chpasswd -c SHA512'" +if [ -n "$POST_HOOK" ]; then + run_cmd "$POST_HOOK $rootfs" +fi umount_pseudofs # # Cleanup rootfs. -- cgit 1.4.1 From a15f8c0300399021d26b0428cfc441cbd237b43a Mon Sep 17 00:00:00 2001 From: Juan RP Date: Wed, 20 Apr 2016 14:36:57 +0200 Subject: mkrootfs: generate x86 tarballs correctly, requested by scaleway. --- mkrootfs.sh.in | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'mkrootfs.sh.in') diff --git a/mkrootfs.sh.in b/mkrootfs.sh.in index 472cec9..bdd76e9 100644 --- a/mkrootfs.sh.in +++ b/mkrootfs.sh.in @@ -76,7 +76,11 @@ umount_pseudofs() { run_cmd_target() { info_msg "Running $@ for target $_ARCH ..." - eval XBPS_TARGET_ARCH=${_TARGET_ARCH:=${_ARCH}} "$@" + if [ "${_TARGET_ARCH}" != "${_ARCH}" ]; then + eval XBPS_TARGET_ARCH=${_TARGET_ARCH:=${_ARCH}} "$@" + else + eval XBPS_ARCH=${_ARCH} "$@" + fi [ $? -ne 0 ] && die "Failed to run $@" } @@ -123,9 +127,9 @@ PLATFORM="$1" SUBPLATFORM=$PLATFORM case "$PLATFORM" in - i686-musl) _TARGET_ARCH="$PLATFORM"; _ARCH="i386";; - i686) _TARGET_ARCH="$PLATFORM"; _ARCH="i386";; - x86_64-musl) _TARGET_ARCH="$PLATFORM"; _ARCH="x86_64";; + i686-musl) _TARGET_ARCH="$PLATFORM"; _ARCH="i686-musl";; + i686) _TARGET_ARCH="$PLATFORM"; _ARCH="i686";; + x86_64-musl) _TARGET_ARCH="$PLATFORM"; _ARCH="x86_64-musl";; x86_64) _TARGET_ARCH="$PLATFORM"; _ARCH="x86_64";; dockstar) _TARGET_ARCH="armv5tel"; _ARCH="armv5tel";; rpi-musl) _TARGET_ARCH="armv6l-musl"; _ARCH="armv6l";; @@ -136,7 +140,10 @@ esac : ${XBPS_REPOSITORY:=--repository=http://repo.voidlinux.eu/current --repository=http://muslrepo.voidlinux.eu/current} : ${XBPS_CACHEDIR:=--cachedir=$PWD/xbps-cachedir-${_TARGET_ARCH}} -: ${PKGBASE:=base-system} +case "$PLATFORM" in + i686*|x86_64*) PKGBASE="base-voidstrap";; + *) PKGBASE="base-system";; +esac if [ -z "$PLATFORM" ]; then echo "$PROGNAME: platform was not set!" @@ -186,7 +193,7 @@ run_cmd_target "xbps-query -R -r $rootfs $XBPS_CONFFILE $XBPS_CACHEDIR $XBPS_REP chmod 755 $rootfs case "$PLATFORM" in - i686*|x86_64*) PKGS="${PKGBASE} grub" ;; + i686*|x86_64*) PKGS="${PKGBASE}" ;; *) PKGS="${PKGBASE} ${SUBPLATFORM}-base" ;; esac [ -n "$EXTRA_PKGS" ] && PKGS="${PKGS} ${EXTRA_PKGS}" -- cgit 1.4.1 From 06f8beb62844d34e2c310d80f9f0721e34e0934f Mon Sep 17 00:00:00 2001 From: Juan RP Date: Wed, 20 Apr 2016 16:19:55 +0200 Subject: *rootfs: fix remaining x86 rootfs issues. --- build-rootfs.sh.in | 10 +++++++--- mkrootfs.sh.in | 17 +++++++---------- 2 files changed, 14 insertions(+), 13 deletions(-) (limited to 'mkrootfs.sh.in') diff --git a/build-rootfs.sh.in b/build-rootfs.sh.in index 526ae96..ae6985e 100644 --- a/build-rootfs.sh.in +++ b/build-rootfs.sh.in @@ -3,10 +3,10 @@ TARGET="$1" [ -n "$TARGET" ] && shift -: ${PLATFORMS:="beaglebone cubieboard2 odroid-u2 rpi rpi2 usbarmory"} +: ${PLATFORMS:="beaglebone cubieboard2 odroid-u2 rpi rpi2 usbarmory x86_64 i686"} DATE=$(date '+%Y%m%d') -for f in ${PLATFORMS} x ${PLATFORMS} ; do +for f in ${PLATFORMS} x ${PLATFORMS}; do if [ "$f" = "x" ]; then musl=1 continue @@ -15,7 +15,11 @@ for f in ${PLATFORMS} x ${PLATFORMS} ; do if [ -n "$musl" ]; then target=${f}-musl fi - if [ -z "$ARGET" -o "$TARGET" = "$target" ]; then + if [ "$target" = "i686-musl" ]; then + # XXX no i686-musl repo yet + continue + fi + if [ -z "$TARGET" -o "$TARGET" = "$target" ]; then ./mkrootfs.sh $@ $target fi done diff --git a/mkrootfs.sh.in b/mkrootfs.sh.in index bdd76e9..583044c 100644 --- a/mkrootfs.sh.in +++ b/mkrootfs.sh.in @@ -76,11 +76,10 @@ umount_pseudofs() { run_cmd_target() { info_msg "Running $@ for target $_ARCH ..." - if [ "${_TARGET_ARCH}" != "${_ARCH}" ]; then - eval XBPS_TARGET_ARCH=${_TARGET_ARCH:=${_ARCH}} "$@" - else - eval XBPS_ARCH=${_ARCH} "$@" - fi + case "${_TARGET_ARCH}" in + i686*|x86_64*) eval XBPS_ARCH=${_TARGET_ARCH} "$@";; + *) eval XBPS_TARGET_ARCH=${_TARGET_ARCH:=${_ARCH}} "$@";; + esac [ $? -ne 0 ] && die "Failed to run $@" } @@ -127,10 +126,8 @@ PLATFORM="$1" SUBPLATFORM=$PLATFORM case "$PLATFORM" in - i686-musl) _TARGET_ARCH="$PLATFORM"; _ARCH="i686-musl";; - i686) _TARGET_ARCH="$PLATFORM"; _ARCH="i686";; - x86_64-musl) _TARGET_ARCH="$PLATFORM"; _ARCH="x86_64-musl";; - x86_64) _TARGET_ARCH="$PLATFORM"; _ARCH="x86_64";; + i686*) _TARGET_ARCH="$PLATFORM"; _ARCH="i686";; + x86_64*) _TARGET_ARCH="$PLATFORM"; _ARCH="x86_64";; dockstar) _TARGET_ARCH="armv5tel"; _ARCH="armv5tel";; rpi-musl) _TARGET_ARCH="armv6l-musl"; _ARCH="armv6l";; rpi) _TARGET_ARCH="armv6l"; _ARCH="armv6l";; @@ -218,7 +215,7 @@ if [ -n "${_ARCH}" ]; then info_msg "Reconfiguring packages for ${_ARCH} ..." case "$PLATFORM" in i686*|x86_64*) - run_cmd "XBPS_ARCH=$_ARCH xbps-reconfigure -r $rootfs base-files" + run_cmd "XBPS_ARCH=${PLATFORM} xbps-reconfigure -r $rootfs base-files" ;; *) register_binfmt -- cgit 1.4.1