os
Go to file
2023-01-15 19:47:00 -05:00
boot Kernel Makefile refactoring 2022-12-19 23:55:10 -05:00
external Update fatcopy commit 2022-12-23 09:34:18 -05:00
programs Begin adding support for Bochs VGA Adapter, some PCI device support 2023-01-09 00:30:50 -05:00
src minor bug in process that could leak a kernel allocation when handling an error 2023-01-15 19:47:00 -05:00
.gitignore Use fatcopy instead of mounted filesystem to copy in binaries to OS image 2022-12-23 09:28:39 -05:00
.gitmodules Use fatcopy instead of mounted filesystem to copy in binaries to OS image 2022-12-23 09:28:39 -05:00
build.sh booting into c code working 2022-11-18 21:27:35 -05:00
debug.gdb Add fread for VFS layer and fat16, add gdb script to launch qemu and load symbols 2022-11-24 19:59:47 -05:00
hello.txt Add some filesystem support + fat16 fopen 2022-11-24 05:09:59 -05:00
Makefile Begin framebuffer abstraction, add BGA driver 2023-01-15 01:26:19 -05:00
README.md Code formatting cleanup... 2023-01-04 22:37:08 -05:00

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