- Il vostro Amiga è pronto per 'ospitare' Linux?
Bene, se siete proprio intenzionati a installare Linux68k, prima sarà meglio
che controlliate se il vostro Amiga ha tutti i requesiti necessari per farlo.
Per fare ciò dovete fare un boot 'provvisorio' usando la Ram Disk in modo
che Linux controlli tutti le vostre devices e periferiche e le riconosca.
Se non avete particolari periferiche non ci dovrebbero essere problemi.
Per fare questo boot di prova vi serivirà il kernel precompilato "vmlinux",
un filesystem ed il programma "AmiBoot".
Andate nella directory boot della distribuzione; troverete uno script
linux-boot-ramdisk... mandatelo in esecuzione tramite shell.
Il vostro Amiga farà una specie di reset e poco dopo dovreste vedere il boot
di linux (scritte bianche su schermo nero).
Prestate attenzione ai messaggi che appariranno a video e controllate se
vengono viste tutte le vostre periferiche, soprattutto il controller dei
dischi.
Se non venisse visto quest'ultimo allora sara' impossibile per voi installare
Linux... dato che verrebbe a mancare l'elemento principale per accedere ai
dischi... il controller :).
Potete resettare il vostro Amiga premendo contemporaneamente i tasti:
[CONTROL] [ALT] [CANC] del tastierino numerico
Linux si resetterà e il vostro Amiga rifarà il boot normalmente come se
nulla fosse stato.
- Le partizioni necessarie a Linux
Prima di tutto dobbiamo creare 3 partizioni:
-- Root -- Usr -- Swap
Le prime due partizioni sono indispensabili, poiche' su in esse risiederanno
tutti i files di Linux. Eventualmente Root e Usr possono anche essere
un'unica partizione Root.
La terza partizione, Swap, serve per utilizzare il meccanismo di memoria
virtuale tipico dei sistemi Unix, e risuta necessaria sia che si abbiano soli 4MB di FAST-Ram che 32Mb o più.
Vediamo nel dettaglio come creare le partizioni e che dimensioni farle:
La partizione Root è quella dove vengono installati tutti i file di
sistema, i files di configurazione, i files di log, oltre alle home degli
ustenti che hanno accesso alla vostra linux box.
Credo che una 20-ina di Mb possano bastare, almeno all'inizio.
La partizione USR, invece, conterrà tutto il resto. Il chè vuol dire tutti i
manuali, i sorgenti, gli include necessari alla compilazione di un qualsiasi
sorgente, i daemons che servono per avere dei server www, ftp, telnet etc..
e tutti i files necessari per l'esecuzione di Xwindow.
Xwindow è l'interfaccia grafica di Linux. Non è obbligatorio installarla,
ma se volete utilizzare quelche applicazione che faccia uso di un'interfaccia
grafica, beh allora X11 (cosiì chiameremo Xwindow) vi servirà.
Le dimensioni per questa partizone sono 100Mb nel caso non installiate X11 e
almeno 200Mb nel caso contrario. Ovvio che poi più ne avete meglio è.
La partizione SWAP viene usata dal sistema per liberare la memoria fisica
(Fast-RAM) da tutti quei dati che non risultano necessari alla corrente
esecuzione dei processi, quando viene richiesta una nuova pagina di memoria.
Non scendiamo troppo nel tecnico... fidatevi... lo SWAP serve sempre, anche
aveno 128 MB di ram. Inoltre, per ottimizzare le prestazioni e lo spazio
utilizzato sul disco, la partizione di Swap deve essere almeno pari a
2*RAM-MB.
Prima di procedere all'installazione dobbiamo preparare le partizioni.
Lanciate HDToolBox selezionate l'hard disk sul quale volete installare Linux
e clikkate su 'Change drive Type' (consiglio caldamente, prima di efettuare
una qualsiasi operazione in questa sezione, di fare un backup delle partizioni
Amiga presenti sull'hard disk sul quale intende installare Linux)
Dal menù principale, sempre con l'hard disk sul quale intendete installare
Linux, clikkate su 'Partition Drive' attivate il gadgets 'Advanced Options'.
Create le partizioni come detto sopra (le dimensioni citate sono le minime,
se potete fatele anche più grandi dando la priorità alla partizione USR)
Clikkate su 'Change' e disattivate il gadget 'Automount', mettete, come tipo
di File System, "Custom File System" per tutte le partizioni dedicate a Linux
(Root, Usr, Swap). Salvate tutto e uscite.
Adesso siamo pronti per la formattazione delle partizioni sotto Linux.
Nota: SDA o HDA?? Che differenza c'e'?
Gli hard disk sotto Linux non vengono visti come sotto Amiga, tipo DH0: DH1:
etc etc (o col nome che abbiamo settato in HDToolBox) ma come sda, sdb, sdc
oppure hda, hdb, hdc etc.
Spieghiamo la differenza.
Tutte le devices che si chiamano sdx sono devices SCSI, che siano Hard Disks
o Removibili o Iomega Zip SCSI o quel che vi pare.
Sotto Amiga ogni dispotivo SCSI viene identificato con un ID nella catena
SCSI. Questo avviene anche sotto Linux, ma, mentre per Amiga l'ID serve solo
per il mount, sotto Linux l'ID serve per TUTTO, anche un semplice CD o Dir.
Ora mettiamo che la nostra catena SCSI sia composta nel seguente modo:
ID1 -- Hard Disk 100Mb
ID2 -- Hard Disk 450Mb
ID3 -- CDRom SCSI
ID4 -- IoMega ZIP 100Mb
allora sotto linux saranno:
ID1 -- Hard Disk 100Mb -- sda
ID2 -- Hard Disk 450Mb -- sdb
ID3 -- CDRom SCSI -- sdc
ID4 -- IoMega ZIP 100Mb -- sdd
e ancora nel caso in cui il nostro hard disk in ID1 (sda) da 100Mb fosse
partizionato in 2 partizioni da 50Mb l'una, sotto Linux saranno:
DH0: -- sda1
DH1: -- sda2
Vediamo in uno schemino il significato delle singole lettere che compongono
sda1:
sda1
____________||||__________________
SCSI Devices | Numero Partizione
_____________| 1° Partizione = 1
Identificativo del devices 2° Partizione = 2
1° Device = a .....
2° Device = b
....
Credo che con questo schemino abbiate compreso come si identificano gli Hard
Disk sotto Linux.
Per quelli IDE funziona allo stesso modo, tranne che per le prime 2 lettere
che cambiano da "sd" in "hd".
Un controller IDE puo' gestire al massimo 2 devices (ok ok in realtà sono 4...)
quidi possiamo trovare hda per il master e hdb per lo slave. Il numero indica
anche per i devices IDE il numero della partizione.
Quindi se noi avessimo:
Master -- Hard Disk 730Mb partizionato in HD0: HD1: HD2: HD3:
Slave -- Hard Disk 500Mb partizionato in HD4: HD5: HD6:
con Linux avremmo a disposizione:
Master -- Hard Disk 730Mb partizionato in hda1 hda2 hda3 hda4
Slave -- Hard Disk 500Mb partizionato in hdb1 hdb2 hdb3
Nel caso di CD-Rom SCSI o IDE i discorso cambia un pochino. L'uso di un
CD-Rom sarà trattato in un apposito HOW-TO.
Come avrete certamente capito, Linux non è molto user friendly, ma fa di
tutto per poter aiutare l'utente che intende utilizzarlo. Lo fa con una
marea di man, help, info e HOW-TO!
- La formattazione delle partizioni
Ora siamo veramente pronti a formattare le nostre partizioni. Facciamo il
boot da Linux con il filesystem in ram utilizzando lo script gia usato per
il boot di test.
Linux procedrà con il boot esattamente come ha fatto prima nel 'giro di
prova'.
Una volta fatto il login come root possiamo procedere con la formattazione
degli Hard Disk.
Per formattare un hard disk sotto linux si usa il comando
'mke2fs /dev/DEVICE'
dove DEVICE indica la partizione dell'hard disk da formattare
mke2fs /dev/hda1
______________| | |
Comando per la | |
formattazione | |
| |
_____________| |
Directory dove |___________________
sono tutti i Prima partizione dell'HD
devices master sul controller IDE
(una specie di DEVS:)
Fate questo per tutte le partizioni Linux.
Per la partizione di SWAP si procede in modo analogo, cambia solo il comando
per creare il filesystem speciale di swap. Supponendo che la partizione
dedicata allo swap fosse la terza del primo disco IDE, si procede cosi':
mkswap /dev/hda3
- Montiamo le nostre partizioni
Ora che abbiamo formattato le nostre partizioni, cominciamo con
l'installazione.
Per prima cosa dobbiamo montare le partizione destinazione (quelle appena
formattate) e la partizione sorgente (quella in formato Amiga dove abbiamo
salvato gli archivi scaricati); per fare ciò useremo il comando "mount",
ma prima bisogna fare una precisazione.
La gestione degli hard disk sotto Linux non è proprio come quella di Amiga.
Amiga vede ciascuna partizione come un'entita' a se stante, la sua Root
Directory, le sue sub directories, i files, le sub sub directories, altri
files etc etc. Linux vede tutto come se fosse un unico Hard Disk, con la
root directory che contiene tante directories. Le partizioni dell'hard disk
sono viste come sub-directories della root directory.
Procediamo al "montaggio" nel modo seguente:
1) Montiamo la partizione dedicata a ROOT di Linux sulla directory /mnt
mount -t ext2 /dev/DEVICE /mnt
dove DEVICE indica la partizione, espressa in formato Unix (hda1 o sha3 o
hdc2.. quella che avete), di root ed il parametro "-t ext2" indica che il
tipo di File System della partizione e' EXT2 (il F.S. di Linux).
2) Se aveste creato la partizione dedicata a USR procedete come segue,
altrimenti saltate direttamente al punto 3).
Creamo una directory sulla quale montare usr; vi consiglio di fare cio nella
partizione di root appena montata, cioè:
mkdir /mnt/usr
successivamente, procediamo al mount
mount -t ext2 /dev/DEVICE /mnt/usr
3) Montiamo, adesso, la partizione Amiga sulla quale risiedono i pacchetti
di Linux da installare.
Procediamo in modo simile al punto 2), cioè:
mkdir /amiga
mount -t affs /dev/DEVICE /amiga
In questo caso abbiamo utilizzato il parametro "-t affs" del mount per
indicare che il File System della partizione e' di tipo Amiga.
NOTA: Se state utilizzando un CD-Rom per installare Linux, al boot vi
sara' visualizzato la device a cui e' attaccato...
il mount del cdrom, supponendo che sia un IDE Slave, deve essere fatto come
segue:
mount -t iso9660 /dev/hdb /cdrom
Ok!!! Se tutto e' andato liscio, dovremmo avere le partizioni montate. Per
controllare, eseguite il comando
mount
senza alcun parametro che vi visualizzera' lo status di tutte le partizioni
montate.
- Scompattiamo gli archivi
Sotto linux non c'è bisogno di dare il parametro directory di destinazione
quando si scompatta un archivio, questo viene scompattato nella directory
corrente. Ora i modi per ottenere i file nella directory giusta sono 2:
1) Copiare l'archivio compattato nella directory di destinazione e poi
decompattarlo direttamente da lì
2)posizionarsi prima nella directory destinazione e inserire il path
completo dell'archivio nella linea di comando dello scompattare.
Io adotterò il secondo metodo, anche perchè permette una più rapida e chiara
spiegazione.
Premessa:
Poniamo l'esempio che le vostre partizioni siano le seguenti:
hda1 -- root sotto linux
hda2 -- usr sotto linux
sda1 -- partizione Amiga dove sono gli archivi.
Ora non è detto che siano queste le votre partizioni, io le uso solo per una
spiegazione più chiara quindi nel caso siano diverse dove leggete hda1
sostituite con il nome giusto della vostra partizione root, dove hda2 con la
vostra usr e dove sda1 con la vostra partizione Amiga. Fate molta attenzione
qui, ne dipende il corretto funzionamento di Linux.
Posizionatevi nella partizione root (che abbiamo montato in /mnt) con il
comando:
cd /mnt
adesso diamo il comando per decompattare l'archivio base.tar.gz
tar xvfz /amiga/dir_archivi/base.tar.gz
se avete dato il path giusto la scompattazione avrà inizio.
Alla fine della scompattazione dell'archivio base.tar.gz dovremmo scompattare
sempre nella stessa directory l'archivio apps.tar.gz, quindi date il comando:
tar xvfz /amiga/dir_archivi/apps.tar.gz
Questo archivio impiegherà un po' più tempo degli altri due perchè di
dimensioni molto più grosse.
A questo punto se avete scaricato anche l'archivio doc.tar.gz potete
scompattarlo nella directory in cui siete con il comando:
tar xvfz /amiga/dir_archivi/docs.tar.gz
Per gli altri archivi della yald (man, plutodoc...), procedete allo stesso
modo.
- Montiamo tutte le nostre devices
A questo punto la vostra Linux Box è quasi pronta. Dovete ancora creare un
file chiamato "fstab". Questo file contiene tutte le informazioni per
montare le partizioni root, usr, swap e se necessario anche alcune
partizioni Amiga.
Copiate il file /mnt/etc/fstab in /amiga/dir_archivi/ con il comando 'cp',
equivalente del 'copy' di AmigaOS, e poi, sotto AmigaOS, lo editate.
Date pure un bel 'shutdown -rf now' (senza apici) e fate il boot sotto
Amiga...
"fstab" è il file che dice a linux cosa montare e dove, cosideriamola la
startup-sequence di Linux per ciò che riguarda i file system. La
compilazione di fstab è abbastanza difficile da spiegare a parole, quindi ve
ne mostro un esempio commentato:
# /etc/fstab
# static file system information, vedi fstab(man fstab)
#
# Le linee precedute da un # sono commenti
#
# Le partizioni indicate sotto sono le stesse che ho usato
# nell'esempio, quindi voi dovrete modificarle come avete
# fatto per il mount
#
# Un esempio di fstab:
#
# device directory tipo opzioni CheckPrio BackupPrio
#
/dev/hda1 / ext2 defaults 1 1
# Questa è la partizione root. Nell'esempio io avevo usato hda1
# ma voi dovrete mettere la VOSTRA partizione
#
none /proc proc defaults 0 0
# Questo è un device di sistema che dovete lasciare inalterato
#
/dev/hdb2 /usr ext2 defaults 1 1
# Questa è la partizione usr. Anche qui cambiate hda2 con la vostra
# partizione USR
#
/dev/hda3 swap swap defaults 0 0
# Questa e' la partizione dedicata allo swap
#
# Partizioni AmigaDOS (affs)
/dev/sda1 /mnt/amiga affs defaults
# Questa è la partizione Amiga dove tenete tutti i vostri
# archivi di Linux. Anche qui vale il discorso che sda1 è solo
# d'esempio, cambiatelo con il vostro vero device.
#
/dev/sda2 /mnt/system affs ro
# Questo è un esempio che ho messo io adesso per farvi vedere
# il valore 'ro' nella colonna opzioni. Questo valore sta ad
# indicare 'Read Only'. Traducendo credo che capirete tutto ;)
#
# Fatte le dovute modifiche questa fstab potrebbe già andare bene
# vedete voi se farvene un altro o copiare questo.
Quello che vedete sopra è un esempio di come deve essere un fstab. Potete
benissimo modificare questo cambiado la root e la usr con le vostre root e
usr, e volendo potete aggiungere altre partizioni Amiga.
Bene dopo che avete ottenuto il vostro fstab salvatelo nella directory dove
avete messo gli archivi di Linux (sotto Amiga!!) e procedete con un boot
con RAM-Disk (linux-boot-ramdisk)
date sempre root al login e create una directory /amiga.
Montate con il paramentro -t ext2 la vostra partizione root in /mnt e
montate con il parametro -t affs la partizione dove avete salvato la fstab in
/amiga (non vi dico più come si fa, ormai dovreste aver imparato).
Adesso andate con il comando 'cd' (senza apici) nella directory
/amiga/dir_di_fstab/
e date il comando:
cp fstab /mnt/etc/fstab
ATTENZIONE:
Assicuratevi che nel file /etc/fstab, editato con un programma per Amiga,
non ci siano i "^M" alla fine di ogni rigo. Se cosi' fosse, procedete come
segue, ed imparerete qualcosa sul "vi" :)
cd /mnt/etc/
vi fstab
A questo punto vi trovate in "vi" command mode. digitate
: [il cursore si sposta a fine pagina]
senza premere RETURN, poi digitate
1,$s/^M//g
e premete return.
Miracolosamente tutti i mefitici ^M sono spariti. Adesso salviamo il file
digitando
:wq
e poi RETURN.
*** Il carattere ^M si ottiene digitando: ***
*** [ctrl]v [ctrl]m ***
Adesso avete tutto ciò che vi serve tranne un piccolo dettaglio.
Ricordate il vostro fstab?? Ricordate le partizioni Amiga che avevo
messo?? Dopo la colonna device c'era una colonna directory. Quella colonna
indica in che directory deve essere montato la device.
Se avete lasciato immutato il mio esempio il device /dev/sda1 deve
essere montato in /mnt/amiga e il device sda2 in /mnt/system.
Credo proprio che dobbiate creare le directory dove volete che le vostre
partizioni Amiga vengano montate, ossia:
mkdir /mnt/mnt/amiga
mkdir /mnt/mnt/system
Ora avete veramente tutto, potete anche resettare. Alt fermi!! non con
CTRL-A-A ma con il comando che avete già usato:
shutdown -rf now
- Facciamo un Boot vero!!!
Adesso siamo pronti a fare un vero boot, ovvero un boot usando i file che
abbiamo installato, in modo da avere accesso PIENO a tutti i comandi e
opzioni di Linux68k.
Modificate lo script linux-boot-real appropriatamente:
amiboot-5.6 -k vmlinux -r filesys-ELF-2.0.x-1400k-2 root=/dev/hda1
^^^^^^^^^^^^^^
Notare /dev/hda1
Come al solito se la vostra partizione 'root' NON è hda1 cambiatelo con il
nome giusto.
Bene Linux a questo punto eseguirà il boot. Noterete qualcosina di diverso,
soprattutto il login. Con il boot che facevamo prima la richiesta
dell'username era un semplice 'Login:' adesso sarà 'bluenova Login:'
bluenova indica il nome di default del sistema, in seguito, quando avrete
maggiore esperienza, potrete modificarlo secondo i vostri gusti.
C'e' ancora da dire una cosetta sulla linea di comando di boot.
Esiste ancora un parametro che fino ad ora non avevo descritto: il parametro
è 'video=xxxx'
Questo paramentro indica in che risoluzione deve aprirsi la shell di Linux.
I valori per 'video=' sono:
pal ------ 640x256
pal,lace --- 640x512
ntsc ----- 640x200
ntsc,lace -- 640x480
scegliete quello che più vi aggrada. La linea di comando del boot a questo
punto sarà:
amiboot-5.6 -k vmlinux -r filesys-ELF-2.0.x-1400k-2 root=/dev/hda1 video=???
Bene a questo punto fate il boot e alla richiesta di login date come al
solito root. In seguito potrete anche aggiungere altri users, ma vedrete
dopo se vi serviranno e come aggiungerli.
Un consiglio:
Cominciate a prendere dimestichezza con i comandi linux. ve ne elenco
qualcuno per facilitarvi, ma vi ricordo il famoso comando "man" che carica
un help on-line per ogni comando di Linux se lo avete installato.
ls = dir
cd = cd
cp = copy
mkdir = makedir
rm = delete
rmdir = delete (per le dir)
mv = rename
vi = Text editor
joe = Text Editor (un po' più semplice)
provate a dare il comando 'man ls' oppure 'man cp' e leggete sempre molto
attentamente i Man, vi sveleranno tutti i segreti di Linux. Per imparare
ad usare il man... fate man man :)
- Installiamo i sorgenti del kernel
Adesso che abbiamo fatto un boot vero, possiamo anche installare i sorgenti
del kernel.
L'archivio non contiene solo i sorgenti, ma anche tutti gli include che vi
serviranno per la compilazione di altre applicazioni.
Su internet trovere moltissime applicazioni per Linux, ma quelle
compilate sono quasi sempre per Linux/i386. Di solito ogni applicazione per
Linux è accompagnata anche dai sorgenti, quindi non avrete difficoltà a
compilare i sorgenti per far girare l'applicazione sotto la vostra
Amuga/Linux Box.
Il compilatore usato da Linux è il gcc. Vi consiglio di leggervi i man
del gcc, vi sarà molto utile quando affronterete la vostra prima
compilazione.
cd /
tar xvfz /path_dell'archivio/linux-src-2.0.29.tar.gz
cd /usr/include
ln -s /usr/src/linux/include/asm asm
ln -s /usr/src/linux/include/linux linux
ln -s /usr/src/linux/include/scsi scsi
cd /usr/src/linux
make mrproper
A questo punto avete finito l'installazione dei sorgenti del kernel e siete
pronti per ricompilarli. Vi consiglio vivamente di leggere TUTTI i documenti
circa il kernel, prima di intraprendere la compilazione, come, ad esempio,
il file:
/usr/src/linux/README
ATTENZIONE:
SOTTO LINUX TUTTI I FILE SONO CASE SENSITIVE. (README è considerato diverso
da readme!!!)
A questo punto avete proprio finito, se cosi' si puo' dire, visto che
sotto linux, le modifiche, le migliorie, le personalizzazioni non finiscono
mai!