
                        Linux+FreeBSD mini-HOWTO 
                                       
: Niels Kristian Bech Jensen, [1]nkbj@image.dk
: [2] [3]tjhuang@technologist.com

   v1.4, 23 January 1998 : 17 March 1998
     _________________________________________________________________
   
   ļ;һϵͳʹ Linux  FreeBSD.  FreeBSD, 
   ϵͳλӰ, һ swap ռ. ڶļ֮ǰ, Ӧ
   Ҫʹ Linux Ӳָľ. ƪļκε, 
   , 뽨, 벻Ҫԥ, дʼ. Ҳϣͬʱʹ Linux
    NetBSD  OpenBSD ˵˵. 
     _________________________________________________________________
   
1. ʲ FreeBSD? 

2. FreeBSD ʾӲķʽ

     * 2.1 FreeBSD ``slices''  ``partitions''
     * 2.2 Linux  FreeBSD еӲиʾ.
       
3.  Linux  FreeBSD Swap ռ

     * 3.1 װ׼ Linux
     * 3.2 װ FreeBSD
     * 3.3  Linux 趨 FreeBSD  swap и
       
4. ʹ LILO  FreeBSD 

5. ܹϵͳ

     * 5.1  Linux мܹ UFS ϵͳ
     * 5.2  FreeBSDϼܹ ext2fs ϵͳ
       
6. ִִе

     * 6.1  Linux ִ FreeSBD ִе
     * 6.2  FreeBSD ִ Linux ִе
       
7. οȤļ

8. лͰȨ

     * 8.1 Disclaimer
     * 8.2 Copyright 
     _________________________________________________________________
   
1. ʲ FreeBSD?

   FreeBSD  Linux һǸѵ, ͬ unix ҵϵͳ. ҪĲ
   , Linux ׵β·չ,  FreeBSD ǻ 4.4BSD (ؿѧ
    Distribution)  redistribution һݶ. ҲΪ
   4.4BSD-lite. ʵҲʹ: FreeBSD  Linux ''
   unix. FreeBSD ֻ Intel PC ƽ̨(i386)ִ. ֲ DEC
   Alpha ƽ̨İ汾Ŀǰڱ. FreeBSD Ӳ Linux ǳ
   .
   
   FreeBSD ķչ Linux ȽǱȽϷյ. ҪľһԱ
   ŶӸ. ĸımail-list . FreeBSD 
   չ, (ͬ Linux һ) : ``-current''  ``-stable". ¹ܵķչ
   ``-current"չ, ``-stable"еĸıҪǼȥ bug .
   
   FreeBSD ͬ Linuxһѵʹ(re-)ɢ. ϵͳĴ󲿷BSD
   Ȩ·,  GNU GPL  GNU LPGL .
   
    [4]FreeBSD Inc. ҵѶϵͳ. 
   ``-stable"İ汾 ``-current"չʽ [5]Walnut Creek CDROM 
   . (ʹ FreeBSD ṩ web  ftp )
   
2. FreeBSD ʾӲķʽ

   Linux  FreeBSD ʹֲͬķʽʾиӲ.
   
2.1 FreeBSD ``slices''  ``partitions''

   FreeBSD ֻҪӲϵһӲи. и FreeBSD 
   бΪ ``slice''. Ȼ disklabel ʽӲи
   ߼и. Щ߼и FreeBSD бΪ``partitions''. 
    Linux ( DOS) ие߼иǷǳ. ע:
   Linux fdisk ʽܱвὫ FreeBSD slice е partitions ʾ
   , ʹ 'b' ʾ BSD ŵǩѶϢ. 
    : (/dev/hda4  FreeBSD  slice):
   
# 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
#

   ڵһλеĸ `a'...`f'  FreeBSD slice еͬ
   . ĸ`b'ָ swap partition, `c'ָ slice. Ķ FreeBSD
   ļԱȡָЩĸͬи̬``׼" ĸѶ.
   
2.2 Linux  FreeBSD еӲиʾ.

   Linux  FreeBSD еӲзʾ:
   
Linux FreeBSD
First IDE drive /dev/hda /dev/wd0
Second IDE drive /dev/hdb /dev/wd1
First SCSI drive /dev/sda /dev/sd0
Second SCSI drive /dev/sdb /dev/sd1

   FreeBSD slice ·ʾ: (/dev/hda Ϊ):
   
