slightly o-t, looking for os help

Doug Sutherland doug at
Tue Feb 6 22:33:21 EST 2007

If you are building an os for fun, it might be good to use
an emulator rather than physical hardware. There are
many around for example bochs will emulate the x86
hardware, and there are others for ARM and countless
other architectures.

On x86 the BIOS will expect a bootloader in a the first
sector of the first fixed drive. Then it does a bootloader
chain from there to other bootloaders (ie linux lilo can
boot initially then point to ntloader which loads windows).
You have source available for various x86 bootloaders
like lilo, grub, etc to peruse.

On embedded systems there is fixed flash hardware
and you can look at the source for u-boot, redboot,
and many others.

If you have not tried the linuxfromscratch exercise,
that is very interesting, especially to understand how
linux and the whole GNU toolchain works.

The way toolchains work for embedded is very much
like the linuxfromscratch, except building smaller
using tiny libraries (uclibc, newlib etc) and tiny
executables (busybox and the like) and building for
a different target architecture. There is something
called crosstool to assist in building toolchains for
different architectures. If its all for fun you could
for example build an ARM toolchain and load onto
virtual hardware (emulator) and it would be just
like loading onto a PDA or phone.

Just playing with linuxfromscratch can keep one busy
for some time, getting into cross development tools
can keep one busy for a very long time. Building your
own OS from scratch, perhaps you should get someone
to slide pizza under the door every once in a while :)

  -- Doug

More information about the Speakup mailing list