1
0
Fork 0
This repository has been archived on 2023-03-27. You can view files and clone it, but cannot push or open issues or pull requests.
raspberrypi-build/stage0/13-image/00-run.sh

55 lines
1.3 KiB
Bash
Raw Normal View History

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
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
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
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