KERNEL

1d)APPLICARE UNA PATCH AL KERNEL
2d)COMPILARE IL KERNEL IN DEBIAN
3d)RICOMPILARE IL KERNEL PER MASTERIZZARE CON DISCHI IDE
4d)COME RICOMPILARE IL KERNEL
5d)KERNEL 2.6 COME RICOMPILARLO

+++++++++++++++++++KERNEL+++++++++++++++++++++++++++++++++++++++++++
1d)APPLICARE UNA PATCH AL KERNEL
Se volete applicare una patch al kernel copiare la patch in /usr/src
entrare poi in /usr/src/linux-kernel/ e scrivere:
bzip2 -dc ../nomefile.bz2 | patch -p1
oppure
gzip -dc ../nomefile.gz | patch -p0

2d)COMPILARE IL KERNEL IN DEBIAN
Valido per kernel 2.2 e kernel 2.4
Prendere il kernel e spostarlo in /usr/src
Scompattarlo con tar zxvf kernel.tar.gz
Entrare e scrivervi:
make mrproper
make menuconfig (fare tutte le modifiche del caso e salvare)
make-kpkg kernel_image (scrivere pari pari la frase)
Uscire da /usr/src/linux con (cd ..) e vi troverete un file di nome
kernel-image-versione.deb adesso non rimane che scrivere:
dpkg -i kernel-image-versione.deb
Seguire le istruzioni per creare il floppy di avvio modificato e per reinstallare il lilo (fa tutto da solo).
Chiaramente se avete più distro e volete essere pignoli in /etc/lilo.conf dovrete scrivere al posto di vmlinuz il file che si trova in /boot/vmlinuzmodificato (basta vedere l'ora con ls -al). Salvate il file lilo.conf e date un lilo.

3d)RICOMPILARE IL KERNEL PER MASTERIZZARE CON DISCHI IDE
Valido per kernel 2.2 e kernel 2.4
Andare su /usr/src/linux
make mrproper
make xconfig o make menuconfig

- Kernel 2.2 e Kernel 2.4
Entrare in Block Device disabilitare IDE/ATAPI cdrom support e abilitare SCSI Emulation
Entrare in SCSI Support e abilitare Scsi support, Scsi cdrom support e
disabilitare la voce Lun
Entrare in Sound e abilitare la voce Sound support
salvare e scrivere:

-Kernel 2.6
Entrare in Device Drivers, Ata/Atapi/MFM/RLL support e abilitare:
Include IDE/ATA-2 DISK support
SCSI emulation support
generic default IDE chipset support
disabilitare:
Include IDE/ATAPI CDROM support
Entrare in SCSI Device support e abilitare:
SCSI disk support
SCSI CDROM support
SCSI generic support
Entrare in Sound e abilitare Sound card Support
salvare e scrivere:

make dep && make clean && make bzImage && make modules && make modules_install
cp -f System.map /boot
cd arch/i386/boot
cp -f bzImage /boot
Modificate il file di configurazione lilo.conf per lilo oppure menu.lst per grub.
Riavviare il pc, ed una volta ritornato in linux scrivere
cdrecord -scanbus e vedere se i 2 dispositivi (cdrom e masterizzatore) sono riconosciuti.
Ora con il kernel 2.6 il lettore cd-dvd rimane 0,0,0 mentre il masterizzatore è diventato:
1,0,0
e non più come prima con il kernel 2.4:
0,1,0

