Maneira mais rápida de instalar kernel personalizado em máquina virtual

Maneira mais rápida de instalar kernel personalizado em máquina virtual

Tenho um kernel personalizado que precisa ser instalado em várias máquinas virtuais.

Uma maneira de fazer isso é transferir a fonte para cada VM e depois compilar e instalar.

Gostaria de saber se existe uma maneira mais rápida de compilar no host e simplesmente transferir algum arquivo ou instalar o kernel através de arquivos host.

Os sistemas operacionais host e convidado são Ubuntu 14.04 e estou usando o KVM como hipervisor.

Eu usei issolinkpara compilar e instalar o kernel.

Responder1

Eu recomendo usar o sistema de empacotamento da sua distribuição. Crie seu pacote de kernel personalizado e então você poderá distribuí-lo para suas VMs da maneira mais fácil. Muitas distribuições fornecem instruções sobre como fazer isso com seu gerenciador de pacotes preferido (veja abaixo para o Ubuntu).

Se você reconstruir o kernel (e/ou outro software) com frequência, poderácrie um repositório de pacotes local(por exemplo, no host) para adicionar à lista de repositórios de convidados. Assim, os convidados poderão retirar novos pacotes assim que estiverem disponíveis.

Se você tiver apenas alguns pacotes para distribuir, colocá-los no host em um cache de pacotes local ad-hoc também funciona. Compartilhe este local com os convidados com o Samba, ou simplesmente rsyncos pacotes manualmente quando necessário.


No Ubuntu,construindo um pacote de kernel personalizadose resume a:

  1. Obtenha a fonte

    • apt-get source linux-image-$(uname -r)OU
    • git clone git://kernel.ubuntu.com/ubuntu/ubuntu-<releasename>.git
  2. Prepare seu ambiente de construção

    • sudo apt-get build-dep linux-image-$(uname -r)
  3. Modifique a configuração do seu kernel

    • chmod a+x debian/rules debian/scripts/* debian/scripts/misc/*
    • fakeroot debian/rules clean
    • fakeroot debian/rules editconfigs(passe por cada um)
    • Adicione um identificador de versão local (por exemplo, +myVer1) ao final do primeiro número de versão para debian.master/changelogreconhecê apt-lo como um kernel mais recente que a versão do repositório oficial.
  4. Construa o kernel

    • fakeroot debian/rules clean
    • fakeroot debian/rules binary-headers binary-generic binary-perarch(construção rápida) OU
    • fakeroot debian/rules binary(mais lento, se forem necessárias ferramentas Linux ou baixa latência)

Se a compilação for bem-sucedida, seus .debpacotes personalizados estarão no diretório acima da raiz da compilação.

informação relacionada