Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Implementing an operating system isn't that different between the main CPU architectures. I think mcpherrinm was just saying that you have to do a lot less work than for x86, for example, in order to get a minimum of functionality.

Unfortunately I don't know of any guides on implementing a toy OS on ARM. The operating systems course I've taken was a decent starting point, but it mostly deals with theory: [0].

There's also a first year ARM architecture course: [1]

Another course I've taken was about ASM programming on ARM, plus programming some simple hardware[2].

I'm not sure how useful are those materials for someone not taking the courses, but they might offer a list of things to look up somewhere else. Wikipedia actually has some good background theory.

Finally, you might look over the ARM port of EDK2[3]. EDK2 is a BSD-licensed implementation of UEFI[4]. It implements a lot of the functionality of a regular operating system, with the notable exception of multithreading. I find the source code of EDK2 to be easier to understand than the source of the Linux kernel. Probably because it is a lot more lightweight. You can run it on BealgeBoard, by the way. I'd say it's alpha quality software at the moment, so you might get some weird bugs.

Disclaimer: I'm a CS student at Manchester University and I work on EDK2.

0: http://www.cs.manchester.ac.uk/ugt/2010/COMP25111/

1: http://www.cs.manchester.ac.uk/ugt/2010/COMP15111/

2: http://www.cs.manchester.ac.uk/ugt/2010/COMP22712/

3: http://sourceforge.net/apps/mediawiki/tianocore/index.php?ti...

4: http://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Int...



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: