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.
dosfan
Member
Member
Posts: 65
Joined: Tue Oct 14, 2008 1:18 pm
Location: Scotland

Re: how do you develop your OS?

Post by dosfan »

I do all my coding now on a Toshiba NB100 netbook running XP :)

I use Visual Studio as a text editor only and compile under cygwin with a cross compiler. I Test under bochs/qemu primarily.

It's a bit of a pain to get binaries into my OS's hardisk images. I copy it over to my Ubuntu box, mount a loopback device, copy the file in and then copy the image back all with SMB shares and putty.
All your base are belong to us.
User avatar
DerekDouglas
Posts: 16
Joined: Thu Sep 27, 2007 8:05 pm
Location: Ontario, Canada
Contact:

Re: how do you develop your OS?

Post by DerekDouglas »

I use Vista Ultimate on my desktop and XP on my lappy, both running Netbeans 6.5 and Cygwin.
quok
Member
Member
Posts: 490
Joined: Wed Oct 18, 2006 10:43 pm
Location: Kansas City, KS, USA

Re: how do you develop your OS?

Post by quok »

I require a UNIX environment for building my OS. I do most of my development work on Mac OS X these days. I love XCode and use that as my IDE (or sometimes just use Smultron for light-duty coding), but the build system is based on "traditional" makefiles. This allows anyone else that wants to work on my OS to develop on Windows or Linux or whatever, using whatever IDE they want, as long as they follow my project's Coding Standards and have a GNU toolchain. :)

I put traditional in quotes because my makefiles are dynamically generated via templates. It's a lot like using autotools, except it's not autotools and there is no configure step. It is all done in make syntax, without using a recursive make once the build is started. I call my build system "QBuild" for lack of something better. It is also capable of making use of distcc and ccache if needed, but that functionality is all commented out as my code builds in only a few seconds anyway.

To make things a bit easier and more sane, I also require a specific version of GCC and binutils for a cross compiler that is targetted to my OS. I provide explicit instructions and patches for building it, along with a script that'll do it for you. The script works on OS X, Cygwin, Linux, and last I checked, OpenBSD.

All ASM code in my kernel is done in AT&T syntax, and compiled with GNU as.

For coding, on Linux machines I primarily use Kate. On Windows (on the super odd occasion I do something there), Cygwin is required, and I'll use Nedit to code. I've already covered OSX, but on any machine I'll fall back to vim for quick one-offs or if there's nothing else available.

To get around most issues with creating images for testing, I just create ISO images with the help of mkisofs. That requires using macports on OSX, so I'll probably change things to detect building on OSX and run hdiutil there instead.

Speaking of testing, most of my testing is done on Qemu, but once I get something working there I test on as much real hardware as I can get my hands on.
User avatar
Dex
Member
Member
Posts: 1444
Joined: Fri Jan 27, 2006 12:00 am
Contact:

Re: how do you develop your OS?

Post by Dex »

I develop my OS on my own OS, using a fasm port to assemble it, a self coded (as in coded by Team DexOS) IDE to write the code, i can then test it from DexOS its self, no swoping disk or rebooting problems.
clange
Member
Member
Posts: 163
Joined: Sun Oct 05, 2008 5:00 am
Location: Copenhagen, Denmark
Contact:

Re: how do you develop your OS?

Post by clange »

I develop under Windows XP. I use Cygwin to get access to gcc, ld, make, etc. I use Eclipse as an IDE. Bochs and VMware Server for testing. Subversion for revision control. Ant for building (besides make). I use VDK to mount disk images. Ant of course a handful of batch scripts to tie things together.

But sometimes I wished I developed under Linux instead as some of the tools and work flows are overly complex in Windows. But I am more used to Windows as that is what I use at work at the moment and the differences are not that big in my opinion - it is mainly a question of taste and habit.

I have written a bit about the tools I use at my OS homepage http://softwarewizard.dk/mojo/index.php?page=resources.

clange
User avatar
Love4Boobies
Member
Member
Posts: 2111
Joined: Fri Mar 07, 2008 5:36 pm
Location: Bucharest, Romania

Re: how do you develop your OS?

Post by Love4Boobies »

Windows Vista SP1, MinGW, NASM, Bochs.
"Computers in the future may weigh no more than 1.5 tons.", Popular Mechanics (1949)
[ Project UDI ]
User avatar
goku
Member
Member
Posts: 29
Joined: Sat Oct 25, 2008 11:32 am
Location: until we meet again!!

Re: how do you develop your OS?

Post by goku »

I use Ubuntu 8.10 with gcc and nasm for development and gedit text editor and bochs for emulation. I started with Vista but took me alot of time to just setup the environment tools so switched to Linux and now only use Windows for games only. Rest all my work is on Linux since all the tools either come preinstalled or are available from online repositories.
For me its all LINUX :D
eddyb
Member
Member
Posts: 248
Joined: Fri Aug 01, 2008 7:52 am

Re: how do you develop your OS?

Post by eddyb »

openSuSE 11 + Kdevelop + GCC + Binutils. I have also a dead Vista(Cygwin + KDE4 for windows) and an Ubuntu (just for seeing how it looks :P) on my box.
Post Reply