2016-05-05 14:43:33 -04:00
|
|
|
#!/bin/bash -e
|
2017-07-02 11:34:04 -04:00
|
|
|
|
2017-07-02 14:24:32 -04:00
|
|
|
unmount_image "$IMG_FILE"
|
2016-05-05 14:43:33 -04:00
|
|
|
|
2017-07-02 14:24:32 -04:00
|
|
|
rm -f "$IMG_FILE"
|
2016-05-05 14:43:33 -04:00
|
|
|
|
2017-07-02 14:24:32 -04:00
|
|
|
BOOT_SIZE=$(du --apparent-size -s "$ROOTFS_DIR/boot" --block-size=1 | cut -f 1)
|
|
|
|
TOTAL_SIZE=$(du --apparent-size -s "$ROOTFS_DIR" --exclude var/cache/apt/archives --block-size=1 | cut -f 1)
|
2016-05-05 14:43:33 -04:00
|
|
|
|
2017-06-21 05:56:07 -04:00
|
|
|
IMG_SIZE=$((BOOT_SIZE + TOTAL_SIZE + (800 * 1024 * 1024)))
|
2016-05-05 14:43:33 -04:00
|
|
|
|
2017-07-02 14:24:32 -04:00
|
|
|
truncate -s $IMG_SIZE "$IMG_FILE"
|
|
|
|
fdisk -H 255 -S 63 "$IMG_FILE" <<EOF
|
2016-05-05 14:43:33 -04:00
|
|
|
o
|
|
|
|
n
|
|
|
|
|
|
|
|
|
|
|
|
8192
|
2017-07-02 14:36:41 -04:00
|
|
|
+$((BOOT_SIZE * 2 / 512))
|
2016-05-05 14:43:33 -04:00
|
|
|
p
|
|
|
|
t
|
|
|
|
c
|
|
|
|
n
|
|
|
|
|
|
|
|
|
|
|
|
8192
|
|
|
|
|
|
|
|
|
|
|
|
p
|
|
|
|
w
|
|
|
|
EOF
|
|
|
|
|
2017-07-02 14:24:32 -04:00
|
|
|
PARTED_OUT=$(parted -s "$IMG_FILE" unit b print)
|
2017-07-02 14:27:27 -04:00
|
|
|
|
2017-01-23 07:44:03 -05:00
|
|
|
BOOT_OFFSET=$(echo "$PARTED_OUT" | grep -e '^ 1'| xargs echo -n \
|
|
|
|
| cut -d" " -f 2 | tr -d B)
|
|
|
|
BOOT_LENGTH=$(echo "$PARTED_OUT" | grep -e '^ 1'| xargs echo -n \
|
|
|
|
| cut -d" " -f 4 | tr -d B)
|
|
|
|
ROOT_OFFSET=$(echo "$PARTED_OUT" | grep -e '^ 2'| xargs echo -n \
|
|
|
|
| cut -d" " -f 2 | tr -d B)
|
|
|
|
ROOT_LENGTH=$(echo "$PARTED_OUT" | grep -e '^ 2'| xargs echo -n \
|
|
|
|
| cut -d" " -f 4 | tr -d B)
|
|
|
|
|
2017-07-02 14:24:32 -04:00
|
|
|
BOOT_DEV=$(losetup --show -f -o $BOOT_OFFSET --sizelimit $BOOT_LENGTH "$IMG_FILE")
|
|
|
|
ROOT_DEV=$(losetup --show -f -o $ROOT_OFFSET --sizelimit $ROOT_LENGTH "$IMG_FILE")
|
2017-07-02 14:27:27 -04:00
|
|
|
|
2017-01-23 07:44:03 -05:00
|
|
|
echo "/boot: offset $BOOT_OFFSET, length $BOOT_LENGTH"
|
|
|
|
echo "/: offset $ROOT_OFFSET, length $ROOT_LENGTH"
|
2016-05-05 14:43:33 -04:00
|
|
|
|
2017-02-16 09:36:23 -05:00
|
|
|
mkdosfs -n boot -F 32 -v $BOOT_DEV > /dev/null
|
2016-05-05 14:43:33 -04:00
|
|
|
mkfs.ext4 -O ^huge_file $ROOT_DEV > /dev/null
|
|
|
|
|
2017-07-02 14:24:32 -04:00
|
|
|
mount -v $ROOT_DEV "$ROOTFS_DIR" -t ext4
|
|
|
|
mount -v $BOOT_DEV "$ROOTFS_DIR/boot" -t vfat
|