morpheus/stuff/create-bootable

56 lines
658 B
Bash
Executable File

#!/bin/sh
#
# Ensure you've loaded the loop module with max_part=15
usage() {
echo "Usage: $0 <rootdir> <imgfile>"
exit
}
if test "$1" = ""; then
usage
fi
if test "$2" = ""; then
usage
fi
set -e -x
root=$1
img=$2
mnt="/mnt/morpheus"
fallocate -l 2G $img || dd if=/dev/zero of=$img bs=512M count=4
(
cat << EOF
o
n
p
1
a
1
w
EOF
) | fdisk $img
lodev=$(losetup -f)
losetup "$lodev" "$img"
partition="$lodev"p1
mkfs.ext4 -L MORPHEUS $partition
mkdir -p "$mnt"
mount $partition "$mnt"
rmdir "$mnt/lost+found"
fakeroot cp -arP "$root"/* "$mnt"
extlinux --install "$mnt/boot"
cat stuff/mbr.bin > $lodev
sync
umount "$mnt"
sleep 3
losetup -d $lodev