[precedente] I backup - Copertina - Anteprima Gimp [successivo]

Articolo


Installare Linux su una normale cartuccia zip da 100 Mb


Premessa di rito: sul sito del Pluto, nella sezione degli HT, c'è lo Zip Install mini-HOWTO. Anch'io, all'inizio, ho cercato di seguire i suggerimenti dell HT, ma dopo ore perse non c'è stata via di installare Linux sulo zip. Quindi mi sono un po' ingegnato e alla fine ci sono riuscito! E non è neache un'impresa ardua, anzi!

Cosa serve

Ovviamente il drive zip (io ho utilizzato il 100 Mb esterno parallelo, ma per altri modelli non ci dovrebbero essere grandi problemi, a patto di sapere dove mettere le mani... ma verrà spiegato tutto a suo tempo), una cartuccia vuota, un floppy, un sistema Linux funzionante e un paio d'ore libere.

Iniziamo

Preparazione della cartuccia

Questa fase potrebbe essere superflua (non lo so ancora con certezza!), ma se la fate prima di iniziare il lavoro è meglio!

Prendete la cartuccia, inseritela nel drive, montatela (nella spiegazione, si supporrà che la cartucci venga montata in /zip) e lanciate


# fdisk /dev/sda4
Cancellate quell'odiosa partizione sda4 e create una nuova partizione ext2, che verrà vista come /dev/sda1: io ho preferito creare 2 partizioni, un'ext2 (85 Mb) ed una di swap, per la portabilità su sistemi con poca ram; vedete voi cosa vi conviene fare! Adesso creiamo il filesystem sullo zip. Per farlo basta lanciare

# mke2fs -c /dev/sda1
e, se avete optato anche per una swap, lanciate anche

# mkswap -c /dev/sda2 xxxxx 
(dove dovrete sostituire alle x il numero di blocchi della partizione. Tranquilli, fdisk vi darà questa informazione, se non volete armarvi di calcolatrice!).

Configurazione del kernel

A questo punto, lo zip è pronto. Adesso agiamo però sul nostro sistema: dobbiamo creare il modulo che permetterà all'installer della nostra distribuzione di vedere lo zip su cui andrà ad installare i file necessari. Prima di iniziare, sarà però comodo creare una copia del nostro /usr/src/linux/.configure e cambiare il nome alla directory dei moduli, (/lib/modules/2.x.xx) giusto per evitare odiose sovrascritture!
Per chi possiede la versione parallela dello zip, il modulo da creare sarà il ppa (lo trovate sotto SCSI low-lever drivers, la voce è IOMEGA parallel port. Attenzione che, se non attivate il supporto SCSI, la voce non sarà selezionabile!). Una volta creato il modulo, lo troverete in /lib/modules/2.x.xx/scsi. Per chi possedesse la versione SCSI dello Zip, in teoria il programma di installazione dovrebbe vederlo, ma aspetto smentite! Se avete lo Zip USB, buttatelo pure dalla finestra, stando attenti a non fare morti!
Ok, la prima parte è fatta. Ma adesso viene il bello :-))
Preparatevi per un'altra (ri)compilazione del kernel!
Lanciate i comandini di rito e compilate come segue:

SCSI support                       
--> Y
SCSI disk support               
--> Y
IOMEGA parallel port       --> Y

NON compilate queste voci come moduli, visto che il kernel che stiamo preparando andrà su un misero floppy, e sarà quello che darà il LA al boot da Zip.
Per il resto siete liberi di fare come volete: personalmente, ho incluso solo le cose che mi servono nel kernel, e ho lasciato fuori il superfluo; ovviamente i moduli per la soundblaster non sono superflui!

Fatto questo, avrete in /usr/src/linux/arch/i386/boot il file immagine del kernell: che sia bzImage o Image o chissà cos'altro non fa differenza, visto che lo dovrete rinominare in "linux" (mi raccomando, la "l" minuscola!!).


# mv bzImage linux (sostituendo a bzImage il nome dell'immagine)
A questo punto il lavoro sul kernel è finito.

Inizia l'installazione

A questo punto, riavviate il pc, inserite il cd bootabile nel lettore, attaccate lo zip alla corrente ed inserite la cartuccia. Il boot del kernel sul cd inizierà (dimenticavo: va bene anche il boot da floppy!), ma non si accorgerà dello Zip. Poco male! Voi seguite i passi dell'installazione fino ad arrivare alla selezione della "root" partition (ovvero la partizione dove andrà installato Linux). Sarà eseguito uno scan delle partizioni disponibili ma /dev/sda1 non c'è! Ovvio, il kernel che viene bootato per l'installazione non prevede la possibilità di installare il sistema su qualcosa di diverso dagli HD. Poco male, qui entriamo in gioco noi!
Con Alt + F2 spostiamoci in un'altra console, che (almeno su Debian) deve essere attivata con il tasto Invio. Una volta che tale console sarà attiva, basterà montare la partizione del nostro sistema in cui risiede il modulo ppa e caricarlo.

