Linux + FreeBSD mini-HOWTO
Niels Kristian Bech Jensen nkbj@image.dk
v1.11, 30 mart 2000 (prevod - 22 fevruari 2005)
Tozi dokument e napisan ot Niels Kristian Bech Jensen, az samo go prevezhdam i prenapisvam leko, zashtoto ot 2000 godina do sega sa se promenili niakoi neshta i dokumenta e malko nevaliden poradi, veche mnogo naprednaloto, razvitei na iadrata i failovite sistemi. Tekushtata versiia na FreeBSD e FreeBSD-5.3 , a na Linux - 2.4/2.6
Tozi dokument opisva kak da izpolzvame Linux i FreeBSD na edna sistema. Sushto predstavia FreeBSD i raziskva kak dvete operatsionni sistemi mogat da si sudeistvat zaedno, primerno kato spodeliat swap prostranstvo. Veroiatno triabva da imate malko opit s Linux ili FreeBSD i razdeliane na tvurdiia disk (fdisk
) predi da chetete tozi dokument. Suvetite tuk sa izprobvani s FreeBSD 5.3 , no triabva da sa validni i za ostanalite versii. Ne se kolebaite da mi pishete (kakto i na men - prevodacha) za vsiakakvi komentari, vuprosi ili predlozheniia svurzani s tozi dokument. Sushto bih zhelal da chuia i ot hora, koito imat opit s izpolzvaneto na Linux zaedno s NetBSD ili OpenBSD.
1. Kakvo e FreeBSD?
2. FreeBSD etiketi na tvurdite diskove
3. Spodeliane na swap prostransvto mezhdu Linux i FreeBSD
4. Zarezhdane na FreeBSD s LILO
5. Montirane na failovi sistemi
6. Startirane na "chuzhdi" binari
7. Informatsionni resursi
1. Kakvo e FreeBSD?
FreeBSD e bezplatna UNIX-podobna sistema sushto kato Linux. Glavnata razlika e, che Linux iadroto e napisano nezavisimo, toest zapochnato e ot nulata, a FreeBSD e bazirana na svobodno distributiranite chasti ot 4.4BSD (Berkeley Software Distribution) poznati kato 4.4BSD-lite. Tozi fakt mozhe da nakara niakoi hora da misliat, che FreeBSD e po-blizo do tova da bude "istinski" UNIX, otkolkoto Linux. FreeBSD mozhe da vurvi na slednite platformi: alpha, amd64, i386, ia64, pc98 i sparc64.
NetBSD i
OpenBSD sa podobni na FreeBSD i sushto vurviat na niakolko platformi. Harduernite iziskvaniia za vsichki *BSD sistemi sa podobni na tezi za Linux.
Razrabotvaneto na FreeBSD se rukovodi po razlichen nachin v sravnenie s Linux razrabotvaneto. TSentralen ekip ot razrabotchitsi sluzhat kato arbitri i osiguriavat rukovodstvoto na proekta. Golemi promeni v napreduk se diskutirat po taka narechenite "mailing lists". Proektut FreeBSD ima dve razkloneniia na razrabotvane (sushto kato Linux): "-CURRENT" i "-STABLE".V "-CURRENT" se razrabotvat novite svoistva i detaili. Razrabotvaneto na "-STABLE" se ogranichava do premahvane na bugovete i testvane na novite svoistva i detaili.
FreeBSD mozhe da se izpolzva i (re-)distributira svobodno kakto Linux. Povecheto chasti ot sistemata sa pusnati pod BSD copyright, GNU GPL ili drug open-source litsenz.
2. FreeBSD etiketi na tvurdite diskove
Linux i FreeBSD imat razlichni shemi za etiketi na tvurdite diskove i razdelite. Tazi sektsiia obiasniava osnovnite razliki mezhdu tezi dve shemi. Vsushtnost shemata na FreeBSD e adaptatsiia na traditsionniia BSD etiketen stil. Taka shemata e mnogo podobna na drugi BSD-bazirani UNIX sistemi kato NetBSD, OpenBSD, Ultrix,
Digital Unix, SunOS i Solaris.
2.1 FreeBSD "dialove" i "razdeli"
FreeBSD se nuzhdae ot edna ot chetirite chasti na tablitsata na razdelite vuv vashiia tvurd disk. Tozi osnoven razdel se naricha "dial" v terminologiiata na FreeBSD. Sled tova s pomoshtta na programta disklabel
mozhe da se napraviat do osem razdela v tozi osnoven razdel. Tezi logicheski razdeli se narichat "razdeli" v terminologiiata na FreeBSD. Tazi ideia e podobna na nachina, po koito Linux (i DOS) poddurzhat logicheski razdeli v razshiren razdel. Ne mozhete da instalirate FreeBSD v razshiren razdel napraven ot Linux (ili DOS). Zabelezhete, che programata fdisk
na Linux v svoeto glavno menyu ne pokazva razdelite na BSD kato FreeBSD dialove, no pokazva informatsiia za etiketa na BSD disk, ako izpolzvate komandata "b". Tova shte pokazhe neshto podobnno (/dev/hda4
e FreeBSD dial):
root@Soulstealer:/# fdisk /dev/hda
The number of cylinders for this disk is set to 4866.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): p
Disk /dev/hda: 40.0 GB, 40027029504 bytes
255 heads, 63 sectors/track, 4866 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 1 61 489951 82 Linux swap
/dev/hda2 62 790 5855692+ 83 Linux
/dev/hda3 791 4437 29294527+ 83 Linux
/dev/hda4 * 4438 4866 3445942+ a5 FreeBSD
Command (m for help): b
Reading disklabel of /dev/hda4 at sector 71280406.
BSD disklabel command (m for help): p
8 partitions:
# start end size fstype [fsize bsize cpg]
a: 4438 4450* 12* 4.2BSD 2048 16384 12808
b: 4450* 4463* 12* swap
c: 4438 4866 429 unused 0 0
d: 4463* 4469* 6* 4.2BSD 2048 16384 6408
e: 4469* 4482* 12* 4.2BSD 2048 16384 12808
f: 4482* 4866* 384* 4.2BSD 2048 16384 28552
BSD disklabel command (m for help): q
root@Soulstealer:/#
Bukvite "a"..."f" v purvata kolona sa sushtite kato pokazaniia otdolu primera za FreeBSD dial. Ima tri spetsialni razdela v BSD. Bukvata "a" oboznachava root razdela, "b" oboznachava swap razdela, dokato "c" oboznachava tseliia dial. Vizhte dokumentatsiiata na FreeBSD za poveche informatsiia vurhu "standartniia" nachin za opredeliane na tezi bukvi v razlichnite tipove razdeli.
2.2 Etiketi na ustroistva i razdeli v Linux i FreeBSD
Etiketite na tvurdite diskove v Linux i FreeBSD sa kakto sledva:
Linux FreeBSD
First IDE drive /dev/hda /dev/ad0
Second IDE drive /dev/hdb /dev/ad1
First SCSI drive /dev/sda /dev/sd0
Second SCSI drive /dev/sdb /dev/sd1
Razdelite (FreeBSD dialove) na IDE interfeis sa s etiketi v sledniia red (za primer e daden /dev/hda
):
Linux FreeBSD
First primary partition /dev/hda1 /dev/ad0s1
Second primary partition /dev/hda2 /dev/ad0s2
Third primary partition /dev/hda3 /dev/ad0s3
Fourth primary partition /dev/hda4 /dev/ad0s4
Razdelite v moia FreeBSD dial sa sus slednite etiketi. Vuzmozhno e da smeniate etiketite, pri instalatsiiata na FreeBSD (/dev/hda4
e FreeBSD dialut v otzi primer):
FreeBSD label FreeBSD mount point
/dev/ad0s4a /
/dev/ad0s4b swap
/dev/ad0s4d /tmp
/dev/ad0s4e /var
/dev/ad0s4f /usr
Ako ste instalirali FreeBSD v /dev/sd1s3
dial (/dev/sdb3
ot gledna tochka Linux), predishniiat primer shte izglezhda taka:
FreeBSD label FreeBSD mount point
/dev/sd1s3a /
/dev/sd1s3b swap
/dev/sd1s3d /tmp
/dev/sd1s3e /var
/dev/sd1s3f /usr
Ako imate Linux razshiren razdel sled FreeBSD dial shte imate problem, zashtoto ako Linux iadroto vi e bez poddruzhka na UFS, to razdelite vuv FreeBSD diala niama da budat razpoznati. Tova mozhe da dovede do greshno oznachavane na ustroistvata i zaguba na informatsiia. Moiat suvet e: vinagi razpolagaite svoia FreeBSD dial sled razshireniia razdel na Linux i ne promeniaite logicheskite razdeli v Linux razshireniia razdel sled instalirane na FreeBSD!
3. Spodeliane na swap prostransvto mezhdu Linux i FreeBSD
Tazi sektsiia obiasniava kak napravih Linux i FreeBSD da spodeliat swap razdela. Mozhe da ima i drugi nachini da postignete sushtiiat razultat. Mozhete da instalirate FreeBSD predi Linux ako iskate, samo oburnete vnimanie na reda na razdelite vuv FreeBSD diala.
3.1 Instalirane i podgotviane na Linux
Purvata stupka e da instalirate normalno Linux. Triabva da ostavite svobodno prostranstvo za FreeBSD diala na svoia tvurd disk. Ne e nuzhno da pravite Linux swap razdel, no ako iskate mozhete da go slozhite v prostranstvoto kudeto shte razpolozhite FreeBSD. Po tozi nachin mozhe da iztriete Linux swap razdela po-kusno i da izpolzvate prostranstvoto za FreeBSD.
Sled kato instalirate Linux triabva da kompilirate novo iadro. Prochetete The
Linux Kernel HOWTO ako tova e novo za vas. Triabva da vklyuchite UFS filesystem support (read only) i BSD disklabel (FreeBSD
partition tables) support:
CONFIG_UFS_FS=y
CONFIG_BSD_DISKLABEL=y
Instaliraite novoto iadro i restartiraite. Premahnete vseki red koito sudurzha dumata swap ot faila /etc/fstab
, ako ste napravili Linux swap razdel. Podsigurete se s raboteshto flopi s novoto iadro. Sega ste gotovi da instalirate FreeBSD.
3.2 Instalirane na FreeBSD
Instaliraite FreeBSD kakto e opisano v dokumentatsiiata za FreeBSD. Premahete Linux swap razdela, ako ste napravili takuv (mozhe da izpolzvate programata fdisk
na FreeBSD. Oburnete vnimanie na reda na razdelite vuv FreeBSD diala. Ako izpolzvate etiketite po podrazbirane vtoriiat razdel shte bude swap razdela. Zavurshete instalatsiiata na FreeBSD i restartiraite v Linux.
3.3 Nastroika na FreeBSD swap razdela v Linux
Pusnete dmesg
ako ste startirali Linux. Izhodniiat tekst trbva da izglezhda taka:
Partition check:
hda: hda1 hda2 hda3 hda4
Tova oznachava, che /dev/hda4
e vashiiat FreeBSD dial, dokato
/dev/hda5
, /dev/hda6
, /dev/hda7
, /dev/hda8
i
/dev/hda9
sa FreeBSD razdelite. Ako vashiiat swap razdel e vtoriiat razdel ot diala, to toi shte bude /dev/hda6
.
Triabva samo da postavite slednoto vuv faila /etc/fstab
na Linux, za da aktivirate swap razdela:
/dev/hda6 none swap sw 0 0
FreeBSD mozhe da polzva vsiakakuv vid swap prostranstvo, no Linux se nuzhdae ot spetsialno opisvane na swap prostranstvoto. Opisvaneto se pravi s mkswap
. FreeBSD razrushava tova opisanie, ako izpolzva spodelen swap razdel, za tova shte triabva da izpulniavate mkswap
s vsiako zarezhdane na Linux. Za da napravite tova avtomatichno triabva da namerite skripta, koito izpulniava swapon
po vreme na zarezhdaneto. V Slackware skripta e /etc/rc.d/rc.S
. Slozhete slednoto tochno predi swapon -a
:
awk -- '/swap/ && ($1 !~ /#/) { system("mkswap "$1"") }' /etc/fstab
Tova shte izpulni mkswap
na vseki swap razdel v /etc/fstab
s vsiako zarezhdane, osven ako ne ste go komentirali (purviiat znak ot reda da e "#")
Izpulnete free
da proverite razmera na swap prostranstvoto sled kato ste zaredili Linux. Sushto triabva da zaredite FreeBSD, za da se uverite, che vsichko raboti kakto se ochakva. Ako ne raboti, veroiatno ste izpolzvali greshen razdel za swap razdel. Edinstvenoto reshenie na tozi problem e da preinstalirate FreeBSD i da opitate otnovo. Opitut e chudesen uchitel. :-)
4. Zarezhdane na FreeBSD s LILO
Mozhete lesno da zaredite FreeBSD s LILO. Ne instaliraite menidzhura za puvronachalno zarezhdane (boot manager - Booteasy
) ako iskate da izpolzvate LILO. Prilozhete slednite redova v svoia fail /etc/lilo.conf
i izpulnete lilo
(kato znaem, che FreeBSD diala e /dev/hda4
):
other=/dev/hda4
table=/dev/hda
label=FreeBSD
Ako ste instalirali FreeBSD vuv vtoriia SCSI interfeis, izpolzvaite neshto podobno (ako FreeBSD diala e /dev/sdb2
):
other=/dev/sdb2
table=/dev/sdb
loader=/boot/chain.b
label=FreeBSD
5. Montirane na failovi sistemi
5.1 Montirane na UFS failovi sistemi pod Linux
Po nastoiashtem, failovata sistema po podrazbirane na FreeBSD-5.* e u2fs (ufs2). Za suzhalenie tia ne se poddurzha ot nastoiashtite iadra na Linux (2.4/2.6). Sushtestvuva krupka za iadroto na Linux, koiato osiguriava poddruzhka na u2fs kato e vuzmozhno samo chetene (read-only). Taka che se nalaga kompilirane na novo iadro (kato e nuzhno da vklyuchite poddruzhka na "BSD disklabel"). Mozhete da go izgradite kato modul ili direktno v sorsa na iadroto. Dobra ideia e da se napravi kato modul. Sled kato instalirate novot iadro i ste zaredili modula ili ste ostavili kerneld da go svurshi vmesto vas, montiraneto mozhe da stane po edin ot slednite nachini
mount -t u2fs /dev/hda9 /mnt/FreeBSD
;
mount -t u2fs /dev/hda9 /mnt/FreeBSD
;
mount -t ufs -o ufstype=44bsd /dev/hda9 /mnt/FreeBSD
Mozhete da montirate vseki razdel ot FreeBSD diala s izklyuchenie na swap razdela.
5.2 Montirane na ext2fs failovi sistemi pod FreeBSD
Za da montirate ext2fs failova sistema pod FreeBSD triabva tia da se poddurzha ot iadroto. Vuv FreeBSD-5.* ext2fs se poddurzha po podrazbirane.
Montiraneto stava po sledniia nachin:
mount_ext2fs /dev/ad0s3 /mnt
6. Startirane na "chuzhdi" binari
6.1 Startirane na FreeBSD binari pod Linux
Paketut iBCS
poddurzha startirane na FreeBSD binari pod Linux, no toi e star i ne se poddurzha.
6.2 Startirane na Linux binari pod FreeBSD
FreeBSD ima sposobnostta da startira Linux binari.Za da napravite tova, triabva da izpulnite slednoto:
Triabva da razreshite Linux suvmestimost, za da napravite tova triabva da redaktirate faila /etc/rc.conf
kato dobavite slednoto:
linux_enable="YES"
...i restartirate
Drug nachin da zaredite poddruzhka na Linux binari e kato izpulnite komandata /usr/bin/linux
. Po tozi nachin ne e nuzhno da restartirate i niamate postoianno zaredena poddruzhka na Linux binari (spestiava pamet). Ne zabraviaite da dobavite
options COMPAT_LINUX
kum konfiguratsionniia fail na iadroto, ako kompilirate novo.