Actualizado el 17 de Abril del 2021 (Publicado el 17 de Septiembre del 2018)
1.030 visualizaciones desde el 17 de Septiembre del 2018
100,8 KB
15 paginas
Creado hace 17a (23/05/2007)
El kernel
El kernel
Por Paco Aldarias Raya
Impreso: 23 de mayo de 2007
Email: pacolinux arroba inicia punto es
Web: http://pagina.de/pacodebian
Con Linux Debian. En Valencia (España)
El documento tiene version .html, y .pdf, cambiando en el navegador la
parte final podrás acceder a ambos.
Este documento es de libre reproducción siempre que se cite su fuente.
Realizado con: LATEX
Índice
1.
Introducción
El núcleo o kernel es el corazón de linux.
Recomendable leer el Kernel Como:
http://es.tldp.org/COMO-INSFLUG/COMOs/Kernel-Como/Kernel-Como.html
2. Funciones
Las funciones mas importantes del mismo, aunque no las unicas, son:
1. Administracion de la memoria, para todos los programas en ejecucion.
2. Administracion del tiempo de procesador, que estos programas en eje-
cucion utilizan.
3. Es el encargado de que podamos acceder a los perifericos/elementos de
nuestro ordenador de una manera comoda.
Por Paco Aldarias
1/??
El kernel
3. Compilación
Estos pasos son indicados en el fichero REAME del kernel q nos bajamos,
el cual se puede leer una vez descomprimido.
Los pasos son:
1. Bajarse el nucleo
Se puede bajar el último nucleo desde:
http://www.linux-es.com/kernel.php
http://www.kernel.org
Actualmente la última versión estabale es el 2.4.20, aunque debian
woody traer la 2.4.18
Nota: En el aula podemos cogerlo desde donde diga el profesor y guar-
darlo en la carpeta del usuario.
2. Descomprimirlo
Movemos el fichero a la carpeta /usr/src/:
#mv /home/usuario/linux-2.4.20.tar.bz2 /usr/src/
Nos cambiamos a la carpeta /usr/src/:
#cd /usr/src/
3. Instalar bzip2, para descomprimir:
#apt-get install bzip2
4. Descomprimimos:
#tar jxvf linux-2.4.20.tar.bz2
5. Para poder ejecutar make menuconfig, hay q instalar los paquetes:
#apt-get install make gcc ncurses-bin libncurses5-dev
Para poder ejecutar make xconfig (qt interface), hay q instalar:
#apt-get install libqt3-dev make gcc bin86 libc6-dev kernel-package
module-init-tools
Para poder ejecutar make gconfig (gtk interface de gnome), hay q ins-
talar:
# apt-get install libglade2-dev make gcc bin86 libc6-dev kernel-package
module-init-tools
6. Pasarse a la carpeta /usr/src/linux-2.4.20/
# cd /usr/src/linux-2.4.20/
Por Paco Aldarias
2/??
El kernel
7. Coger la configuración del nucleo antigua:
# make oldconfig
Al salir nos crea un fichero .config
Al terminar haremos una copia para no perderla:
cp .config .config-oldconfig
8. Configurar el núcleo
# make menuconfig
Al salir guardando nos crea un fichero .config
9. Compilarlo (esta versión para el kernel con módulos)
#make dep
#make bzImage
#make modules
#make modules install
10. Ponemos el núcleo bzImage en /boot/
#cp /usr/src/linux-2.4.20/arch/i386/boot/bzImage /boot/linux2420
11. Cambiar el lilo
#nano /etc/lilo.conf
Anadir esto:
image=/boot/linux2420
label=Linux2420
read-only
12. Actualizar el arranque
#lilo -v
13. Reiniciar el ordenador
14. Ejecutar para resolver las dependencias: #depmod -a
4. Configurar el kernel: Make menuconfig
Permite sacar un menu con todas las opciones del kernel que queremos.
Es equivalente poner:
make config
Por Paco Aldarias
3/??
El kernel
Figura 1: Make menuconfig
make menuconfig
make xconfig
Make menuconfig es el recomendable, y para poder usarlo hay q instalar
los paquetes:
make gcc, ncurses-bin libncurses5-dev
Empecemos el proceso.
Ir a la carpeta donde esta el núcleo descomprimido
#cd /usr/src/linux-2.4.20
Leer la ayuda q viene:
#less README
Leer mas documentación:
#ll /usr/src/linux-2.4.19/Documentation/
Ejecutarlo:
# make menuconfig
Es importante coger la cpu q tenermos en la opción: Processor Type
Nos genera un fichero llamado .config, donde se guarda lo que hayamos
introducido Es bueno hacer una copoia de este fichero por si tenemos q volver
Por Paco Aldarias
4/??
El kernel
a la situación anterior.
5. Ver el log del kernel
# dmesg Nos informa de las opciones cargadas
6. Mas documentación
Hacer make psdocs o make pdfdocs o make htmldocs y mira en el direc-
torio Documentation
7. Otra forma de compilar
Ahi una manera la mar de facil para recompilar el kernel en debian,
————Copipasteo de una receta de la espiral ————–
1o Instalar:
kernel-package kernel-source-2.4.3
kernel-doc-2.4.3 fakeroot tcl8.2-dev tk8.2-dev.
2o Desempaquetamos:
/usr/src/
tar xvIf /usr/src/kernel-source-2.4.3.tar.bz2
ln -s kernel-source-2.4.3 linux
cd linux/
3 Arrancamos la herramienta gráfica de configuración:
make xconfig
Recuerdo que es mejor entrar como superusuario con
ssh root@localhost
4 Compilamos:
make-kpkg cleantime make-kpkg --revision=mio1 kernel_image
Por Paco Aldarias
5/??
El kernel
5 Instalamos:
dpkg --install /usr/src/kernel-image-2.4.3_mio1_i386.deb
6 Ajustamos el arranque para permitir el arranque de los dos kernel:
el antiguo por si hay problemas, y el nuevo. El /etc/lilo.conf debería parecerse a:
boot=/dev/hda
compact
vga=ext
prompt
timeout=300
default=linux
image=/vmlinuz
root=/dev/hda2
label=linux
read-only
image=/boot/vmlinuz-2.2.19pre17
root=/dev/hda2
label=linux-old
read-only
other=/dev/hda1
label=win
7 Ejecutamos:
lilo
y reiniciamos con el nuevo kernel.
8. Otra forma de tener el nuevo kernel
Teniendo debian 3.o y no me iba el sonido. El soporte para AC97 lo
puedes tener de la siguiente forma. Lo primero es bajarte el ultimo kernel ya
compilado para debian.
#apt get install kernel-image-2.4.18-686 (en el caso de que tengas un 686)
Por Paco Aldarias
6/??
El kernel
#apt get install kernel-headers-2.4.18-686 (lo mismo de antes)
luego te vas a /usr/src y haces un enlace simbólico a la carpeta /usr/sr-
c/linux (si no la tienes la creas)
#ln -s /usr/src/kernel-headers-2.4.18-686 /usr/src/linux
Una vez hecho eso y configurado el lilo para que te cargue ese kernel (si
no sabes cómo dimelo y te lo explico). Una vez arrancado el nuevo kernel
(compruebalo con uname -a) haces
#modconf
y alli ya encontrarás para cargar en el kernel el módulo de la ac97
9. Hacer que ordenador se apage
Advanced Power Management BIOS support
Enable PM at boot time
General setup
<*>
Ignore USER SUSPEND
[*]
Make CPU Idle calls when idle
Enable console blanking using APM
RTC stores time in GMT
[*]
[*]
Allow interrupts during APM BIOS calls
Use real mode APM BIOS call to power off
Notas:
1. Fijate bien las especificaciones de tu placa. Si es ACPI compila el kernel
con soporte para acpi y NO para apm.
2. Si no se apaga añadir en /etc/lilo.conf
append="apm=power-off"
10. Configurar el kernel para que soporte ip-
tables
Ejemplo para 2.4.20 kernel
Code maturity level options --->
[*] Prompt for development and/or incomplete code/drivers
Por Paco Aldarias
7/??
El kernel
Networking options --->
[*] Network packets filtering (replace ipchains)
Networking options --->
IP: Netfilter Configuration --->
FTP protocol support
IRC protocol support
limit match support
MAC address match support
Packet type match support
netfilter MARK match support
Multiple port match support
TOS match support
LENGTH match support
TTL match support
tcpmss match support
Connection state match support
Connection tracking match support
Unclean match support (EXPERIMENTAL)
Packet filtering
<M> Connection tracking (required for masq/NAT)
<M>
<M>
<M> IP tables support (required for filtering/masq/NAT)
<M>
<M>
<M>
<M>
<M>
<M>
<M>
<M>
<M>
<M>
<M>
<M>
<M>
<M>
<M>
<M>
<M>
<M>
<M>
<M>
<M>
<M>
MASQUERADE target support
REDIRECT target support
Packet mangling
TOS target support
MARK target support
LOG target support
TCPMSS target support
REJECT target support
Full NAT
11. Conficurar el kernel para grabadora pci
IDE, ATA and ATAPI Block devices
<*> Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
<*>
< >
SCSI emulation support
Include IDE/ATAPI CDROM support
Por Paco Aldarias
8/??
El kernel
<*>
SCSI emulation support
SCSI support
<*> SCSI support
<*>
SCSI CD-ROM support
[*]
Enable vendor-specific extensions (for SCSI CDROM) (NEW)
<*>
SCSI generic support
Block devices
<M> Loopback device support
Más información en: grabadora.html
12. Configuración de mi kernel
Vamos a ver q eligo con make menuconfig con kernel 2.4.20:
12.1. Code maturity level options
Prompt for development and/or incomplete code/drivers
12.2. Loadable module support
[*] Enable loadable module support
[*]
[*]
Set version information on all module symbols
Kernel module loader
12.3. Processor type and features
(K6/K6-II/K6-III) Processor family
[*] Machine Check Exception
< > Toshiba Laptop support
< > Dell laptop support
< > /dev/cpu/microcode - Intel IA32 CPU microcode support
<M> /dev/cpu/*/msr - Model-specific register support
<M> /dev/cpu/*/cpuid - CPU information support
(off) High Memory Support
Math emulation
MTRR (Memory Type Range Register) support
Por Paco Aldarias
9/??
El kernel
Symmetric multi-processing support
[*] Local APIC support on uniprocessors
IO-APIC support on uniprocessors
Unsynced TSC support
12.4. General setup
PCI access mode
[*] Networking support
[*] PCI support
(Any)
ISA bus support
[*] PCI device name database
EISA support
MCA support
[*] Support for hot-pluggable devices
PCMCIA/CardBus support --->
PCI Hotplug Support --->
[*] System V IPC
BSD Process Accounting
[*] Sysctl support
(ELF) Kernel core (/proc/kcore) format
<*> Kernel support for a.out binaries
<*> Kernel support for ELF binaries
<*> Kernel support for MISC binaries
[*] Power Management support
<*>
[ ] Ignore USER SUSPEND
[*]
[ ] Make CPU Idle calls when idle
[ ] Enable console blanking using APM
[ ] RTC stores time in GMT
[*]
[*]
Enable PM at boot time
Advanced Power Management BIOS support
Allow interrupts during APM BIOS calls
Use real mode APM BIOS call to power off
12.5. Memory Technology Devices (MTD)
< > Memory Technology Device (MTD) support
12.6. Paralle Parallel port support
<M>
PC-style hardware
Por Paco Aldarias
10/??
El kernel
Multi-IO cards (parallel and serial)
Support for PCMCIA management for PC-styl
Comentarios de: El Kernel (0)
No hay comentarios