Linux FreeBSD
First primary partition /dev/hda1 /dev/wd0s1
Second primary partition /dev/hda2 /dev/wd0s2
Third primary partition /dev/hda3 /dev/wd0s3
Fourth primary partition /dev/hda4 /dev/wd0s4

   FreeBSD slice е partitions ʾ (/dev/hda4 е
   FreeBSD slice ):
   
Linux label FreeBSD label Default FreeBSD mount point
/dev/hda5 /dev/wd0s4a /
/dev/hda6 /dev/wd0s4b swap
/dev/hda7 /dev/wd0s4e /var
/dev/hda8 /dev/wd0s4f /usr

    Linuxִ dmesg 㽫ῴ (Linux  kernel  UFS
   ֧ԮЧ.  [6]װ׼ Linux) :
   
Partition check:
hda: hda1 hda2 hda3 hda4 < hda5 hda6 hda7 hda8 >

    /dev/sdb3 slice аװ FreeBSD,  /dev/sdb2 һ
   ߼и Linux и (/dev/sdb5  /dev/sdb6), ֮ǰӿ
   ͬ:
   
Linux label FreeBSD label Default FreeBSD mount point
/dev/sdb7 /dev/sd1s3a /
/dev/sdb8 /dev/sd1s3b swap
/dev/sdb9 /dev/sd1s3e /var
/dev/sdb10 /dev/sd1s3f /usr

    dmesg п
   
Partition check:
sdb: sdb1 sdb2 < sdb5 sdb6 > sdb3 < sdb7 sdb8 sdb9 sdb10 >

   һ Linux  FreeBSD slice ֮, 鷳. Ϊ
    Linux İװƬûںUFS ֧Ԯ, ϲ FreeBSD slice 
    partitions. (/dev/hda3  FreeBSD slice  /dev/hda4  Linux
   и)
   
Partition check:
hda: hda1 hda2 hda3 < hda5 hda6 hda7 hda8 > hda4 < hda9 hda10 >

   ֳ:
   
Partition check:
hda: hda1 hda2 hda3 hda4 < hda5 hda6 >

   ᵼ´ʩָ, ʧ. ҵĽ Զ FreeBSD
   slice κ Linux и֮, ҲҪڰװ FreeBSD , ı
   Linux иеκ߼и.
   
3.  Linux  FreeBSD Swap ռ

   һƪ Linux  FreeBSD һ Swap и. ܻб
   ķͬĽ. õ Linux  Red Hat 4.1  4.2
   (Linux  2.0.29  2.0.30)  FreeBSD 2.2.2. Ը, ڰ
   װ Linux ֮ǰȰװ FreeBSD, Ҫע FreeBSD slice  partition ˳
   .
   
3.1 װ׼ Linux

   һƽһİװ Linux. Ӳ¸ FreeBSD slice
   Ŀռ. 㲻 Linux  Swap и, Ҫһи, Ͱ
   Ҫ FreeBSD Ŀռ. , ɾи, 
   FreeBSD  .
   
    Linux İװ, Ҫ± kernel. ⲻ, 
   ο The Linux Kernel HOWTO.    UFS ϵͳ ֧Ԯ, 
   BSD disklabel (FreeBSD partition tables) ֧Ԯ.
   
UFS filesystem support (read only) (CONFIG_UFS_FS) [N/y/m/?] y
BSD disklabel (FreeBSD partition tables) support (CONFIG_BSD_DISKLABEL) [N/y/?]
(NEW) y

   װµĺĲ¿. н Linux Swap и, /etc/fstab 
   κκ swap Ǽɾȥ. ȷпõºĿƬ Կʼ
   װ FreeBSD .
   
3.2 װ FreeBSD

    FreeBSD ļķʽװ FreeBSD. н Linux
   swap и, ɾ, (ʹ FreeBSD fdisk ʽ.) עһ
   FreeBSD slice  partitions ˳. ʹԤıǩ, ڶ
   partition swap и.  FreeBSD İװ, ʹLinuxĿƬ 
    Linux.
   
