From efb06deb60c9fcbcdba05d079abc2db319105535 Mon Sep 17 00:00:00 2001 From: sbosse Date: Wed, 16 Oct 2024 14:42:26 +0200 Subject: [PATCH] Update README.md --- README.md | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 104 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index da1512b..040a44b 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,105 @@ -# basekernel -Basekernel for Edcucation \ No newline at end of file + + +# The Basekernel Operating System Kernel + +Simple Operating System for Education + +Original source: https://github.com/dthain/basekernel + +Basekernel is a simple operating system kernel for research, teaching, and fun. + +Basekernel is *not* a complete operating system, but it is a starting +point for those who wish to study and develop new operating system code. +If you want to build something *different* than Windows, Linux, or Multics, +Basekernel may be a good place to try out your new ideas. + +Basekernel can boot an Intel PC-compatible virtual machine in 32-bit protected +mode, with support for VESA framebuffer graphics, ATA hard disks, ATAPI optical +devices, process management, memory protection, simple graphics, and basic filesystem. +From there, it's your job to write user-level programs and expand the system. + +To be clear, this is raw low-level code, not a production system. +If you want to hack code and learn about operating system, you will like Basekernel. +If you are looking for a new OS to run on your laptop, then this is not what you want. + +This project is led by Prof. Douglas Thain at the University of Notre Dame. +A variety of students have contributed to the code, including +Jack Mazanec, Douglas Smith, Ethan Williams, Jon Westhoff, and Kevin Wern. + +To learn more, see the [Basekernel Wiki](https://github.com/dthain/basekernel/wiki). + +## Quick VM86 + + ../../dist/webv86/web/vm86.html + + +cd ../../dist/webv86/web/ + vm86.html + + +VM86 Set-up is redirected to basekernel.iso in this folder. + +## Elf GCC Crosstools + +1. http://edu-9.de/uploads/software/gcc-elf-cross/i686-elf-tools-linux.zip +2. http://edu-9.de/uploads/software/gcc-elf-cross/i686-elf-tools-windows.zip +3. http://edu-9.de/uploads/software/gcc-elf-cross/make-3.81-bin.zip +4. http://edu-9.de/uploads/software/gcc-elf-cross/make-3.81-dep.zip + +> Windows host (development) OS requires 2-4 + + +## Quick Start Instructions + +If you are building on a Linux-X86 machine +and have the QEMU virtual machine installed: + +``` +git clone https://github.com/dthain/basekernel +cd basekernel +make +qemu-system-i386 -cdrom basekernel.iso +``` + +And you should see something like this: + + + +After some initial boot messages, you will see the kernel shell prompt. +This allows you to take some simple actions before running the first +user level program. To automatically boot the first available filesystem, +whether on cdrom or harddisk, run automount: + +
+automount
+
+ +Then use the list command to examine the root directory: + +
+list /
+
+ +And use the run command to run a program. +For example, /bin/manager.exe runs a simple +four-pane window manager with several tasks in parallel. +(Use TAB to switch focus between programs, and tilde +to cancel out of the window manager.) + +
+run /bin/manager.exe
+
+ + + +Press TAB to change the focus between windows, +and you can interact with each process in turn. + +## Cross-Compiling Instructions + +If you are building on any other type of machine, +you will probably need to build a cross-compiler +using `build-cross-compiler.sh` and then edit +`Makefile.config` to use the cross compiler binaries, +then execute `make` to create `basekernel.iso` \ No newline at end of file