Servidor personalizado ISO não pode encontrar o kernel para instalar

4

Estou tentando criar um ISO de servidor Ubuntu personalizado e estou acertando um problema estranho no qual espero que alguém possa ajudar. Estou usando o UCK e estas instruções .

Quando faço o mínimo possível para criar um ISO "personalizado", ele cria um ISO que é instalado e funciona sem problemas.

uck-remaster-unpack-iso ./ubuntu_trusty-server-amd64.iso 
uck-remaster-pack-iso 

No entanto, também quero incluir pacotes personalizados no meu ISO. O UCK configura o ambiente para você e, em seguida, pega sua chave GPG e assina automaticamente tudo para você:

uck-remaster-clean
uck-remaster-unpack-iso ubuntu_trusty-server-amd64.iso 
uck-remaster-prepare-alternate 
gpg --list-keys
uck-remaster-finalize-alternate 60FB276F
uck-remaster-pack-iso 

Ele gera um ISO sem nenhum erro, no entanto, o ISO, esse erro maravilhoso:

O syslog mostra estes ( completo ):

Mar 19 19:37:28 base-installer: Using CD-ROM mount point /media/cdrom/
Mar 19 19:37:28 base-installer: Identifying.. 
Mar 19 19:37:28 base-installer: [53fed41586d1f78a456ce051a5c87264-2]
Mar 19 19:37:28 base-installer: Scanning disc for index files..
Mar 19 19:37:29 base-installer: Found 3 package indexes, 0 source indexes, 0 translation indexes and 1 signatures
Mar 19 19:37:29 base-installer: Found label 'Ubuntu-Server 14.04 LTS _Trusty Tahr_ - Alpha amd64 (20140306)'
Mar 19 19:37:29 base-installer: This disc is called: 
Mar 19 19:37:29 base-installer: 'Ubuntu-Server 14.04 LTS _Trusty Tahr_ - Alpha amd64 (20140306)'
Mar 19 19:37:29 base-installer: Copying package lists...
Mar 19 19:37:29 base-installer: gpgv: Signature made Fri 14 Mar 2014 01:18:54 AM UTC using RSA key ID 60FB276F
Mar 19 19:37:29 base-installer: gpgv: Can't check signature: public key not found
Mar 19 19:37:29 base-installer: E: Sub-process gpgv returned an error code (2)
Mar 19 19:37:29 base-installer: W: Signature verification failed for: /media/cdrom/dists/trusty/Release.gpg
Mar 19 19:37:29 base-installer: E: No CD-ROM could be auto-detected or found using the default mount point.
Mar 19 19:37:29 base-installer: You may try the --cdrom option to set the CD-ROM mount point. See 'man apt-cdrom' for more information about the CD-ROM auto-detection and mount point.
Mar 19 19:37:29 base-installer: error: error while running apt-cdrom

Eu também tentei seguir as instruções aqui , mas ele teve o mesmo resultado - o UCK parece seguir essas instruções de olhar para a fonte.

Qualquer ideia ou sugestão seria apreciada.

Atualizações após mais investigação:

Separando para um shell após a mensagem 'bad kernel': Ao examinar as chaves encontradas em /usr/share/keyrings with gpg --list-keys --keyring ./ubuntu-archive-keyring.gpg , a chave de assinatura injetada pelo UCK ou manualmente através de uma reconstrução do keyring do ubuntu NÃO é instalada antes do apt -cdrom chama no instalador. Como tal, dists/trusty/Release.gpg falha na verificação do gpg.

A execução manual de dpkg -i no pacote reconstruído do ubuntu-keyring instala as chaves de substituição corretamente; ambos em /usr/share/keyrings e no envelope gpg apropriado - no entanto, sair do shell e restabelecer a instalação do software naquele ponto do menu de instalação, não corrige o processo de validação do apt-cdrom gpg - parece que as chaves gpg estão ficando injetado de algum outro udeb, e o ubuntu-keyring não é instalado antes da verificação do apt-cdrom.

Infelizmente, a mensagem de erro exibida não reflete o problema subjacente. O problema é que apt-cdrom não pode verificar a assinatura gpg, portanto, não reconhece o CDRom como uma fonte de pacote válida. Isso significa que não há kernels disponíveis para instalação.

    
por Stephen RC 19.03.2014 / 20:44

3 respostas

3

[cdrom] /install/filesystem.squashfs contém uma versão pré-instalada do ubuntu-keyring, e o pacote ubuntu-keyring dentro de / pool / no CD não é instalado antes de o apt-cdrom ser executado pelo debian-installer - portanto, o apt-cdrom falha ao verificar o arquivo Release modificado, e o apt não toca nos pacotes do CD.

Algo parecido é necessário para substituir as chaves da linha de base pela versão modificada:

mkdir /tmp/CDRom
mount -o loop /path/to/trusty.iso /tmp/CDRom

mkdir /tmp/SquashFS
cd /tmp/SquashFS

unsquashfs /tmp/CDRom/install/filesystem.squashfs
cd squashfs-root
cp /path/to/modified/ubuntu-archive-keyring.gpg usr/share/keyrings/ubuntu-archive-keyring.gpg
rm /path/to/FinalCD/install/filesystem.size /path/to/FinalCD/install/filesystem.squashfs
du -sx --block-size=1 ./ | cut -f1 > /path/to/FinalCD/install/filesystem.size
mksquashfs ./ /path/to/FinalCD/install/filesystem.squashfs

O apt-cdrom funcionará corretamente.

    
por RedPhoenix 08.04.2014 / 09:00
2

Parece que você não precisa assinar instalações personalizadas agora. Na verdade, se você tentar, não instalar.

Eu também estava tentando criar uma instalação personalizada do servidor 14.04 de 64 bits e estava recebendo o mesmo problema com a verificação de assinatura do Release.gpg. (chave pública não encontrada). Eu fiz isso com muitos lançamentos anteriores, incluindo o release do servidor de 64 bits de 12.04. Eu estava usando o guia link . Recriei os debs do ubuntu-keyring adicionando minhas chaves e substituí os debs do pool / main / u / ubuntu-keyring.

Acontece que se eu não assinar o Release, a instalação não se importa mais com o fato de eu estar criando meu diretório extras, usando uma preseed e ajustes personalizados e instalando tudo o que eu quero.

    
por tim jackson 26.03.2014 / 02:24
2

A resposta da RedPhoenix funcionou para mim depois que eu adicionei dois arquivos adicionais de chaveiro:

cp /path/to/modified/ubuntu-archive-keyring.gpg usr/share/keyrings/ubuntu-archive-keyring.gpg
cp /path/to/modified/ubuntu-archive-keyring.gpg etc/apt/trusted.gpg
cp /path/to/modified/ubuntu-archive-keyring.gpg var/lib/apt/keyrings/ubuntu-archive-keyring.gpg
    
por Ross K 03.05.2014 / 05:33