Page 1 of 1
WinXP and OSDev, easy?
Posted: Fri Oct 26, 2007 6:29 pm
by kkitsune
Hi all! First post on this superb forum!
Almost a mounth ago, I started to "osdev" with all the prerequisite :
+4 years of C/C++ plus 1 of C#
+1 Total year of Linux
+Some projects in NASM
Now, I'm on Windows XP and try to make my own VERY SIMPLE OS. Started by reading the Wiki, then getting Cygwin. I made some "Hello World" boot all in asm.
Enough of history, now the problem : is it possible to "osdev" on Win32 as easy as on Linux? Without a cross-compiler (unabl to build one)? Using MSVS2005?
Yeah, lots of questions...Thanks in advance for the answers!
Dan
Posted: Fri Oct 26, 2007 6:38 pm
by Alboin
It depends on what you like best. There is no 'easier' platform. Some use Windows, because they're very familiar with it, or they simply like using it and it's tools. (eg. Visual Studio, etc.) I, on the other hand, use Linux, because I find that it's easier to program on, along with a few other things. (Security, stability, etc.)
That's just my opinion, mind you, so please don't start a war over which is better.
Posted: Fri Oct 26, 2007 8:02 pm
by kkitsune
I don't meant to hurt any Linux nor Windows users! I want to know what is the best way to "osdev" under windows. Using MinGW, Cygwin or DJGPP? With or without cross-compiler? Can I use EASILY VS2005?
Posted: Fri Oct 26, 2007 8:31 pm
by Alboin
kkitsune wrote:I don't meant to hurt any Linux nor Windows users! I want to know what is the best way to "osdev" under windows. Using MinGW, Cygwin or DJGPP? With or without cross-compiler? Can I use EASILY VS2005?
If you're going to use GCC, then Cygwin is recommended the most. However, there is also a wiki page on using MSVC. It's your call really. If you want to go with the pack, however, GCC is probably by far the most used.
Posted: Fri Oct 26, 2007 9:11 pm
by AndrewAPrice
Of course you can. On the compiler side I use Cygwin/GCC with a i586-elf cross compiler. On the IDE side I use Visual Studio 2005 (you can create a 'makefile project', set the command line to call a batch file, which calls a shell script through Cygwin's bash, which calls make/gcc/ld/image-tools/etc, and set your emulator as the debugger).
Posted: Sat Oct 27, 2007 12:31 am
by neon
I personally just have my bootloader load and execute my kernel written in MSVC++ 2005.
THIS series covers both, in case you are interested. I dont use script files nor cygwin--Just nasm and MSVC++.
Im currently in the process of fixing it up, so please forgive me for any broken images and links
There are no technically "best" IDE, or way to develop under Windows. You would need to decide for yourself; all methods have their pros and cons.
Posted: Tue Oct 30, 2007 11:58 am
by LordMage
I have been deving my OS using Neon's tutorials with MSVC++ and nasm. The tutorials work great are are fairly in depth and easy to read. I have reached a point where his tutorials drop off and I have had to start thinking for myself. I will say that if you are expecting a great amount of help on this forum it would certainly be easier to use some manifestation of GCC either use linux or cygwin. As far as coding and testing using VC++ and NASM is very easy the hardest part that I have had to figure out just recently was using NASM compiled obj files in my C++ kernel and once I figured that out everything has started to click in place. It has taken me a month to figure out how to do it though. So expect a few stumbling blocks. Which ever method you choose keep trucking when you run into a brick wall. happy dev'ing
Re: WinXP and OSDev, easy?
Posted: Wed Oct 31, 2007 3:22 am
by Solar
kkitsune wrote:Enough of history, now the problem : is it possible to "osdev" on Win32 as easy as on Linux? Without a cross-compiler (unabl to build one)?
Trust me when I say that following the tutorial in the Wiki
precisely, it
does work. We have been through this a couple of dozen times. Read the
whole tutorial, including the fine print and the troubleshooting section. It is usually a small, rather stupid mistake you will probably laugh about once you've found it. (Using binutils 2.9.x instead of a current package, not using a seperate build-binutils / build-gcc directory, not giving the command options recommended in the tutorial, not setting PATH correctly, or a Cygwin installation borked by earlier attempts are the favourites.)
Personally, I strongly suggest Cygwin / GCC over MSVC++, if simply because it will allow the Linuxers here to reproduce any problems you might encounter further down the road, and helping you with them (or even joining your project). If you want the MSVC++ front-end, I'd suggest you bold it on a GCC / GNU make backend instead of using the MS compiler, for the same reason.
Posted: Fri Nov 02, 2007 12:16 pm
by frank
I dev in Windows Vista with Cygwin and a cross compiler set up for ELF targets. I also use FASM as my assembler. I have no toolchain related problems since the switch to Cygwin so I can say that development in XP is basically as easy as on any other platform. The only problems I have found is that you cannot (I think) create a loopback device in Cygwin so sometimes its a little difficult to get the kernel onto the disk. But once you find the right tools it gets a whole lot easier.