3.3  Linux 趨 FreeBSD  swap и

   ڽ Linux ִ dmesg. ӦûῴĶ:
   
Partition check:
hda: hda1 hda2 hda3 hda4 < hda5 hda6 hda7 hda8 >

   ʾ /dev/hda4  FreeBSD slice,  /dev/hda5, /dev/hda6,
   /dev/hda7  /dev/hda8  FreeBSD и.  swap и slice 
   ĵڶи, ǽ /dev/hda6. ⼸зŵ
   /etc/fstab  swap partition Ĺ.
   
/dev/hda6 none swap sw 0 0

   FreeBSD κ̬и swap и,  Linux  swap иҪ
   رǩ. ǩ mkswap . FreeBSD ʹõ swap
   иʱǩƻ, ÿν Linux ʱִ
   mkswap. ҪԶִ, ҳִ swapon  script ڿ
   ʱִ.  Red Hat ,  /etc/rc.d/rc.sysinit. һзŵ
   swapon -a ǰ:
   
awk -- '/swap/ && ($1 !~ /#/) { system("mkswap "$1"") }' /etc/fstab

   ⽫ÿοʱ,  /etc/fstab еκ swap иִ mkswap, 
   ȡ (ʹ ``#'' һеĵһԪ)
   
   ¿ Linux , ʹ free  swap ռĴС. Ҳ
   ¿ FreeBSD ȷһжԤڵ. û, ʹ˴
   и swap и. ΨһĽ취, ٰװ FreeBSD, 
   һ. Ǻõĵʦ. :-)
   
4. ʹ LILO  FreeBSD

   Էǳ׵ʹ LILO  FreeBSD. Ҫʹ LILO, Ҫװ
   FreeBSD  boot loader (Booteasy). /etc/lilo.conf м
   , ִ lilo ( FreeBSD slice  /dev/hda4):
   
other=/dev/hda4
table=/dev/hda
label=FreeBSD

    FreeBSD װڵڶ SCSI Ӳ, ʹ趨(FreeBSD
   slice  /dev/sdb2):
   
other=/dev/sdb2
table=/dev/sdb
loader=/boot/chain.b
label=FreeBSD

5. ܹϵͳ

5.1  Linux мܹ UFS ϵͳ

   ҵ, Linux Ķ UFS ֧Ԯ. ȥܹ UFS ϵͳʱ,
   ֻõһЩѶϢ(ϵͳʵѾȥ, ȴܶκζ
   ).  Linux 2.0.xx  (xx<30) һ (ALPHA) 汾 UFS ϵ
   ͳ֧Ԯ,  [7]SunSite. ⱻΪ U2FS, Ŀǰİ汾
   u2fs-0.4.3.tar.gz. U2FS еķʽװ(u2fs-0.4.3.tar.gz Ǵ
   /usr/src):
   
