aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorNic Gaffney <gaffney_nic@protonmail.com>2023-12-10 09:48:53 -0600
committerNic Gaffney <gaffney_nic@protonmail.com>2023-12-10 09:48:53 -0600
commit8fcd0cf7d6a2c891422c7101840778043207a60d (patch)
tree5527b605fdaee1ad4404bef6418f1a5e34e31d52 /README.md
parent87d1e83a0ea5e20e535e3378e57f1fe0e9818a64 (diff)
downloadgftos-8fcd0cf7d6a2c891422c7101840778043207a60d.tar.gz
Changed to the based ASM syntax and implemented a rudementary GDT
Diffstat (limited to 'README.md')
-rw-r--r--README.md30
1 files changed, 30 insertions, 0 deletions
diff --git a/README.md b/README.md
index bbc4689..f3d7d49 100644
--- a/README.md
+++ b/README.md
@@ -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"
+```