Update README.md

This commit is contained in:
secXsQuared 2018-02-16 23:44:48 -05:00 committed by GitHub
parent 779af0e981
commit 7a297165fc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -5,19 +5,17 @@ My Hobby x86-64 OS kernel.
Any Linux distribution / Bash for Windows + GCC cross compiler. Any Linux distribution / Bash for Windows + GCC cross compiler.
### Required packages ### Required packages
To compile the kernel, the following modules are required on linux system, please install these: Please use "sudo apt-get install" to install these:
nasm, xorriso, grub-common, grub-pc-bin nasm, xorriso, binutils-mingw-w64, gcc-mingw-w64, mtools
### Cross-compiler ### Cross-compiler
##### Method 1 - Compile one yourself. ##### Method 1 - Compile yourself.
Just follow the instructions here: https://wiki.osdev.org/GCC_Cross-Compiler Just follow the instructions here: https://wiki.osdev.org/GCC_Cross-Compiler
Remember to set the "TARGET" to x86_64-elf instead of i686-elf and build libgcc without redzone https://wiki.osdev.org/Libgcc_without_red_zone. Remember to set the "TARGET" to x86_64-elf instead of i686-elf and build libgcc without redzone https://wiki.osdev.org/Libgcc_without_red_zone.
##### Method 2 - Precompiled binaries ##### Method 2 - Precompiled binaries
Here is my precompiled cross compiler. Feel free to use it.
VERSION: GCC 7.3 + Binutils 2.30 VERSION: GCC 7.3 + Binutils 2.30
HOST: x86_64-pc-linux-gnu HOST: x86_64-pc-linux-gnu
@ -25,7 +23,7 @@ HOST: x86_64-pc-linux-gnu
CONFIGURED WITH: --target=x86_64-elf --disable-nls --enable-languages=c,c++ --without-headers CONFIGURED WITH: --target=x86_64-elf --disable-nls --enable-languages=c,c++ --without-headers
1. Download "cross.tar.gz" from the release page. 1. Download "cross.tar.gz" from the Github release page.
2. Run "tar -xvf cross.tar.gz -C $HOME/opt/cross" 2. Run "tar -xvf cross.tar.gz -C $HOME/opt/cross"
@ -36,8 +34,3 @@ Run "make all" in the root directory
The makefile generates secxkrnl.iso (kernel image), secxkrnl.elf(kernel executable), secxkrnl.dmp(kernel disassembly) at the end. The makefile generates secxkrnl.iso (kernel image), secxkrnl.elf(kernel executable), secxkrnl.dmp(kernel disassembly) at the end.
To clean all generated files, run "make clean" To clean all generated files, run "make clean"
# Running
On windows run "qemu.bat"
On linux run "./qemu.bat"