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 Contents of the extra/ directory
003 ================================
004 
005 Data and configuration files to support generation of sos on non-x86
006 and/or grub-less hosts:
007  - dot.mkvars: file to copy as .mkvars in the root directory to
008    compile on a non-x86 host, and to generate the grub floppy image on
009    a grub-less host
010  - grub.img.gz: compressed image of a Grub floppy (without any
011    kernel). Used by dot.mkvars.
012  - mtoolsrc: file needed by .mkvars to compile a the floppy image
013 
014 Support of a sos-specific boot sector:
015  - Makefile: rules to compile sos_bsect.img, the floppy image with the
016    boot sector and the Sos
017  - bootsect.S: x86 Sos boot sector (GNU as). Depends on sos_bsect.lds
018  - sos_bsect.lds: ld script to bind the boot sector with the remaining
019    of the kernel
020 
021 Misc:
022  - patch-qemu-port-e9.diff: patch over qemu to support the bochs "port
023    0xe9 hack"
024  - patch-qemu-pty.diff: patch over qemu to fix a bug related to the
025    handling of the "-monitor pty" and "-serial pty" options
026  - termslave.c: Linux program to dial with qemu's monitor (or serial
027    line) from within a terminal. See comments in the beginning
028 
029 
030 What you can do with these files
031 ================================
032 
033 
034 *** Compile SOS from another architecture:
035 ------------------------------------------
036  - compile a cross-compiler for the i586-gnu target. This involves
037    compiling the binutils and gcc. Here are example configuration
038    options for them:
039    binutils (replace sparc-cun-solaris with your arch):
040      ../binutils-2.13/configure --prefix=/udd/ddecotig/temp_dd/xgcc/host-sparc-solaris7/stow/binutils-2.11 --host=sparc-sun-solaris2.7 i586-gnu
041      make && make install
042    gcc (ditto):
043      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
044      make && make install
045  - compile the mtools
046  - copy dot.mkvars to the root directory of SOS, as ".mkvars"
047  - customize the CC/LD/... variables to suit your cross-compiler
048    installatioon
049  - now you may run make from the SOS root directory, it should
050    generate the Grub boot floppy image. The following warning is
051    normal:
052      .mkvars:16: attention : écrasement des commandes pour la cible « grub-sos.img »
053      Makefile:92: attention : anciennes commandes ignorées pour la cible « grub-sos.img »
054 
055 
056 *** To compile SOS from an x86 where grub is not or incorrectly installed:
057 --------------------------------------------------------------------------
058  - copy dot.mkvars to the root directory of SOS, as ".mkvars"
059  - customize the CC/LD/... variables to suit your cross-compiler
060    installatioon
061  - now you may run make from the SOS root directory, it should
062    generate the Grub boot floppy image. The following warning is
063    normal:
064      .mkvars:16: attention : écrasement des commandes pour la cible « grub-sos.img »
065      Makefile:92: attention : anciennes commandes ignorées pour la cible « grub-sos.img »
066 
067 
068 *** To compile SOS with its own bootloader:
069 -------------------------------------------
070  - for cross-architecture compilation: see above
071  - cd to this extra/ directory
072  - run 'make'
073  - the floppy image is: sos_bsect.img for use with bochs or on a real
074    floppy disk
075    to use the image under qemu: use sos_qemu.img
076 
077  NOTE : From article 2 onward, be warned that using this bootsect
078         might lead to system crashes. This would be because the
079         solution we use to retrieve the RAM size might not work
080         properly on some systems (BIOS buggy or more than 1G RAM). THE
081         best way to boot SOS is always to use Grub.
082 
083 
084 --
085 David Decotigny

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