X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=3sys;a=blobdiff_plain;f=sys1%2Fmkgrubimage;fp=sys1%2Fmkgrubimage;h=b97a18a1187f19735659c54c4efbc9af3ff1bf90;hp=0000000000000000000000000000000000000000;hb=ebc5d64326bba69c74ae103fad61b04a542f9eb2;hpb=a9ac2db02f009e086df85d25dc9b32452f259538 diff --git a/sys1/mkgrubimage b/sys1/mkgrubimage new file mode 100755 index 0000000..b97a18a --- /dev/null +++ b/sys1/mkgrubimage @@ -0,0 +1,41 @@ +#!/bin/sh + +SUDO= +mntpt=/tmp/3sys1mnt + +make -C kern || exit 1 + +echo 'creating partition image: part.img' +dd if=/dev/zero of=part.img bs=1024 count=63488 +mkfs -t vfat -n SYS1ROOT part.img + +echo 'creating disk image: disk.img' +dd if=/dev/zero of=disk.img bs=1024 count=65536 +echo start=2048 type=c | sfdisk disk.img + +echo 'combining images' +dd if=part.img of=disk.img bs=1024 seek=1024 conv=notrunc + +if [ "`id -u`" != 0 ]; then + if sudo --version >/dev/null 2>&1; then + echo 'will need superuser priviledges for the next part, using sudo' + SUDO=sudo + else + echo 'will need superuser priviledges for the next part, using su' + su || exit 1 + fi +fi + +echo "mounting parition image to $mntpt" +$SUDO mkdir -p $mntpt +$SUDO mount -o loop,offset=1M disk.img $mntpt +$SUDO mkdir -p $mntpt/boot/grub +echo 'copying grub files' +$SUDO cp grub.cfg $mntpt/boot/grub +echo 'copying kernel' +$SUDO cp kern/kern1.elf $mntpt/boot +echo 'installing grub' +$SUDO grub-install --target=i386-pc --boot-directory=$mntpt/boot \ + --skip-fs-probe --install-modules='part_msdos fat multiboot' \ + --modules='part_msdos fat multiboot' disk.img +$SUDO umount $mntpt