4d)COME RICOMPILARE IL KERNEL
Andremo a ricompilare il kernel 2.4.23 tenendo presente che il mio pc è costituito da:
processore Duron 900, schede di rete ne2000 e 3com 3c905, scanner usb, stampante parallela, webcam usb, scheda audio Sound Blaster 128 PCI, scheda tv pci, masterizzatore e lettore dvd ide che farò riconoscere come scsi. Ho ricompilato il kernel senza quasi mai usare i moduli, anche se molti obietteranno. Scompattiamo il kernel linux-2.4.23.tar.gz ed entriamo nella directory /usr/src/linux-2.4.23/ e diamo il comando;
make mrproper
make manuconfig
-Code maturity.... tutto asteriscato
-Loadable module .... tutto asteriscato
-Processor Type..... asteriscare il processore Duron 900 e lasciare tutto invariato
-General Setup.... asteriscare Power Management Support, Advanced Power ed User Real Mode.
-Parallel Port Support.... asteriscare le prime 3 opzioni
-Plug and Play.... asteriscare le 2 opzioni
-Block Device.... asteriscare solo il floppy
-Networking Option.... asteriscare la prima opzioni, la seconda vuota ed asteriscare dalla terza opzione
Netlink fino ad IpBroadcast, se non riuscite a mettere gli asterischi inserite la M di modulo.
Selezionare IpNetfilter (premere invio) cioè iptables e mettere in tutti la M (a parte uno dove va messo la y).
-ATA/IDE.... asteriscare la prima opzione, andare in IDE/ATA, deselezionare Include IDE/ATAPI
CDROM support e asteriscare SCSI emulation support ISA-PNP EIDE support.
-SCSI support.... asteriscare SCSI CD-ROM support, SCSI generic support, deselezionare Probe all LUNs.
-Network Device Support.... Mettere M davanti a Dummy, su Ethernet (10 or 100Mbit) asteriscare
Ethernet (10 or 100Mbit), 3COM cards, una M davanti a 3c590/3c900, asteriscare EISA, VLB, PCI e
PCI NE2000 and clones. Una M davanti a PLIP (parallel port) fino a CSLIP (dove possibile mettere
asteriscare).
-Caracter devices.... asteriscare Support for console, da Parallel printer a Support for. Su I2C asteriscare le prime 2 opzioni.
-Multimedia devices asteriscare Video For Linux e dentro Video For Linux asteriscare la prima, seconda, terza, quinta, sesta ed ottava scritta.
-File System.... Reiserfs support, Ext3, da DOS FAT a VFAT (Windows-95), da ISO 9660 CDROM a
Transparent, /proc file, /dev/pts, Second extended, UDF file system e UDF write.
-Console driver.... asteriscare solo VGA text console.
-Sound.... asteriscare BT878 audio dma, Creative Ensoniq AudioPCI 97 (ES1371), TV card
(bt848) mixer support.
-USB support.... asteriscare Support for, Preliminary USB, EHCI HCD, UHCI Alternate, OHCI (Compaq,
USB Scanner support, USB OV511 Camera support.
Andare su Exit, e salvare su Yes. Ricompilare il kernel con:
make dep && make clean && make bzImage && make modules &&
make modules_install
Copiare il file System.map nella dir /boot, andare in
/usr/src/linux/arch/i386/boot/ e scrivere
rdev -R bzImage l /dev/hda5 (partizione dove e' installato linux)
copiare bzImage di questa directory nella directory /boot
Riavviare il pc. Creare prima un floppy di ripristino per sicurezza.

5d)KERNEL 2.6 COME RICOMPILARLO
Questo è stato fatto sulla Slackware 9.1 ed Archlinux 0.7.2
Di solito nelle ultime distro il programma module-init-tools-0.9.14-i486-2.tgz è già installato di default, nel caso utilizzare pacman in Archlinux od altro programma di aggiornamento per le varie distro (come installpkg, yast, apt-get, ecc....), nel caso scaricarsi il file module-init-tools-0.9.14-i486-2.tgz ed installarlo.
Se volete navigare con modem adsl e scheda ethernet è fondamentale(almeno nel mio caso) mettere
y oppure * davanti alla propria scheda di rete ed m oppure * davanti ai vari PPP.
make menuconfig
Una volta configurato il vostro kernel salvate e date:
make all && make modules_install && generate-modprobe.conf
Se avete problemi od errori con la linea sopra descritta, utilizzate pure quella sotto descritta:
make clean && make bzImage && make modules && make modules_install
cp -f System.map /boot
cd arch/i386/boot
cp -f bzImage /boot
oppure se usate lilo date semplicemente make install (fa tutto da se).
riavviate il pc
-Al riavvio se date:
cdrecord -scanbus
vedrete una cosa diversa:
Ora con il kernel 2.6 il lettore cd-dvd rimane 0,0,0 mentre il masterizzatore è diventato:
1,0,0
e non più come prima con il kernel 2.4.2:
0,1,0

-Se da xterm o da consolle date:
ls -al /dev/cdrom
vedrete una cosa simile:
/dev/cdrom -> sr0 (nella Slackware)
/dev/cd/cdrom-sr0 (in ArchLinux)
Il cdrom quindi diventa /dev/sr0 ed il masterizzatore /dev/sr1
Per montare un cd dati bisognerà dare:
mount /mnt/cdrom
oppure
mount -t iso9660 /dev/sr0 /mnt/cdrom
Il masterizzatore con un cd dati inserito si monterà:
mount -t iso9660 /dev/sr1 /mnt/cdrom2
Ovviamente su linux i cd audio NON si montano.

-Al contrario della vers. 2.2 e 2.4 nel kernel 2.6 la prima scheda di rete è la eth1 e non la eth 0,
mentre la seconda scheda di rete è la eth0 e non la eth1. Chi ha configurato nel kernel le schede come modulo bisogna agire prima con modprobe eth0 e poi con insmod eth1. Chi ha configurato, come nel mio caso, le schede con y o con * basta entrare nel
file /etc/rc.d/rc.inet1.conf (nella slackware 9.1) e configurare anche a mano il file, basta scrivere una cosa come questa:

# Config information for eth1:
IPADDR[1]="192.168.1.1"
NETMASK[1]="255.255.255.0"
USE_DHCP[1]=""
DHCP_HOSTNAME[1]=""

# Config information for eth0:
IPADDR[0]=""
NETMASK[0]=""
USE_DHCP[0]=""
DHCP_HOSTNAME[0]=""

In questo caso ho deciso che la scheda di rete eth1 venga riconosciuta inserendo un indirizzo ip, mentre non ho assegnato nessun indirizzo alla eth0, all'avvio del s.o. verrà caricata solo la scheda di rete con indirizzo ip.

-Ricompilando i recenti kernel 2.6.1X lo scanner usb è sempre stato riconosciuto lanciando il programma xsane, ma all'inizio con la Slackware ho avuto dei problemi con i primi kernel 2.6 che ho risolto così:

Scaricare il programma libusb (al momento vers.0.1.8) da questo sito:
http://libusb.sourceforge.net/
ed installarlo:
tar zxvf libusb-0.1.8.tar.gz
cd libusb-0.1.8
./configure
make
make install

Scaricare i sorgenti di sane dal sito, oppure installarlo con uno dei tanti programmi delle varie distro (yast, apt-get, pacman), comunque nel caso:
http://www.sane-project.org/
ftp://ftp.mostang.com/pub/sane/ e scaricare questi programmi (al momento quelle inserite sono le ultime versioni):
ftp://ftp.mostang.com/pub/sane/sane-backends-1.0.13/sane-backends-1.0.13...
ftp://ftp.mostang.com/pub/sane/sane-frontends-1.0.11/sane-frontends-1.0....
ftp://ftp.mostang.com/pub/sane/xsane/xsane-0.92.tar.gz
Scompattare sane-backends-1.0.13.tar.gz e scrivere:
./configure --enable-libusb && make && make install
Scompattare sane-frontends-1.0.11.tar.gz e scrivere:
./configure && make && make install
Scompattare xsane-0.92.tar.gz e scrivere:
./configure && make && make install

Adesso configuriamo lo scanner:
sane-find-scanner
Nel mio caso da:
found USB scanner (vendor=0x055f, product=0x0006) at libusb:001:004
Editare il file /etc/sane.d/dll.conf e commentare tutte le righe a parte la prima "net" e quella riferita alla marca del vostro scanner (nel mio caso mustek_usb). Editare il file .conf riferito alla marca del vostro scanner (nel mio caso mustek_usb.conf), commentare tutte le righe ed aggiungere la seguente riga:
usb libusb:001:004 (risultato del camando sane-find-scanner).
Infine scrivere:
xsane oppure scanimage -L
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++