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.
how do you develop your OS?
Re: how do you develop your OS?
All your base are belong to us.
- DerekDouglas
- Posts: 16
- Joined: Thu Sep 27, 2007 8:05 pm
- Location: Ontario, Canada
- Contact:
Re: how do you develop your OS?
I use Vista Ultimate on my desktop and XP on my lappy, both running Netbeans 6.5 and Cygwin.
Re: how do you develop your OS?
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.
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.
Re: how do you develop your OS?
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.
Re: how do you develop your OS?
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
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
- Love4Boobies
- Member
- Posts: 2111
- Joined: Fri Mar 07, 2008 5:36 pm
- Location: Bucharest, Romania
Re: how do you develop your OS?
Windows Vista SP1, MinGW, NASM, Bochs.
"Computers in the future may weigh no more than 1.5 tons.", Popular Mechanics (1949)
[ Project UDI ]
[ Project UDI ]
Re: how do you develop your OS?
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
For me its all LINUX
Re: how do you develop your OS?
openSuSE 11 + Kdevelop + GCC + Binutils. I have also a dead Vista(Cygwin + KDE4 for windows) and an Ubuntu (just for seeing how it looks ) on my box.