Version 4 (modified by 15 years ago) (diff) | ,
---|
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.