morpheus/stuff/create-bootable

47 lines
609 B
Bash
Executable File

#!/bin/sh
#
# Ensure you've loaded the loop module with max_part=15
set -e -x
if test "$2" = ""; then
echo "Usage: $0 <rootdir> <imgfile>"
exit
fi
root=$1
img=$2
mnt="/mnt/morpheus"
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.ext2 -L MORPHEUS $partition
mkdir -p "$mnt"
mount $partition "$mnt"
rmdir "$mnt/lost+found"
fakeroot cp -arP "$root"/* "$mnt"
extlinux --install "$mnt/boot"
dd if=stuff/mbr.bin of=$lodev conv=notrunc bs=440 count=1
sync
umount "$mnt"
sleep 3
losetup -d $lodev