Avanti Indietro Indice

3. Condividere l'area di swap fra Linux e FreeBSD

Questa sezione descrive come ho ottenuto che Linux e FreeBSD condividessero una partizione di swap. Ci possono essere altri modi di ottenere lo stesso risultato. Potete installare FreeBSD prima di Linux se volete prestare attenzione all'ordine delle partizioni nella slice FreeBSD.

3.1 Installare e preparare Linux

Il primo passo è quello di installare Linux normalmente. Dovete lasciare spazio per la slice FreeBSD nel vostro disco. Non dovete creare una partizione Linux di swap, ma se ne volete una, mettetela nello spazio che volete allocare per FreeBSD. In questo modo potrete cancellare la partizione di swap Linux in seguito e usare lo spazio per FreeBSD.

Quando avrete installato Linux dovrete compilare un nuovo kernel. Leggete The Linux Kernel HOWTO se questa è una cosa nuova per voi. Dovete includere sia UFS filesystem support (read only) sia 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) y

Installate il nuovo kernel e riavviate. Rimuovete qualsiasi riga che include la parola swap dal vostro file /etc/fstab se avete creato una partizione Linux di swap. Accertatevi di avere un floppy di boot di Linux funzionante con il nuovo kernel. Ora siete pronti per installare FreeBSD.

3.2 Installare FreeBSD

Installate FreeBSD come descritto nella documentazione di FreeBSD. Rimuovete la partizione Linux di swap se ne avete creata una (potete usare il programma fdisk di FreeBSD). Prestate attenzione all'ordine delle partizioni nello slice FreeBSD. Se usate l'etichettatura predefinita, la seconda partizione sarà la partizione di swap. Completate l'installazione di FreeBSD e riavviate in Linux usando il nuovo floppy di boot di Linux.

3.3 Impostare la partizione di swap di FreeBSD in Linux

Lanciate dmesg quando avete riavviato in Linux. Nell'output dovreste vedere qualcosa del genere:

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

Questo significa che /dev/hda4 è la vostra slice FreeBSD, mentre /dev/hda5, /dev/hda6, /dev/hda7 e /dev/hda8 sono le partizioni FreeBSD. Se la vostra partizione di swap è la seconda partizione nello slice, questa sarà /dev/hda6.

Dovete inserire le linee seguenti nel vostro file /etc/fstab di Linux per abilitare la partizione di swap:

/dev/hda6       none            swap            sw              0       0

Mentre FreeBSD può usare qualsiasi tipo di partizione come area di swap, Linux necessita di un tipo di marcatura particolare per la partizione di swap. Questa marcatura si ottiene con mkswap. FreeBSD rovina questa marcatura quando usa la partizione di swap condivisa, quindi dovete lanciare mkswap ogni volta che avviate con Linux. Per fare questo automaticamente dovete trovare lo script che lancia swapon al momento del boot. In Red Hat Linux questo è /etc/rc.d/rc.sysinit. Inserite la riga seguente in questo file appena prima di swapon -a:

awk -- '/swap/ && ($1 !~ /#/) { system("mkswap "$1"") }' /etc/fstab
Questo lancerà mkswap su qualsiasi partizione di swap in /etc/fstab ogni volta che avviate eccetto se queste sono commentate (aventi ``#'' come primo carattere della riga).

Lanciate free per controllare le dimensioni della partizione di swap quando avrete riavviato in Linux. Dovreste anche riavviare in FreeBSD per accertarvi che tutto funzioni come ci si aspetta. Se non funziona, avete probabilmente usato una partizione sbagliata come partizione di swap. L'unica soluzione a questo problema è di reinstallare FreeBSD e riprovare ancora. L'esperienza è una grande maestra. :-)


Avanti Indietro Indice

Hosting by: hurra.com
Generated: 2007-01-26 17:56:21