bond is a hobby x86-64 kernel
5a3f9e3419
- Refactored linked list interface. - Fixed all test cases and made them standalone instead of within the kernel. |
||
---|---|---|
hal | ||
include | ||
kernel | ||
lib | ||
mk | ||
test | ||
.gitattributes | ||
.gitignore | ||
CMakeLists.txt | ||
LICENSE | ||
Makefile | ||
qemu_bios.bin | ||
qemu.bat | ||
qemugdb | ||
README.md | ||
Rules.top |
Building
Environment
Linux distribution / Bash for Windows.
Required packages
NASM (sudo apt-get install nasm)
GCC cross compiler (see the next section)
GCC cross compiler
Method 1 - Compile from GCC source.
Follow the instructions
Set the "TARGET" to "x86_64-elf" instead of "i686-elf" and build libgcc without redzone.
Method 2 - Precompiled binaries
VERSION: GCC 7.3 + Binutils 2.30
HOST: x86_64-pc-linux-gnu
CONFIGURED WITH: --target=x86_64-elf --disable-nls --enable-languages=c,c++ --without-headers
-
Download "cross.tar.gz" from the Github release page.
-
Run "tar -xvf cross.tar.gz -C $HOME/opt/cross"
Compiling
Run "make" in the root directory.
This will generate secxkrnl.elf (kernel executable) and secxkrnl.dmp (kernel dump).
Run "make clean" to clean a build.
Running
secX requires bootloader secboot.
See secboot repository for more information.