Pārlūkot izejas kodu

Meta: Calculate image size based on size of Build/Root and Base

This reduces the size of the default build, while allowing people to
install as many ports as they want, without having to manually specify
disk size.
Peter Elliott 5 gadi atpakaļ
vecāks
revīzija
6f12ab3ced
2 mainītis faili ar 13 papildinājumiem un 0 dzēšanām
  1. 6 0
      Meta/build-image-grub.sh
  2. 7 0
      Meta/build-image-qemu.sh

+ 6 - 0
Meta/build-image-grub.sh

@@ -23,6 +23,12 @@ if [ -z "$grub" ]; then
 fi
 fi
 echo "using grub-install at ${grub}"
 echo "using grub-install at ${grub}"
 
 
+disk_usage() {
+    du -sm $1 | cut -f1
+}
+
+DISK_SIZE=$(($(disk_usage "$SERENITY_ROOT/Base") + $(disk_usage Root) + 300))
+
 echo "setting up disk image..."
 echo "setting up disk image..."
 dd if=/dev/zero of=grub_disk_image bs=1M count="${DISK_SIZE:-800}" status=none || die "couldn't create disk image"
 dd if=/dev/zero of=grub_disk_image bs=1M count="${DISK_SIZE:-800}" status=none || die "couldn't create disk image"
 chown "$SUDO_UID":"$SUDO_GID" grub_disk_image || die "couldn't adjust permissions on disk image"
 chown "$SUDO_UID":"$SUDO_GID" grub_disk_image || die "couldn't adjust permissions on disk image"

+ 7 - 0
Meta/build-image-qemu.sh

@@ -17,6 +17,13 @@ if [ "$(uname -s)" = "Darwin" ]; then
     export PATH="/usr/local/opt/e2fsprogs/bin:$PATH"
     export PATH="/usr/local/opt/e2fsprogs/bin:$PATH"
     export PATH="/usr/local/opt/e2fsprogs/sbin:$PATH"
     export PATH="/usr/local/opt/e2fsprogs/sbin:$PATH"
 fi
 fi
+
+disk_usage() {
+    du -sm $1 | cut -f1
+}
+
+DISK_SIZE=$(($(disk_usage "$SERENITY_ROOT/Base") + $(disk_usage Root) + 100))
+
 echo "setting up disk image..."
 echo "setting up disk image..."
 qemu-img create _disk_image "${DISK_SIZE:-600}"m || die "could not create disk image"
 qemu-img create _disk_image "${DISK_SIZE:-600}"m || die "could not create disk image"
 chown "$SUDO_UID":"$SUDO_GID" _disk_image || die "could not adjust permissions on disk image"
 chown "$SUDO_UID":"$SUDO_GID" _disk_image || die "could not adjust permissions on disk image"