4 votes

Custom Server ISO ne peut pas trouver le noyau à installer

Je suis en train d'essayer de construire une ISO personnalisée d'Ubuntu Server, et je rencontre un problème étrange pour lequel j'espère que quelqu'un ici pourra m'aider. J'utilise UCK et ces instructions.

Quand je fais le strict minimum pour construire une ISO "personnalisée", cela génère une ISO qui s'installe et fonctionne sans aucun problème.

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

Cependant, je souhaite pouvoir inclure des paquets personnalisés sur mon ISO également. UCK configure l'environnement pour vous et prend ensuite 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 

Cela génère une ISO sans erreurs, cependant cette ISO renvoie cette superbe erreur :

No kernel found

Le syslog montre ces (complet) :

Mar 19 19:37:28 base-installer: Utilisation du point de montage du CD-ROM /media/cdrom/
Mar 19 19:37:28 base-installer: Identification..
Mar 19 19:37:28 base-installer: [53fed41586d1f78a456ce051a5c87264-2]
Mar 19 19:37:28 base-installer: Recherche des fichiers d'index sur le disque..
Mar 19 19:37:29 base-installer: Trouvé 3 fichiers d'index de paquets, 0 fichiers d'index source, 0 fichiers d'index de traduction et 1 signatures
Mar 19 19:37:29 base-installer: Label trouvé 'Ubuntu-Server 14.04 LTS _Trusty Tahr_ - Alpha amd64 (20140306)'
Mar 19 19:37:29 base-installer: Ce disque est appelé : 
Mar 19 19:37:29 base-installer: 'Ubuntu-Server 14.04 LTS _Trusty Tahr_ - Alpha amd64 (20140306)'
Mar 19 19:37:29 base-installer: Copie des listes de paquets...
Mar 19 19:37:29 base-installer: gpgv: Signature faite le ven. 14 mars 2014 01:18:54 AM UTC avec la clé RSA ID 60FB276F
Mar 19 19:37:29 base-installer: gpgv: Impossible de vérifier la signature : clé publique non trouvée
Mar 19 19:37:29 base-installer: E: Le sous-processus gpgv a renvoyé un code d'erreur (2)
Mar 19 19:37:29 base-installer: W: Échec de la vérification de la signature de : /media/cdrom/dists/trusty/Release.gpg
Mar 19 19:37:29 base-installer: E: Aucun CD-ROM n'a pu être détecté automatiquement ou trouvé en utilisant le point de montage par défaut.
Mar 19 19:37:29 base-installer: Vous pouvez essayer l'option --cdrom pour définir le point de montage du CD-ROM. Consultez 'man apt-cdrom' pour plus d'informations sur la détection automatique du CD-ROM et le point de montage.
Mar 19 19:37:29 base-installer: erreur : erreur lors de l'exécution de apt-cdrom

J'ai aussi essayé de suivre les instructions ici mais j'ai obtenu le même résultat - UCK semble suivre ces instructions d'après le code source.

Toute idée ou suggestion serait appréciée.

Mises à jour après plus d'investigations :

En sortant vers un shell après le message 'noyau incorrect' : 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 l'appel apt-cdrom dans l'installateur. Ainsi, dists/trusty/Release.gpg échoue à la vérification gpg.

Exécuter manuellement 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, en quittant le shell et en rétablissant l'installation logicielle à ce moment-là à partir du menu d'installation, ne résout pas le processus de validation gpg apt-cdrom - il semble que les clés gpg soient injectées à partir d'un autre udeb, et ubuntu-keyring n'est pas installé avant la vérification apt-cdrom.

Malheureusement, le message d'erreur affiché n'est pas représentatif du problème sous-jacent. Le problème est que apt-cdrom ne peut pas vérifier la signature gpg, donc ne reconnaît pas le CD-ROM comme source de paquets valide. Cela signifie qu'il n'y a pas de noyaux disponibles pour l'installation.

3voto

David W. Keith Points 1111

[cdrom]/install/filesystem.squashfs contient une version pré-installée de ubuntu-keyring, et le paquet ubuntu-keyring dans /pool/ sur le CD n'est pas installé avant que apt-cdrom ne soit exécuté par debian-installer - donc apt-cdrom échoue à vérifier le fichier Release modifié, et apt ne touchera pas aux paquets sur le CD.

Quelque chose comme ceci est nécessaire, afin de 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.

2voto

tim jackson Points 31

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

J'essayais également de créer une installation personnalisée du serveur 14.04 64 bits et j'avais le même problème avec la vérification de la signature du fichier Release.gpg. (clé publique non trouvée). J'ai fait cela avec de nombreuses versions précédentes, y compris la version serveur 64 bits 12.04. Je suivais le guide https://help.ubuntu.com/community/InstallCDCustomization. J'ai recréé les paquets ubuntu-keyring en ajoutant mes clés et remplacé les paquets ubuntu-keyring du répertoire pool/main/u/.

Il s'avère que si je ne signe simplement pas le fichier Release, l'installation se fiche que je crée mon répertoire d'extras, utilise un preseed personnalisé et tweake et installe tout ce que je veux.

2voto

Ross K Points 21

La réponse de RedPhoenix a fonctionné pour moi après avoir ajouté deux fichiers de trousseau supplémentaires :

cp /chemin/vers/ubuntu-archive-keyring.gpg usr/share/keyrings/ubuntu-archive-keyring.gpg
cp /chemin/vers/ubuntu-archive-keyring.gpg etc/apt/trusted.gpg
cp /chemin/vers/ubuntu-archive-keyring.gpg var/lib/apt/keyrings/ubuntu-archive-keyring.gpg

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X