We are building an operating system accompanying a uni lecture.
You need to have the gcc-arm-none-eabi toolchain installed for make to work.
Following packages might have to be installed additionally:
sudo apt install -y libglib2.0-dev libpixman-1-dev gcc-arm-none-eabi
Whatever code should be executed on the system, should be called in the start.c file
before the infinite loop.
- Execute
make allto compile the kernel. - Execute
make runto execute it withqemu. - Execute
make dumpto view the kernel dump.
Using the -nographic flag for qemu by default, the debug serial interface is
forwarded by qemu to the executing console. Thus, you can send characters to the
virtual machine by typing on your keyboard. The console will print whatever is sent by
virtual machine.
One can connect to qemu with gdb to debug the running kernel. There are the two commands
make debug to start the kernel in debug mode and immediately stop. In another terminal
you can start make gdb to start gdb with a config file (./gdbinit) which sets some
breakpoints and sets up the tui layout.