<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <HEAD> <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9"> <TITLE>Quick&Easy Configuration HOWTO: Kernel</TITLE> <LINK HREF="Quick-Easy-Configuration-HOWTO-5.html" REL=next> <LINK HREF="Quick-Easy-Configuration-HOWTO-3.html" REL=previous> <LINK HREF="Quick-Easy-Configuration-HOWTO.html#toc4" REL=contents> </HEAD> <BODY> <A HREF="Quick-Easy-Configuration-HOWTO-5.html">Avanti</A> <A HREF="Quick-Easy-Configuration-HOWTO-3.html">Indietro</A> <A HREF="Quick-Easy-Configuration-HOWTO.html#toc4">Indice</A> <HR> <H2><A NAME="s4">4. Kernel</A></H2> <P>Qui si spiega come compilare e installare un kernel della serie stabile 2.2.x. Di solito questo si fa per includere nel kernel delle funzionalità non presenti, ad esempio il supporto per alcune schede che per motivi di genericità non vengono sempre incluse nei kernel di serie delle distribuzioni, oppure per modelli recenti che per forza non esistevano all'epoca. Non è un procedimento complicato, ma vanno seguiti dei passi stabiliti, per non creare instabilità nel sistema a causa del mancato supporto a proprietà basilari, come il supporto al filesystem ext2, o ai binari elf, oppure ancora al tipo di disco da cui fate il boot. Per sapere quale kernel avete in funzione nel vostro PC, usate il comando 'uname -r'. Per sapere qual è l'ultima versione di kernel disponibile online, usate il comando 'finger @finger.kernel.org'. <H2><A NAME="ss4.1">4.1 Prerequisiti</A> </H2> <H3>Reperimento</H3> <P>Il sito principale è ftp.kernel.org, ma esistono i mirror nazionali, reperibili come ftp.XX.kernel.org, dove XX è il codice del paese (ad esempio "it" per Italia, "de" per Germania, "fr" per Francia, "uk" per Inghilterra, e così via). Cercate nella directory /pub/linux/kernel/2.2. In genere esistono 2 tipi di file in 2 formati di compressione diversi. I file sono del tipo: linux-VERSIONE_KERNEL.tar.COMPRESSORE, oppure patch-VERSIONE_KERNEL.tar.COMPRESSORE. COMPRESSORE può essere "gz" per file compressi con GZIP, o "bz2" per file compressi con BZIP2 (in genere più piccoli) I file che iniziano per "linux" contenengono i sorgenti del kernel COMPLETO, mentre i file che iniziano per "patch" contengono solo le differenze con le versioni precedenti. Quindi, per esempio, ci possono essere i file: linux-2.2.14.tar.gz, linux-2.2.14.tar.bz2, patch-2.2.14.tar.gz e patch-2.2.14.tar.bz2, insieme in genere a tutte le versioni precedenti. Conviene scaricare la versione completa se proprio non avete i sorgenti, mentre se avete una versione precedente potete scaricare solo i file di differenza, da applicare sui sorgenti in vostro possesso per avere alla fine la STESSA IDENTICA versione di sorgenti che avreste ottenuto dalla versione completa. Ricordate però che dovete scaricare TUTTE le versioni di patch dalla versione in vostro possesso fino a quella che volete ottenere (quindi se avete i sorgenti completi linux-2.2.11.tar.gz, e volete arrivare alla versione 2.2.14, dovete scaricare i file patch-2.2.12.tar.gz, patch-2.2.13.tar.gz e patch-2.2.14.tar.gz, da applicare al 2.2.11 in successione, come indicato in seguito (ATTENZIONE!: le patch delle versioni "pre..." non sono incrementali). Un consiglio: NON usate i sorgenti standard forniti dalle distribuzioni se dovete applicarvi delle patch, perché in genere sono versioni modificate e le patch notando questo fatto non vengono applicate (tipico il caso della RedHat), oltre al fatto che non mettono a posto alcuni collegamenti. Inoltre cercate di evitare le versioni sperimentali dei kernel (2.X.YYY, con X dispari), a meno che non aggiungano il supporto per qualche nuovo hardware di cui non potete fare a meno, perché a volte non sono completamente stabili (sono sperimentali per questo). <H3>Software necessario</H3> <P>Naturalmente i sorgenti del kernel. Poi i programmi gzip e bzip2, in base al tipo di compressione usata per i sorgenti. I pacchetti software: "make", "bin86", "glibc-devel", "gcc" (in genere, se viene segnalata la mancanza qualche file, fa parte di questi pacchetti, quindi installateli tutti). Se volete usare l'interfaccia grafica di configurazione in X-Window, naturalmente dovete aver installato e configurato bene l'X-server, e poi vi servono anche il pacchetto contenente il linguaggio "tcl" e il suo tool grafico "tk". <H3>Scompattazione, patch e avvio della configurazione</H3> <P>Ecco i passi da seguire (tutto ciò che è tra doppi apici è un comando, e va dato senza di essi; come esempio si suppone di avere una versione 2.2.11 e di aggiornare alla versione 2.2.14): <P> <P>1. Se non lo siete già, diventate utente root e spostatevi in /usr/src ("su root", più la password, poi "cd /usr/src") <P> <P>2. Date: "ls -l". Controllate se esiste una riga che contiene 'linux': se non esiste, saltate al punto 5; se esiste e il primo carattere della riga è d, si tratta di una directory, saltate al punto 4; altrimenti se esiste e il primo carattere della riga è l, si tratta di un collegamento, continuate col punto 3 <P> <P>3. Rimuovete il link: "rm -f linux" (in questo modo i vecchi sorgenti eventualmente presenti rimarranno nella directory cui puntava il link, in genere 'linux-VERSIONE_KERNEL'), e saltate al punto 5 <P> <P>4. Rinominate la directory: "mv linux linux.old" (in questo modo i vecchi sorgenti eventualmente presenti verranno spostati nella directory 'linux.old'), e continuate col punto 5 <P> <P>5. Scompattate i nuovi sorgenti: se il file in vostro possesso finisce in '.gz', date "tar xvzf /persorso/del/file/linux-2.2.11.tar.gz", mentre se finisce con '.bz2', date "tar xvf /persorso/del/file/linux-2.2.11.tar.bz2 --use-compress-program bzip2" <P> <P>6. Se avete già l'ultima versione dei sorgenti, saltate al punto 7, altrimenti se dovete applicare delle patch per aggiornare i sorgenti ad una versione più recente, date i seguenti comandi (TUTTE le patch vanno applicate in sequenza): <P> <P> <HR> <PRE> cd linux gzip -dc /persorso/del/file/patch-2.2.12.gz | patch -p1 gzip -dc /persorso/del/file/patch-2.2.13.gz | patch -p1 gzip -dc /persorso/del/file/patch-2.2.14.gz | patch -p1 cd .. </PRE> <HR> <P>nel caso abbiate dei file del tipo 'patch-VERSIONE_KERNEL.bz2', sostituite nei comandi precedenti 'gzip' con 'bzip2' <P> <P>7. Rinominate la directory ottenuta in base alla versione dei sorgenti che avete ottenuto (nell'esempio 2.2.14) e ricreate alcuni collegamenti simbolici: <P> <HR> <PRE> mv linux linux-2.2.14 ln -s linux-2.2.14 linux rm -rf /usr/src/linux/include/asm /usr/include/asm rm -rf /usr/include/linux /usr/include/scsi ln -s /usr/src/linux/include/asm-i386/ /usr/src/linux/include/asm ln -s /usr/src/linux/include/asm-i386/ /usr/include/asm ln -s /usr/src/linux/include/linux/ /usr/include/linux ln -s /usr/src/linux/include/scsi/ /usr/include/scsi </PRE> <HR> <P>così da portare il tutto in una situazione standard (i sorgenti devono essere in '/usr/src/linux/') <P> <P>8. Si passa ora alla fase più delicata dell'operazione: scegliere cosa includere e cosa no nel kernel. Date "cd linux" e poi "make mrproper" per eliminare residui di eventuali vecchie compilazioni (attenzione che questo comando cancella il file '.config', che contiene le impostazioni date in una precedente compilazione, quindi nel caso fatevene una copia). Ora date a vostra scelta uno dei tre comandi seguenti, in base al tipo di interfaccia che volete usare (solo quello che c'è prima del # !!!): <P> <HR> <PRE> make config # (interfaccia a caratteri base) make menuconfig # (interfaccia a caratteri con menu) make xconfig # (interfaccia grafica - dovete essere in X-Window) </PRE> <HR> <P>e passiamo alla configurazione dei parametri. <H2><A NAME="ss4.2">4.2 Parametri</A> </H2> <H3>Code maturity level options</H3> <P> <UL> <LI>Prompt for development and/or incomplete code/drivers: 'y'</LI> </UL> <H3>Processor type and features</H3> <P> <UL> <LI>Processor family: selezionate il vostro processore. Nel caso di Intel Pentium Pro, Pentium II, Celeron o superiori, oppure Cyrix 6x86 o Cyrix_mii, scegliete PPro/6x86MX</LI> <LI>Maximum Physical Memory: scegliete 1GB se avete meno di 1 GB, 2GB altrimenti</LI> <LI>Math emulation: 'n' ('y' solo se avete un 386 o 486 sx senza coprocessore)</LI> <LI>MTRR (Memory Type Range Register) support: 'y', anche se il vostro processore non lo supporta</LI> <LI>Symmetric multi-processing support: 'y' solo se avete più processori (nello STESSO computer!)</LI> </UL> <H3>Loadable module support</H3> <P> <UL> <LI>Enable loadable module support: 'y'</LI> <LI>Set version information on all symbols for modules: 'n'</LI> <LI>Kernel module loader: 'y'</LI> </UL> <H3>General setup</H3> <P> <UL> <LI>Networking support: 'y' SEMPRE, serve almeno per il dispositivo di loopback. least need it for loopback interface</LI> <LI>PCI support: 'y', tranne se avete vecchi PC senza bus PCI</LI> <LI>PCI access mode: Any</LI> <LI>PCI quirks: 'y'</LI> <LI>PCI bridge optimization (experimental): 'n'</LI> <LI>Backward-compatible /proc/pci: 'y'</LI> <LI>MCA support: 'n', tranne che per vecchi PC IBM con bus Microchannel</LI> <LI>SGI Visual Workstation support: 'n'</LI> <LI>System V IPC: 'y'</LI> <LI>BSD Process Accounting: 'y'</LI> <LI>Sysctl support: 'y'</LI> <LI>Kernel support for a.out binaries: 'm'</LI> <LI>Kernel support for ELF binaries: 'y'</LI> <LI>Kernel support for MISC binaries: 'm'</LI> <LI>Kernel support for JAVA binaries (obsolete): 'n'</LI> <LI>Parallel port support: 'y' or 'm', a scelta.</LI> <LI>PC-style hardware: 'm'</LI> <LI>Support foreign hardware: 'n'</LI> <LI>Advanced Power Management BIOS support: 'y' solo nei portatili (nei PC Desktop potrebbe causare kernel panic e OOPS). Tutte le opzioni che seguono sono disponibili solo se questa opzione è 'y'</LI> <LI>Ignore USER SUSPEND: 'n'</LI> <LI>Enable PM at boot time: 'n'</LI> <LI>Make CPU Idle calls when idle: 'n'</LI> <LI>Enable console blanking using APM: 'y'</LI> <LI>Power off on shutdown: 'y'</LI> <LI>Ignore multiple suspend: 'y'</LI> <LI>Ignore multiple suspend/resume cycle: 'y'</LI> <LI>RTC stores time in GMT: 'y' solo se il PC è impostato sull'ora di Greenwich invece di quella locale</LI> <LI>Allow interrupts during APM BIOS calls: 'n'</LI> </UL> <H3>Plug and Play support</H3> <P> <UL> <LI>Plug and Play support: 'y'</LI> <LI>Auto-probe for parallel devices: 'm' se avete periferiche su porta parallela, altrimenti 'n'</LI> </UL> <H3>Block devices</H3> <P> <UL> <LI>Normal PC floppy disk support: 'm'</LI> <LI>Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support: 'y' se si hanno periferiche IDE</LI> <LI>Use old disk-only driver on primary interface: 'n'</LI> <LI>Include IDE/ATA-2 DISK support: 'y' se avete pariferiche IDE da cui volete fare il boot (se avete dischi IDE ma partite da SCSI, mettete 'm')</LI> <LI>Include IDE/ATAPI CDROM support: 'm' se avete un CDROM IDE</LI> <LI>Include IDE/ATAPI TAPE support: 'y' o 'm' solo se avete periferiche di backup a nastro IDE</LI> <LI>Include IDE/ATAPI FLOPPY support: 'y' o 'm' solo se avete periferiche floppy IDE, tipo ZIP</LI> <LI>SCSI emulation support: 'm' se avete un masterizzatore IDE</LI> <LI>CMD640 chipset bugfix/support: 'y' se avete questo chip ('n' se avete solo periferiche SCSI)</LI> <LI>CMD640 enhanced support: 'n' </LI> <LI>RZ1000 chipset bugfix/support: 'y' se avete questo chip ('n' se avete solo periferiche SCSI)</LI> <LI>Generic PCI IDE chipset support: 'y'</LI> <LI>Generic PCI bus-master DMA support: 'y'</LI> <LI>Boot off-board chipsets first support: 'n'</LI> <LI>Use DMA by default when available: 'y'</LI> <LI>[...VARIE]: attivate le varie opzioni in base al vostro PC (in genere, 'n' a tutte)</LI> <LI>Loopback device support: 'm'</LI> <LI>Network block device support: 'n'</LI> <LI>Multiple devices driver support: 'n' a meno che non vogliate provare il RAID software (leggete il RAID-HOWTO)</LI> <LI>RAM disk support: 'n'</LI> <LI>XT hard disk support: 'n' -- what, you still have disks like this? :)</LI> <LI>Parallel port IDE device support: 'm' se avete qualche periferica IDE su porta parallela, tipo CDROM (e selezionate il driver opportuno), 'n' altrimenti</LI> <LI>Compaq SMART2 support: 'n'</LI> </UL> <H3>Networking options</H3> <P> <UL> <LI>Packet socket: 'm'</LI> <LI>Kernel/User netlink socket: 'y'</LI> <LI>Routing messages: 'n'</LI> <LI>Netlink device emulation: 'm'</LI> <LI>Network firewalls: 'y' se volete abilitare il supporto per il firewalling e masquerading</LI> <LI>Socket filtering: 'n'</LI> <LI>UNIX domain sockets: 'y' altrimenti X-window non si avvierà</LI> <LI>TCP/IP networking: 'y'</LI> <LI>IP: multicasting: 'n'</LI> <LI>IP: advanced router: 'y' se volete usare il PC come router o per fare il masquerading di una rete locale verso Internet</LI> <LI>[...VARIE]: in genere, 'n' a tutte</LI> <LI>IP: firewalling: 'y' se volete configurare firewall e masquerading. Se volete attivare quest'ultimo, DOVETE rispondere 'y' anche a "IP: always defragment", "IP: masquerading" e "IP: ICMP masquerading"</LI> <LI>IP: firewall packet netlink device: 'y'</LI> <LI>IP: transparent proxy support: 'y'</LI> <LI>IP: masquerading: 'y' per attivare il masquerading</LI> <LI>IP: ICMP masquerading: 'y' per attivare il masquerading</LI> <LI>IP: masquerading special modules support: 'n'</LI> <LI>IP: optimize as router not host: 'y' per attivare il masquerading e il router</LI> <LI>[...VARIE]: in genere, 'n' a tutte</LI> <LI>IP: TCP syncookie support: 'y' per prevenire il D.O.S. da SYN-FLOOD</LI> <LI>IP: Reverse ARP: 'n'</LI> <LI>IP: Allow large windows (not recommended if <16MB of memory): 'y'</LI> <LI>CPU is too slow to handle full bandwidth: 'n', tranne se siete connessi a interfacce a larga banda (gigabit Ethernet, FDDI, etc.)</LI> <LI>[...VARIE]: in genere, 'n' a tutte, tranne se dovete collegarvi a reti Novell, nel qual caso attivate "The IPX protocol"</LI> </UL> <H3>QoS and/or fair queueing</H3> <P> <UL> <LI>QoS and/or fair queueing: 'n' (il resto è disabilitato di conseguenza)</LI> </UL> <H3>Telephony Support</H3> <P> <UL> <LI>Linux Telephony Support: 'n' (il resto è disabilitato di conseguenza)</LI> </UL> <H3>SCSI support</H3> <P> <UL> <LI>SCSI support: 'y' se avete uno o più adattatori e periferiche SCSI oppure un drive ZIP parallelo o un masterizzatore, 'n' altrimenti. </LI> <LI>SCSI disk support: 'y' (e non 'm') per se fate il boot da un disco SCSI, altrimenti non riuscirete ad avviare il sistema! </LI> <LI>SCSI tape support: 'm' se avete periferiche a nastro SCSI</LI> <LI>SCSI CDROM support: 'm' se avete CDROM SCSI</LI> <LI>Enable vendor-specific extensions (for SCSI CDROM): 'y' se avete CDROM SCSI Nec, Toshiba o masterizzatori HP</LI> <LI>SCSI generic support: 'm' se avete un masterizzatore, IDE o SCSI</LI> <LI>Probe all LUNs on each SCSI device: 'n'</LI> <LI>Verbose SCSI error reporting (kernel size +=12K): 'n'</LI> <LI>SCSI logging facility: 'n'</LI> </UL> <H3>SCSI low-level drivers</H3> <P> <UL> <LI>[...VARIE]: in genere, 'n' a tutte, tranne che per il vostro eventuale adattatore SCSI</LI> <LI>IOMEGA parallel port (ppa - older drives): 'm' se avete uno dei primi modelli di ZIP parallelo</LI> <LI>IOMEGA parallel port (imm - newer drives): 'm' se avete uno degli ultimi modelli di ZIP parallelo</LI> <LI>[...VARIE]: in genere, 'n' a tutte, tranne che per il vostro eventuale adattatore SCSI</LI> </UL> <H3>Network device support</H3> <P> <UL> <LI>Network device support: 'y' se avete una scheda di rete o per collegarvi a Internet</LI> <LI>Dummy net driver support: 'm'</LI> <LI>[...VARIE]: in genere, 'n' a tutte</LI> <LI>PLIP (parallel port) support: 'm' se volete creare una rete con cavi paralleli PLIP, altrimenti 'n'</LI> <LI>PPP (point-to-point) support: 'y' o 'm' se volete collegarvi a Internet via modem</LI> <LI>[...VARIE]: in genere, 'n' a tutte</LI> </UL> <H3>ARCnet devices</H3> <P> <UL> <LI>ARCnet devices: 'n'</LI> </UL> <H3>Ethernet (10 or 100Mbit)</H3> <P> <UL> <LI>ETHERNET (10 or 100Mbit): 'y' se avete uno o più adattatori di rete Ethernet </LI> <LI>[...VARIE]: in genere, 'n' a tutte tranne che per il vostro modello di scheda</LI> </UL> <H3>Ethernet (1000 Mbit)</H3> <P> <UL> <LI>[...VARIE]: in genere, 'n' a tutte</LI> </UL> <H3>Appletalk devices</H3> <P> <UL> <LI>Dovrebbe essere disattivato, altrimenti 'n' a tutte</LI> </UL> <H3>Token ring devices</H3> <P> <UL> <LI>[...VARIE]: in genere, 'n' a tutte</LI> </UL> <H3>Wan interfaces</H3> <P> <UL> <LI>[...VARIE]: in genere, 'n' a tutte</LI> </UL> <H3>Amateur Radio support</H3> <P> <UL> <LI>[...VARIE]: in genere, 'n' a tutte</LI> </UL> <H3>IrDA subsystem support</H3> <P> <UL> <LI>IrDA subsystem support: 'y' o 'm' se avete una porta a infrarossi (tipicamente i portatili)</LI> <LI>IrLAN protocol: 'y' o 'm' se avete abilitato IrDA e avete un sistema di emulazione di rete Ethernet</LI> <LI>IrCOMM protocol: 'y' o 'm' se avete abilitato IrDA e avete un sistema di emulazione di porta seriale</LI> <LI>IrLPT protocol: 'y' o 'm' se avete abilitato IrDA e avete un sistema di emulazione di porta parallela, e abilitate il supporto client o server</LI> <LI>IrDA protocol options: 'y' </LI> <LI>Cache last LSAP: 'y'</LI> <LI>Fast RRs: 'n' (guardate l'help)</LI> <LI>Debug information; 'n'</LI> <LI>IrLAP compression: 'n'</LI> </UL> <H3>Infrared-port device drivers</H3> <P> <UL> <LI>IrTTY (uses Linux serial driver): 'y' o 'm' </LI> <LI>IrPORT (IrDA serial driver): 'y' o 'm' </LI> <LI>[...VARIE]: in genere, 'n' a tutte tranne che per il vostro modello di chip</LI> </UL> <H3>ISDN subsystem</H3> <P> <UL> <LI>ISDN support: 'y' se avete un adattatore ISDN interno </LI> <LI>Support synchronous PPP: 'y' se vi connettete a Internet</LI> <LI>Use VJ-compression with synchronous PPP: chiedete al provider se è supportata</LI> <LI>Support generic MP (RFC 1717): 'n' (guardate l'help)</LI> <LI>Support audio via ISDN: 'n' (guardate l'help)</LI> <LI>Support ISDN diversion services: 'n' (guardate l'help) e nel caso abilitate "Support AT-FAX Class 2 commands"</LI> <LI>[...VARIE]: in genere, 'n' a tutte tranne che per il vostro modello di scheda</LI> </UL> <H3>Old CD-ROM drivers (not SCSI, not IDE)</H3> <P> <UL> <LI>Old CD-ROM drivers (not SCSI, not IDE): 'n', tranne che per vecchi modelli di CDROM con interfaccia proprietaria</LI> </UL> <H3>Character devices</H3> <P> <UL> <LI>Virtual terminal: 'y'</LI> <LI>Support for console on virtual terminal: 'y'</LI> <LI>Standard/generic (dumb) serial support: 'y'</LI> <LI>Support for console on serial port: 'n'</LI> <LI>Extended dumb serial driver options: 'n'</LI> <LI>Non-standard serial port support: 'n'</LI> <LI>Unix98 PTY support: 'y' e lasciate il valore "Maximum number of Unix98 PTYs in use (0-2048)" al default, 256</LI> <LI>Parallel printer support: 'm' se avete una stampante parallelaif you have a parallel port printer</LI> <LI>Support IEEE1284 status readback: 'y'</LI> <LI>Mouse Support (not serial mice): 'y' in genere, ma guardate l'help e attenti ai laptop. Se avete un mouse seriale, scegliete 'n'</LI> <LI>QIC-02 tape support: 'y' se avete un sistema di backup a nastro non SCSI (esclusi quelli su controller floppy, altre informazioni nel seguito)</LI> <LI>Watchdog Timer Support: 'n'</LI> <LI>/dev/nvram support: 'n'</LI> <LI>Enhanced Real Time Clock Support: 'y'</LI> <LI>Double Talk PC internal speech card support: 'n'</LI> </UL> <H3>Mice</H3> <P> <UL> <LI>[...VARIE]: in genere, 'n' a tutte tranne che per il vostro modello di mouse (esclusi i seriali, guardate sopra)</LI> </UL> <H3>Joysticks</H3> <P> <UL> <LI>[...VARIE]: in genere, 'n' a tutte tranne che se volete il supporto per i joystick, e sceglietene il modello</LI> </UL> <H3>Watchdog Cards</H3> <P> <UL> <LI>Dovrebbe essere disattivato, altrimenti 'n' a tutte</LI> </UL> <H3>Video For Linux</H3> <P> <UL> <LI>[...VARIE]: in genere, 'n' a tutte tranne che se volete il supporto per una scheda di acquisizione video, radio o Quickcam, e sceglietene il modello</LI> </UL> <H3>Ftape, the floppy tape device driver</H3> <P> <UL> <LI>Ftape (QIC-80/Travan) support: 'y' se avete un drive a nastro connesso al controller dei floppy disk</LI> </UL> <H3>Filesystems</H3> <P> <UL> <LI>Quota support: 'n' tranne che se volete stabilire delle quote di disco per gli utenti (in genere sui server)</LI> <LI>Kernel automounter support: 'n' tranne se volete che i device vengano montati in automatico</LI> <LI>ADFS filesystem support (read only) (EXPERIMENTAL): 'n' tranne se volete accedere a filesystem Acorn</LI> <LI>Amiga FFS filesystem support: 'n' tranne se volete accedere a filesystem Amiga</LI> <LI>Apple Macintosh filesystem support (experimental): 'n' tranne se volete accedere a filesystem Macintosh</LI> <LI>DOS FAT fs support: 'y' or 'm' per poter accedere a dischi o partizioni MS-DOS/Windows da Linux</LI> <LI>MSDOS fs support: 'm'</LI> <LI>UMSDOS: Unix-like filesystem on top of standard MSDOS filesystem: 'n'</LI> <LI>VFAT (Windows-95) fs support: 'm' (comprende il supporto a FAT32)</LI> <LI>ISO 9660 CDROM filesystem support: 'm'</LI> <LI>Microsoft Joliet CDROM extensions: 'y'</LI> <LI>Minix fs support: 'n'</LI> <LI>NTFS filesystem support (read only): 'n' tranne se volete accedere a filesystem Windows NT (il supporto in scrittura è PERICOLOSO)</LI> <LI>OS/2 HPFS filesystem support (read only): 'n' tranne se volete accedere a filesystem OS/2</LI> <LI>/proc filesystem support: 'y'</LI> <LI>/dev/pts filesystem for Unix98 PTYs: 'y'</LI> <LI>QNX filesystem support (EXPERIMENTAL): 'n' tranne se volete accedere a filesystem QNX</LI> <LI>Second extended fs support: 'y'</LI> <LI>[...VARIE]: in genere, 'n' a tutte</LI> </UL> <H3>Network File Systems</H3> <P> <UL> <LI>Coda filesystem support (advanced network fs): 'n'</LI> <LI>NFS filesystem support: 'y' se il vostro PC è un client NFS</LI> <LI>NFS server support: 'y' se il vostro PC è un server NFS, e nel caso lasciate a 'n' "Emulate SUN NFS server"</LI> <LI>SMB filesystem support (to mount WfW shares etc.): 'y' se volete montare partizioni di rete da server Windows (9x o NT). NON serve per creare un server Samba (per questo serve appunto Samba), ma solo per accedere ad altre partizioni</LI> <LI>NCP filesystem support (to mount NetWare volumes): 'y' se volete montare partizioni di rete da server Novel NetWare, altrimenti 'n'</LI> </UL> <H3>Partition Types</H3> <P> <UL> <LI>[...VARIE]: in genere, 'n' a tutte</LI> </UL> <H3>Native Language Support</H3> <P> <UL> <LI>[...VARIE]: in genere, 'n' a tutte tranne a quelle seguenti:</LI> <LI>Codepage 437 (United States, Canada): 'm'</LI> <LI>Codepage 850 (Europe): 'm'</LI> <LI>NLS ISO 8859-1: 'm'</LI> <LI>NLS ISO 8859-15: 'm'</LI> </UL> <H3>Console drivers</H3> <P> <UL> <LI>[...VARIE]: in genere, 'n' a tutte tranne a quelle seguenti:</LI> <LI>VGA text console: 'y'</LI> <LI>Video mode selection support: 'y' se volete usare il framebuffer (per accedere alle schede video VESA non supportate altrimenti e per avere un pinguino al boot ;-) ). Serve comunque un X-Server</LI> <LI>Support for frame buffer devices (EXPERIMENTAL): 'y' se volete attivare il framebuffer</LI> <LI>VESA VGA graphics console: 'y' se volete attivare il framebuffer</LI> </UL> <H3>Sound</H3> <P> <UL> <LI>[...VARIE]: in genere, 'n' a tuttetranne a quelle seguenti:</LI> <LI>Sound card support: 'm' se avete una scheda audio, e selezionate il driver opportuno</LI> </UL> <H3>Additional low level sound drivers</H3> <P> <UL> <LI>[...VARIE]: in genere, 'n' a tutte, o selezionate il driver opportuno</LI> </UL> <H3>Kernel hacking</H3> <P> <UL> <LI>Magic SysRq key: 'n'</LI> </UL> <H2><A NAME="ss4.3">4.3 Compilazione e installazione</A> </H2> <P>Fatto tutto questo, salvate con l'opzione apposita, incrociate le dita e date: <P> <HR> <PRE> make dep && make clean && make bzImage && make modules </PRE> <HR> <P>uscite e andate a farvi un caffè o una lunga passeggiata (con un processore a 200 MHz servono in genere una quindicina di minuti, regolatevi!) Non è come aspettare un figlio, ma la prima volta ci si ritrova con le unghie completamente rosicchiate ;-). Se tutto è andato bene, il vostro nuovo bambino... ehm, kernel, è contenuto nel file '/usr/src/linux/arch/i386/boot/bzImage'. Complimenti! Ora bisogna installare il tutto. Per prima cosa i moduli. Se avete ricompilato la stessa versione di kernel che state già usando, dovete spostare la directory con la versione precedente dei moduli, prima di installarli (se avete compilato una versione diversa da quella in uso, potete saltare il primo dei due comandi seguenti): <P> <HR> <PRE> mv /lib/modules/VERSIONE_KERNEL /lib/modules/VERSIONE_KERNEL.old make modules_install </PRE> <HR> <P>Fatto questo, controllate se nella directory "/boot" esistono i seguenti file: <P> <HR> <PRE> ls -l /boot/System.map /boot/vmlinuz </PRE> <HR> <P>come prima, se il primo carattere è una 'l' si tratta di collegamenti (rimuoveteli con rm -f /boot/...), mentre se è '-' si tratta di file (rinominateli con mv -f /boot/NOMEFILE /boot/NOMEFILE-VERSIONE_KERNEL_PRECEDENTE). Ora copiate in "/boot" il kernel e la System-map aggiornate e ricreate i collegamenti (l'esempio si riferisce sempre al kernel 2.2.14): <P> <HR> <PRE> cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.2.14 ln -s /boot/vmlinuz-2.2.14 /boot/vmlinuz cp /usr/src/linux/System.map /boot/System.map-2.2.14 ln -s /boot/System.map-2.2.14 /boot/System.map </PRE> <HR> <P>Se usate 'loadlin', copiate il nuovo kernel nella sua directory (guardate la pagina apposita di questo howto). Mentre se usate 'lilo', modificate il file '/etc/lilo.conf' in modo da avere sia il vecchio kernel che il nuovo (fino a quando non sarete sicuri che quest'ultimo funzioni perfettamente - la parte aggiunta per il nuovo kernel è quella tra le due righe di ###..., e qualcosa potrebbe essere diverso): <P> <HR> <PRE> boot = /dev/hda delay = 5 vga = normal root = /dev/hdb2 # correggere con la vostra partizione di root! read-only image = /boot/vmlinuz.old # controllate o rinominate il vecchio kernel di conseguenza label = oldlinux ################################# image = /boot/vmlinuz # questo è il nuovo kernel label = linux ################################# other = /dev/hda1 label = dos table = /dev/hda </PRE> <HR> <P>e ridate '/sbin/lilo -v' per rimetterlo a posto (man lilo, man lilo.conf o lilo-howto per altre informazioni). Se volete rimuovere lilo, usate il comando "fdisk /mbr" dal DOS, oppure 'lilo -U' da Linux. Per la stampante, controllate che il file /etc/conf.modules contenga le righe: <P> <HR> <PRE> alias parport_lowlevel parport_pc options parport_pc io=0x378, 0x278 irq=7 auto </PRE> <HR> <P>Se volete provare il kernel prima di usarlo definitivamene, tralasciate per ora tutta la parte dopo ' make modules_install' e copiatelo su un dischetto che userete come boot (il floppy NON va montato per eseguire queste operazioni!!!): <P> <HR> <PRE> cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.2.14 cp /usr/src/linux/vmlinuz-2.2.14 /dev/fd0 rdev /dev/fd0 /dev/hda2 rdev -R /dev/fd0 1 </PRE> <HR> <P>Sostituite a /dev/hda2 la vostra partizione di root ('/')!!! Questo è tutto! <P>Nota per Debian: dopo aver ricompilato, potete ottenere un pacchetto .deb contenente kernel e moduli e che aggiorna anche in automatico lilo, col seguente comando dato da dentro la dir /usr/src/linux/ : <P> <HR> <PRE> make-kpkg --revision pingu.0 kernel_image </PRE> <HR> <P>dove potete sostituire pingu.0 con quello che volete. <HR> <A HREF="Quick-Easy-Configuration-HOWTO-5.html">Avanti</A> <A HREF="Quick-Easy-Configuration-HOWTO-3.html">Indietro</A> <A HREF="Quick-Easy-Configuration-HOWTO.html#toc4">Indice</A> </BODY> </HTML>