sos-code-article10/INSTALL

157 lines
4.1 KiB
Plaintext
Raw Permalink Normal View History

2018-07-13 17:13:10 +02:00
SOS: A Simple Operating System
Compilation/Installation/Test instructions
Compilation
===========
IMPORTANT
---------
Don't forget to run 'make clean' before 'make' after you have modified
any source or header file(s).
On a x86 host where grub is correctly installed
-----------------------------------------------
Simply run 'make'
On a non-x86 host (without grub of course !)
--------------------------------------------
See extra/README
On an x86 host without Grub, or with a buggy Grub
-------------------------------------------------
See extra/README
How do I know I have a buggy grub installation ? Answer: in the qemu
PC emulator, Grub hangs while loading the kernel
Installation
============
Nothing special to do besides compiling
Test the SOS Kernel
===================
On a x86 real machine with Grub installed
-----------------------------------------
1st method
=> Boot the sos.elf file (append 'kernel=<path_to>sos.elf' in the
menu.lst or type it on Grub's command line) from a hard disk, a
floppy, or from the network
2nd method
=> Copy the file 'fd.img' to a floppy and boot from it
On a x86 real machine without Grub installed
--------------------------------------------
1st method
=> see extra/README to compile with the grub floppy image we provide,
copy the file 'fd.img' to a floppy, and boot from it
2nd method
=> see extra/README to compile with the boot sector we provide,
copy the file 'extra/sos_bsect.img' to a floppy, and boot from
it
Inside a PC emulator (x86 and non-x86 hosts)
--------------------------------------------
Tested on both the bochs emulator (x86/linux, sparc/solaris and
ppc/linux hosts, 'apt-get install bochs-x vgabios' on debian
testing/unstable), and the qemu system emulator (with libsdl
installed: 'apt-get install libsdl1.2-dev' on debian
testing/unstable).
1/ Grub is installed on the host (x86 hosts only)
- - - - - - - - - - - - - - - - - - - - - - - - -
bochs: boot from the file 'fd.img'. Example of a ~/.bochsrc:
floppya: 1_44=/home/d2/sos/fd.img, status=inserted
romimage: file=/usr/share/bochs/BIOS-bochs-latest, address=0xf0000
vgaromimage: /usr/share/vgabios/vgabios.bin
megs:63 # 63 Mo de RAM
qemu: run 'qemu -fda fd.img'
If grub hangs while loading the kernel, please go to method 2/
2/ Grub is not installed (all hosts)
- - - - - - - - - - - - - - - - - -
See extra/README to generate a floppy image with the Grub floppy
image we provide, and:
bochs: boot from the file 'fd.img'
qemu: run 'qemu -fda fd.img'
3/ Bonus: boot with the bootsector we provide (all hosts)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
See extra/README to generate a floppy image with the boot sector we
provide, and:
bochs: boot from the file 'extra/sos_bsect.img'
qemu: run 'qemu -fda extra/sos_qemu.img'
NOTE: This technique assumes that INT 15H is supported by the
machine's BIOS. This should be OK for the vast majority of targets
(bochs, qemu, recent machines), but we do not guarantee it. In case
of doubt, please use Grub.
NOTE : recommended versions of the tools
----------------------------------------
Release development platform:
- OS : Linux 2.6.14.3 x86_64
- gcc : i586-pc-elf-gcc-4.0.2 (GCC) 4.0.2
- GNU binutils : GNU ld version 2.16
- GNU make : GNU Make 3.80
Usual development platforms known to work:
+ amd64 (x86_64)/debian sarge:
- OS : Linux 2.6.14.3 x86_64
- gcc : i586-pc-elf-gcc-4.0.2 (GCC) 4.0.2
- GNU binutils : GNU ld version 2.16
+ x86/debian sarge:
- OS : Linux 2.6.11.7-d2-1 i686
- gcc : gcc (GCC) 3.3.6 (Debian 1:3.3.6-5)
- GNU binutils : GNU ld version 2.15
+ ppc/debian sarge:
- OS : Linux 2.6.10-powerpc ppc
- gcc : gcc (GCC) 3.2.2
- GNU binutils : GNU ld version 2.13.2
+ x86/windows with cygwin (http://sos.enix.org/SOSFaq#TOC_0_2_1):
- OS : MS Windows XP Pro SP2 / Cygwin
- gcc : gcc 3.4.4
- GNU binutils : GNU ld version 2.16
- GNU make : GNU Make 3.80
--
David Decotigny