Skip to content

We are building an operating system accompanying a uni lecture.

License

Notifications You must be signed in to change notification settings

akriese/shrineOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

betriebssysteme-ws23

We are building an operating system accompanying a uni lecture.

Setup

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

Usage

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 with qemu.
  • Execute make dump to view the kernel dump.

Serial interface

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.

Debugging

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.