Diff markup
001 001
002 SOS: A Simple Operating Sy 002 SOS: A Simple Operating System
003 003
004 Compilation/Installation/Test i 004 Compilation/Installation/Test instructions
005 005
006 006
007 Compilation 007 Compilation
008 =========== 008 ===========
009 009
010 IMPORTANT 010 IMPORTANT
011 --------- 011 ---------
012 012
013 Don't forget to run 'make clean' before 'make' 013 Don't forget to run 'make clean' before 'make' after you have modified
014 any source or header file(s). 014 any source or header file(s).
015 015
016 016
017 On a x86 host where grub is correctly installe 017 On a x86 host where grub is correctly installed
018 ---------------------------------------------- 018 -----------------------------------------------
019 019
020 Simply run 'make' 020 Simply run 'make'
021 021
022 022
023 On a non-x86 host (without grub of course !) 023 On a non-x86 host (without grub of course !)
024 -------------------------------------------- 024 --------------------------------------------
025 025
026 See extra/README 026 See extra/README
027 027
028 028
029 On an x86 host without Grub, or with a buggy G 029 On an x86 host without Grub, or with a buggy Grub
030 ---------------------------------------------- 030 -------------------------------------------------
031 031
032 See extra/README 032 See extra/README
033 033
034 How do I know I have a buggy grub installation 034 How do I know I have a buggy grub installation ? Answer: in the qemu
035 PC emulator, Grub hangs while loading the kern 035 PC emulator, Grub hangs while loading the kernel
036 036
037 037
038 Installation 038 Installation
039 ============ 039 ============
040 040
041 Nothing special to do besides compiling 041 Nothing special to do besides compiling
042 042
043 043
044 Test the SOS Kernel 044 Test the SOS Kernel
045 =================== 045 ===================
046 046
047 On a x86 real machine with Grub installed 047 On a x86 real machine with Grub installed
048 ----------------------------------------- 048 -----------------------------------------
049 049
050 1st method 050 1st method
051 => Boot the sos.elf file (append 'kernel=<p 051 => Boot the sos.elf file (append 'kernel=<path_to>sos.elf' in the
052 menu.lst or type it on Grub's command li 052 menu.lst or type it on Grub's command line) from a hard disk, a
053 floppy, or from the network 053 floppy, or from the network
054 054
055 2nd method 055 2nd method
056 => Copy the file 'fd.img' to a floppy and b 056 => Copy the file 'fd.img' to a floppy and boot from it
057 057
058 058
059 On a x86 real machine without Grub installed 059 On a x86 real machine without Grub installed
060 -------------------------------------------- 060 --------------------------------------------
061 061
062 1st method 062 1st method
063 => see extra/README to compile with the gru 063 => see extra/README to compile with the grub floppy image we provide,
064 copy the file 'fd.img' to a floppy, and 064 copy the file 'fd.img' to a floppy, and boot from it
065 065
066 2nd method 066 2nd method
067 => see extra/README to compile with the boo 067 => see extra/README to compile with the boot sector we provide (up to
068 article 2 only), copy the file 'extra/so 068 article 2 only), copy the file 'extra/sos_bsect.img' to a floppy,
069 and boot from it 069 and boot from it
070 070
071 071
072 Inside a PC emulator (x86 and non-x86 hosts) 072 Inside a PC emulator (x86 and non-x86 hosts)
073 -------------------------------------------- 073 --------------------------------------------
074 074
075 Tested on both the bochs emulator (x86/linux, 075 Tested on both the bochs emulator (x86/linux, sparc/solaris and
076 ppc/linux hosts, 'apt-get install bochs-x vgab 076 ppc/linux hosts, 'apt-get install bochs-x vgabios' on debian
077 testing/unstable), and the qemu system emulato 077 testing/unstable), and the qemu system emulator (with libsdl
078 installed: 'apt-get install libsdl1.2-dev' on 078 installed: 'apt-get install libsdl1.2-dev' on debian
079 testing/unstable). 079 testing/unstable).
080 080
081 1/ Grub is installed on the host (x86 hosts o 081 1/ Grub is installed on the host (x86 hosts only)
082 - - - - - - - - - - - - - - - - - - - - - - - 082 - - - - - - - - - - - - - - - - - - - - - - - - -
083 083
084 bochs: boot from the file 'fd.img'. Example 084 bochs: boot from the file 'fd.img'. Example of a ~/.bochsrc:
085 floppya: 1_44=/home/d2/sos/fd.img, st 085 floppya: 1_44=/home/d2/sos/fd.img, status=inserted
086 romimage: file=/usr/share/bochs/BIOS-b 086 romimage: file=/usr/share/bochs/BIOS-bochs-latest, address=0xf0000
087 vgaromimage: /usr/share/vgabios/vgabios.b 087 vgaromimage: /usr/share/vgabios/vgabios.bin
088 megs:63 # 63 Mo de RAM 088 megs:63 # 63 Mo de RAM
089 089
090 qemu: run 'qemu -fda fd.img' 090 qemu: run 'qemu -fda fd.img'
091 If grub hangs while loading the kernel, p 091 If grub hangs while loading the kernel, please go to method 2/
092 092
093 2/ Grub is not installed (all hosts) 093 2/ Grub is not installed (all hosts)
094 - - - - - - - - - - - - - - - - - - 094 - - - - - - - - - - - - - - - - - -
095 095
096 See extra/README to generate a floppy image 096 See extra/README to generate a floppy image with the Grub floppy
097 image we provide, and: 097 image we provide, and:
098 098
099 bochs: boot from the file 'fd.img' 099 bochs: boot from the file 'fd.img'
100 100
101 qemu: run 'qemu -fda fd.img' 101 qemu: run 'qemu -fda fd.img'
102 102
103 3/ Bonus: boot with the bootsector we provide 103 3/ Bonus: boot with the bootsector we provide (all hosts, up to art. 2 ONLY !)
104 - - - - - - - - - - - - - - - - - - - - - - - 104 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
105 105
106 See extra/README to generate a floppy image 106 See extra/README to generate a floppy image with the boot sector we
107 provide, and: 107 provide, and:
108 108
109 bochs: boot from the file 'extra/sos_bsect. 109 bochs: boot from the file 'extra/sos_bsect.img'
110 110
111 qemu: run 'qemu -fda extra/sos_qemu.img' 111 qemu: run 'qemu -fda extra/sos_qemu.img'
112 112
113 NOTE: After article 2, this way of booting i 113 NOTE: After article 2, this way of booting is not supported: please
114 use the method 2/ above. 114 use the method 2/ above.
115 115
116 116
117 -- 117 --
118 David Decotigny 118 David Decotigny