¿Puedo actualizar mi kernel de Linux de 2.6.32 a 3.0.7?

¿Puedo actualizar mi kernel de Linux de 2.6.32 a 3.0.7?

Actualmente ejecuto Angstrom Linux 2.6.32 en BeagleBoard-xM (arquitectura ARM). ¿Puedo actualizar mi kernel de Linux de 2.6.32 a 3.0.7 y cuál es el nivel de dificultad en caso de que sea posible la actualización?

EDITAR #1:

La imagen que ejecuta BB-xM fue construida a partir deNarcisocon archivos del cargador de arranque(x-carga/u-boot/scripts). Recientemente descargué las fuentes del kernel 2.6.32.61 de kernel.org y las copié /usr/srcen BB-xM. Después de realizar la configuración ( make menuconfig), compilé ( make) e instalé ( make install) el kernel directamente en BB-xM.(cadena de herramientas nativa).

EDITAR #2:

Sé que también se debe prestar atención al gestor de arranque, en caso de que deba configurarse manualmente, para poder arrancar el nuevo kernel. En la imagen inicial de Angstrom, bootel directorio contenía:

  • u-boot-scripts
  • MLO-beagleboard-1.5.0+r24+gitr04b1732220078d47c18a84cbafc52e45db71f13d-r24
  • u-boot-beagleboard-2011.02+r75+gitrc7977858dcf1f656cbe91ea0dc3cb9139c6a8cc8-r75
  • uImage-2.6.32

Después de configurar e instalar el kernel 2.6.32.61, bootel directorio contiene:

root@beagleboard:/boot# ls
MLO
MLO-beagleboard-1.5.0+r24+gitr04b1732220078d47c18a84cbafc52e45db71f13d-r24
Module.symvers-2.6.32
System.map-2.6.32
System.map-2.6.32.61
System.map-2.6.32.61.old
config-2.6.32
u-boot-beagleboard-2011.02+r75+gitrc7977858dcf1f656cbe91ea0dc3cb9139c6a8cc8-r75.bin
u-boot-scripts
u-boot.bin
uImage
uImage-2.6.32
vmlinux-2.6.32.61
vmlinux-2.6.32.61.old

No configuré el gestor de arranque y BB-xM arranca el kernel recién configurado.

Respuesta1

No soy un usuario de la placa beagle, así que lo primero que debes hacer es asegurarte de tener una fuente de kernel adecuada. La fuente básica admite varios chips Cortex-A8 (ARMv7), incluido "OMAP3 BeagleBoard", pero no puedo decir con seguridad si es lo suficientemente bueno sin más parches.

El kernel 3.x debería ser compatible con versiones anteriores con un entorno de usuario orientado a 2.6, por lo que no debería haber ningún problema a menos que Angstrom dependa de alguna manera significativa de características implementadas por sus propios parches (en cuyo caso, deberá aplicarlos). Esto no es un problema con las distribuciones convencionales; aunque parchean sus núcleos de manera personalizada y recomiendan usar sus fuentes parcheadas, nunca he tenido problemas al usar el árbol vainilla, pero creo que Angstrom es algo especializado. Si Angstrom ya tiene una fuente 3.0.7, ya está todo listo. Si no, probablemente no estará de más probar con la fuente vanilla kernel.org (si arranca bien, probablemente todo estará bien a partir de ahí).

Supongo que ya tiene una cadena de herramientas de compilador cruzado que funciona para BeagleBoard. De lo contrario, necesitará uno (también puedo brindarle algunos consejos sobre esto), ya que tomará varias horas directamente en el BeagleBoard (aparentemente toma más de 5 en el Raspberry Pi) y probablemente habrá algo de prueba y error. Sin embargo, en una máquina multinúcleo y multiGhz contemporánea no debería llevar mucho más de 10 minutos, por lo que no tendrá que preocuparse por la configuración cada vez. La compilación cruzada del kernel es relativamente simple, ya que no tiene dependencias de compilación que no formen parte de la cadena de herramientas.

Para algunos detalles sobre la configuración y compilación del kernel,mira aquí. Siga el consejo sobre no usarlo make installen el paso 5 (es decir, instale usted mismo el kernel en BeagleBoard de manera adecuada; no sé si usa un gestor de arranque normal, etc.) y configúrelo INSTALL_MOD_PATHen la raíz del sistema de su cadena de herramientas cruzada antes de ejecutar make modules_install. p.ej

export INSTALL_MOD_PATH=/x-tool/sysroot
make modules_install

Esto dejará un directorio de módulo apropiado en /x-tool/sysroot/lib/modulesel que podrá copiar directamente al /lib/modulesdirectorio de BeagleBoard.

información relacionada