OSDev.org

The Place to Start for Operating System Developers
It is currently Tue Apr 23, 2024 1:09 pm

All times are UTC - 6 hours




Post new topic Reply to topic  [ 10 posts ] 
Author Message
 Post subject: What toolchain/environment/tools/workflow do you use?
PostPosted: Tue Jul 29, 2014 9:58 am 
Offline
Member
Member

Joined: Fri Jan 04, 2013 6:56 pm
Posts: 98
I bet there have been more of these topics, but I couldn't find them, so I made one again.

I bet most people use the GNU toolchain (GCC, binutils, make, etc...) as the main component of their toolchain, but I'm interested in everything besides that as well.

Currently I use:

Windows 8.1
- Sublime Text 2 (text editor, but I'm having some minor issues with it on windows 8.1 )
- HxD/Fhred/XIV as hex editor
- Nasm (assembler with the option to produce ELFs or flat assembly)
- Bochs (x86 emulator)
- Some binaries to handle the making of the floppy and cd image (bfi.exe, bootcopy.exe and mkisofs.exe)
- I used to use VirtualBox but I'm having major issues with the latest version (shared folders don't work and I have problems with my antivirus software)
- VMware, both to test my kernel and to run Linux Mint

Linux Mint (for the GNU toolchain)
- GNU toolchain
- Geany (text editor, I like it a lot :) )

My workflow is a little inefficient, but hardly as much as you may think. To make changes, I boot up Linux Mint in VMware, make changes in Geany, hit a custom script from it to build my OS, switch to my other screen, run a bat file. Then I usually run in Bochs. All this takes about 5 seconds (but a complete rebuild will take longer, especially if the kernel gets bigger). Developing on Linux would be slightly faster indeed, but I'm too attached to visual studio to and simply too lazy to go use bochs on linux (it works fine like this).


Top
 Profile  
 
 Post subject: Re: What toolchain/environment/tools/workflow do you use?
PostPosted: Tue Jul 29, 2014 11:06 am 
Offline
Member
Member
User avatar

Joined: Mon Jun 05, 2006 11:00 pm
Posts: 2293
Location: USA (and Australia)
My two work computers are:

Windows 7, Visual Studio 2013, QEMU.
Arch Linux, Sublime Text, GCC, QEMU.

Also have a home PC, but it's mostly for gaming.

_________________
My OS is Perception.


Top
 Profile  
 
 Post subject: Re: What toolchain/environment/tools/workflow do you use?
PostPosted: Tue Jul 29, 2014 11:18 am 
Offline
Member
Member
User avatar

Joined: Thu Sep 13, 2012 2:18 pm
Posts: 28
I programming under windows and compiling OS on my home linux server.
Win:
Xamarin Studio with D plugin
HxD
IDA
My own app for debugging OS by COM port.
putty link - for remote connection
VM Player

Linux:
Makefile
DMD v2
NASM
Samba
GCC

_________________
Trinix (written in D) https://github.com/Rikarin/Trinix
Streaming OS development https://www.livecoding.tv/satoshi/


Top
 Profile  
 
 Post subject: Re: What toolchain/environment/tools/workflow do you use?
PostPosted: Tue Jul 29, 2014 11:22 am 
Offline
Member
Member

Joined: Fri Jan 04, 2013 6:56 pm
Posts: 98
Bloodman wrote:
I programming under windows and compiling OS on my home linux server.
Win:
Xamarin Studio with D plugin
HxD
IDA
My own app for debugging OS by COM port.
putty link - for remote connection
VM Player

Linux:
Makefile
DMD v2
NASM
Samba
GCC

Oh, a lot of new programs there for me.


MessiahAndrw wrote:
My two work computers are:

Windows 7, Visual Studio 2013, QEMU.
Arch Linux, Sublime Text, GCC, QEMU.

Also have a home PC, but it's mostly for gaming.

Arch linux is nice! My second choice after Linux Mint :) Also, do you use Visual Studio for OS dev?


Top
 Profile  
 
 Post subject: Re: What toolchain/environment/tools/workflow do you use?
PostPosted: Wed Jul 30, 2014 3:09 am 
kutkloon7 wrote:
do you use Visual Studio for OS dev?

If the OS is a bit non standard, then those widely used tools like GCC are useless. Because my OS is in Java I use:
- Eclipse (under Windows)
- Self made debugger + Qemu
- HxD to copy system image where I want it to be

But withing the tool-chain I have more fine grained components like assembler, compiler and so on. All in Java, of course.


Top
  
 
 Post subject: Re: What toolchain/environment/tools/workflow do you use?
PostPosted: Wed Jul 30, 2014 5:42 am 
Offline
Member
Member

