Skip to content

dustindorroh/rhythmos

Repository files navigation

RhythmOS README

*** CONFIGURE ***
From the top level project directory execute the configure script.

$ ./configure

Install any missing programs that configure recommends.  Build After
configure has run a Makefile will be generated. From the top level
project directory run make.

$ make

*** RUNNING ***
If you just want to run it and don’t care how it does it then type:

$ make run

Rhythmos can be simulated with QEMU a couple of different ways:

1. Using QEMU as the bootloader. Pass QEMU the built kernel image
   src/kernel.img and the file system image src/filesystem.img.

   $ qemu-system-i386  -kernel src/kernel.img -initrd src/filesystem.img

2. Build a bootable floppy image that uses grub as the bootloader. There
   is a one already created for you in the source tree. Just pass QEMU
   the floppy image:

   $ qemu -fda src/grub.img

   The run target also boots this way, but it first creates a fresh
   image before booting.

To debug the kernel:
1. run qemu with gdb debug server
   $ make run-debug

2. In another terminal, run gdb and connect the the server
   $ gdb
   $ (gdb) symbol-file src/kernel.sym
   $ (gdb) target remote localhost:1234
   Set your breakpoint if desired
   $ (gdb) breakpoint buddy_alloc
   $ (gdb) continue

To regenerate the grub.img because the ramdisk and/or the the kernel
image was updated the grub.img make target will do this for you.  

$ make grub.img

 GENERAL BUILD TARGETS:

       make - compile and link the kernel image and utils
       make fs   - build filesystem image
       make boot - build grub bootloader image
       make run  - run kernel in qemu
       make clean- clean the project

 SPECIFIC BUILD TARGETS:

       make kernel.img
       make filesystem.img
       make grub.img

 QEMU EXAMPLES:

       qemu-system-i386  -kernel src/kernel.img -initrd src/filesystem.img # runing rhythoms
       qemu -fda src/grub.img

Ubuntu 15.04 Build:
   sudo apt-get install libc6-dev-i386 # needed for sys/cdefs.h
   sudo apt-get install qemu # virtual machine
   sudo apt-get install texinfo texlive # needed to generate documentation
   ./autogen.sh # generate configure script
   ./configure # generate Makefile
   make # build
   qemu-system-i386  -kernel src/kernel.img -initrd src/filesystem.img # runing rhythoms


About

Small UNIX like Kernel for x86

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published