boot | ||
external | ||
programs | ||
src | ||
.gitignore | ||
.gitmodules | ||
build.sh | ||
debug.gdb | ||
hello.txt | ||
Makefile | ||
README.md |
Ideas
- Add kassert/kassertmsg
- Fat16 writeable
- Other FS?
- Unit testing
- Add ability for processes to map graphics mem?
- Some sort of process accounting
- TTY/serial support
- mmap
- Virtual memory
- keyboard support for shift key!
- Better error handling
- autotools?
Build Requirements (ubuntu)
- nasm
- qemu-system
Tooling
Install Pre-reqs (ubuntu)
- build-essential
- bison
- flex
- libgmp3-dev
- libmpc-dev
- libmpfr-dev
- texinfo
- libisl-dev
Download and build binutils and gcc
binutils
- Latest binutils from: https://ftp.gnu.org/gnu/binutils/
./configure --target=i686-elf --prefix=~/cross --with-sysroot --disable-nls --disable-werror
make
make install
gcc
- Latest gcc from: https://ftp.gnu.org/gnu/gcc/
./configure --target=i686-elf --prefix=~/cross --disable-nls --enable-languages=c,c++ --without-headers
make all-gcc
make all-target-libgcc
make install-gcc
make install-target-libgcc