32_bit_os/README.md
2023-01-04 22:37:08 -05:00

58 lines
1013 B
Markdown

# 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/
```shell
./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/
```shell
./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
```