PDF de programación - El Kernel

Imágen de pdf El Kernel

El Kernelgráfica de visualizaciones

Actualizado el 17 de Abril del 2021 (Publicado el 17 de Septiembre del 2018)
936 visualizaciones desde el 17 de Septiembre del 2018
100,8 KB
15 paginas
Creado hace 16a (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
  • Links de descarga
http://lwp-l.com/pdf13533

Comentarios de: El Kernel (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad