Coder Social home page Coder Social logo

rhythmos's Introduction

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


Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.