rev |
line source |
nuclear@4
|
1 Article 1 source code
|
nuclear@4
|
2 ---------------------
|
nuclear@1
|
3 Author: John Tsiombikas <nuclear@member.fsf.org>
|
nuclear@4
|
4
|
nuclear@4
|
5 License: GNU GPL v3 or any later version published by the free software
|
nuclear@4
|
6 foundation. See COPYING for details.
|
nuclear@4
|
7
|
nuclear@4
|
8 About
|
nuclear@4
|
9 -----
|
nuclear@4
|
10 This is the supplemental source code for the first part of the introduction to
|
nuclear@4
|
11 kernel development articles. It deals with booting up from a multiboot-compliant
|
nuclear@4
|
12 boot loader and using the VGA for text output.
|
nuclear@4
|
13
|
nuclear@4
|
14 Compiling & Running
|
nuclear@4
|
15 -------------------
|
nuclear@4
|
16 To compile kernel image (kernel.elf) just type make (or gmake, if your default
|
nuclear@4
|
17 make tool is not GNU make). A script called "run" is supplied that will use qemu
|
nuclear@4
|
18 to run the kernel in a virtual machine.
|
nuclear@4
|
19
|
nuclear@4
|
20 If you wish to boot up the kernel on your computer you need a multiboot
|
nuclear@4
|
21 compliant boot loader like GRUB. Since you probably already have GRUB installed
|
nuclear@4
|
22 if you're running a GNU/Linux distribution, just add an entry to the GRUB config
|
nuclear@4
|
23 file (commonly /boot/grub/menu.lst) similar to this one and reboot:
|
nuclear@4
|
24
|
nuclear@4
|
25 title My kernel
|
nuclear@4
|
26 root (hdX,Y) # where X is the disk number and Y the partition (first being 0)
|
nuclear@4
|
27 kernel /path/to/kernel_code/kernel.elf # change this to the actual path
|
nuclear@4
|
28
|
nuclear@4
|
29 In case you are using GRUB 2 instead of the original GRUB, you'll have to
|
nuclear@4
|
30 consult the documentation on how to modify the above into the GRUB 2 syntax.
|
nuclear@4
|
31
|
nuclear@4
|
32 Disclaimer
|
nuclear@4
|
33 ----------
|
nuclear@4
|
34 All programs contain bugs, and this sample code will undoubtedly have its share.
|
nuclear@4
|
35 Running buggy kernel code on the real machine is very dangerous and may result
|
nuclear@4
|
36 in data loss or even damage to your computer in extreme cases. The author
|
nuclear@4
|
37 assumes no responsibility for any such eventuality. Run this code on your
|
nuclear@4
|
38 computer at your own risk.
|
nuclear@4
|
39
|
nuclear@4
|
40 Contact
|
nuclear@4
|
41 -------
|
nuclear@4
|
42 For any comments or suggestions regarding the articles or this supplemental
|
nuclear@4
|
43 code, please contact me at nuclear@member.fsf.org
|