-
Notifications
You must be signed in to change notification settings - Fork 1
Small UNIX like Kernel for x86
License
dustindorroh/rhythmos
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
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 0
No packages published