https://github.com/property404/shrek
A 32-bit ARM kernel
https://github.com/property404/shrek
Last synced: about 1 year ago
JSON representation
A 32-bit ARM kernel
- Host: GitHub
- URL: https://github.com/property404/shrek
- Owner: Property404
- Created: 2021-08-08T20:05:07.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2021-11-06T11:28:24.000Z (over 4 years ago)
- Last Synced: 2025-02-02T11:41:43.233Z (over 1 year ago)
- Language: C++
- Size: 165 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Shrek
A kernel for ARMv7. This is very much a work in progress. No user space yet!
## Building
```bash
# Choose whichever armv7 triple you want
export CROSS_COMPILE=arm-none-eabi-
make
```
## Running on Qemu
```bash
make pi # Test on QEMU's Raspberry Pi 2 vm
make virt # Test on QEMU's "virt" machine
make vexpress # Test on QEMU's vexpress-a15
```
## Debugging
You can append `-debug` to a QEMU target.
Note that the following can only be used to debug AFTER paging has been set up.
```bash
make pi-debug
# In another terminal
arm-none-eabi-gdb kernel.elf
> target remote localhost:1234
```
## Running unit tests
You can append `-test` after a QEMU target:
```bash
make pi-test
```
And you can lint with:
```bash
make lint
```
## Configuration
You can edit the definitions in `config.h`. This is
ignored by git, so you don't have to worry about
accidentally committing those changes.
## License
GPLv2, as some code from U-Boot is used.