how do you develop your OS?

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.
User avatar
yemista
Member
Member
Posts: 299
Joined: Fri Dec 26, 2008 12:31 pm
Location: Boston
Contact:

how do you develop your OS?

Post by yemista »

What do most people develop their OS under? Windows or Linux? Why is one better than the other?
User avatar
piranha
Member
Member
Posts: 1391
Joined: Thu Dec 21, 2006 7:42 pm
Location: Unknown. Momentum is pretty certain, however.
Contact:

Re: how do you develop your OS?

Post by piranha »

Semi-off topic - Lets not start a Linux vs. Windows flamewar...

I use Linux, because it requires very little setting up, I'm used to it, I like it better and I'm developing a similar type of kernel.

As to which is better: Use the one you are most comfortable with. (If they are equal, I'd be more towards suggesting Linux, because most functions/programs for OSdev are more easily available, IMHO).

-JL
SeaOS: Adding VT-x, networking, and ARM support
dbittman on IRC, @danielbittman on twitter
https://dbittman.github.io
User avatar
Alboin
Member
Member
Posts: 1466
Joined: Thu Jan 04, 2007 3:29 pm
Location: Noricum and Pannonia

Re: how do you develop your OS?

Post by Alboin »

I'm currently using Arch Linux. Linux just fits my mentality of "if it has no purpose, it shouldn't be there". It's relatively small, natively has all the tools I use, and lets me do whatever I want.
C8H10N4O2 | #446691 | Trust the nodes.
User avatar
neon
Member
Member
Posts: 1567
Joined: Sun Feb 18, 2007 7:28 pm
Contact:

Re: how do you develop your OS?

Post by neon »

I use Windows primarily because I am more experienced with it and visual studio.

Most tutorials and examples for OS development use GCC on Linux that I have seen though. I personally recommend just sticking with whatever you have the most experience with. Both OSs can be used equally well thus there is no "better" OS.
OS Development Series | Wiki | os | ncc
char c[2]={"\x90\xC3"};int main(){void(*f)()=(void(__cdecl*)(void))(void*)&c;f();}
User avatar
01000101
Member
Member
Posts: 1599
Joined: Fri Jun 22, 2007 12:47 pm
Contact:

Re: how do you develop your OS?

Post by 01000101 »

I develop on Ubuntu 8.10 x86_64 using GCC 4.3.2 and NASM 2.03.01.

I like the Linux environment better for development as most of the documentation surrounding OS development is geared towards Linux developers. I wouldn't say my development environment is easier to setup than a similar one in Windows, but I've grown accustom to it. I started development in Windows, but DJGPP was a pain (and outdated) and MinGW never seemed to work right. I game in Windows, but for OS development I stick to Ubuntu.
User avatar
Troy Martin
Member
Member
Posts: 1686
Joined: Fri Apr 18, 2008 4:40 pm
Location: Langley, Vancouver, BC, Canada
Contact:

Re: how do you develop your OS?

Post by Troy Martin »

I develop TBOS on Windows Vista, Visual Studio 2008 as an IDE, with NASM 2.05.01. Can't wait for 2.06!

Anything C,I use Ubuntu 7.10 i686, GCC 4.1.3, NASM 2.05.01. gedit > pico > emacs > vi > ed.
Image
Image
Solar wrote:It keeps stunning me how friendly we - as a community - are towards people who start programming "their first OS" who don't even have a solid understanding of pointers, their compiler, or how a OS is structured.
I wish I could add more tex
JohnnyTheDon
Member
Member
Posts: 524
Joined: Sun Nov 09, 2008 2:55 am
Location: Pennsylvania, USA

Re: how do you develop your OS?

Post by JohnnyTheDon »

I use Linux because it makes some of the things you need to do for OS development easier. Mounting is a good example. To copy my kernel, I can just mount my hard disk image, copy the kernel, and be done with it. Automation is also much simpler on Linux than on Windows because of bash scripts.
gedit > pico > emacs > vi > ed
Definitely. Gedit is better than some of the C/C++ IDEs I've used.
User avatar
yemista
Member
Member
Posts: 299
Joined: Fri Dec 26, 2008 12:31 pm
Location: Boston
Contact:

Re: how do you develop your OS?

Post by yemista »

I wasnt trying to start a flame war, its just that I went through a lot of trouble to get both installed, and I finally did, but now the distro I chose which finally worked does not have gcc or as or ld installed, and I am just trying to figure out if its worth the trouble figuring out how to get them working, or just develop under windows. Are gnu binutils, gcc, and bochs all you really need for a development environment?
User avatar
david
Member
Member
Posts: 93
Joined: Tue Aug 21, 2007 4:22 am
Location: Beijing.China
Contact:

Re: how do you develop your OS?

Post by david »

I think it depends on your ability.

If you have many years experience in linux, you should use GAS、GCC...

If you are familiar with Windows, you'd better to use DOS、MASM、VC...

They are all tools, you can use each tool to develop your own OS.
Just For Fun
User avatar
Firestryke31
Member
Member
Posts: 550
Joined: Sat Nov 29, 2008 1:07 pm
Location: Throw a dart at central Texas
Contact:

Re: how do you develop your OS?

Post by Firestryke31 »

I personally use Windows, MinGW, MSYS, YASM and Programmer's Notepad 2, with Bochs for emulation. The fact that I'm using EXE as my primary executable format definitely makes development easier, though. I mount my HD image using ImDisk Virtual Disk Driver, and have my HD image formatted as FAT32.

So far the only problem I've had with my setup has been the inability to test my partition bootloader due to the fact that Vista doesn't want to see the HD image in diskmgmt.msc and I'm too lazy to try anything else. That and finding info for the various formats I need, but that's what Google is for.
Owner of Fawkes Software.
Wierd Al wrote: You think your Commodore 64 is really neato,
What kind of chip you got in there, a Dorito?
User avatar
negcit.K
Member
Member
Posts: 34
Joined: Fri Dec 07, 2007 9:57 am

Re: how do you develop your OS?

Post by negcit.K »

I chose LINUX just cause everything i needed to develop an OS are well supported. that's save me lots energy :D
User avatar
AJ
Member
Member
Posts: 2646
Joined: Sun Oct 22, 2006 7:01 am
Location: Devon, UK
Contact:

Re: how do you develop your OS?

Post by AJ »

I use Windows (Cygwin with Cross-Compiler, VFD, Eclipse IDE), because it's what I'm good at (I started using DOS 5 and have used every M$ OS since then). I've tried Linux and intend to use it for a media box I'm making, but to be frank I'm too set in my ways to switch to Linux as a main development environment.

Cheers,
Adam
gedd
Member
Member
Posts: 104
Joined: Thu Apr 10, 2008 1:47 am

Re: how do you develop your OS?

Post by gedd »

I use GNU C++ in a cygwin environment with Eclipse CDT IDE on Windows
my gcc is an elf cross compiler and i run virtualbox with a predifined command line in eclipse
I just launch my IDE, modify my code and click "play" to watch result
It's a good way to use GNU environment on windows with a cool IDE
[ Grub 2 | Visual Studio 2013 | PE File ]
The OsDev E.T.
Don't send OsDev MIB !
User avatar
inflater
Member
Member
Posts: 1309
Joined: Thu Sep 28, 2006 10:32 am
Location: Slovakia
Contact:

Re: how do you develop your OS?

Post by inflater »

I use WinXP, FASM and Notepad for OSdeving, plus AThelp and google.com for any docs.
And of course, a batch file to compile and install the OS on a physical floppy disk - in one. :P Makes it very easy to test it on any emulator, no "floppy-image-path" hassle, just A: everywhere or \\.\a: for QEMU and it boots. So I don't have to create floppy images every compile time.
My web site: http://inflater.wz.cz (Slovak)
Derrick operating system: http://derrick.xf.cz (Slovak and English :P)
LoseThos
Member
Member
Posts: 112
Joined: Tue Oct 30, 2007 6:41 pm
Location: Las Vegas, NV USA
Contact:

Re: how do you develop your OS?

Post by LoseThos »

I started with Turbo Assembler and launched from FreeDos because it runs in real mode. Then, I wrote my own 64-bit compiler and assembler. Actually, my operating system is a potential platform to develop yours from. The assembler, however, doesn't have instructions I don't use. The c/c++ language is propriatary, so you'd be stuck with it.
Post Reply