Debe introducir al menos 3 caracteres en el buscador.
Inicio / Wikis / Tutoriales / Mi pequeño manual de instalación de Gentoo - Compilación de nuestro kernel

Mi pequeño manual de instalación de Gentoo - Compilación de nuestro kernel

 ****- (4 opiniones)
Creative Commons Tutorial de g0su - 20 de Enero de 2005
Temas Relacionados: LinuxSistemas operativos
14. Compilación de nuestro kernel
Gentoo dispone de tanto kernels 2.4.2X, como kernels 2.6.X, asi como pequeñas kernels donde se han cogido al kernel vanilla(kernel basico sin ningun tipo de modificación) y se le ha añadido un conjunto de parches. En principio estos kernels funcionana mejor puesto que son iguales que al tradicional y aparte le han añadido varios parches que nos pueden ser utiles como el bootsplash. El problema que tienen es que los kernel gentoo suelen ir unas revisiones de versiones o una version como mucho por detras de los oficiales, es decir si el oficial es el 2.6.6 puede darse que el gentoo sea el 2.6.5.rc3
[i]2.6 de gentoo     -> sys-kernel/gentoo-dev-sources
2.4 de gentoo     -> sys-kernel/vanilla-sources
2.6 basico          -> sys-kernel/development-sources
2.4 basico          -> sys-kernel/vanilla-sources
Ahora introducimos el que mas nos guste, yo recomiendo el 2.6 el que queramos, por ejemplo el de gentoo:

Código:# emerge gentoo-dev-sources


Gentoo dispone de una utilidad que se encarga de configurarnos el kernel de muy buena forma, y se encarga de realizar todos los pasos para ello. Esta herramienta se llama  sys-kernel/genkernel, y para instalarla sobra con poner:

Código:# emerge genkernel


En mi caso no la usare ya que, la use una vez, y me dio mucho quebrarero de cabeza puesto que me metia modulos donde no debia y me modifico varias cosas. Yo soy muy raro para mis configuraciones y si las cosas no estan donde deben de estar me pongo nervioso. Pero si sois iniciados y no quereis poneros a tocar kernel es una buena opción usarlo.
Pero por si lo contrario nos disponemos a comenzar la configuracion y compilación del kernel deberemos de hacer los siguientes pasos, una vez emergido el kernel.
Accedemos al directorio donde se suele encontrar las fuentes del kernel(/usr/src/) en el cual tendremos o deberemos de crear un link o enlace dinamico("acceso directo" de los windows) de las sources del kernel que estemos usando, en nuestro caso, al ser recien instalado solo tendremos un directorio.

Código:# ls /usr/src
linux-2.6.5-gentoo-r1
# ln -s /usr/src/linux-2.6.5-gentoo-r1 /usr/src/linux    *(si tubieramos el enlace no haria falta este paso)
# cd /usr/src/linux


Como vemos en mi caso tenemos el kernel de gentoo 2.6.5.rc1 pero no teniamos el link por lo que lo hemos creado. Acontinuación eligiremos el mejor menu para configurar nuestro kernel. Existen 3º tipos, el mas simple es el config, el siguiente es menuconfig el cual usa las ncurses y es muy facil de usar(recomiendo este) y por ultimo el xconfig[i] que se usa en las X(motor de los entornos graficos de linux), con la version 2.6 ha sufrido una mejora visual y faciliyad la configuración Al tener gentoo recien instalado no disponemos todavía de las X por lo que la mejor opcion seria el [i]menuconfig.

Código:# make config

o


Código:# make menuconfig

o


Código:# make xconfig


Ahora viene la parte mas dificil o compleja del kernel que es la configuración de este. Voy a poner unas opciones basicas para un usuario medio, nada especifico, si alguien quiere algo mas especifico que se lea cualquier manual que ahi del kernel. No es prioridad en la instalación de Linux Gentoo la configuración de un kernel y acordaros que existe el genkernel para no tener que entrar aqui.
Pondre unicamente las opciones escogidas. Puede que existen opciones que no esten correctamente, espero mejorarlo mas adelante. Puede ocurrir que tengais opciones identicas ya que, esto evoluciona, el kernel usado para el ejemplo es el 2.5.6 rc1 gentoo-dev-source:

