Nigel
891085e151
- Created a scripts folder - Written instructions on how to create the disk image - Working on a python build script that executes all other scripts The scripts folder should contain scripts to build a full installation of our operating system. Scripts like creating a filesystem should be found here
65 lines
1.4 KiB
Bash
65 lines
1.4 KiB
Bash
#!/bin/bash
|
|
#
|
|
# How to build a boot image
|
|
# NOTE: This script cant run properly yet
|
|
# Things described here should be done manually for now
|
|
#
|
|
# COPYRIGHT © Nigel Barink 2023
|
|
#
|
|
|
|
echo "Building a FAT16 filesystem"
|
|
|
|
|
|
su
|
|
|
|
# dd if=/dev/zero of=diks.img bs=512 count=131072
|
|
# fdisk disk.img
|
|
# Use the following options in fdisk (Format Disk Tool)
|
|
# We want to create a MBR (NOT GPT) Partition table containing 1 logical disk
|
|
# with a primary FAT16 partition marked bootable
|
|
|
|
#OPTIONs
|
|
|
|
# Create new DOS disklabel
|
|
# o
|
|
# Create new partition
|
|
# n
|
|
# Choose Primary as partition type
|
|
# p
|
|
# hit enter to choose default for the other options
|
|
|
|
# Mark partition 1 as bootable
|
|
# a
|
|
|
|
# Change partition type to FAT16
|
|
# t
|
|
# Choose Partition 1
|
|
# 1
|
|
# Choose HEX 6 for FAT16
|
|
# 6
|
|
|
|
# Sync and write changes to disk
|
|
# w
|
|
|
|
# Create a "block" device from the disk.img
|
|
# losetup /dev/loop9 disk.img
|
|
|
|
# Format the partition on the disk as FAT16
|
|
# mkdosfs -F16 /dev/loop9
|
|
|
|
# Mount the disk to a folder on our dev machine
|
|
# mount /dev/loop9 /mnt
|
|
|
|
# Install the grub bootloader onto the disk
|
|
# grub-install --no-floppy --modules="normal multiboot" /dev/loop9 --target=i386-pc --boot-directory=/mnt/boot --force
|
|
|
|
# copy the necessary OS files
|
|
# cp root/boot/myos.bin /mnt/boot/myos.bin
|
|
# cp root/boot/grub/grub.cfg /mnt/boot/grub/grub.cfg
|
|
|
|
# Unmount the device
|
|
# umount /mnt
|
|
|
|
# Destroy the loop device
|
|
# losetup -d /dev/loop9
|