-
Notifications
You must be signed in to change notification settings - Fork 1
/
README
80 lines (55 loc) · 2.24 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
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