Código:Code maturity level options 
>
[*] Prompt for development and/or incomplete code/drivers                                   
                [*] Select only drivers expected to compile cleanly                                       
[*] Select only drivers that don't need compile-time external firmware
General setup 
>
[*] Support for paging of anonymous memory (swap)                                   
[*] System V IPC
[*] Sysctl support                                                                 
[*] Support for hot-pluggable devices                                             
[*] Kernel .config support                                                         
[*] Enable access to .config through /proc/config.gz
Loadable module support 
>
[*] Enable loadable module support                                           
[*] Module unloading                                                       
[*] Forced module unloading
[*] Automatic kernel module loading
Processor type and features 
>
Subarchitecture Type (PC-compatible) 
>
(X) PC-compatible
Processor family (Athlon/Duron/K7) 
>   (Escoger el vuestro en mi caso es un AMD XP-M por eso escogi esa opción).
[*] Generic x86 support
[ ] Symmetric multi-processing support  (Seleccionar esta opción si disponemos de mas de 1 procesador).
[*] Local APIC support on uniprocessors (Si tenemos mas de un procesador no seleccionarla)
[*] Machine Check Exception                                                               
   <*>   Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4
   [ ]   check for P4 thermal throttling interrupt  (Si tenemos un P4 escogerlo)
<*> /dev/cpu/microcode - Intel IA32 CPU microcode support
High Memory Support (4GB) 

( ) off    (Seleccionar esta opcion si disponemos de menos de 1GB de memoria ram)
(X) 4GB    (Seleccionar esta opcion si disponemos de 1GB a 4GB de memoria ram)
[*] MTRR (Memory Type Range Register) support
Power management options (ACPI, APM) 
>
[*] Power Management support
ACPI (Advanced Configuration and Power Interface) Support 
>
[*] ACPI Support                                                         
[*]   Sleep States (EXPERIMENTAL)                                       
<*>   AC Adapter                                                       
<*>   Battery                                                           
<*>   Button                                                           
<*>   Fan                                                               
<*>   Processor                                                         
<*>   Thermal Zone
APM (Advanced Power Management) BIOS Support 
>
<*> APM (Advanced Power Management) BIOS support
CPU Frequency scaling 
>   (Si la estamos instalando en un portatil esta opcion es importantisima para la bateria)
[*] CPU Frequency scaling
<M>   'powersave' governor
<*>   'userspace' governor for userspace frequency scaling
<*>   CPU frequency table helpers
<*> ACPI Processor P-States drive
   CPUFreq processor drivers
