Eu tentei fazer algo que eu esperava ser muito simples: recompilar a versão do kernel existente com uma opção de configuração modificada.
Eu segui as instruções em esta página da wiki , que parece ser a mais atualizada das várias páginas que você encontrará apenas no wiki do Ubuntu, relacionadas à compilação do kernel (havia páginas mais abrangentes, mas com frequência estavam meio desatualizadas).
A compilação funcionou bem, e eu nomeei minha versão do kernel 4.4.0-57.78+foo
- eu fiz isso modificando o arquivo debian/changelog
, que originalmente tinha uma primeira linha como:
linux (4.4.0-57.78) xenial; urgency=low
para:
linux (4.4.0-57.78+foo) xenial; urgency=low
Eu não tenho ideia se isso está correto, já que a documentação não está clara neste ponto (por exemplo, se eu devo substituir a parte .78
ou adicioná-la a ela)
Isso criou um monte de arquivos .deb
, a saber:
linux-cloud-tools-4.4.0-57_4.4.0-57.78+foo_amd64.deb linux-image-4.4.0-57-generic_4.4.0-57.78+foo_amd64.deb
linux-cloud-tools-4.4.0-57-generic_4.4.0-57.78+foo_amd64.deb linux-image-extra-4.4.0-57-generic_4.4.0-57.78+foo_amd64.deb
linux-cloud-tools-common_4.4.0-57.78+foo_all.deb linux-source-4.4.0_4.4.0-57.78+foo_all.deb
linux-doc_4.4.0-57.78+foo_all.deb linux-tools-4.4.0-57_4.4.0-57.78+foo_amd64.deb
linux-headers-4.4.0-57_4.4.0-57.78+foo_all.deb linux-tools-4.4.0-57-generic_4.4.0-57.78+foo_amd64.deb
linux-headers-4.4.0-57-generic_4.4.0-57.78+foo_amd64.deb linux-tools-common_4.4.0-57.78+foo_all.deb
Eu instalei estes usando:
sudo dpkg -i ../linux-*foo*.deb
Agora, apt-get
está quebrado. Todos os comandos (por exemplo, sudo apt-get install <whatever>
reclama:
The following packages have unmet dependencies:
linux-signed-image-4.4.0-57-generic : Depends: linux-image-4.4.0-57-generic (= 4.4.0-57.78) but 4.4.0-57.78+foo is to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
Como posso satisfazer apt-get
neste caso? A maioria das referências a essa mensagem de erro é sobre o estado do apt-get interrompido, mas não está claro como isso se aplica aqui. As mensagens referentes a 'linux-signed-image *' estão interessadas - em um kernel construído localmente, esses módulos não estão disponíveis (talvez esses sejam módulos para cenários de inicialização segura, e claramente não posso assiná-los). / p>