Per farlo, basta dare:

# modprobe ppa

Una volta che il modulo è caricato, provate a rientrare nel menu di selezione delle partizioni, e guardate cos'è comparso!
(Nota: se avete creato le 2 partizioni e avete creato il filesystem su entrambe, /dev/sda2 non sarà al momento vista. Lo sarà quando bisognerà scegliere la partizione di swap)

Adesso il gioco diventa facile: una volta che il sistema sa che deve installare i pacchetti in /dev/sda1, basterà scegliere i pacchetti e lasciarlo fare! [1]
(Nota: ovviamente dovrete passare per tutti i passi di una normale installazione, ad esempio scegliere il tipo di tastiera ecc. Ma non ne ho fatto cenno precedentemente per non offendere la vostra intelligienza!! Lo metto adesso per la serie "non si sa mai!!").

Ultima cosa (importantissima!): quando vi verrà chiesto come volete che il nuovo sistema sia avviato, rispondete che volete utilizzare un floppy, su cui verrà installato syslinux (di cui, dopo il vostro passaggio, resterà ben poco!)

Finita la creazione del floppy di avvio e finita l'installazione dei pacchetti, potete spegnere la macchina e riavviarla.

Se provate a farla bootare da floppy con lo Zip (ovviamente) connesso, vi troverete con un bel "kernel panic".

Ultime configurazioni

Per ovviare a questo inconveniente, abbiamo precedentemente creato una nuova immagine del kernel, che abbiamo rinominato "linux". Quindi sarà necessario riavviare la macchina (da HD, mi raccomando!) montare il floppy e sostituire l'immagine "linux" che troverete nel floppy con la vostra. Fatto ciò, date corrente allo Zip, inserite la cartuccia, inserite il floppy e via di reboot.

Et voilà, lo zip viene riconosciuto e potrete lavorare sulla vostra bella cartucciona!

[1] Quali pacchetti posso installare in soli 100 Mb (o anche meno) di spazio??
La risposta è semplice: abbastanza da permettervi di fare parecchie cose. Ad esempio, se lancio dpkg -l (ovvero il comando che permette di vedere tutti i pacchetti installati) l'output è questo:


