summaryrefslogtreecommitdiff
path: root/generate-usb-img
diff options
context:
space:
mode:
Diffstat (limited to 'generate-usb-img')
-rwxr-xr-xgenerate-usb-img22
1 files changed, 14 insertions, 8 deletions
diff --git a/generate-usb-img b/generate-usb-img
index 68cf2f7..e219ed4 100755
--- a/generate-usb-img
+++ b/generate-usb-img
@@ -8,16 +8,18 @@ set -o pipefail
sysroot=/tmp/$$.ostree_usb
version=$(date +%Y%m%d.%H%M%S)
-image="./$osname-$osversion-usb-$version.img"
+image="$osname-$osversion-$build-$buildenv-$arch-usb-$version.img"
seek_sectors=$(( (8 *1024 *1024 *2) +33 -1 ))
# Check for dependencies:
-package_deps dosfstools ostree parted udev
+package_deps bmaptool dosfstools ostree parted udev xz-utils zerofree
-[ -f "$image" ] && rm "$image"
+[ ! -d "${images:?}" ] && mkdir -p "${images:?}"
-dd if=/dev/zero of="$image" seek="$seek_sectors" count=1 bs=512
-loopdev=$(losetup -f --show "$image")
+[ -f ${images:?}/"$image" ] && rm ${images:?}/"$image"
+
+dd if=/dev/zero of=${images:?}/"$image" seek="$seek_sectors" count=1 bs=512
+loopdev=$(losetup -f --show ${images:?}/"$image")
function cleanup(){
set +e
@@ -36,8 +38,10 @@ function cleanup(){
done
rmdir "$sysroot"
partx -d "$loopdev"p1
+ zerofree -v "$loopdev"p2
partx -d "$loopdev"p2
losetup -d "$loopdev"
+ set -e
}
trap cleanup EXIT
@@ -73,7 +77,7 @@ chattr -i "$deployroot"
touch "$deployroot"/image
chattr +i "$deployroot"
-mount --bind "$image" "$deployroot"/image
+mount --bind ${images:?}/"$image" "$deployroot"/image
mount --bind "$sysroot"/boot "$deployroot"/boot
mount --bind "$sysroot"/boot/efi "$deployroot"/boot/efi
@@ -83,7 +87,7 @@ done
chroot "$deployroot" /usr/sbin/grub-install --target='x86_64-efi' \
--efi-directory=/boot/efi --boot-directory=/boot \
- --bootloader-id=GRUB --removable "$image"
+ --bootloader-id=GRUB --removable ${images:?}/"$image"
mount --bind "$sysroot" "$deployroot"/sysroot
chroot "$deployroot" grub-mkconfig -o /boot/grub/grub.cfg
@@ -91,6 +95,8 @@ chroot "$deployroot" grub-mkconfig -o /boot/grub/grub.cfg
trap - EXIT
cleanup
+pushd ${images:?}
bmaptool create "$image" > "$image".bmap
xz "$image"
-sha256sum "$image".xz > "$image".sha256sum
+sha256sum "$image".xz > "$image".xz..sha256sum
+popd