<*> ACPI Processor P-States drive
(Aqui escogemos nuestro procesador mobile)
Bus options (PCI, PCMCIA, EISA, MCA, ISA)
[*] PCI support
[*] Legacy /proc/pci interface
[*] PCI device name database
[ ] ISA support  (Si disponemos de tarjeta ISA(muy antiguas) o para la deteccion de algunos sensores de temperatura)
PCMCIA/CardBus support 
>  (Si disponemos de PCMCIA dar un vistazo a esto)
Executable file formats 
>
[*] Kernel support for ELF binaries
<*> Kernel support for a.out and ECOFF binaries
<*> Kernel support for MISC binaries
Device Drivers 
>     (Esta zona es muy facil de entender, aqui esta donde dareis soporte a todo vuestro hardware...)
Parallel port support 
> (Entrar aqui si usar el puerto paralelo, el que antiguamente se usaba para impresora)
Block devices 
>
<*> Normal floppy disk support   
<*> Loopback device support
<*>   Cryptoloop Support
<*> RAM disk support
(8192) Default RAM disk size
[*]   Initial RAM disk (initrd) support
[*] Support for Large Block Devices
ATA/ATAPI/MFM/RLL support 
>   (A diferiencia del 2.4, no ahi que emular el ide como scsi para grabar)
<*> ATA/ATAPI/MFM/RLL support
<*>   Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
<*>   Include IDE/ATA-2 DISK support   (Si disponemos de disco duro ide)
[*]     Use multi-mode by default
<*>     Include IDE/ATAPI CDROM support (Si disponemos de cdrom/dvd ide)
[*]     IDE Taskfile Access
[*]     IDE Taskfile IO (EXPERIMENTAL)
<*>     generic/default IDE chipset support
[*]     PCI IDE chipset support
[*]     Generic PCI IDE Chipset Support
[*]     Generic PCI bus-master DMA support
[*]     Use PCI DMA by default when available   (Debajo de esta opcion ahi un gran numero de chipsets, selecciona el tuyo)
<*>         AMD and nVidia IDE support  (Selecciono el mio, ya que tengo una nvidia nforce2, vosotros seleccionar el vuestro)
< >         Intel PIIXn chipsets support (Si teneis un chipset(northbridge) que de intel seleccionar esta opción
SCSI device support 
>
SCSI device support
[*]   legacy /proc/scsi/ support
<*>   SCSI disk support   (Si tenemos un disco duro scsi o s-ata)
< >   SCSI CDROM support  (Si disponemos de un cdrom/dvd scsi)
<*>   SCSI generic support
SCSI low-level drivers 
>
[*] Serial ATA (SATA) support  (Seleccionamos si tenemos s-ata, y debajo nuestra controladora s-ata)
<M>   Silicon Image SATA support  (Yo selecciono este porque mi controladora es esa, de una abit an7)
Multi-device support (RAID and LVM) 
>  (Si queremos poner algun tipo de RAID esta es nuestra opción)
IEEE 1394 (FireWire) support 
>   (Si disponemos de un firewire)
<*> IEEE 1394 (FireWire) support
<M>   OHCI-1394 support  (Por lo general sera este vuestro modulo firewire)
Networking support 
>
[*] Networking support
Networking options 
>
<*> Packet socket
<*> Unix domain sockets
[*] TCP/IP networking
[*]   IP: multicasting
[*]   IP: advanced router
[*] Network packet filtering (replaces ipchains) 
>
Network packet filtering (replaces ipchains)
[*]   Network packet filtering debugging
IP: Netfilter Configuration 
>
<*> Connection tracking (required for masq/NAT)
<M> IRC protocol support
<*> IP tables support (required for filtering/masq/NAT)
<M> limit match support
<M>   Packet type match support
<M> Connection state match support
<M> Packet filtering
<M> Full NAT
<M> MASQUERADE target support
<M> REDIRECT target support
[*] NAT of local connections (READ HELP)
[*]   Network device support
Ethernet (10 or 100Mbit) 
>  (Si disponemos de tarjeta de red de 10 a 100mbit, las convencionales)
[*] Ethernet (10 or 100Mbit)
<*>   Generic Media Independent Interface device support
[*] EISA, VLB, PCI and on board controllers   (Acontinuación seleccionamos nuestra tarjeta de red)
<M>   Reverse Engineered nForce Ethernet support (EXPERIMENTAL) (Esta es la integrada en placa)
<M>   RealTek RTL-8139 PCI Fast Ethernet Adapter support (Y esta es la PCI)
Ethernet (1000 Mbit) 
>   (Para tarjetas de red Gigalan, entramos y elegimos la nuestra)
Input device support 
>
(1280) Horizontal screen resolution (En mi caso es la resolucion que tengo, 1280x1024 si la vuestra es otra cambiarla) 
(1024) Vertical screen resolution 
[*] Mice
<*>   PS/2 mouse
Character devices 
>
[*] Legacy (BSD) PTY support
(256) Maximum number of legacy PTY in use
<*> Intel/AMD/VIA HW Random Number Generator support
<*> /dev/nvram support
<*> Enhanced Real Time Clock Support
<*> /dev/agpgart (AGP Support)   (Acontinuacion salen un conjunto de controladoras agp, seleccionamos la nuestra)
<*>  NVIDIA nForce/nForce2 chipset support  (Esta es la mia :))
[ ] Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) (Si teneis una tarjeta mencionada acontinuacion seleccionar esta opcion)
Multimedia devices 
>
Video For Linux 
>  (Seleccionar el chipset de vuestra tarjeta de TV)
<M> BT848 Video For Linux
Graphics support 
>  (Para Frame Buffer)
[*] Support for frame buffer devices
<*>   VGA 16-color graphics support
[*]   VESA VGA graphics support  (Si dispones de algunas de las tarejtas de abajo seleccionala)
<*> Virtual Frame Buffer support (ONLY FOR TESTING!)
Console display driver support 
>
VGA text console
[*]   Video mode selection support
<*> Framebuffer Console support
Logo configuration 
>
[*] Bootup logo
[*] Standard 16-color Linux logo
Graphics support 
>  (Para Bootsplash, los gentoo-sources llevan ya el parche, si usastes el basico deberas parchearlo)
[*] Support for frame buffer devices
[*]   VESA VGA graphics support 
Console display driver support 
>
VGA text console
[*]   Video mode selection support
<*> Framebuffer Console support
Logo configuration 
>
[*] Bootup logo
[*] Standard 16-color Linux logo
Bootsplash configuration 
>
[*] Bootup splash screen
Sound 
>
<*> Sound card support 
  Advanced Linux Sound Architecture 