||/ Name Version        Description
+++-===============-==============-===================
ii  afterstep       1.4.5.3-1      A window manager with the NEXTSTEP look and
ii  at              3.1.8-4        Delayed job execution and batch processing
ii  base-files      2.1.0          Debian Base System Miscellaneous Files
ii  base-passwd     2.0.3.3        Debian Base System Password/Group Files
ii  bash            2.01.1-4.1     The GNU Bourne Again SHell
ii  bsdmainutils    4.4.0.1        More utilities from 4.4BSD-Lite.
ii  bsdutils        4.4.1.1        Basic utilities from 4.4BSD-Lite.
ii  cdtool          2.1.5-2        some text-based commands for managing a CD
ii  cron            3.0pl1-50      management of regular background processing
ii  debianutils     1.10           Miscellaneous utilities specific to Debian.
ii  diff            2.7-18         File comparison utilities
ii  dpkg            1.4.0.34       Package maintenance system for Debian Linux
ii  dpkg-multicd    0.14           Installation methods for multiple binary CDs
ii  e2fsprogs       1.12-4         The EXT2 file system utilities and libraries
ii  elvis           2.1j-2         A much improved "vi" editor with syntax high
ii  exim            2.05-1         Exim Mailer
ii  fdflush         1.0.0-12       A disk-flushing program.
ii  fileutils       3.16-5.3       GNU file management utilities.
ii  findutils       4.1-33         utilities for finding files--find, xargs, an
ii  gettext         0.10.35-7      GNU Internationalization utilities
ii  gpm             1.14-3         General Purpose Mouse Interface
ii  grep            2.2-1          GNU grep, egrep and fgrep.
ii  gzip            1.2.4-28       The GNU compression utility.
ii  hostname        2.04           A utility to set/show the host name or domai
ii  isapnptools     1.16-4.1       ISA Plug-And-Play configuration utilities.
ii  kbd             0.96a-14       Linux console font and keytable utilities.
ii  kbd-data        0.96a-14       Data files for kbd.
ii  ldso            1.9.10-1       The Linux dynamic linker, library and utilit
ii  less            332-4.1        A file pager program, similar to more(1)
ii  libc6           2.0.7.19981211 GNU C Library: shared libraries
ii  libdb2          2.4.14-1       The Berkeley database routines (run-time fil
ii  libgdbmg1       1.7.3-25       GNU dbm database routines (runtime version).
ii  libident        0.21-7         simple RFC1413 client library - runtime
ii  libncurses4     4.2-3          Shared libraries for terminal handling
ii  libpcre1        1.09-2         Philip Hazel's Perl Compatible Regular Expre
ii  libreadlineg2   2.1-12         GNU readline and history libraries, run-time
ii  libstdc++2.9    2.91.60-5      The GNU stdc++ library (egcs version)
ii  locales         2.0.7.19981211 GNU C Library: National Language (locale) da
ii  login           980403-0.3     Sign on to the system.
ii  lsof-2.0.35     4.37-3         List open files.
ii  lynx            2.8.1-3        Text-mode WWW Browser
ii  makedev         2.3.1-19       Creates special device files in /dev.
ii  mawk            1.3.3-2        a pattern scanning and text processing langu
ii  menu            1.5-17         provides update-menus functions for some app
ii  mime-support    3.5-1          MIME files 'mime.types' & 'mailcap', and sup
ii  modconf         0.2.26         Device Driver Configuration
ii  modutils        2.1.121-18     Linux module utilities.
ii  mount           2.9g-6         Tools for mounting and manipulating filesyst
ii  ncurses-base    4.2-3          Descriptions of common terminal types
ii  ncurses-bin     4.2-3          Terminal-related programs and man pages
ii  ncurses3.4      1.9.9g-8.11    Video terminal manipulation - shared librari
ii  newt0.25        0.25-3         Not Erik's Windowing Toolkit - text mode win
ii  passwd          980403-0.3     Change and administer password and group dat
ii  perl            5.004.04-7     Larry Wall's Practical Extracting and Report
ii  perl-base       5.004.04-7     The Pathologically Eclectic Rubbish Lister
ii  perl-debug      5.004.04-7     View internals of Perl and debug Perl itself
ii  perl-suid       5.004.04-7     Runs setuid Perl scripts.
ii  procps          1.2.9-3        The /proc file system utilities.
ii  psmisc          17-1           Utilities that use the proc filesystem
ii  sed             3.02-1         The GNU sed stream editor.
ii  shellutils      1.16-6.3       The GNU shell programming utilities.
ii  slang1          1.2.2-2        The S-Lang programming library - runtime ver
ii  splay           0.8.2-2.1      Sound player for MPEG-1,2 layer 1,2,3
ii  sysvinit        2.76-3         System-V like init.
ii  tar             1.12-7         GNU tar
ii  textutils       1.22-2.4       The GNU text file processing utilities.
ii  timezones       2.0.7.19981211 GNU C Library: Timezone data and utilities
ii  update          1.3-2          daemon to periodically flush filesystem buff
ii  util-linux      2.9g-6         Miscellaneous system utilities.
ii  wenglish        1.0-11         English dictionary words for /usr/share/dict
ii  whiptail        0.25-3         Displays user-friendly dialog boxes from she
ii  xbase-clients   3.3.2.3a-11    miscellaneous X clients
ii  xf86setup       3.3.2.3a-11    X server configuration tools
ii  xfonts-100dpi   3.3.2.3a-11    100 dpi fonts for X servers
ii  xfonts-75dpi    3.3.2.3a-11    75 dpi fonts for X servers
ii  xfonts-base     3.3.2.3a-11    standard fonts for X servers
ii  xfonts-scalable 3.3.2.3a-11    scalable fonts for X servers
ii  xfree86-common  3.3.2.3a-11    X Window System (XFree86) infrastructure
ii  xlib6g          3.3.2.3a-11    shared libraries required by X clients
ii  xpm4g           3.4j-0.6       X Pixmap libraries (for libc6) - runtime
ii  xserver-common  3.3.2.3a-11    files and utilities common to all X servers
ii  xserver-svga    3.3.2.3a-11    X server for SVGA graphics cards
ii  xterm           3.3.2.3a-11    X terminal emulator
ii  zlib1g          1.1.3-2        compression library - runtime
---------------------------------------------------

(alcune descrizioni sono tagliate, ma non sono vitali!)

Comunque, i pacchetti sono 73 (se non ho contato male!!), ed ho ancora circa 13 Mb liberi. Non male, eh??
Ovviamente, in fase di installazione bisogna fare le proprie scelte: io non ho messo il supporto per la rete (browser, posta, news ecc.) e qualcos'altro, ma volendo, limando qua e là, si può avere un po' di tutto!

di Edoardo Valsesiat


Questo documento si può trovare anche a:
http://www.edo_v.freeweb.org
[precedente] I backup - Copertina - Anteprima Gimp [successivo]