cd /usr/src
tar xvzf u2fs-0.4.3.tar.gz
patch -p0 -E < u2fs-0.4.3.patch

   Linux 2.0.31 µĺ(u2fs-0.4.4.tar.gz), µ 2.1.xx 
    U2FS汾,  [8]վ ҵ. ½֧Ԯ U2FS 
   ϵͳ  BSD disklabel ĺ. ο [9]װ׼ Linux õ
   . ʹU2FSʱ, ԺԺĵ UFS ϵͳ ֧Ԯ. µĺİ
   װ, ʹеָܹ UFS ϵͳ( FreeBSD
   slice еи,  swap и.
   
mount -t u2fs /dev/hda8 /mnt

    UFS ֧ԮΨ. ǼUFS ϵͳжȡ,㲻ܶ
   д.
   
5.2  FreeBSDϼܹ ext2fs ϵͳ

   Ҫ FreeBSD мܹ ext2fs ϵͳ, ҪȽһ֧Ԯ ext2f ĺ.
    FreeBSD ļν. ⼸
   
options "EXT2FS"

   ºĵ趨. ʹµĺ, ⼸
   ܹ ext2fs ϵͳ
   
mount -t ext2fs /dev/wd0s3 /mnt

   ע: 㲻ܰ ext2fs ϵͳܹ FreeBSD и.
   
    FreeBSD ĳЩ, ڹر FreeBSD ǰже ext2fs 
   ϵͳ.  ext2fs ϵͳδжǰ͹ر FreeBSD, FreeBSD 㲻
   sync UFS ϵͳ. ᵼFreeBSD´ʱ fsck ִ. ݱ
   ˵``-current" չб.
   
6. ִִе

6.1  Linux ִ FreeSBD ִе

   iBCS package ṩ Linux ִ FreeBSD ִе֧Ԯ; ̫Ͼ
   ûά. Ҳܳɹ. ˵ؽ, .
   
6.2  FreeBSD ִ Linux ִе

   FreeBSD ִ Linux ִе,  a.out ELF ʽ. Ҫ,
   Ҫȡ:
    1. 뿪 Linux ݵĻ. Ҫ (in FreeBSD 2.2.2 --- 
       汾ϸڿܲͬ) Ҫ޸/etc/rc.conf , ޸
       
linux_enable="NO"

       
       
linux_enable="YES"

    2. 밲װ Linux ĳʽ.  FreeBSD 2.2.2 бΪ
       packagelinux_lib-2.4.tgz (µİ汾Ѿ.) ִ
       
pkg_add <path_to_package>/linux_lib-2.4.tgz

       װpackage. <path_to_package> packageŵĿ¼.
    3. װҪִе Linux ʽ. Щʽⰲװ UFS  ext2fs 
       ϵͳ. ½ [10] FreeBSD ϼܹ ext2fs ϵͳ ȡ
       FreeBSD ʹ ext2fs ϵͳĸѶ.
       
   ѳɹʹЩ FreeBSD 2.2.2 ִ Linux  Applixware 4.3
    Netscape 3.01 ( ELF ʽ), (ǵ, ֪ FreeBSD 
   Netscape 4.)  FreeBSD ļ˽й.
   
7. οȤļ

   ° mini-HOWTO ܹ [11]ҵ homepage , ָʽ (
    SGML  PostScript.) ļѱ Mr. Teruyoshi Fujiwara 
   , Ϊ [12]JF project һ.
   
   FreeBSD ֲ FreeBSD FAQ  FreeBSD һɢ. Ҳ
   [13]FreeBSD Inc. б. վҲкܶ FreeBSD Ѷ.
   
   Linux Kernel HOWTO ɢΪ [14]The Linux Documentation Project һ
   .
   
8. лͰȨ

   л [15]*BSD ʹȺԱĻشһλ FreeBSD ֵ, Ҳл
   Mr. Takeshi Okazaki ע⵽U2FS Ĵ.
   
8.1 Disclaimer

   ȻļṩѶϢǱȷ, ߱˽Ϊļеݸ
   . ԼеʹЩɺ͡ķ.
   
8.2 Copyright

   Copyright (c) 1997, 1998 by Niels Kristian Bech Jensen. This document
   may be distributed only subject to the terms and conditions set forth
   in [16]the LDP license. Ȩ Copyright (c) 1997, 1998 by Niels
   Kristian Bech Jensen. ļֻ [17]the LDP license ĺ
   ±ɢ.

References

   1. mailto:nkbj@image.dk
   2. http://www.geocities.com/ResearchTriangle/7856/
   3. mailto:tjhuang@technologist.com
   4. http://www.freebsd.org/
   5. http://www.cdrom.com/
   6. file://localhost/tmp/zh-sgmltools.30891/Linux+FreeBSD.txt.html#installlinux
   7. ftp://sunsite.unc.edu/pub/Linux/ALPHA/ufs/
   8. http://www.image.dk/~nkbj/u2fs/
   9. file://localhost/tmp/zh-sgmltools.30891/Linux+FreeBSD.txt.html#installlinux
  10. file://localhost/tmp/zh-sgmltools.30891/Linux+FreeBSD.txt.html#ext2fs
  11. http://www.image.dk/~nkbj/
  12. ftp://jf.linux.or.jp/pub/JF/other-formats/
  13. http://www.freebsd.org/
  14. http://sunsite.unc.edu/LDP/
  15. http://hotel.prosa.dk/bsd-dk/
  16. http://sunsite.unc.edu/LDP/LICENSE.html
  17. http://sunsite.unc.edu/LDP/LICENSE.html
