You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Mathieu Maret 71086d9566 fix backtrace display on qemu 3 years ago
..
Makefile Initial import 3 years ago
README Initial import 3 years ago
bootsect.S Initial import 3 years ago
dot.mkvars Initial import 3 years ago
grub.img.gz Initial import 3 years ago
hd20M.img.gz Initial import 3 years ago
mtoolsrc Initial import 3 years ago
patch-qemu-port-e9.diff Initial import 3 years ago
patch-qemu-pty.diff Initial import 3 years ago
sos_bsect.lds Initial import 3 years ago
termslave.c Initial import 3 years ago

README


Contents of the extra/ directory
================================

Data and configuration files to support generation of sos on non-x86
and/or grub-less hosts:
- dot.mkvars: file to copy as .mkvars in the root directory to
compile on a non-x86 host, and to generate the grub floppy image on
a grub-less host
- grub.img.gz: compressed image of a Grub floppy (without any
kernel). Used by dot.mkvars.
- mtoolsrc: file needed by .mkvars to compile a the floppy image

Support of a sos-specific boot sector:
- Makefile: rules to compile sos_bsect.img, the floppy image with the
boot sector and the Sos
- bootsect.S: x86 Sos boot sector (GNU as). Depends on sos_bsect.lds
- sos_bsect.lds: ld script to bind the boot sector with the remaining
of the kernel

Misc:
- patch-qemu-port-e9.diff: patch over qemu to support the bochs "port
0xe9 hack"
- patch-qemu-pty.diff: patch over qemu to fix a bug related to the
handling of the "-monitor pty" and "-serial pty" options
- termslave.c: Linux program to dial with qemu's monitor (or serial
line) from within a terminal. See comments in the beginning


What you can do with these files
================================


*** Compile SOS from another architecture:
------------------------------------------
- compile a cross-compiler for the i586-gnu target. This involves
compiling the binutils and gcc. Here are example configuration
options for them:
binutils (replace sparc-cun-solaris with your arch):
../binutils-2.13/configure --prefix=/udd/ddecotig/temp_dd/xgcc/host-sparc-solaris7/stow/binutils-2.11 --host=sparc-sun-solaris2.7 i586-gnu
make && make install
gcc (ditto):
CFLAGS="-O2 -Dinhibit_libc" ../gcc-3.2/configure --target=i586-gnu --prefix=/udd/ddecotig/temp_dd/xgcc/host-sparc-solaris7/stow/gcc-3.2 --with-as=/udd/ddecotig/temp_dd/xgcc/host-sparc-solaris7/bin/as --with-ld=/udd/ddecotig/temp_dd/xgcc/host-sparc-solaris7/bin/ld --with-gnu-as --with-gnu-ld --enable-languages=c --disable-shared --disable-multilib --disable-nls --enable-threads=single
make && make install
- compile the mtools
- copy dot.mkvars to the root directory of SOS, as ".mkvars"
- customize the CC/LD/... variables to suit your cross-compiler
installatioon
- now you may run make from the SOS root directory, it should
generate the Grub boot floppy image. The following warning is
normal:
.mkvars:16: attention : écrasement des commandes pour la cible « grub-sos.img »
Makefile:92: attention : anciennes commandes ignorées pour la cible « grub-sos.img »


*** To compile SOS from an x86 where grub is not or incorrectly installed:
--------------------------------------------------------------------------
- copy dot.mkvars to the root directory of SOS, as ".mkvars"
- customize the CC/LD/... variables to suit your cross-compiler
installatioon
- now you may run make from the SOS root directory, it should
generate the Grub boot floppy image. The following warning is
normal:
.mkvars:16: attention : écrasement des commandes pour la cible « grub-sos.img »
Makefile:92: attention : anciennes commandes ignorées pour la cible « grub-sos.img »


*** To compile SOS with its own bootloader:
-------------------------------------------
- for cross-architecture compilation: see above
- cd to this extra/ directory
- run 'make'
- the floppy image is: sos_bsect.img for use with bochs or on a real
floppy disk
to use the image under qemu: use sos_qemu.img

NOTE : From article 2 onward, be warned that using this bootsect
might lead to system crashes. This would be because the
solution we use to retrieve the RAM size might not work
properly on some systems (BIOS buggy or more than 1G RAM). THE
best way to boot SOS is always to use Grub.


--
David Decotigny