Publicado el 24 de Septiembre del 2018
440 visualizaciones desde el 24 de Septiembre del 2018
291,7 KB
9 paginas
Creado hace 14a (16/08/2009)
Titulo: Como compilar el kernel en Debian
Bibliografía
Autor,Autores: Mario Debian ,Caribdis
WEB:http://soleup.eup.uva.es/geeklog/staticpages/index.php?page=20041227230050247
http://www.ubuntues.org/node/431
1 pag de 9
Introducción:
En este tutorial intentaré explicar de manera clara como compilar un kernel a "la Debian" previamente
aplicando los parches que necesitemos para obtener un bonito arranque con bootsplash (arranque gráfico
con barra de progreso).
El S.O es Debian sarge con los repositorios típicos de Debian testing añadiendo otros para el xfce42,
mplayer y un backport de java.
Este es el sources.list:
deb http://ftp.rediris.es/Debian testing main contrib nonfree
#xfce42
deb http://www.oscillation.de/Debian/ binary/
#mplayer
deb ftp://ftp.nerim.net/Debianmarillat/ testing main
#via unichrome
deb http://www.physik.fuberlin.de/~glaweh/Debian/ unichrome/
#bootsplash
deb http://www.bootsplash.de/files/Debian/ unstable main
#java backport
deb http://jrfonseca.dyndns.org/Debian/ ./
Obtención de las fuentes y parches.
Vamos a compilar un kernel de Debian por lo que usaremos el código fuente de los kernel de Debian que ya
traen algunos parches bastante interesantes como el de cramfs.
Necesitaremos las siguientes herramientas para compilar un kernel (aptget install xxx para instalar cada
una):
Software Package
Mínimum Version
Command to Show Version
binutils
e2fsprogs
2.12
1.29
ld v
tune2fs
gcc (GNU C Compiler)
2.95.3
gcc version
make (GNU make)
3.78
make version
moduleinittools
0.9.10
depmod V
procps
utillinux
3.1.13
2.10o
ps version
fdformat version
Titulo: Como compilar el kernel en Debian
Bibliografía
Autor,Autores: Mario Debian ,Caribdis
WEB:http://soleup.eup.uva.es/geeklog/staticpages/index.php?page=20041227230050247
http://www.ubuntues.org/node/431
2 pag de 9
kernelpackage
initrdtools
libncursesdev
* Tabla obtenida de: http://www.desktoplinux.net/debkernel.htm
# aptget install kernelsource2.6.8
Con esto lo que hacemos es que se descargue el archivo kernelsource2.6.8.tar.bz2 en /usr/src/. Debemos
descomprimirlo con:
# tar jxf kernelsource2.6.8.tar.bz2
Con el comando anterior se crea el directorio: /usr/src/kernelsource2.6.8/. A continuación crearemos el
enlace simbólico /usr/src/linux que apunte al directorio recientemente creado:
# cd /usr/src/
# rm linux
# ln s /usr/src/kernelsource2.6.8 ./linux
Ahora es cuando debemos buscar los parches que necesitemos:
• bootsplash:
http://www.bootsplash.de/files/
(para nuestro kernel el archivo será: bootsplash3.1.4sp32.6.8.1.diff)
• Para mi portátil (Acer Aspire 1355LM) necesito el parche epia para la aceleración gráfica:
http://www.epiawiki.org/wiki/tikiindex.php
• Si necesitamos más parches sólo debemos de descargarlos...
Una vez descargados todos los parches tendremos una serie de archivos .diff que guardaremos en el
directorio /usr/src/, si los descargamos comprimidos hay que descomprimirlos con gunzip xxx.gz ó bunzip2
xxx.bz2
bootsplash3.1.4sp32.6.8.1.diff (86 Kb)
patch2.6.8.1epia1 (863 Kb)
Configuración del kernel.
Llegados a este punto tenemos que parchear las fuentes del kernel y configurarlo para que se adapte a
nuestras necesidades.
# cd /usr/src/linux
# patch p1 < /usr/src/bootsplash3.1.4sp32.6.8.1.diff
# patch p1 < /usr/src/patch2.6.8.1epia1
Con esto ya tenemos nuestras fuentes con los parches aplicados y listas para configurarse. En este punto
tenemos dos vías, la primera sería optimizar nuestro kernel al hardware de nuestro equipo, o bien
basándonos en la configuración de algún equipo parecido o bien haciéndolo nosotros mismos a mano, y
segunda opción hacer una imagen de un kernel de Debian con todo como módulos para que ese kernel
Titulo: Como compilar el kernel en Debian
Bibliografía
Autor,Autores: Mario Debian ,Caribdis
WEB:http://soleup.eup.uva.es/geeklog/staticpages/index.php?page=20041227230050247
http://www.ubuntues.org/node/431
3 pag de 9
funcione en cualquier equipo.
La primera opción nos dará como resultado un kernel muy potente y rápido (si lo hacemos bien) y tardará
sobre unos 10 o 15 minutos (en mi equipo), la segunda opción nos dará un kernel de Debian parcheado que
funcionará en cualquier equipo pero el tiempo de compilación puede llegar a más de una hora.
1. Configuración personalizada:
Para mi equipo (Acer Aspire 1355LM) he cogido la configuración del kernel de gorrister (Acer
1353XC) y la he modificado para añadir soporte para bootsplash y los drivers de la gráfica (VIA KM
400). El resultado es espectacular ya que funciona casi todo (infrarrojos no los he probado y la
gráfica no acabo de conseguirlo) El soporte para AMD Mobile es perfecto, acpi y usb funcionan
correctamente, pendrive usb, impresora usb, escaner paralelo, etc...
NOTA: Me he dado cuenta que con esta configuración no funcionan los netfilter por lo que tampoco
va iptables, te recomiendo que uses la otra configuración si vas a usar el cortafuegos.
El archivo de configuración lo puedes descargar desde aquí: config2.6.8mario241204bootsplash
(33Kb), a continuación lo tienes que copiar al directorio de las fuentes:
# cp config2.6.8mario241204bootsplash /usr/src/linux/.config
2. Configuración universal. Esta forma es aplicable a cualquier equipo ya que nos basamos en la
configuración del los kernel de Debian Para ello copiamos la configuración del kernel actual (en la
instalación de sarge se puede instalar el kernel 2.6.81386) cuya configuración está en el
directorio /boot/.
Con esta configuración funciona correctamente todo (iptables incluido), la he optimizado para AMD
K7, si tienes otra arquitectura antes de compilar cámbialo en Processor type... La puedes descargar
desde aquí
# cp /boot/config2.6.820050102 /usr/src/linux/.config
Empecemos con la configuración:
# make menuconfig
Con el menuconfig nos saldrá el configurador del kernel, lo primero que tenemos que hacer es en la
penúltima opción indicar que cargue la configuración que por defecto será .config en el directorio de las
fuentes.
Es muy importante una buena configuración para que todo funcione a la primera.
No voy a explicar todas las opciones ya que muchas están comentadas y existen muchísimas guías para
compilar kernel (con o sin Debian)
Como opinión personal prefiero que mi kernel no tenga la imagen de arranque initrd.img, pero en Debian
esto se usa para precargar un sistema que monte el sistema de archivos y así poder tener por ejemplo ext3
como módulo. Más tarde veremos que el bootsplash la necesita.
Recomiendo que dentro del apartado de sistema de archivos el tipo de partición del equipo se use incluido
en el kernel (*) y no módulo (M) para ext2 y ext3. Si se hace esto se debe incluir en el kernel también las
opciones de dispositivos IDE o
Titulo: Como compilar el kernel en Debian
Bibliografía
Autor,Autores: Mario Debian ,Caribdis
WEB:http://soleup.eup.uva.es/geeklog/staticpages/index.php?page=20041227230050247
http://www.ubuntues.org/node/431
4 pag de 9
SATA...
Para la primera opción (kernel personalizado) no es necesario modificar nada ya que a mi me funciona todo
(menos la gráfica).
Para la opción de un kernel Debian modifica el tipo de procesador en el menú Processor type and features
> y selecciona tu modelo de procesador y familia.
En los portátiles siempre es recomendable ahorrar energía (batería) así que en el menú: Power
management options (ACPI, APM) > selecciona ACPI e incluye los módulos de ac, battery, button,
thermal, etc...
En CPU Frequency scaling es recomendable activar el escalado de frecuencia para que nuestro procesador
trabaje a más velocidad cuando se necesite y a menos cuando no este en uso (menor temperatura y mayor
duración de la batería).
En el menú: Device Drivers> Block devices > hay que activar:
<*> Loopback device support
<*> RAM disk support
(4096) Default RAM disk size (Kbytes)
[*] Initial RAM disk (initrd) support
[*] Support for Large Block Devices
En el menú: Device Drivers> Input device support >
[*] Provide legacy /dev/psaux device
(1024) Horizontal screen resolution
(768) Vertical screen resolution
[*] Enable /dev/psaux device by default
[*] Mice
<*> PS/2 mouse
[*] Misc
<M> PC Speaker support
<M> User level driver support
En el menú: Device Drivers> Character devices >
[*] Legacy (BSD) PTY support
(256) Maximum number of legacy PTY in use
<*> Parallel printer support
<M> Intel/AMD/VIA HW Random Number Generator support
<M> /dev/nvram support
<M> Enhanced Real Time Clock Support
<M> Generic /dev/rtc emulation
<M> DirectFB CLE266 Support
<M> /dev/agpgart (AGP Support)
Titulo: Como compilar el kernel en Debian
Bibliografía
Autor,Autores: Mario Debian ,Caribdis
WEB:http://soleup.eup.uva.es/geeklog/staticpages/index.php?page=20041227230050247
http://www.ubuntues.org/node/431
5 pag de 9
<M> VIA chipset support
[*] Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)
<M> Via unichrome video cards
En el menú: Graphics support >
<M> VGA 16color graphics support
<*> VESA VGA graphics support
<M> VIA CLE266 support (EXPERIMENTAL)
<M> Virtual Frame Buffer support (ONLY FOR TESTING!)
Console display driver support>
VGA text console
[*] Video mode selection support
<*> Framebuffer Console support
Bootsplash configuration >
[*] Bootup splash screen
Dentro del apartado de sonido usaremos alsa con el driver PCI:
<M> VIA 82C686A/B, 8233 South Bridge
Y los usb activaremos el que esta marcado como VIA.
Creo que no es necesario que explique más configuraciones ya que se escapa del alcance de este pequeño
tutorial.
A continuación le damos a salir y nos preguntará si queremos guardar los cambios en .config, le decimos
que sí.
Creación del paquete deb.
Usaremos la herramienta makekpkg de Debian para crear un paquete deb con nuestr
Comentarios de: Como compilar el kernel en Debian (0)
No hay comentarios