>
  <*> Advanced Linux Sound Architecture
<M> Sequencer support
<*> OSS Mixer API
<*> OSS PCM (digital audio) API
[*] OSS Sequencer API
<M> RTC Timer support
PCI devices 
>  (Aqui seleccionamos nuestra tarjeta de sonido)
<M> Intel i8x0/MX440, SiS 7012; Ali 5455; NForce Audio; AMD768/8111 (esta es la mia, una soundstorm)
USB support 
>
<*> Support for Host-side USB
[*]   USB device filesystem
   USB Host Controller Drivers
<M>   EHCI HCD (USB 2.0) support  (Soporte para USB 2.0)
<M>   OHCI HCD support   (Esta es mi controladora USB 1.0(nforce2), para ver la tuya #  cat /proc/pci | grep USB)
< >   UHCI HCD (most Intel and VIA) support  (La mayoria de controladoras usb 1.0 usan esta)
<M>   USB Printer support  (Para impresoras USB)
<M>   USB Mass Storage suppor   (Para dispositivos de escritura lectura, como una camara digital)
[*]   Microtech/ZiO! CompactFlash/SmartMedia support  (La mayoria de camaras digitales usan este dispositivo)
   USB Human Interface Devices (HID)                             
      <*>   USB Human Interface Device (full HID) support                 
     [*] HID input layer support (NEW)                                               
     [*] /dev/hiddev raw HID device support
(Existen un monton mas de dispositivos USB, buscarlo en este punto y elegirlo como M)
File systems 
>                  (Si vemos algun formato que nos vayamos a usar seleccionarlo tambien)
<*> Second extended fs support
<M> Ext3 journalling file system support   (Si alguna de nuestras particiones es ext3 escogerla como * y no como M)
[*]   Ext3 extended attributes
<*> Reiserfs support            (Yo uso reiserfs, si vosotros no lo usais ponerla como M)
[*]   Stats in /proc/fs/reiserfs
<M> JFS filesystem support
<M> XFS filesystem support
<*> ROM file system support
CD-ROM/DVD Filesystems 
>
<*> ISO 9660 CDROM file system support
[*]   Microsoft Joliet CDROM extensions
[*]   Transparent decompression extension
<*> UDF file system support
DOS/FAT/NT Filesystems 
>
<M> DOS FAT fs support
<M> MSDOS fs support
<M> VFAT (Windows-95) fs support
<M> NTFS file system support
[*] NTFS write support  (Ojito con esta opción que las grabaciones en ntfs desde linux pueden dañar una partición)
Pseudo filesystems 
>
[*] /proc file system support
[*] /dev file system support (OBSOLETE)
[*] /dev/pts Extended Attributes
[*] Virtual memory file system support (former shm fs)
<*> Supermount removable media support
Network File Systems 
>
<M> NFS file system support
<M> NFS server support
<M> SMB file system support (to mount Windows shares etc.)
Native Language Support 
>
Base native language support
(iso8859-15) Default NLS Option (Apretando intro podemos poner la que nosotros creamos)
<*>   NLS ISO 8859-15 (Latin 9; Western European Languages with Euro)
Cryptographic options 
>
<M>   MD5 digest algorithm
<*>   Deflate compression algorithm


Una vez compilado deberemos de guardar nuestra configuración en la opcion de: Save Configuration to an Alternate File, con el nombre que nosotros deseemos. Y acontinuación compilaremos el kernel y sus modulos, asi como copiaremos el kernel compilado en el directorio boot preparado para ser cargado.

Código:# make bzImage
# make modules
# make modules_install
# cp arch/i386/boot/bzImage /boot


Acontinuacion tendriamos que editar el fichero /etc/modules.autoload y poner los modulos necesarios que queremos que se carguen en el arranque del kernel. Notar que solo ahi que poner el nombre y no modprobe ni insmod:

Código:# vim /etc/modules.autoload


Un ejemplo de fichero modules.autoload seria este:

Código:# cat /etc/modules.autoload
usb-storage
nvidia
8139too
iptable_filter
iptable_mangle
iptable_nat
ip_conntrack_irc
ipt_limit
ipt_state
ip_nat_irc
#


Existe una utilidad que tiene los modulos ordenador por categoria, ademas de un explicación sobre cada uno de ellos que nos puede facilitar la tarea ciertamente. Esta utilidad es muy usada sobretodo por la gente que pasa de Debian a Gentoo, hacer mención de que la utilidad esta ahun un poco verde:

Código:# emerge modconf
# modconf


Si esta herramienta no funcionara correctamente, puesto que en ocasiones ocurre, una buena opción para editar el fichero seria usar la opcion -l del modprobe para listar todos los posibles modulos que podemos cargar:

Código:# modprobe -l


Ahora deberiamos de cargar nuestro sistema de arranque. Existen principalmente dos, LiLO y GRUB, en mi caso siempre he usado LILO por lo que usaremos este, puesto que me parece mas facil de entender. No os preocupeis si no habeis entendido muy bien lo que haces con el LILO puesto que en el siguiente punto se explica muy bien.

Código:# emerge lilo
# lilo


Y por fin ya hemos terminado, veis como no es tanto como parece.
Autor y licencia de 'Mi pequeño manual de instalación de Gentoo - Compilación de nuestro kernel'
g0su Extraído de: http://foro.elhacker.net/index.php/topic,33841.0.html

Creative Commons License
Esta obra está bajo una licencia de Creative Commons.
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Wikis relacionados con 'Mi pequeño manual de instalación de Gentoo - Compilación de nuestro kernel'

En este artículo se explica una sencilla manera para poder escuchar música en formato mp3... Más »
Cómo optimizar sus recursos y lograr el éxito en su emprendimiento.Un plan de negocios es... Más »
El Dr. Goleman sistematiza el concepto de la inteligencia emocional, lo toma científico, exponiendo un... Más »
La opinión -académica o popular- suele ser definitiva en otorgar a César Vallejo la preeminencia... Más »
Debian es el nombre de una organización dedicada al desarrollo y mantenimiento de sistemas operativos... Más »
¿Estás seguro de que deseas eliminar este capítulo?