
Hay una determinada imagen de ubuntu que funciona (desde la tarjeta SD) con un controlador de hardware. La imagen completa ocupa 2 gigabytes, ese es el tamaño de la tarjeta. La imagen está construida sobre el núcleo antiguo. Necesitamos reemplazar la placa base, porque las antiguas ya no están disponibles y las nuevas apropiadas no hablan con el kernel antiguo. Y lo más importante, irrevocablemente (debido a cierto caos al cambiar de desarrollador) la contraseña de root de la imagen se pierde, es decir, reemplazar el kernel de manera civilizada, desde adentro, lamentablemente, no funcionará. La pregunta: ¿es posible - y cómo puedo - cambiar el kernel, sin cambiar el resto, fuera del sistema, simplemente reescribiendo algo en la tarjeta con la imagen existente de mi computadora portátil? De lo contrario, será necesario reconstruir toda la imagen optimizada y depurada, algo que me gustaría evitar.
Respuesta1
Primero, no puedo enfatizar lo suficiente que no use su copia de trabajo, sino que haga una copia de seguridad y la use en caso de que algo salga terriblemente mal.
Puede que esto no funcione, pero es tu mejor opción.
Para empezar, el kernel depende de los archivos en /boot.
System.map-4.19.1-1-default
.vmlinuz-4.19.4-1-default.hmac
config-4.19.4-1-default
initrd-4.19.1-1-default
initrd is symlinked to above
symvers-4.19.1-1-default.gz
sysctl.conf-4.19.1-1-default
vmlinux-4.19.1-1-default.gz
vmlinuz symlink to below
vmlinuz-4.19.4-1-default
Necesita todos estos archivos de la nueva versión presente; obviamente, la mayoría de los nombres de los archivos contienen el número de versión y serán diferentes según la versión del kernel que esté utilizando.
Dentro de /lib/modules/ hay una serie de carpetas, una para cada versión del kernel. Por ejemplo:
4.19.4-1-default
Sería necesario copiar todos los módulos de esta carpeta.
Finalmente, será necesario modificar sus archivos grub o grub2 para que apunten a estos nuevos archivos.
- Haga una copia de seguridad de su tarjeta SD y use la copia de seguridad
- Si su placa base anterior no es UEFI, desactívela en la nueva placa base o habrá problemas.
- Obtenga otra tarjeta SD/HDD
- Instale una versión más nueva de cualquier distribución que estuviera usando.
- Copie /boot y /lib/modules/ en los lugares apropiados en la copia de seguridad de su sistema operativo. Si está presente, /usr/lib/bootloader también se debe copiar.
- Arranca y mira qué pasa.
Probablemente habrá más problemas de compatibilidad. El mayor peligro es avanzar demasiado y pasar de initd a systemd u otro cambio importante.
Sugeriría averiguar qué versión de la distribución estaba usando y, para empezar, mover solo una versión superior. Si la instalación falla, puede avanzar una versión a la vez.
Cuando tenga un sistema de arranque, le sugiero usar apt-get o etc. para realizar una actualización completa de la distribución en la casa adecuada.