86 lines
3.8 KiB
Plaintext
86 lines
3.8 KiB
Plaintext
|
|
|||
|
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 : <20>crasement des commandes pour la cible <20> grub-sos.img <20>
|
|||
|
Makefile:92: attention : anciennes commandes ignor<6F>es pour la cible <20> grub-sos.img <20>
|
|||
|
|
|||
|
|
|||
|
*** 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 : <20>crasement des commandes pour la cible <20> grub-sos.img <20>
|
|||
|
Makefile:92: attention : anciennes commandes ignor<6F>es pour la cible <20> grub-sos.img <20>
|
|||
|
|
|||
|
|
|||
|
*** 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
|