= Actualizar el ''kernel'' de los clientes EAC = == Motivación == Una de las ventajas de un sistema de clonación como EAC es que permite la actualización del ''kernel'' de los clientes para así poder detectar nuevos dispositivos y corregir problemas potenciales con el sistema. La versión inicial de EAC viene con un Kernel versión 2.6.27-7, que incluye algunos problemas de arranque con nuevos clientes (ver ticket:5). La actualización de dicho núcleo a la revisión 2.6.27-11 soluciona el problema. == Proceso de actualización == Entrar en una shell del servidor EAC y montar la imagen de arranque de los clientes con la función: {{{ MountChrootEACclient }}} Esta función monta los sistemas de archivos temporal, de dispositivos y raíz del cliente, el cual está localizado en el directorio {{{/var/EAC/nfsroot/stable}}}. También ejecuta {{{chroot}}} en este directorio, con lo que se convierte en el raíz de la shell y permite actualizar los paquetes de Ubuntu, incluidos los del kernel: {{{ apt-get update apt-get upgrade }}} Para actualizar sólo los paquetes del kernel: {{{ apt-get install linux-server linux-image-server }}} El fichero de imagen de arranque debe estar configurado para que se cargue por NFS, con lo que hay que modificar el fichero de configuración '''{{{/etc/initramfs-tools/initramfs.conf}}}''' y sustituir la línea de arranque local ({{{BOOT=local}}}) por arranque mediante NFS: {{{ BOOT=nfs }}} Reconstruir el fichero de imagen de arranque (en el ejemplo, se usa la revisión 2.6.27-11): {{{ cd /boot mkinitramfs -o initrd.img-2.6.27-11-server }}} Salir del {{{chroot}}} y volver a la shell del servidor: {{{ exit }}} Tanto el nuevo kernel como el nuevo initrd deben copiarse al directorio de arranque del TFTP/PXE: {{{ cp /var/EAC/nfsroot/stable/boot/{initrd,vmlinuz}.img-2.6.27-11-server /var/EAC/tftpboot/EACBootAgent/stable }}} Modificar el fichero de configuración de PXE {{{/var/EAC/tftpboot/pxelinux.cfg/default}}} para que los clientes arranquen con el kernel generado: {{{ DEFAULT pxe LABEL pxe KERNEL ./EACBootAgent/stable/vmlinuz-2.6.27-11-server APPEND root=/dev/nfs initrd=./EACBootAgent/stable/initrd.img-2.6.27-11-server nfsroot=10.1.14.10:/var/EAC/nfsroot/stable ip=dhcp ro vga=788 irqpoll acpi=off pci=nomsi EACregistred=NO }}} Modificar la Base de Datos EAC para que se generen las configuraciones con el nuevo kernel: {{{ UPDATE `eac`.`itemboot` SET `kernel` = 'EACBootAgent/stable/vmlinuz-2.6.28-11-server', `append` = 'root=/dev/nfs initrd=EACBootAgent/stable/initrd.img-2.6.28-11-server nfsroot=repo_client:/var/EAC/nfsroot/stable' WHERE `itemboot`.`label` = 'EAC' LIMIT 1 ; }}} Comprobar los cambios arrancando de nuevo los clientes EAC.