
   Le mini-HOWTO Linux+FreeBSD
   v1.11, 30 mars 2000

   Traduction ralise par Christophe Deleuze
   (Christophe.Deleuze@lip6.fr) 1er aot 2001. Ce document dcrit comment
   utiliser Linux et FreeBSD sur la mme machine. Il prsente FreeBSD et
   dcrit comment les deux systmes d'exploitation peuvent inter-agir,
   par exemple en partageant la zone de swap. Il faut probablement avoir
   une certaine exprience de Linux et du partitionnement de disque dur
   (fdisk) avant de lire ce document. Les trucs ont t tests avec
   FreeBSD 2.2.2 mais devraient tre valables pour les versions plus
   rcentes. N'hsitez pas  me mler si vous avez des commentaires,
   questions ou suggestions concernant ce document. J'aimerais aussi
   avoir des infos des gens ayant utilis Linux avec NetBSD ou OpenBSD.

   Qu'est-ce que FreeBSD ? est un systme d'exploitation libre de la
   famille Unix, tout comme Linux. La principale diffrence rside dans
   le fait que, au contraire de Linux qui a t crit  partir de rien,
   FreeBSD est bas sur 4.4BSD-lite, les parties librement distribuables
   de 4.4BSD (Berkeley Software Distribution). Ce fait amne certaines
   personnes  suggrer que FreeBSD est plus proche du ``vrai'' UNIX que
   Linux. FreeBSD tourne uniquement sur les plateformes PC Intel (i386 et
   suivants), des ports sur les plateformes DEC Alpha et Sun Sparc sont
   en cours. et sont similaires  FreeBSD, et tournent tous deux sur
   plusieurs plateformes. Les exigences matrielles de tous ces systmes
   *BSD sont  peu prs les mmes que celles de Linux.Le dveloppement de
   FreeBSD est gr diffrement de celui de Linux. Une quipe (le noyau)
   de dveloppeurs sert d'arbitre et dirige le projet. Les gros
   changements sont d'abord discuts sur les listes de discussion
   (mailing lists). Le projet FreeBSD comprend deux arbres de
   dveloppement (comme Linux) : ``-current'' (courant) et ``-stable''.
   Le dveloppement des nouvelles fonctionnalits est fait dans
   ``-current'', alors que les volutions des versions ``-stable'' sont
   limites  des corrections de bogues ou  de nouvelles fonctionnalits
   minitieusement testes.FreeBSD peut tre utilis et (re-)distribu
   librement comme Linux. La majorit du systme est place sous le
   copyright BSD, le reste est sous la licence GNU GPL ou d'autres
   licences .Nommage des disques durs sous FreeBSDLinux et FreeBSD
   nomment les disques durs et les partitions selon deux principes
   diffrents. Cette section dcrit les principales diffrences entre les
   deux systmes. En fait le principe de nommage de FreeBSD est une
   variation du style de nommage BSD traditionnel adapt aux partitions
   de PC. Il est donc trs proche sur ce point des autres systmes Unix
   bass sur BSD tels que NetBSD, OpenBSD, Ultrix, Digital Unix, SunOS et
   Solaris.
     _________________________________________________________________

