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 all
to compile the kernel. - Execute
make run
to execute it withqemu
. - Execute
make dump
to 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.