web-dev-qa-db-fra.com

Custom Server ISO ne peut pas trouver le noyau à installer

J'essaie de créer une image ISO de serveur Ubuntu personnalisée et je suis confrontée à un problème étrange et j'espère qu'une personne ici pourra vous aider. J'utilise UCK et ces instructions .

Lorsque je fais le moins possible pour construire un ISO "personnalisé", il crée un ISO qui s’installe et fonctionne sans problème.

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

Toutefois, je souhaite également pouvoir inclure des packages personnalisés dans mon ISO. UCK configure l'environnement pour vous puis prend votre clé GPG et signe automatiquement tout pour vous:

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 

Il génère une image ISO sans erreur, mais l’ISO cette erreur merveilleuse:

No kernel found

Syslog affiche ( complet ):

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

J'ai également essayé de suivre les instructions ici mais le résultat a été identique - UCK semble suivre ces instructions en regardant la source.

Toutes les idées ou suggestions seraient appréciées.

Mises à jour après une enquête plus approfondie:

Echange vers un shell après le message 'mauvais noyau': Lors de l'examen des clés trouvées dans /usr/share/keyrings avec gpg --list-keys --keyring ./ubuntu-archive-keyring.gpg, la clé de signature injectée par UCK ou manuellement via une reconstruction d'ubuntu-keyring n'est PAS installée avant la apt-cdrom appelle dans le programme d'installation. En tant que tel, dists/trusty/Release.gpg échoue la vérification de gpg.

L'exécution manuelle de dpkg -i sur le paquet ubuntu-keyring reconstruit installe correctement les clés de remplacement; à la fois dans /usr/share/keyrings et dans l'enveloppe gpg appropriée. Cependant, le fait de quitter Shell et de rétablir l'installation du logiciel à ce stade à partir du menu d'installation ne résout pas le processus de validation apt-cdrom gpg - il semble que les clés gpg sont en train d’être injectés par un autre udeb, et ubuntu-keyring n’est pas installé avant la vérification apt-cdrom.

Malheureusement, le message d'erreur affiché ne reflète pas le problème sous-jacent. Le problème est que apt-cdrom ne peut pas vérifier la signature gpg et ne reconnaît donc pas le CDRom en tant que source de package valide. Cela signifie qu’il n’ya pas de noyaux disponibles à installer.

4
Stephen RC

[cdrom] /install/filesystem.squashfs contient une version pré-installée de ubuntu-keyring, et le paquet ubuntu-keyring contenu dans/pool/sur le CD n'est pas installé avant qu'apt-cdrom soit exécuté par le programme d'installation de debian-installer -cdrom ne parvient pas à vérifier le fichier de version modifié, et apt ne touchera pas les paquets sur le CD.

Quelque chose comme ceci est nécessaire pour remplacer les clés de base par votre version modifiée:

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

apt-cdrom fonctionnera alors correctement.

3
RedPhoenix

La réponse de RedPhoenix a fonctionné pour moi après que j'ai ajouté deux fichiers de trousseau de clés supplémentaires:

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
2
Ross K

Il semble que vous n’ayez pas à signer les installations personnalisées maintenant. En fait, si vous essayez, l'installation échoue.

J'essayais également de créer une installation personnalisée du serveur 14.04 64 bits de 14.04 et je rencontrais le même problème avec la vérification de la signature du Release.gpg. (clé publique non trouvée). Je l'ai fait avec de nombreuses versions antérieures, y compris la version 12.04 64 bits du serveur. J'utilisais le guide https://help.ubuntu.com/community/InstallCDCustomization . J'ai recréé les debs ubuntu-keyring en ajoutant mes clés et remplacé les debs pool/main/u/ubuntu-keyring.

Si je ne signe pas la version, l’installation ne se soucie plus de la création de mon répertoire d’extras, elle utilise un preseed personnalisé, modifie et installe tout ce que je veux.

2
tim jackson