Joined: Sat Mar 01, 2014 2:59 pm
Posts: 1146
I use Linux and I write my code in a standard text-editor (I use XFCE's Mousepad editor; I would use GEdit if only it had support for x86 assembler syntax colouring - I've tried to implement it myself a few times with absolutely no success). I use dd for preparing kernel images and writing to disk - it's good because I can take bits of a kernel from here and there and join them together in the right order and then put it all in the right place on the disk (the byte count and start offset features are very useful to me). I've prepared a couple of scripts to prepare each part of the kernel and then another to make it into a disk image (it calls the sub-scripts for the kernel if required) and then another to do the whole thing and follow it up by writing it to disk. I should use make, but currently my kernel compiles fast enough for me to re-build the whole thing every time something changes, and I've had too many issues where something doesn't work right because make didn't re-compile the required part (usually my fault for not making the makefile properly but it's still a pain).

_________________
When you start writing an OS you do the minimum possible to get the x86 processor in a usable state, then you try to get as far away from it as possible.

Syntax checkup:
Wrong: OS's, IRQ's, zero'ing
Right: OSes, IRQs, zeroing


Top
 Profile  
 
 Post subject: Re: What toolchain/environment/tools/workflow do you use?
PostPosted: Wed Jul 30, 2014 6:37 am 
Offline
Member
Member

Joined: Wed Oct 30, 2013 1:57 pm
Posts: 306
Location: Germany
Mine is pretty standard: clang, yasm, nasm, gcc, gas, Sublime Text 3 Beta, some Makefiles running on my primary machine (Ubuntu 14.04.1 LTS). I'm designing my own programming language right now, but that doesn't need any other tools. I do have Windows installed, but only for CS:GO and not for coding.

_________________
managarm


Top
 Profile  
 
 Post subject: Re: What toolchain/environment/tools/workflow do you use?
PostPosted: Wed Jul 30, 2014 7:34 am 
Offline
Member
Member
User avatar

Joined: Thu Dec 19, 2013 1:40 am
Posts: 100
Location: Asia, Singapore
My computer uses windows 7, and I have Virtualbox with Ubuntu (12.04 LTS) installed (yes, I heard it is bloated so I am planning to switch distros). Whenever I need to run my OS I go back to my windows installation and run Qemu/Bochs (I use a nifty trick which I share files from the host machine). For my windows installation, its more for the commercial apps that is hard to run in Linux, so other than cygwin there isn't much else. In my Ubuntu its installation default except that I have a GCC crosscompiler, and I just use Gedit to code (still much better than Notepad in Windows).

_________________
CookieOS. Want a cookie? Its only black and white for now though, probably as bad as my baking skills.


Top
 Profile  
 
 Post subject: Re: What toolchain/environment/tools/workflow do you use?
PostPosted: Wed Jul 30, 2014 1:55 pm 
Offline
Member
Member
User avatar

Joined: Mon Jun 05, 2006 11:00 pm
Posts: 2293
Location: USA (and Australia)
kutkloon7 wrote:
do you use Visual Studio for OS dev?


Yes. It comes with a C++ compiler that generates optimized machine code just like any other, and I like the IDE, and supports many popular architectures (ARM, EBC, IA64, MIPS, SH4, THUMB, X64, X86).

The caveat is that it only generates PE executables (unlike a cross-compiled GCC that supports COFF,/ ELF, A.Out, flat binaries, etc.), which isn't a big deal since only my kernel is written in C++ (you must find or write a bootloader that handles PE) and my user applications use my own toolchain. If you really hated PE files, I guess you could write a wrapper

I've actually been thinking about switching to the Intel compiler. The main criticism is that Microsoft removed inline assembly from their 64-bit C++ compiler, and this ticked a lot of people off (people who wrote video codecs and hand optimized their code specific to the CPU, and people who wrote JITs and write procedures for thunking into their JITed code).

_________________
My OS is Perception.


Top
 Profile  
 
 Post subject: Re: What toolchain/environment/tools/workflow do you use?
PostPosted: Wed Jul 30, 2014 3:25 pm 
Offline
Member
Member

Joined: Fri Jan 04, 2013 6:56 pm
Posts: 98
MessiahAndrw wrote:
kutkloon7 wrote:
do you use Visual Studio for OS dev?


Yes. It comes with a C++ compiler that generates optimized machine code just like any other, and I like the IDE, and supports many popular architectures (ARM, EBC, IA64, MIPS, SH4, THUMB, X64, X86).

The caveat is that it only generates PE executables (unlike a cross-compiled GCC that supports COFF,/ ELF, A.Out, flat binaries, etc.), which isn't a big deal since only my kernel is written in C++ (you must find or write a bootloader that handles PE) and my user applications use my own toolchain. If you really hated PE files, I guess you could write a wrapper

I've actually been thinking about switching to the Intel compiler. The main criticism is that Microsoft removed inline assembly from their 64-bit C++ compiler, and this ticked a lot of people off (people who wrote video codecs and hand optimized their code specific to the CPU, and people who wrote JITs and write procedures for thunking into their JITed code).


Oh yeah, I just found the ELF executables just a little bit nicer. To be honest, inline assembly seemed really great. Until I could actually use it: I didn't understand it (and I didn't like the AT&T syntax) and ended up writing assembly functions and calling them from C :P


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 10 posts ] 

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 56 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group