1
1
Fork 0
The core of rOSka
Find a file
2025-07-28 06:53:33 +03:00
.gitignore stuff and things 2025-07-28 06:53:33 +03:00
boot.asm stuff and things 2025-07-28 06:53:33 +03:00
README.md stuff and things 2025-07-28 06:53:33 +03:00

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?