SimpleOS

LXR

Navigation



Site hébergé par : enix

The LXR Cross Referencer for SOS

source navigation ]
diff markup ]
identifier search ]
general search ]
 
 
Article:1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 6.5 ] [ 7 ] [ 7.5 ] [ 8 ] [ 9 ] [ 9.5 ]

001 
002                     SOS: A Simple Operating System
003 
004                Compilation/Installation/Test instructions
005 
006 
007 Compilation
008 ===========
009 
010 IMPORTANT
011 ---------
012 
013 Don't forget to run 'make clean' before 'make' after you have modified
014 any source or header file(s).
015 
016 
017 On a x86 host where grub is correctly installed
018 -----------------------------------------------
019 
020 Simply run 'make'
021 
022 
023 On a non-x86 host (without grub of course !)
024 --------------------------------------------
025 
026 See extra/README
027 
028 
029 On an x86 host without Grub, or with a buggy Grub
030 -------------------------------------------------
031 
032 See extra/README
033 
034 How do I know I have a buggy grub installation ? Answer: in the qemu
035 PC emulator, Grub hangs while loading the kernel
036 
037 
038 Installation
039 ============
040 
041 Nothing special to do besides compiling
042 
043 
044 Test the SOS Kernel
045 ===================
046 
047 On a x86 real machine with Grub installed
048 -----------------------------------------
049 
050  1st method
051    => Boot the sos.elf file (append 'kernel=<path_to>sos.elf' in the
052       menu.lst or type it on Grub's command line) from a hard disk, a
053       floppy, or from the network
054 
055  2nd method
056    => Copy the file 'fd.img' to a floppy and boot from it
057 
058 
059 On a x86 real machine without Grub installed
060 --------------------------------------------
061 
062  1st method
063    => see extra/README to compile with the grub floppy image we provide,
064       copy the file 'fd.img' to a floppy, and boot from it
065 
066  2nd method
067    => see extra/README to compile with the boot sector we provide,
068       copy the file 'extra/sos_bsect.img' to a floppy, and boot from
069       it
070 
071 
072 Inside a PC emulator (x86 and non-x86 hosts)
073 --------------------------------------------
074 
075 Tested on both the bochs emulator (x86/linux, sparc/solaris and
076 ppc/linux hosts, 'apt-get install bochs-x vgabios' on debian
077 testing/unstable), and the qemu system emulator (with libsdl
078 installed: 'apt-get install libsdl1.2-dev' on debian
079 testing/unstable).
080 
081 
082  1/ Grub is installed on the host (x86 hosts only)
083  - - - - - - - - - - - - - - - - - - - - - - - - -
084 
085    bochs: boot from the file 'fd.img'. Example of a ~/.bochsrc:
086      floppya:     1_44=/home/d2/sos/fd.img, status=inserted
087      romimage:    file=/usr/share/bochs/BIOS-bochs-latest, address=0xf0000
088      vgaromimage: /usr/share/vgabios/vgabios.bin
089      megs:63 # 63 Mo de RAM
090 
091    qemu: run 'qemu -fda fd.img'
092      If grub hangs while loading the kernel, please go to method 2/
093 
094 
095  2/ Grub is not installed (all hosts)
096  - - - - - - - - - - - - - - - - - -
097 
098   See extra/README to generate a floppy image with the Grub floppy
099   image we provide, and:
100 
101    bochs: boot from the file 'fd.img'
102 
103    qemu: run 'qemu -fda fd.img'
104 
105 
106  3/ Bonus: boot with the bootsector we provide (all hosts)
107  - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
108   
109   See extra/README to generate a floppy image with the boot sector we
110   provide, and:
111 
112    bochs: boot from the file 'extra/sos_bsect.img'
113 
114    qemu: run 'qemu -fda extra/sos_qemu.img'
115 
116   NOTE: This technique assumes that INT 15H is supported by the
117   machine's BIOS. This should be OK for the vast majority of targets
118   (bochs, qemu, recent machines), but we do not guarantee it. In case
119   of doubt, please use Grub.
120 
121 
122 NOTE : recommended versions of the tools
123 ----------------------------------------
124 
125 Release development platform:
126 
127  - OS           : Linux 2.6.14.3 x86_64
128  - gcc          : i586-pc-elf-gcc-4.0.2 (GCC) 4.0.2
129  - GNU binutils : GNU ld version 2.16
130  - GNU make     : GNU Make 3.80
131 
132 Usual development platforms known to work:
133 
134  + amd64 (x86_64)/debian sarge:
135    - OS           : Linux 2.6.14.3 x86_64
136    - gcc          : i586-pc-elf-gcc-4.0.2 (GCC) 4.0.2
137    - GNU binutils : GNU ld version 2.16
138 
139  + x86/debian sarge:
140    - OS           : Linux 2.6.11.7-d2-1 i686
141    - gcc          : gcc (GCC) 3.3.6 (Debian 1:3.3.6-5)
142    - GNU binutils : GNU ld version 2.15
143 
144  + ppc/debian sarge:
145    - OS           : Linux 2.6.10-powerpc ppc
146    - gcc          : gcc (GCC) 3.2.2
147    - GNU binutils : GNU ld version 2.13.2
148 
149  + x86/windows with cygwin (http://sos.enix.org/SOSFaq#TOC_0_2_1):
150    - OS           : MS Windows XP Pro SP2 / Cygwin
151    - gcc          : gcc 3.4.4
152    - GNU binutils : GNU ld version 2.16
153    - GNU make     : GNU Make 3.80
154 
155 --
156 David Decotigny

source navigation ] diff markup ] identifier search ] general search ]