Skip to content

CSE 506: A custom OS kernel built from scratch. Features multi-level paging, preemptive scheduling, multitasking, TAR file system support, and an interactive shell. Ideal for understanding the intricacies of OS design and kernel development. A practical, hands-on approach for learners and system programmers. πŸ–₯οΈπŸ‘¨β€πŸ’»πŸ› οΈ

License

Notifications You must be signed in to change notification settings

sandeepkv93/SBUnix

Folders and files

NameName
Last commit message
Last commit date
Dec 7, 2017
Dec 4, 2017
Dec 6, 2017
Dec 6, 2017
Dec 7, 2017
Dec 7, 2017
Sep 13, 2017
Nov 1, 2017
Aug 27, 2017
Nov 3, 2017
Dec 7, 2017
Sep 9, 2017
Nov 9, 2017

Repository files navigation

* The provided Makefile:
  1) builds a kernel
  2) copies it into rootfs/boot/kernel/kernel
  3) creates an ISO CD image with the rootfs/ contents

* To boot the system in QEMU, run:
qemu-system-x86_64 -curses -drive id=boot,format=raw,file=$USER.img,if=none -drive id=data,format=raw,file=$USER-data.img,if=none -device ahci,id=ahci -device ide-drive,drive=boot,bus=ahci.0 -device ide-drive,drive=data,bus=ahci.1 -gdb tcp::9999

Explanation of parameters:
  -curses         use a text console (omit this to use default SDL/VNC console)
  -drive ...      connect a CD-ROM or hard drive with corresponding image
  -device ...     configure an AHCI controller for the boot and data disks
  -gdb tcp::9999  listen for "remote" debugging connections on port NNNN
  -S              wait for GDB to connect at startup
  -no-reboot      prevent reboot when OS crashes

* When using the -curses mode, switch to the qemu> console with ESC-2.

* To connect a remote debugger to the running qemu VM, from a different window:
gdb ./kernel

At the (gdb) prompt, connect with:
target remote localhost:9999

About

CSE 506: A custom OS kernel built from scratch. Features multi-level paging, preemptive scheduling, multitasking, TAR file system support, and an interactive shell. Ideal for understanding the intricacies of OS design and kernel development. A practical, hands-on approach for learners and system programmers. πŸ–₯οΈπŸ‘¨β€πŸ’»πŸ› οΈ

Topics

Resources

License

Stars

Watchers

Forks