The core of rOSka
.gitignore | ||
boot.asm | ||
README.md |
rOSka
Compile with fasm boot.asm
Reguirements
Pentium or newer should have all the bells and whistles needed.
In case you want all the details:
- 32bit 80386 or newer CPU
- VGA compatible graphics adapter (640x480 graphics mode with 16 colours and a text mode)
- BIOS (or CSM, can't take anything granted these days...)
- RAM as I'm sure I'll just yank hard coded assumptions here and there Like 1MB should be enough for now
- Hard disk access requires extended BIOS support (i486 CPU?) Youknow, we support big disk like here in modern times.
- Floppies can't usually be accessed with extended calls, too bad. As a workaround get USB or something and chainload with PLOP bootmgr if direct USB boot is unavailable. Might make a floppy image at some point.
Preparing a bootable disk
- We use standard MBR, even on a floppy. Eat shit MSLosdows.
- We use partition 1 as our partition. This is ext2. Again, deal with it.
So make a new partition table, partition it, and format it on Lunix. Or Losdows, but there you're on your own!
!!! WARNING This will wipe the entire drive Replace /dev/sdX accordingly and triplecheck
sudo parted -s /dev/sdX mklabel msdos
sudo parted -s /dev/sdX mkpart primary ext2 0 100% --align cylinder
sudo mkfs.ext2 -L rOSka /dev/sdX1
Now put the thinking part to the MBR preserving partitiontable
sudo dd bs=1 count=446 if=boot.bin of=/dev/sdX conv=notrunc
And wow, you have a disk with a filesystem that boots the fancy loader
TODO: set bootable flag in fdisk and use VBR instead of MBR?