proceso de compilación del núcleo carretera principal sistema Linux para resolver

  

descargar el código fuente

kernel de Linux está en constante evolución, el último núcleo Kernel2.6.0 ser soporte oficial para USB 2.0, así como sufijo de archivo módulo del núcleo el cambio más significativo de la a * .o, para .ko * y así sucesivamente, podemos descargar desde www.kernel.org tar paquete del código fuente.

preparatoria

Todos sabemos que la primera actualización "module-init-tools" paquete, si no, por lo que al instalar el archivo del módulo del kernel, el sistema le pedirá que: Advertencia: puede que tenga que instalar module-init-herramientas Ver http://www.codemonkey.org.uk/post-h...4.21-23.src.rpm.

para descargar e instalar el directorio:

#rpm -e --nodeps modutils (descarga de fuerza modutilsRPM paquete original) #rpm ivh modutils-2.4.21-23.src. rpm (el código fuente del paquete a la /usr /src /directorio bajo redhat) #cd /usr /src /redhat /SPECS (entra en la especificación de directorio de archivos) #rpmbuild --bb modutils.spec (generado paquete rPM binario) # cd ../RPMS/i386 (ubicación de paquetes RPM acaba de generar en binario) #rpm -ivh modutils * .rpm (justo generado dos [modutils-2.4.21-23.i386.rpm y modutils-debuginfo- 2.4.21.23.i386.rpm] paquete RPM binario, instalarlo juntos!)

porque está en la plataforma RedHat9.0, los usuarios de RedHat puede encontrar algunos problemas, voy más despacio lenta decir, además de la actualización anterior, hay un archivo (/etc/rc.d/rc.sysinit) pueden estar defectuosos, porque el archivo /proc /ksyms en un nuevo núcleo (Kernel2.6.0) no tiene , comando de archivo abierto es el siguiente:

#vi /etc/rc.d/rc.sysinit encontrar :! si LC_ALL = C grep -iQ nomodules /proc /CMDL ine 2 > /dev /null &&[-f /proc /ksyms]; a continuación, USEMODULES = y fi sustituida: si LC_ALL = C grep -iQ nomodules /proc /cmdline 2 > /dev /null; entonces USEMODULES! = y fi

