Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Writing an operating system for arm architecture [closed]

How do I get started writing an operating system that runs on the arm architecture? I want to write a bootloader if possible and my own kernel. Can anyone help me get started?

like image 857
Tuliptree Software Avatar asked Sep 19 '25 09:09

Tuliptree Software


1 Answers

I'd start by familiarising yourself with what is already out there - Linux is a good start. Look at the bootloaders used in the distributions on the rPi - what is used in Debian Squeeze for example, uBoot and BareBox. Another option is CFE - which is under BSD license and good during debugging/early development.

Another thing is to look at the ucLinux and ucLibC systems, along with buildroot and OpenWRT - all designed to squeeze it onto a small system.

Of course - building your own kernel - you are going to want to go far deeper - and spend time understanding MMU's, process management/multitasking, interrupts and so on. A good background in programming microcontrollers, a knowledge of assembler language and CPU/SOC architecture would be essential. With the ARM family - you'll want to know the various instruction sets supported, and which chips have features like MMU's, FPU's and similar.

Good luck - it sounds like an interesting project.

like image 119
Danny Staple Avatar answered Sep 22 '25 11:09

Danny Staple