diff options
| author | Nic Gaffney <gaffney_nic@protonmail.com> | 2023-12-10 09:48:53 -0600 |
|---|---|---|
| committer | Nic Gaffney <gaffney_nic@protonmail.com> | 2023-12-10 09:48:53 -0600 |
| commit | 8fcd0cf7d6a2c891422c7101840778043207a60d (patch) | |
| tree | 5527b605fdaee1ad4404bef6418f1a5e34e31d52 /README.md | |
| parent | 87d1e83a0ea5e20e535e3378e57f1fe0e9818a64 (diff) | |
| download | gftos-8fcd0cf7d6a2c891422c7101840778043207a60d.tar.gz | |
Changed to the based ASM syntax and implemented a rudementary GDT
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 30 |
1 files changed, 30 insertions, 0 deletions
@@ -1,3 +1,33 @@ # Basic setup for OSdev These files are well commented and are meant to remind you how to actually develop an OS. read from osdev.org to learn more. +## quickstart +```sh +mkdir -p $HOME/.local/opt +mkdir -p $HOME/.local/opt/cross +mkdir -p $HOME/.local/src +export PREFIX="$HOME/.local/opt/cross" +export TARGET=i686-elf +export PATH="$PREFIX/bin:$PATH" + +cd $HOME/.local/src +mkdir build-binutils +cd build-binutils +curl https://ftp.gnu.org/gnu/binutils/binutils-2.41.tar.xz | tar -xJ +../binutils-2.41/configure --target=$TARGET --prefix="$PREFIX" --with-sysroot --disable-nls --disable-werror +make +make install + +cd $HOME/.local/src +which -- $TARGET-as || echo $TARGET-as is not in the PATH +curl https://ftp.gnu.org/gnu/gcc/gcc-13.2.0/gcc-13.2.0.tar.xz | tar -xJ +mkdir build-gcc +cd build-gcc +../gcc-13.2.0/configure --target=$TARGET --prefix="$PREFIX" --disable-nls --enable-languages=c,c++ --without-headers +make all-gcc +make all-target-libgcc +make install-gcc +make install-target-libgcc + +export PATH="$HOME/.local/opt/cross/bin:$PATH" +``` |