es el "&&[-f /proc /ksyms]" eliminar, guardar el archivo (antes de la operación de copia de seguridad se realiza preferentemente a fin de no borrar el mal, el sistema de archivos es el guión inicial , muy importante), para cargar el módulo del núcleo como este curso puede empezar cortafuegos iptable, de lo contrario el rojo "no" cuando el servidor de seguridad es comienzo muy llamativo en el nuevo núcleo.
(Por favor, compruebe el nuevo kernel /proc /sys /kernel /modprobe no es: /sbin /modprobe, puede ser inyectado por las instrucciones manuales: #echo "/sbin /modprobe" > /proc /sys /kernel /modprobe ). Vamos a empezar la nueva configuración del núcleo.

una fuente lista

1, y la descarga al archivo comprimido, copiar el núcleo tar a la usr /src directorio /en el directorio actual se supone que el paquete, ejecute el comando siguiente:

#cp linux-2.6.0.tar.gz /usr /src

2, a /usr /src directorio y desbloquear el archivo comprimido.

#cd /usr /src #tar xvzf linux-2.6.0.tar.gz

3, si se ha descargado el parche, el parche, se puede archivo de comandos ejecutar scripts /patch-kernel está parcheado de forma automática (parche listo) o #zcat patch-2.6.0.gz | patch -p1.

En segundo lugar, el núcleo personalizado

kernel personalizado es una gran cantidad de conocimiento, el conocimiento requiere una gran cantidad de hardware, especialmente el kernel 2.6.0, si se carga el archivo de configuración desde 2.4.N ir de hecho, muchas personas encuentran problemas. Yo archivos re-configuración (servidor X Window), por favor limpiar antes de la preparación de las fuentes del núcleo, si aún no ha entrado directorio /usr/src/linux-2.6.0, introduzca el comando de directorio es el siguiente:

mrproper #make (sin este paso simplemente desbloquear el archivo tar) #make gconfig (GTK necesidad de apoyar el desarrollo de las bibliotecas) o make config o make xconfig (requiere la ayuda de Qt el desarrollo de bibliotecas)

Nota: Si usted es el sistema de archivos ext3, la hora de personalizar el archivo de configuración del kernel para soportar ext3, archivos Ext2 compilado directamente en el núcleo, de lo contrario, como cuando se habilita el nuevo kernel se colgará la máquina, el mensaje de error siguiente: pánico del kernel: sin init encontrado, intente pasar init = opción de kernel o ......: pánico del kernel: VFS: no se puede montar en la raíz fs desconocido-bloque (0,0), no sé el principio, compilado varias veces el sistema siempre me dan un paseo en el asiento trasero, y por último el soporte para Ext3, sistema de archivos Ext2 directamente compilado en el núcleo, antes de que podamos resolver este problema, así como poner en la opción "descarga de módulos" también se selecciona, de lo contrario, su nuevo entorno del núcleo incapaz de descargar en módulo de soporte de núcleo (comando rmmod no se puede utilizar).

En tercer lugar, compilar el núcleo y los módulos

Después de un archivo de configuración buena costumbre kernel (/usr /src /linux-2.6.0 /.config), emocionante momento llegó, y compilar el kernel módulo, # make (este comando ha finalizado su labor y hacer bzImage hacer módulos de), archivo de núcleo bzImage en el directorio arch /i386 /boot, su ubicación de almacenamiento de documentos base de la CPU diferente es diferente, yo soy el CPU Intel.

Nota: No estoy compilar mensaje de error aparece en la plataforma RedHat7.2 tenían, mensaje de error de la siguiente manera:

/tmp/cc2Hu7sH.s:3: Error: Desconocido pseudo-op: ` .incbin 'hacer [1]: *** [usr /initramfs_data.o] Error 1 make: *** [usr] Error 2,

re-instalado solamente resuelve el problema de un 9,0 . Descripción: hacer de comandos en mi máquina de 1,6 GHz, 128 MB corrió un total de 27 minutos.

En cuarto lugar, el módulo de montaje y el archivo del kernel

#make modules_install instalar

Este comando se puede descomponer en más de hacer modules_install y make install, hacen módulo modules_install kernel para instalar /lib /módulos /2.6.0 a continuación. make install comandos mkinitrd completa y el núcleo (bzImage) y copiar System.map, compruebe el directorio /boot, el nombre del archivo es diferente, la guía de GRUB caso, para ayudarle a tomar el comando de instalación se ha modificado para arrancar automáticamente opciones para el LILO modificar manualmente el registro de arranque de reescritura.

Descripción: hacer modules_install instalar este comando en la máquina de mi 1,6 GHz, 128M ejecutar sólo las tres y diez segundos y pronto oh.

V. PostScript

El último trabajo es reiniciar el sistema (#shutdown r now), probarlo frutos de su trabajo, a la derecha. Otro punto se me olvidaba, que puede ser importante para usted, me encontré con que después de entrar en el nuevo comando del núcleo rpm no puede ser utilizado, fue un RPM de errores, sobre todo para el usuario RH9, etc archivo abierto //perfil, el siguiente comando :

#vi /etc /perfil (al final del archivo además de unos cuantos a continuación) si [ `uname -r` = "2.6.0"]; a continuación, LD_ASSUME_KERNEL exportación = 2.2.5 fi

está acoplado a una variables globales de entorno del sistema también puede ser entrada directamente #export LD_ASSUME_KERNEL = 2.2.5.

usar las nuevas cuestiones que puedan surgir del núcleo y contramedidas: Read

1, el nuevo núcleo simplemente levantarse, Solución: Vuelva a configurar el kernel (aprendizaje grande), quizá relacionado con el registro de arranque de raíz ( muy pequeño).

2, el nuevo módulo del núcleo no se carga, puede causar muchos problemas, tales como el servidor de seguridad no pueden trabajar, montar el CD-ROM y no vfat y sistema de archivos NTFS Solución: Actualizar módulo- init-tools paquete (modutils-2.4.21- I paquete 23.src.rpm), los usuarios pueden también modificar RedHat archivo /etc/rc.d/rc.sysinit.

3, RedHat comando rpm usuario no se puede usar, la solución: Por favor, declarar una variable en el archivo de configuración global.

Copyright © Conocimiento de Windows All Rights Reserved