From 2d29c1aa7c1ee4e3550e46daeb5bbed8484ab4e7 Mon Sep 17 00:00:00 2001 From: Gottox Date: Wed, 22 Jan 2014 10:41:00 +0100 Subject: [PATCH 1/2] typo fix --- mkrootfs.sh.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkrootfs.sh.in b/mkrootfs.sh.in index 662dec0..f51f673 100644 --- a/mkrootfs.sh.in +++ b/mkrootfs.sh.in @@ -132,7 +132,7 @@ fi # rootfs=$(mktemp -d || die "FATAL: failed to create tempdir, exiting...") if [ ! -f "$KEYSDIR/${VOIDRSAPUBKEY}.plist" ]; then - die "cannot find xbps keyst to install binary packages, exiting." + die "cannot find xbps keys to install binary packages, exiting." fi mkdir -p $rootfs/var/db/xbps/keys cp $KEYSDIR/${VOIDRSAPUBKEY}.plist $rootfs/var/db/xbps/keys From 9683dc004570d2b46486ca59a0c1df630e44bcb9 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 22 Jan 2014 18:15:57 +0100 Subject: [PATCH 2/2] using xpart instead of losetup -P, as -P is not supported by debian stable mkfs.vfat thinks it writes to a raw device instead of a partition on debian. force it --- mkimage.sh.in | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/mkimage.sh.in b/mkimage.sh.in index 31bc64a..c90d75f 100644 --- a/mkimage.sh.in +++ b/mkimage.sh.in @@ -32,7 +32,11 @@ trap 'printf "\nInterrupted! exiting...\n"; cleanup; exit 0' INT TERM HUP cleanup() { umount -f ${ROOTFSDIR}/boot 2>/dev/null umount -f ${ROOTFSDIR} 2>/dev/null - [ -e "$LOOPDEV" ] && losetup -d $LOOPDEV 2>/dev/null + if [ -e "$LOOPDEV" ]; then + partx -d $LOOPDEV 2>/dev/null + losetup -d $LOOPDEV 2>/dev/null + fi + [ -d "$ROOTFSDIR" ] && rmdir $ROOTFSDIR } @@ -102,25 +106,27 @@ if [ -z "$FILENAME" ]; then FILENAME="void-image-$(date +%Y%m%d).img" fi -for f in parted losetup mount mkfs.${BOOT_FSTYPE} mkfs.${ROOT_FSTYPE}; do +for f in parted partx losetup mount mkfs.${BOOT_FSTYPE} mkfs.${ROOT_FSTYPE}; do if ! which ${f} >/dev/null; then die "Cannot find ${f}, exiting." fi done info_msg "Creating disk image ($IMGSIZE) ..." -dd if=/dev/zero of=$FILENAME bs=$IMGSIZE count=1 conv=sparse >/dev/null 2>&1 +dd if=/dev/zero of=$FILENAME bs=$IMGSIZE count=1 >/dev/null 2>&1 info_msg "Creating disk image partitions/filesystems ..." parted $FILENAME mktable msdos if [ "$BOOT_FSTYPE" = "vfat" ]; then _btype="fat32" + _args="-I" fi parted $FILENAME mkpart primary ${_btype} 4096s 256M parted $FILENAME mkpart primary ext2 256M 100% parted $FILENAME toggle 1 boot -LOOPDEV=$(losetup --show --find -P $FILENAME) -mkfs.${BOOT_FSTYPE} ${LOOPDEV}p1 >/dev/null 2>&1 +LOOPDEV=$(losetup --show --find $FILENAME) +partx -a $LOOPDEV +mkfs.${BOOT_FSTYPE} $_args ${LOOPDEV}p1 >/dev/null mkfs.${ROOT_FSTYPE} ${LOOPDEV}p2 >/dev/null 2>&1 info_msg "Unpacking rootfs tarball ..." @@ -141,6 +147,7 @@ fi umount ${ROOTFSDIR}/boot umount $ROOTFSDIR +partx -d $LOOPDEV losetup -d $LOOPDEV rmdir $ROOTFSDIR