diff options
| author | Nic Gaffney <gaffney_nic@protonmail.com> | 2024-02-23 01:55:14 -0600 |
|---|---|---|
| committer | Nic Gaffney <gaffney_nic@protonmail.com> | 2024-02-23 01:55:14 -0600 |
| commit | f8e7cb9034dac5e9834cd385251a57fb853d8998 (patch) | |
| tree | b2745da16f4c5e72701bb53928fc2f92341ebcff /README.md | |
| parent | a265979640a6b2bf20592c96ae1910b7dc93809a (diff) | |
| download | gftos-f8e7cb9034dac5e9834cd385251a57fb853d8998.tar.gz | |
Updated README to list dependencies
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 54 |
1 files changed, 25 insertions, 29 deletions
@@ -1,35 +1,31 @@ # 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 -curl https://ftp.gnu.org/gnu/binutils/binutils-2.41.tar.xz | tar -xJ -mkdir build-binutils -cd build-binutils -../binutils-2.41/configure --target=$TARGET --prefix="$PREFIX" --with-sysroot --disable-nls --disable-werror -make -make install - -cd $HOME/.local/src -command -v -- $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 +## Requirements +- git +- make +- tar +- xz +- curl +- C compiler (preferrably gcc) +- texinfo +- gmp +- mpfr +- libmpc +- nasm +- xorriso +- mtools +- qemu (to run) +- bochs (for testing) -export PATH="$HOME/.local/opt/cross/bin:$PATH" +## Install dependencies +Void: +```sh +$ xbps-install git make tar xz curl gcc texinfo gmp mpfr libmpc nasm xorriso mtools ``` -You can also run `./configure.sh`, which contains the above commands. +## Configure and build +```sh +$ ./configure.sh +$ make +``` |
