Update README.md
This commit is contained in:
parent
8a7b8d485e
commit
4637a72136
12
README.md
12
README.md
@ -1,20 +1,20 @@
|
|||||||
My Hobby x86-64 OS kernel.
|
My Hobby x86-64 OS kernel.
|
||||||
|
|
||||||
# Building
|
# Building
|
||||||
## Environment
|
### Environment
|
||||||
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:
|
To compile the kernel, the following modules are required on linux system, please install these:
|
||||||
|
|
||||||
nasm, xorriso, grub-common, grub-pc-bin
|
nasm, xorriso, grub-common, grub-pc-bin
|
||||||
|
|
||||||
## Cross-compiler
|
### Cross-compiler
|
||||||
### Method 1 - Compile one yourself.
|
##### Method 1 - Compile one 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.
|
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
|
||||||
@ -24,7 +24,7 @@ CONFIGURED WITH: --target=x86_64-elf --disable-nls --enable-languages=c,c++ --wi
|
|||||||
|
|
||||||
2. Run "tar -xvf cross.tar.gz -C $HOME/opt/cross"
|
2. Run "tar -xvf cross.tar.gz -C $HOME/opt/cross"
|
||||||
|
|
||||||
## Compiling
|
### Compiling
|
||||||
Run "make all" in the root directory
|
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.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user