Skip to content
Mathew Kurian edited this page Apr 17, 2015 · 15 revisions

Welcome to the course_os wiki!

Building CourseOS

Issues For Ubuntu Users

  • Install zlib package. Run sudo apt-get install zlib1g-dev.
  • Install libncurses5 package. Run sudo apt-get install libncurses5-dev.
  • Install texinfo package. Run sudo apt-get install texinfo.
  • Install glib. Information can be found here.

Building the toolchain

cd toolchain && ./build.sh

Building u-boot

cd u-boot && make

Building the kernel

cd kernel && make

Building hello

cd user/libc && make

cd user/hello && make

Running CourseOS

cd kernel && make run

VersatilePB # bootm 0x24DB0

(offset might change. Use printf "bootm 0x%X\n" $(expr $(stat -c%s ../u-boot/u-boot-2010.03/u-boot.bin) + 65536) to calculate.)

Some useful resources

ARM instruction reference

CPU used in the RPi: ARM1176 Processor ARMv6 architecture.

ARM Reference Manual

ARM Procedure Call Standard

The board we simulate with qemu: Versatile PB

QEMU's memory map for Versatile PB: versatilepb.c