63 lines
1.2 KiB
Bash
Executable File
63 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
cd $HOME/Quinn
|
|
|
|
if [ ! -e images ]
|
|
then
|
|
mkdir images
|
|
fi
|
|
|
|
cd images
|
|
|
|
dd if=/dev/zero of=disk.img bs=512 count=331072
|
|
|
|
sed -e 's/\t\([\+0-9a-zA-Z]*\)[ \t].*/\1/' << EOF | /sbin/fdisk disk.img
|
|
n # new partition
|
|
p # primary partition
|
|
1 # partition number 1
|
|
# default - start at beginning of disk
|
|
# default - whole disk
|
|
a # make the partition active
|
|
w # write the partition table
|
|
q # and we're done
|
|
EOF
|
|
|
|
sudo losetup /dev/loop0 disk.img
|
|
sudo losetup /dev/loop1 disk.img -o 1048576
|
|
|
|
sudo mkfs.minix -3 /dev/loop1
|
|
|
|
if [ ! -e mnt ]
|
|
then
|
|
mkdir mnt
|
|
fi
|
|
|
|
sudo mount -t minix /dev/loop1 mnt
|
|
|
|
sudo grub-install --target=i386-pc --root-directory=$HOME/Quinn/images/mnt --no-floppy --modules="normal part_msdos multiboot fat" /dev/loop0
|
|
|
|
if [ ! -e $HOME/Quinn/fsroot ]
|
|
then
|
|
cd $HOME/Quinn/src/quinn-os
|
|
PATH=$HOME/Quinn/cross/bin:$PATH ./make_userland.sh
|
|
fi
|
|
|
|
sudo cp -R $HOME/Quinn/fsroot/* $HOME/Quinn/images/mnt
|
|
|
|
if [ ! -e $HOME/Quinn/src/quinn-os/kernel.bin ]
|
|
then
|
|
cd $HOME/Quinn/src/quinn-os
|
|
make clean
|
|
make
|
|
fi
|
|
|
|
sudo cp $HOME/Quinn/src/quinn-os/kernel.bin $HOME/Quinn/images/mnt
|
|
|
|
cd $HOME/Quinn/images
|
|
|
|
sudo umount mnt
|
|
|
|
sudo losetup -d /dev/loop0
|
|
sudo losetup -d /dev/loop1
|
|
|