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

1013 B

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

./configure --target=i686-elf --prefix=~/cross --with-sysroot --disable-nls --disable-werror
make
make install

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