1. ``Partitions'' et ``tranches'' (slices) sous FreeBSDFreeBSD a besoin
d'une entre dans la table de partition primaire de votre disque dur. Cette
partition primaire est appele ``tranche'' (slice en anglais) dans la
terminologie FreeBSD. Il utilise ensuite le programme disklabel pour crer
plusieurs partitions logiques dans cette partition primaire. Ces partitions
logiques sont appeles ``partitions'' dans la terminologie FreeBSD. Ce
concept est similaire  la faon dont Linux (et DOS) manipule les partitions
logiques dans une partition tendue. Vous ne pouvez pas installer FreeBSD
dans une partition tendue cre par Linux (ou DOS). Notez que le programme
fdisk de Linux n'affiche pas les partitions d'une tranche FreeBSD depuis le
menu principal, mais il peut afficher l'information de nommage de disque
(disklabel) BSD si on utilise la commande 'b'. Le rsultat sera quelque
chose comme ceci (/dev/hda4 est la tranche FreeBSD) :# fdisk /dev/hda
Command (m for help): p Disk /dev/hda: 64 heads, 63 sectors, 621 cylinders
Units = cylinders of 4032 * 512 bytes Device Boot Begin Start End Blocks Id
System /dev/hda1 * 1 1 27 54400+ 83 Linux native /dev/hda2 28 28 55 56448 83
Linux native /dev/hda3 56 56 403 701568 83 Linux native /dev/hda4 404 404
621 439488 a5 BSD/386 Command (m for help): b Reading disklabel of /dev/hda4
at sector 1624897. BSD disklabel command (m for help): p 8 partitions: #
size offset fstype [fsize bsize cpg] a: 64512 1624896 4.2BSD 0 0 0 # (Cyl.
404 - 419) b: 104832 1689408 swap # (Cyl. 420 - 445) c: 878976 1624896
unused 0 0 # (Cyl. 404 - 621) e: 64512 1794240 4.2BSD 0 0 0 # (Cyl. 446 -
461) f: 645120 1858752 4.2BSD 0 0 0 # (Cyl. 462 - 621) BSD disklabel command
(m for help): q #Les lettres `a'...`f' dans la premire colonne sont les
mmes tiquettes (labels) que celles utilises plus bas dans l'exemple d'une
tranche FreeBSD. Il y a trois partitions spciales dans le jargon FreeBSD.
La lettre `a' dsigne la partition racine, `b' la partition de swap tandis
que `c' dsigne la tranche en entier. Voyez la documentation pour plus
d'information sur la faon ``standard'' d'affecter ces lettres aux
diffrents types de partitions.
     _________________________________________________________________

2. Nommage des disques et des partitions sous Linux et FreeBSDLes disques
durs sont nomms des faons suivantes sous Linux et FreeBSD : Linux FreeBSD
Premier disque IDE /dev/hda /dev/wd0 Second disque IDE /dev/hdb /dev/wd1
Premier disque SCSI /dev/sda /dev/sd0 Second disque SCSI /dev/sdb
/dev/sd1Les partitions (tranches FreeBSD) d'un disque IDE sont nommes de la
faon suivante (/dev/hda est utilis comme exemple) : Linux FreeBSD Premire
partition primaire /dev/hda1 /dev/wd0s1 Deuxime partition primaire
/dev/hda2 /dev/wd0s2 Troisime partition primaire /dev/hda3 /dev/wd0s3
Quatrime partition primaire /dev/hda4 /dev/wd0s4Les partitions de ma
tranche FreeBSD sont nommes de la faon suivante. Ceci est le nommage par
dfaut, qu'il est possible de changer en faisant une installation
personnalise de FreeBSD (/dev/hda4 est la tranche FreeBSD) :Nom Linux Nom
FreeBSD Point de montage FreeBSD /dev/hda5 /dev/wd0s4a / /dev/hda6
/dev/wd0s4b swap /dev/hda7 /dev/wd0s4e /var /dev/hda8 /dev/wd0s4f /usrSi
vous lancez dmesg sous Linux vous verrez (le noyau linux doit avoir t
compil avec le support UFS. Voyez la section ):Partition check: hda: hda1
hda2 hda3 hda4 < hda5 hda6 hda7 hda8 > Si vous avez install FreeBSD dans la
tranche /dev/sd1s3 (/dev/sdb3 dans le jargon Linux), et que /dev/sdb2 est
une partition Linux tendue contenant deux partitions logiques (/dev/sdb5 et
/dev/sdb6), l'exemple prcdent ressemblera plutt  ceci :Nom Linux Nom
FreeBSD Point de montage FreeBSD /dev/sdb7 /dev/sd1s3a / /dev/sdb8
/dev/sd1s3b swap /dev/sdb9 /dev/sd1s3e /var /dev/sdb10 /dev/sd1s3f /usrLa
commande dmesg montrera ceci sous la forme Partition check: sdb: sdb1 sdb2 <
sdb5 sdb6 > sdb3 < sdb7 sdb8 sdb9 sdb10 >Si vous avez une partition tendue
Linux aprs votre tranche FreeBSD, vous allez avoir des problmes. La
plupart des noyaux des disquettes d'installation Linux ne contiennent pas le
support UFS, ils ne reconnatront donc pas les partitions FreeBSD 
l'intrieur de la tranche. Ce qui qui aurait d tre vu comme (/dev/hda3 est
la tranche FreeBSD et /dev/hda4 est la partition tendue Linux)Partition
check: hda: hda1 hda2 hda3 < hda5 hda6 hda7 hda8 > hda4 < hda9 hda10 > est
vu comme: Partition check: hda: hda1 hda2 hda3 hda4 < hda5 hda6 >Cela peut
rsulter en un mauvais assignement de priphrique et provoquer des pertes
de donnes. Je conseille de toujours mettre votre tranche FreeBSD aprs
toutes les partitions tendues Linux, et de ne changer aucune partition
logique dans vos partitions tendues Linux une fois que FreeBSD est install
!

   Partage de l'espace de swap entre Linux et FreeBSDCette section dcrit
   comment j'ai pu utiliser la mme partition de swap pour Linux et
   FreeBSD. Il peut y avoir d'autres faons d'obtenir le mme rsultat.
   Vous pouvez, si vous voulez, installer FreeBSD avant Linux mais faites
   attention  l'ordre des partitions dans la tranche FreeBSD.
     _________________________________________________________________

1. Installer et prparer LinuxLa premire tape est d'installer Linux
normalement. Il faut laisser de la place pour la tranche FreeBSD sur le
disque dur. Il n'est pas ncessaire de crer une partition de swap Linux,
mais si vous en voulez une, placez-la dans l'espace que vous voulez allouer
 FreeBSD. De cette faon, vous pourrez plus tard effacer la partition de
swap de Linux et rcuprer l'espace pour FreeBSD.Quand Linux est install,
il faut compiler un nouveau noyau. Lisez le HOWTO du noyau Linux si vous ne
savez pas faire. Il faut inclure UFS filesystem support (read only) et BSD
disklabel (FreeBSD partition tables) support:UFS filesystem support (read
only) (CONFIG_UFS_FS) [N/y/m/?] y BSD disklabel (FreeBSD partition tables)
support (CONFIG_BSD_DISKLABEL) [N/y/?] (NEW) yInstallez le nouveau noyau et
redmarrez. Enlevez toutes les lignes contenant le mot swap dans votre
fichier /etc/fstab si vous avez cr une partition de swap pour Linux. Soyez
bien sr d'avoir une disquette de dmarrage Linux en tat de marche avec le
nouveau noyau. Vous voil prts  installer FreeBSD.
     _________________________________________________________________

2. Installer FreeBSDInstallez FreeBSD comme cela est dcrit dans sa
documentation. Supprimez la partition de swap Linux si vous en avez fait une
(vous pouvez utiliser le programme fdisk de FreeBSD). Faites attention 
l'ordre des partitions dans la tranche FreeBSD. Si vous utilisez le nommage
par dfaut la seconde partition sera le swap. Terminez l'installation de
FreeBSD et redmarrez sous Linux en utilisant la disquette de dmarrage.
     _________________________________________________________________

3. Utiliser la partition de swap FreeBSD sous LinuxAprs avoir redmarr
Linux, lancez dmesg, ce qui devrait donner quelque chose comme a :Partition
check: hda: hda1 hda2 hda3 hda4 < hda5 hda6 hda7 hda8 >Cela signifie que
/dev/hda4 est votre tranche FreeBSD, alors que /dev/hda5, /dev/hda6,
/dev/hda7 et /dev/hda8 sont les partitions FreeBSD. Si votre partition de
swap est la seconde partition de la tranche, c'est /dev/hda6.Il faut placer
la ligne suivante dans votre fichier /etc/fstab pour valider la partition de
swap :/dev/hda6 none swap sw 0 0Alors que FreeBSD peut utiliser n'importe
quelle partition comme espace de swap, Linux a besoin d'une signature
spciale dans cette partition. Cette signature est cre par mkswap. FreeBSD
la dtruit quand il utilise la partition de swap partage, il faudra donc
lancer mkswap  chaque fois que vous dmarrez sous Linux. Pour faire ceci
automagiquement, il faut trouver le script qui lance swapon au dmarrage.
Dans Red Hat Linux c'est /etc/rc.d/rc.sysinit. Dans Debian GNU/Linux, c'est
/etc/init.d/boot. Placez la ligne suivante dans ce fichier juste avant
swapon -a :awk -- '/swap/ && ($1 !~ /#/) { system("mkswap "$1"") }'
/etc/fstabCeci lancera mkswap sur toutes les partitions de swap dfinies
dans /etc/fstab  chaque dmarrage sauf si elles sont commentes (ont ``#''
comme premier caractre de la ligne).Sous Linux, lancez free pour vrifier
la taille de l'espace de swap. Vous devriez aussi redmarrer sous FreeBSD et
vous assurer que tout marche comme prvu. Si ce n'est pas le cas, vous avez
probablement utilis la mauvaise partition pour le swap (depuis Linux). La
seule solution est de rinstaller FreeBSD et ressayer. On apprend beaucoup
par l'exprience. :-)

   Dmarrer FreeBSD avec LILOVous pouvez facilement dmarrer FreeBSD avec
   LILO. N'installez pas le chargeur de FreeBSD (Booteasy) si vous voulez
   utiliser LILO. Ajoutez les lignes suivantes  votre fichier
   /etc/lilo.conf et relancez lilo (la tranche FreeBSD tant /dev/hda4)
   :other=/dev/hda4 table=/dev/hda label=FreeBSDSi vous avez install
   FreeBSD sur le second disque SCSI, utilisez quelque chose du type (la
   tranche FreeBSD tant /dev/sdb2):other=/dev/sdb2 table=/dev/sdb
   loader=/boot/chain.b label=FreeBSDMonter les systmes de fichiers
     _________________________________________________________________

1. Monter des systmes de fichiers UFS sous LinuxMalheureusement le support
pour UFS dans les noyaux Linux 2.0.xx est bogu. Quand on essaye de monter
un systme de fichiers UFS, on obtient juste des messages d'erreur (le
systme de fichiers est mont, mais on ne peut rien y lire ou crire). Ce
problme a t rsolu dans les versions rcentes du noyau (depuis 2.1.87).Il
y a une autre version du support du systme de fichiers UFS pour les noyaux
Linux 2.0.xx (xx <= 30)  . Son nom est U2FS et la version actuelle est
u2fs-0.4.3.tar.gz. Une version d'U2FS (ufs-0.4.4.tar.gz) pour Linux 2.0.31
et suivants (2.0.xx, pas 2.1.xx) se trouve sur avec d'autres informations
sur U2FS (et UFS.)Maintenant il faut construire un nouveau noyau avec le
support pour U2FS file system et BSD disklabel. Voyez la section pour plus
d'informations. Vous pouvez laissez tomber le support pour UFS file system
quand vous utilisez U2FS file system.Quand vous avez install le nouveau
noyau, vous pouvez monter les systmes de fichiers UFS (toutes les
partitions dans la tranche FreeBSD sauf la partition de swap) avec une
commande du type :mount -t u2fs /dev/hda8 /mntIl faudra utiliser une
commande du type :mount -t ufs /dev/hda8 /mntsi vous utilisez un noyau
2.1.87 ou suprieur.  partir de la version 2.1.112 il faut ajouter  la
commande l'option -o ufstype=44bsd : mount -t ufs -o ufstype=44bsd /dev/hda8
/mntLe support UFS (et U2FS) est en lecture seule. Donc, vous pouvez lire
depuis les systmes de fichiers UFS mais pas y crire. Un pilote UFS
exprimental en lecture/criture a remplac le pilote en lecture seule 
partir du noyau 2.1.112. L'criture dans des partitions FreeBSD est
supporte depuis la version 2.1.127.
     _________________________________________________________________

2. Monter des systmes de fichiers ext2fs sous FreeBSDPour monter des
systmes de fichiers ext2fs sous FreeBSD, il faut construire un nouveau
noyau avec le support pour ext2fs. Lisez le manuel FreeBSD ou si vous ne
savez pas faire. Placez la ligneoptions "EXT2FS"dans votre fichier de
configuration du noyau pour le nouveau noyau.Quand vous avez dmarr avec le
nouveau noyau, vous pouvez monter un systme de fichiers ext2fs avec une
commande comme :mount -t ext2fs /dev/wd0s3 /mnt cause d'une bogue dans
FreeBSD 2.2.8 et prcdents vous devrez dmonter tous les systmes de
fichiers ext2fs avant d'arrter (shutdown) FreeBSD. Si vous arrtez FreeBSD
avec un systme de fichiers ext2fs mont, FreeBSD ne peut pas faire le sync
sur les systmes de fichiers UFS. Cela rsultera en un fsck au prochain
dmarrage de FreeBSD. Vous pouvez arranger a en plaant la ligne: umount -a
-t ext2fs dans le fichier /etc/rc.shutdown. Cette bogue a t corrige dans
FreeBSD-3.x.

   Excuter des binaires ``trangers''
     _________________________________________________________________

1. Excuter des binaires FreeBSD sous LinuxLe paquetage iBCS permet
d'excuter des binaires FreeBSD sous Linux, mais il est vieux et non
maintenu. Je n'arrive pas  le faire marcher. Si vous avez eu plus de
russite que moi, merci de m'en informer.
     _________________________________________________________________

2. Excuter des binaires Linux sous FreeBSDFreeBSD a la capacit d'excuter
des binaires Linux, dans les deux formats a.out et ELF. Il faut procder en
trois tapes :Il faut valider la compatibilit Linux. Pour ce faire, (pour
FreeBSD 2.2.2 --- les dtails peuvent changer avec d'autres versions) il
faut diter votre fichier /etc/rc.conf et changer linux_enable="NO" en
linux_enable="YES" et redmarrer. Une autre faon de charger le support des
binaires Linux est d'excuter la commande /usr/bin/linux. Vous n'aurez pas 
redmarrer, et le support ne sera pas systmatiquement charg (gain de
mmoire). N'oubliez pas d'ajouter la ligne options COMPAT_LINUX au fichier
de configuration du noyau FreeBSD si vous compilez un nouveau noyau. Il faut
installer les bibliothques partages de Linux si vos binaires Linux
utilisent l'dition de lien dynamique. Ces bibliothques sont incluses pour
FreeBSD 2.2.{2,5,6} dans le paquetage linux_lib-2.4.tgz (il y a peut tre
des versions plus rcentes). Lancez la commande pkg_add
<rep_paquetage>/linux_lib-2.4.tgz pour installer le paquetage.
<rep_paquetage> est le rpertoire o se trouve le paquetage. Vous pouvez
aussi le charger depuis le rseau par : pkg_add
ftp://ftp.freebsd.org/pub/FreeBSD/packages-stable/All/linux_lib-2.4.tgz ou
en relanant /stand/sysinstall. Entrez ``Configure'', ``Packages'' et
utilisez les menus. Si vous excutez des binaires Linux statiquement lis,
excutez la commande suivante : brandelf -t Linux
<nom_du_binaire_linux_statiquement_li> Installez les programmes Linux que
vous voulez excuter. Les programmes peuvent tre installs aussi bien sur
un systme de fichiers UFS que ext2fs. Voir la section pour plus
d'informations sur la faon d'utiliser des systmes de fichiers ext2fs sous
FreeBSD.J'ai excut avec succs les versions Linux d'Applixware 4.3 et de
Netscape 3.01 (toutes deux en format ELF) sous FreeBSD 2.2.2 en utilisant
cette mthode (oui, je sais qu'il existe une version FreeBSD de Netscape 4).
Les versions Linux d'acroread et StarOffice 3 et 4 marchent bien sous
FreeBSD. StarOffice 5 dpend des threads natives Linux et ne marche pas sous
FreeBSD. Lisez la documentation de FreeBSD pour plus d'informations  ce
sujet.

   Sources d'informationsLa dernire version de ce mini-HOWTO peut tre
   trouve sur en plusieurs formats (y compris SGML et PostScript). La
   version franaise peut tre trouve sur . Ce document a t traduit en
   Japonais par M. Teruyoshi Fujiwara comme partie du .Quelques articles
   sur la diffrence entre Linux et FreeBSD se trouvent .Vous pouvez
   trouver plus d'informations sur FreeBSD (et rapatrier tout le systme)
    l'url . Vous pouvez aussi acheter le systme sur CDROM chez (leurs
   serveurs sont sous FreeBSD).Le HOWTO du noyau Linux fait partie du
   .Remerciements et aspects lgauxMerci aux membres du pour avoir
   rpondu aux questions d'un nul en FreeBSD,  M. Takeshi Okazaki pour
   avoir port  ma connaissance l'existence de U2FS et  M. David
   O'Brien pour ses prcieuses suggestions.
     _________________________________________________________________

1. Aspects lgauxLes marques appartiennent  leurs propritaires.Bien qu'ils
pensent que les informations donnes dans ce document sont correctes, les
auteurs n'accepteront aucune responsabilit quant au contenu de ce document.
Utilisez les trucs et exemples  vos risques et pril.Copyright  1997-2000
par Niels Kristian Bech Jensen. Ce document peut tre distribu uniquement
sous les termes et conditions de la licence LDP tels que donns  .La
version franaise est opyright Christophe Deleuze et peut tre distribue
selon les mmes termes.
