I've just made my own OS in NASM. How would I expand it?

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
andrewthompson555
Member
Member
Posts: 27
Joined: Thu Oct 13, 2016 2:07 pm

I've just made my own OS in NASM. How would I expand it?

Post by andrewthompson555 »

Hello.

I've just made my own operating system in Assembly using NASM. It prints strings with color, waits for a key, warm boots and cold boots. I've done this using my knowledge. How would I make it a bootable ISO so that I don't need a floppy? I'm not looking for CD emulation. I want something that can load my bootloader with more than 1.44MB space.

I would like both my questions answered please. I don't want answers saying "You could start playing with MINIX 0.01 source code" or "Check out the MikeOS tutorial". I want to actually know what it does.

Please help me out with expanding my OS as well. I want to have filesystem support and learn more about how to load kernels and programs. I want to make a shell with a few basic commands.

Thank you
Andrew.
Octocontrabass
Member
Member
Posts: 5587
Joined: Mon Mar 25, 2013 7:01 pm

Re: I've just made my own OS in NASM. How would I expand it?

Post by Octocontrabass »

andrewthompson555 wrote:How would I make it a bootable ISO so that I don't need a floppy?
Booting from CD is covered by the El Torito specification.
andrewthompson555 wrote:I want to have filesystem support
This might be a good place to start.
andrewthompson555 wrote:and learn more about how to load kernels and programs.
Programs are typically object files. Your kernel may also be an object file, but the only thing that has to load your kernel is your bootloader, so you may decide to use something else.
TheDev100
Member
Member
Posts: 27
Joined: Wed Jan 11, 2017 3:29 pm

Re: I've just made my own OS in NASM. How would I expand it?

Post by TheDev100 »

You should start by learning INT 13h. That's what I'm trying to do right now. Try learning more about interrupts and filesystem. Which one do you want? FAT12? FAT16? FAT32? To load a program, you need filesystem support. By the way, I don't suggest an ISO unless you want to use it as a setup (installation for your OS). Right now, you need to focus on just booting with a floppy image.

Like Octocontrabass has said, you should look at the guides on the OSDev Wiki.

That's my largest suggestion. I agree with Octocontrabass.
Post Reply