Removed create_image script since it was added more cleanly upstream

This commit is contained in:
Charles Cross 2016-05-05 17:08:44 -07:00
parent 38b142e608
commit 1a19edaba9

View File

@ -1,158 +0,0 @@
#!/bin/bash
for i in "$@"
do
case $i in
# Name for image
-i=*|--imagename=*)
IMAGE_NAME="${i#*=}"
shift
;;
# Which stage to create image from
-s=*|--stage=*)
STAGE_NUM="${i#*=}"
shift
;;
# unknown option
*)
;;
esac
done
if [ ${EUID} -ne 0 ]; then
echo "this tool must be run as root"
exit 1
fi
if [ -z "$IMAGE_NAME" ]
then
echo "No image name specified, defaulting to \"raspbian\""
IMAGE_NAME="raspbian"
fi
if [ -z "$STAGE_NUM" ]
then
echo "No stage specified, aborting."
exit 2
fi
WORKSPACE_PATH="./work/${IMAGE_NAME}/stage${STAGE_NUM}"
work_path=$(readlink -f $WORKSPACE_PATH)
if [ ! -d "$work_path" ]
then
echo "Error resolving workspace path. Does not exist: work_path=\"${work_path}\""
exit 3
fi
echo "Creating image using rootfs in: ${work_path}"
bootsize="64M"
deb_release="jessie"
# define destination folder where created image file will be stored
buildenv="${PWD}/images"
# Set directory of rootfs and bootfs
rootfs="${buildenv}/rootfs"
bootfs="${buildenv}/boot"
today=`date +%Y%m%d`
mkdir -p ${buildenv}
mkdir -p ${buildenv}/images
# Construct image name
image="${buildenv}/images/${IMAGE_NAME}.img"
# Create a blank image file
dd if=/dev/zero of=${image} bs=1MB count=3800
# Mount it on the loop back adapter
device=`losetup -f --show ${image}`
echo "image ${image} created and mounted as ${device}"
# Set up partition descriptor
fdisk ${device} << EOF
n
p
1
+${bootsize}
t
c
n
p
2
w
EOF
if [ "${image}" != "" ]; then
# Delete the loopback device
losetup -d ${device}
# Mount the disk image
device=`kpartx -va ${image} | sed -E 's/.*(loop[0-9])p.*/\1/g' | head -1`
echo device
device="/dev/mapper/${device}"
echo device
# Get paths to boot and root partitions
bootp=${device}p1
rootp=${device}p2
fi
# Create the filesystems
mkfs.vfat ${bootp}
mkfs.ext4 ${rootp}
# Set the path to the rootfs
mkdir -p ${rootfs}
# Mount the rootfs to the root partition
mount ${rootp} ${rootfs}
# copy
rootfs_work="${work_path}/rootfs"
rsync -a ${rootfs_work}/ ${rootfs}
# Remove the contents of the boot folder, but not the boot folder itself
rm -rf ${rootfs}/boot/*
#unmount
umount ${rootp}
sync
bootfs_work="${rootfs_work}/boot"
mkdir -p ${bootfs}
mount ${bootp} ${bootfs}
cp -R ${bootfs_work}/* ${bootfs}
umount ${bootfs}
sync
rm -rf ${rootfs}
rm -rf ${bootfs}
# Remove device mapper bindings. Avoids running out of loop devices if run repeatedly.
dmsetup remove_all
echo "finishing ${image}"
if [ "${image}" != "" ]; then
kpartx -d ${image}
echo "created image ${image}"
fi
echo "done."