Como executar o update-initramfs a partir de um USB inicializável?

Como executar o update-initramfs a partir de um USB inicializável?

Meu computador travou durante uma atualização do Ubuntu 12.04 para 14.04.

Isso resultou em pânico no kernel após a reinicialização.

/sbin/init: relocation error: /lib/i386-linux-gnu/librt.so.1: symbol__clock_nanosleep, version GLIBC_PRIVATE not defined in file libc.so.6 with link time reference.

[seguido por algumas coisas do kernel panic]

Inicializei a partir do usb e concluí a atualização via chroot na unidade e executei: sudo apt-get dist-upgrade (bem como alguns outros comandos conforme descrito em:Recuperar do desligamento durante a atualização da distribuição do Ubuntu)

Basicamente parece ter concluído a atualização, mas não produziu uma nova imagem de inicialização:update-initramfs is disabled since running on read-only media

Como não consigo inicializar em versões mais antigas do kernel, existe uma maneira de produzir uma nova imagem de inicialização (ou seja, algo que estaria em/boot/) a partir do usb.

Como esclarecimento adicional, quando chrooted, uname -aproduz o kernel atualizado, mas nenhuma imagem do kernel correspondente está no /boot da unidade.

Poderia usar alguns conselhos.

Responder1

eu tive umquestão semelhante envolvendoa update-initramfs is disabled since running on read-only mediamensagem de erro. Se você olhar o script, verá que é apenas um script wrapper para arquivos mkinitramfs.

whereis update-initramfs
update-initramfs: /usr/sbin/update-initramfs …
gedit /usr/sbin/update-initramfs

Então você pode ligar mkinitramfsdiretamente:

mkinitramfs -o /boot/initrd.img-${kernel_ver}-generic ${kernel_ver}-generic

Mais detalhes sobre a reinstalação do kernel e imagens initrd do live media/chroot no link acima.

Responder2

Você mencionou chroota nova instalação do Ubuntu. Correr

sudo update-initramfs -u -k all

todosDE DENTROo chroot

Responder3

no live cd do Linux Mint, há uma cópia do update-initramfs que é usada para instalação. Ele foi renomeado como "update-initramfs.distrib". Você pode executar isso para recriar seu initrd.

informação relacionada