Como recompilar o Linux kernel
Death Knights Issue 5
CeZiNHa
Para compilar o kernel eh necessario o arquivo linux-2.0.xx.tar.gz (onde xx eh a versao mais atual). Esse texto explica como atualizar o kernel 2.0.xx, a configuracao eh a mais simples, em caso de duvida leia /usr/src/linux/README, ou ainda
Download
ftp://ftp.cdrom.com/pub/
ftp://ftp.kernel.com/pub/
ftp://sunsite.unc.edu/pub/Linux/kernel
Copie o arquivo linux-2.0.xx.tar.gz para /usr/src
cp linux-2.0.xx.tar.gz /usr/src
Descompacte o arquivo (nao esqueca de alterar 'xx' para a versao atual)
cd /usr/src
tar zxvpf linux-2.0.xx.tar.gz
Vc pode usar patch para atualizar o kernel tb.
cd /usr/src
gzip -cd patchXX.gz | patch -p0
Tenha certeza que os links simbolicos estao corretos:
cd /usr/include
rm -rf asm linux scsi
ln -s /usr/src/linux/include/asm-i386 asm
ln -s /usr/src/linux/include/linux linux
ln -s /usr/src/linux/include/scsi scsi
Compilando
cd /usr/src/linux
make mrproper
make menuconfig (pode ser usado tb 'make config' no console mesmo ou 'make xconfig' no X)
Configuracoes
Ao executar o menunconfig, aparecera um menu com opcoes. Deve-se escolher cada opcao, a partir dai aparecerao outros menus. Tecle 'Y' para incluir, 'N' para excluir, 'M' para deixar como modulo, 'ESC ESC' para sair, ? para help. Legenda: [*] built-in [ ] excluido <M> modulo <> aceita modulo
Configuracao simples: Este eh um exemplo configuracao basica do kernel 2.0.35 com acesso discado a Internet, c/ cdrom IDE, e placa de som SoundBlaster 16, s/ scsi para um Pentium. Algumas opcoes podem ser diferentes dependendo do kernel.
Code maturity levels options
[ ] Prompt for development and/or incomplete code/drivers
Loadable module support
[*] Enable loadable module support
[ ] Set version information on all symbols for modules
[*] Kernel daemon support (e.g. autoload of modules)
General setup
[ ] Kernel math emulation
[*] Networking support
[ ] Limit memory to low 16MB
[*] PCI bios support
[*] System V IPC
<*> Kernel support for a.out binaries
<*> Kernel support for ELF binaries
[*] Compile kernel as ELF - if your GCC is ELF-GCC
(Pentium) Processor type ----- Aqui vc tem q escolher qual seu processador
Floppy, IDE, and other block devices
<*> Normal floppy disk support
[*] Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
--- Please see Documentation/ide.txt for help/info on IDE drives
[ ] Use old disk-only driver on primary interface
[*] Include IDE/ATAPI CDROM support
[ ] Include IDE/ATAPI TAPE support
[ ] Include IDE/ATAPI FLOPPY support (new)
[ ] SCSI emulation support
[ ] Support removable IDE interfaces (PCMCIA)
[ ] CMD640 chipset bugfix/support
[ ] RZ1000 chipset bugfix/support
[ ] Intel 82371 PIIX (Triton I/II) DMA support
[ ] Other IDE chipset support
--- Additional Block Devices
< > Loopback device support
[ ] Multiple devices driver support
< > RAM disk support
< > XT harddisk support
< > Parallel port IDE device support
Networking options
[ ] Network firewalls
[ ] Network aliasing
[*] TCP/IP networking
[ ] IP: forwarding/gatewaying
[ ] IP: multicasting
[ ] IP: syn cookies
[ ] IP: accounting
[ ] IP: optimize as router not host
< > IP: tunneling
--- (it is safe to leave these untouched)
[ ] IP: PC/TCP compatibility mode
< > IP: Reverse ARP
[ ] IP: Disable Path MTU Discovery (normally enabled)
[*] IP: Drop source routed frames
[*] IP: Allow large windows (not recommended if <16Mb of memory)
---
< > The IPX protocol
< > Appletalk DDP
< > Amateur Radio AX.25 Level 2
[ ] Kernel/User network link driver
SCSI support
< > SCSI support
Network device support
[*] Network device support
<M> Dummy net driver support
< > EQL (serial line load balancing) support
< > PLIP (parallel port) support
<M> PPP (point-to-point) support
--- CCP compressors for PPP are only built as modules.
< > SLIP (serial line) support
[ ] Radio network interfaces
[ ] Ethernet (10 or 100Mbit)
[ ] Token Ring driver support
[ ] FDDI driver support
< > ARCnet support
ISDN subsystem
< > ISDN support
CD-ROM drivers (not for SCSI or IDE/ATAPI drives)
[ ] Support non-SCSI/IDE/ATAPI CDROM drives
Filesystems
[ ] Quota support
<M> Minix fs support
< > Extended fs support
<*> Second extended fs support
< > xiafs filesystem support
<*> Native language support (Needed for FAT and ISO9660)
<M> ISO9660 cdrom filesystem support
<M> DOS FAT fs support
<M> MSDOS fs support
< > umsdos: Unix like fs on top of std MSDOS FAT fs
<M> VFAT (Windows-95) fs support
<*> Codepage 437
< > Codepage 737
< > Codepage 775
< > Codepage 850
< > Codepage 852
< > Codepage 855
< > Codepage 857
< > Codepage 860
< > Codepage 861
< > Codepage 862
< > Codepage 863
< > Codepage 864
< > Codepage 865
< > Codepage 866
< > Codepage 869
< > Codepage 874
<*> NLS ISO 8859-1
< > NLS ISO 8859-2
< > NLS ISO 8859-3
< > NLS ISO 8859-4
< > NLS ISO 8859-5
< > NLS ISO 8859-6
< > NLS ISO 8859-7
< > NLS ISO 8859-8
< > NLS ISO 8859-9
< > NLS KOI8-R
[*] /proc filesystem support
< > NFS filesystem support
< > SMB filesystem support (to mount WfW shares etc..)
< > OS/2 HPFS filesystem support (read only)
< > System V and Coherent filesystem support
< > UFS filesystem support (read only)
Character devices
<*> Standard/generic serial support
[ ] Digiboard PC/Xx Support
< > Cyclades async mux support
[ ] Stallion multiport serial support
< > SDL RISCom/8 card support
<M> Parallel printer support
< > Specialix IO8+ card support
[ ] Mouse Support (not serial mice)
[ ] Support for user misc device modules
[ ] QIC-02 tape support
< > Ftape (QIC-80/Travan) support
[ ] Advanced Power Management BIOS support
[ ] Watchdog Timer Support
[ ] Enhanced Real Time Clock Support
Sound
<M> Sound card support
Old configuration script (For: SM Wave, PSS & AudioTrix Pro) -->
[ ] ProAudioSpectrum 16 support
[*] Sound Blaster (SB, SBPro, SB16, clones) support
[*] Generic OPL2/OPL3 FM synthesizer support
[ ] Gravis Ultrasound support
[ ] MPU-401 support (NOT for SB16)
[ ] 6850 UART Midi support
[ ] PSS (ECHO-ADI2111) support
[ ] 16 bit sampling option of GUS (_NOT_ GUS MAX)
[ ] GUS MAX support
[ ] Microsoft Sound System support
[ ] Ensoniq SoundScape support
[ ] MediaTrix AudioTrix Pro support
[ ] Support for MAD16 and/or Mozart based cards
[ ] Support for Crystal CS4232 based (PnP) cards
[ ] Support for Turtle Beach Wave Front (Maui, Tropez) synthesizers
[*] /dev/dsp and /dev/audio support
[*] MIDI interface support
[*] FM synthesizer (YM3812/OPL-3) support
(220) I/O base for SB Check from manual of the card
(5) Sound Blaster IRQ Check from manual of the card
(1) Sound Blaster DMA 0, 1 or 3
(5) Sound Blaster 16 bit DMA (_REQUIRED_for SB16, Jazz16, SMW) 5, 6 o
(0) MPU401 I/O base of SB16, Jazz16 and ES1688 Check from manual of t
(-1) SB MPU401 IRQ (Jazz16, SM Wave and ES1688) Use -1 with SB16
(65536) Audio DMA buffer size 4096, 16384, 32768 or 65536
[ ] Additional low level drivers
Kernel hacking
[ ] Kernel profiling support
Tecle <ESC><ESC> depois grave a configuracao. Digite:
$ make dep
$ make clean
$ make install
De um boot no sistema e verifique se aparecera a mensagem:
Welcome to Linux 2.0.35.
Prontim.. compilado. Em caso de duvidas, verifique Kernel-HOWTO
CeZiNHa cezinha@DeathKnights.com