[Wheezy personnalis

10 réponses
Avatar
Christophe De Natale
Bonsoir à vous,

Je tourne en rond sur une sur base de Debian 7 contenant des scripts
d'automatisation de l'installation.

Le processus est ok, puis au redémarrage toujours ce problème :
"grub: out of disk" en mode "rescue".

En redémarrant sur ma clé usb contenant l'os et suivant cette procédure
de ré-installation de grub, jusqu'au chroot, c'est ok :
https://www.isalo.org/wiki.debian-fr/R%C3%A9installer_Grub2

Mais je suis obligé d'employer la méthode indiquée au point 3 sinon au
redémarrage c'est idem :
rm /boot/grub/grub.cfg
puis
grub-mkconfig -o /boot/grub/grub.cfg
et
grub-install --root-directory=/mnt/chroot/ --recheck /dev/hda

Plus d'erreur "out of disk", grub charge mais je tombe sur l'invite du
mini bash like maintenant :D (pas de rescue mais juste "grub>")
GNU GRUB version 1.99-27+deb7u2
Donc :
grub>boot
error:no loaded kernel

grub>set
prefix=(hd0,msdos1)/mnt/chroot/boot/grub
root=hd0,msdos1

Je vois où est l'erreur dans le chemin de
"prefix" (/mnt/chroot/boot/grub qui devrait être /boot/grub) mais pour
l'instant, c'est le seul déclaré qui fonctionne (pour arriver au mini
bash puis re-déclarer "/boot/grub" afin d'atteindre l'écran de
chargement de l'os)
Toute mes autres tentatives dans le chroot d'indiquer un autre chemin me
ramenaient à l'erreur "out of disk"
Dans la commande :
grub-install --root-directory=/mnt/chroot/ --recheck /dev/hda
J'ai tenté pour root-directory :
* /
* /boot/grub
Mais rien à faire ...

Donc :
grub>set prefix=(hd0,msdos1)/boot/grub
grub>set root=hd0,msdos1
grub>insmod normal
grub>normal
Et c'est parti, sauf qu'au prochain reboot, même problème (l'erreur "out
of disk" a disparue et on est au prompt du mini bash).

Malheureusement, une fois dans l'os, un simple "update-grub" ne suffit
pas, grrrhhh !
Et pire, un grub-install /dev/sda suivi d'un update-grub donne un "out
of disk" et grub en mode rescue...

Voilà, si quelqu'un a une idée, je suis preneur.

Bonne nuit,
--
Christophe De Natale <christophedenatale@orange.fr>

10 réponses

Avatar
Pascal Hambourg
Christophe De Natale a écrit :

Je tourne en rond sur une sur base de Debian 7 contenant des scripts
d'automatisation de l'installation.



Sur une machine cible particulière ou n'importe laquelle ?

Le processus est ok, puis au redémarrage toujours ce problème :
"grub: out of disk" en mode "rescue".



Quelles sont les valeurs des variables prefix et root ?

En redémarrant sur ma clé usb contenant l'os et suivant cette procédure



La clé contenant l'OS ou l'installateur ?

de ré-installation de grub, jusqu'au chroot, c'est ok :
https://www.isalo.org/wiki.debian-fr/R%C3%A9installer_Grub2

Mais je suis obligé d'employer la méthode indiquée au point 3 sinon au
redémarrage c'est idem :
rm /boot/grub/grub.cfg
puis
grub-mkconfig -o /boot/grub/grub.cfg
et
grub-install --root-directory=/mnt/chroot/ --recheck /dev/hda



Pas cohérent : si la racine pour l'installation de GRUB est /mnt/chroot/
alors grub-mkconfig devrait enregistrer la config dans
/mnt/chroot/boot/grub/grub.cfg, non ?

/dev/hda ? Je croyais être le dernier à encore utiliser les pilotes
vieux IDE avec un noyau perso au lieu des pilotes ATA actuels.

Plus d'erreur "out of disk", grub charge mais je tombe sur l'invite du
mini bash like maintenant :D (pas de rescue mais juste "grub>")
GNU GRUB version 1.99-27+deb7u2
Donc :
grub>boot
error:no loaded kernel

grub>set
prefix=(hd0,msdos1)/mnt/chroot/boot/grub
root=hd0,msdos1

Je vois où est l'erreur dans le chemin de
"prefix" (/mnt/chroot/boot/grub qui devrait être /boot/grub) mais pour



Ça non plus ce n'est pas cohérent. Si la valeur de prefix est erronée,
alors tu devrais encore tomber dans le shell GRUB rescue. Le shell
normal n'est lancé que si GRUB a réussi à charger le module "normal", ce
qui ne peut se produire que si la valeur de prefix est correcte.

grub>set prefix=(hd0,msdos1)/boot/grub
grub>set root=hd0,msdos1
grub>insmod normal
grub>normal
Avatar
Christophe De Natale
Le dimanche 07 février 2016 à 01:17 +0100, Pascal Hambourg a écrit :
Christophe De Natale a écrit :
>
> Je tourne en rond sur une sur base de Debian 7 contenant des scripts
> d'automatisation de l'installation.

Sur une machine cible particulière ou n'importe laquelle ?



Sur un serveur ibm de test que j'ai sous la main.
J'ai essayé avec un autre hdd sur un autre emplacement de la backplane
mais c'est idem.

> Le processus est ok, puis au redémarrage toujours ce problème :
> "grub: out of disk" en mode "rescue".

Quelles sont les valeurs des variables prefix et root ?



Indiquées ci-après.

> En redémarrant sur ma clé usb contenant l'os et suivant cette procédure

La clé contenant l'OS ou l'installateur ?



L'installateur qui me permet d'atteindre le tty via ctrl+alt+f2.

> de ré-installation de grub, jusqu'au chroot, c'est ok :
> https://www.isalo.org/wiki.debian-fr/R%C3%A9installer_Grub2
>
> Mais je suis obligé d'employer la méthode indiquée au point 3 sinon au
> redémarrage c'est idem :
> rm /boot/grub/grub.cfg
> puis
> grub-mkconfig -o /boot/grub/grub.cfg
> et
> grub-install --root-directory=/mnt/chroot/ --recheck /dev/hda

Pas cohérent : si la racine pour l'installation de GRUB est /mnt/chroot/
alors grub-mkconfig devrait enregistrer la config dans
/mnt/chroot/boot/grub/grub.cfg, non ?



Oui mais c'est la seule valeur qui me permet d'aller plus loin comme
expliqué ci-après.

/dev/hda ? Je croyais être le dernier à encore utiliser les pilotes
vieux IDE avec un noyau perso au lieu des pilotes ATA actuels.



Oui c'est bien sda que j'ai saisi (ah le copié/collé)

> Plus d'erreur "out of disk", grub charge mais je tombe sur l'invite du
> mini bash like maintenant :D (pas de rescue mais juste "grub>")
> GNU GRUB version 1.99-27+deb7u2
> Donc :
> grub>boot
> error:no loaded kernel
>
> grub>set
> prefix=(hd0,msdos1)/mnt/chroot/boot/grub
> root=hd0,msdos1
>
> Je vois où est l'erreur dans le chemin de
> "prefix" (/mnt/chroot/boot/grub qui devrait être /boot/grub) mais pour

Ça non plus ce n'est pas cohérent. Si la valeur de prefix est erronée,
alors tu devrais encore tomber dans le shell GRUB rescue. Le shell
normal n'est lancé que si GRUB a réussi à charger le module "normal", ce
qui ne peut se produire que si la valeur de prefix est correcte.



C'est pour ça que je sèche là, je n'y comprend plus rien :-(

> grub>set prefix=(hd0,msdos1)/boot/grub
> grub>set root=hd0,msdos1
> grub>insmod normal
> grub>normal



Bon dimanche,

Christophe
Avatar
Pascal Hambourg
Christophe De Natale a écrit :
Le dimanche 07 février 2016 à 01:17 +0100, Pascal Hambourg a écrit :
Christophe De Natale a écrit :
Je tourne en rond sur une sur base de Debian 7 contenant des scripts
d'automatisation de l'installation.


Sur une machine cible particulière ou n'importe laquelle ?



Sur un serveur ibm de test que j'ai sous la main.
J'ai essayé avec un autre hdd sur un autre emplacement de la backplane
mais c'est idem.



Ça vaudrait le coup de tester sur une autre machine et un autre disque.
Il n'y aurait pas une anomalie dans la table de partition ?

Le processus est ok, puis au redémarrage toujours ce problème :
"grub: out of disk" en mode "rescue".


Quelles sont les valeurs des variables prefix et root ?



Indiquées ci-après.



Je n'ai rien vu d'autre dans ton message que le cas où il n'y avait pas
le message d'erreur ni le GRUB rescue :

Plus d'erreur "out of disk", grub charge mais je tombe sur l'invite du
mini bash like maintenant :D (pas de rescue mais juste "grub>")
GNU GRUB version 1.99-27+deb7u2
Donc :
grub>boot
error:no loaded kernel

grub>set
prefix=(hd0,msdos1)/mnt/chroot/boot/grub
root=hd0,msdos1
Avatar
Christophe De Natale
Le dimanche 07 février 2016 à 09:42 +0100, Pascal Hambourg a écrit :
Christophe De Natale a écrit :
> Le dimanche 07 février 2016 à 01:17 +0100, Pascal Hambourg a écrit :
>> Christophe De Natale a écrit :
>>> Je tourne en rond sur une sur base de Debian 7 contenant des scripts
>>> d'automatisation de l'installation.
>> Sur une machine cible particulière ou n'importe laquelle ?
>
> Sur un serveur ibm de test que j'ai sous la main.
> J'ai essayé avec un autre hdd sur un autre emplacement de la backplane
> mais c'est idem.

Ça vaudrait le coup de tester sur une autre machine et un autre disque.
Il n'y aurait pas une anomalie dans la table de partition ?



Je viens de tester sur une carte mère et un autre hdd mais j'arrive à
"GRUB" et le curseur qui clignote à côté.
C'est à partir de ce moment qu'il faut redémarrer sur la clé
d'installation et installer grub manuellement suivant ce que
j'expliquais dans mon premier message .

J'étais allé jusqu'à démarrer sur Ultimate Boot Cd afin de supprimer le
mbr sans re-créer de table car je me suis rendu compte que dans la
première étape du processus d'installation, un script restaure un
fichier image.mbr qui se trouve dans un dossier "Images" de l'iso.

De plus, à la fin de l'installation, un message signale :
/usr/sbin/grub-setup: error: will not proceed with blocklists

>>> Le processus est ok, puis au redémarrage toujours ce problème :
>>> "grub: out of disk" en mode "rescue".
>> Quelles sont les valeurs des variables prefix et root ?
>
> Indiquées ci-après.

Je n'ai rien vu d'autre dans ton message que le cas où il n'y avait pas
le message d'erreur ni le GRUB rescue :



Ah, tu voulais dire dans le cas où je saisi "set" en grub-rescue ?

>>> Plus d'erreur "out of disk", grub charge mais je tombe sur l'invite du
>>> mini bash like maintenant :D (pas de rescue mais juste "grub>")
>>> GNU GRUB version 1.99-27+deb7u2
>>> Donc :
>>> grub>boot
>>> error:no loaded kernel
>>>
>>> grub>set
>>> prefix=(hd0,msdos1)/mnt/chroot/boot/grub
>>> root=hd0,msdos1

Avatar
Pascal Hambourg
Christophe De Natale a écrit :
Le dimanche 07 février 2016 à 09:42 +0100, Pascal Hambourg a écrit :

Je viens de tester sur une carte mère et un autre hdd mais j'arrive à
"GRUB" et le curseur qui clignote à côté.



Donc ce n'est pas lié à une particularité de la machine cible.

J'étais allé jusqu'à démarrer sur Ultimate Boot Cd afin de supprimer le
mbr sans re-créer de table car je me suis rendu compte que dans la
première étape du processus d'installation, un script restaure un
fichier image.mbr qui se trouve dans un dossier "Images" de l'iso.



Tu veux dire que le contenu du MBR du disque cible (code amorce + table
de partition) provient d'un fichier image prédéfini ? Quelle est la
taille de ce fichier ?

De plus, à la fin de l'installation, un message signale :
/usr/sbin/grub-setup: error: will not proceed with blocklists



N'y a-t-il pas d'autres messages avant expliquant pourquoi les listes de
blocs seraient nécessaires ?
Quelle est la commande complète qui essaie d'installer le chargeur ?
Si on ne passe pas l'option --force à grub-install, il refuse d'utiliser
les listes de blocs et n'installe pas le chargeur.

Le processus est ok, puis au redémarrage toujours ce problème :
"grub: out of disk" en mode "rescue".


Quelles sont les valeurs des variables prefix et root ?


Indiquées ci-après.


Je n'ai rien vu d'autre dans ton message que le cas où il n'y avait pas
le message d'erreur ni le GRUB rescue :



Ah, tu voulais dire dans le cas où je saisi "set" en grub-rescue ?



Oui.
Avatar
Christophe De Natale
Le dimanche 07 février 2016 à 16:21 +0100, Pascal Hambourg a écrit :
Christophe De Natale a écrit :
> Le dimanche 07 février 2016 à 09:42 +0100, Pascal Hambourg a écrit :
>
> Je viens de tester sur une carte mère et un autre hdd mais j'arrive à
> "GRUB" et le curseur qui clignote à côté.

Donc ce n'est pas lié à une particularité de la machine cible.

> J'étais allé jusqu'à démarrer sur Ultimate Boot Cd afin de supprimer le
> mbr sans re-créer de table car je me suis rendu compte que dans la
> première étape du processus d'installation, un script restaure un
> fichier image.mbr qui se trouve dans un dossier "Images" de l'iso.

Tu veux dire que le contenu du MBR du disque cible (code amorce + table
de partition) provient d'un fichier image prédéfini ?



Oui, l'installation est entièrement automatisée, un message prévient que
le hdd sera entièrement effacé.
Par ailleurs, "fdisk -l /dev/sda" indique un départ de /dev/sda1 à 2048,
est-ce un problème ?

Quelle est la taille de ce fichier ?



Le fichier fait 512 octets.

> De plus, à la fin de l'installation, un message signale :
> /usr/sbin/grub-setup: error: will not proceed with blocklists

N'y a-t-il pas d'autres messages avant expliquant pourquoi les listes de
blocs seraient nécessaires ?



Lorsque que j'étais dans le chroot, j'ai copié l'ensemble de /var/log/
sur une clé usb mais je ne sais pas où regarder pour avoir les messages
concernant grub.
Mais je crois que c'est une fausse piste car les messages de syslog, par
exemple, date de la construction de l'iso.

Quelle est la commande complète qui essaie d'installer le chargeur ?
Si on ne passe pas l'option --force à grub-install, il refuse d'utiliser
les listes de blocs et n'installe pas le chargeur.



"grub-install /dev/sda" qui donne :
/usr/sbin/grub-setup: warn: no signature.
/usr/sbin/grub-setup: warn: Embedding is not possible. GRUB can only be
installed in this setup by using blocklists. However, blocklists are
UNRELIABLE and their use is discouraged.
/usr/sbin/grub-setup: error: will not proceed with blocklists.

Avec l'option "--force", les messages ci-dessus apparaissent puis
"Installation finished, no error reported" et la routine se lance
correctement au redémarrage de la machine.

>>>>> Le processus est ok, puis au redémarrage toujours ce problème :
>>>>> "grub: out of disk" en mode "rescue".
>>>> Quelles sont les valeurs des variables prefix et root ?
>>> Indiquées ci-après.
>> Je n'ai rien vu d'autre dans ton message que le cas où il n'y avait pas
>> le message d'erreur ni le GRUB rescue :
>
> Ah, tu voulais dire dans le cas où je saisi "set" en grub-rescue ?

Oui.



Redémarrage après installation de l'os :
grub rescue> set
prefix=(hd0,msdos1)/boot/grub
root=hd0,msdos1

Et ça, c'est extrait du grub.cfg généré sans tentative d'installation
manuelle de grub :
set root='(/dev/sda,msdos1)'
Si je regarde sur mon pc sous Jessie par exemple, j'ai :
set root='hd0,msdos1'

@Pascal : je ne t'ai pas encore remercié pour ton aide donc je le fais
maintenant : merci beaucoup :-)
Avatar
Pascal Hambourg
Christophe De Natale a écrit :
Le dimanche 07 février 2016 à 16:21 +0100, Pascal Hambourg a écrit :
Tu veux dire que le contenu du MBR du disque cible (code amorce + table
de partition) provient d'un fichier image prédéfini ?



Oui, l'installation est entièrement automatisée, un message prévient que
le hdd sera entièrement effacé.
Par ailleurs, "fdisk -l /dev/sda" indique un départ de /dev/sda1 à 2048,
est-ce un problème ?



Non, c'est la norme actuelle et cela devrait être largement suffisant
pour permettre l'embedding sans utiliser les blocklists.

Quelle est la commande complète qui essaie d'installer le chargeur ?
Si on ne passe pas l'option --force à grub-install, il refuse d'utiliser
les listes de blocs et n'installe pas le chargeur.



"grub-install /dev/sda" qui donne :
/usr/sbin/grub-setup: warn: no signature.



J'ai cherché en vain à quoi pouvait correspondre ce message...
Ma seule hypothèse est une anomalie dans le contenu du MBR.

/usr/sbin/grub-setup: warn: Embedding is not possible. GRUB can only be
installed in this setup by using blocklists. However, blocklists are
UNRELIABLE and their use is discouraged.



Avec l'espace entre le MBR et la première partition, cela ne devrait pas
se produire. A moins que ce soit lié au message précédent.

Avec l'option "--force", les messages ci-dessus apparaissent puis
"Installation finished, no error reported" et la routine se lance
correctement au redémarrage de la machine.



Tu veux dire que le système démarre correctement tout seul maintenant ?

Redémarrage après installation de l'os :
grub rescue> set
prefix=(hd0,msdos1)/boot/grub
root=hd0,msdos1



Ça a l'air normal, non ?

Et ça, c'est extrait du grub.cfg généré sans tentative d'installation
manuelle de grub :
set root='(/dev/sda,msdos1)'
Si je regarde sur mon pc sous Jessie par exemple, j'ai :
set root='hd0,msdos1'



Apparemment grub-mkconfig n'a pas réussi à trouver le nom de GRUB (hdx)
qui corrspond à /dev/sda. Mais ça ne devrait pas gêner si les UUID sont
utilisés pour identifier les partitions.

@Pascal : je ne t'ai pas encore remercié pour ton aide donc je le fais
maintenant : merci beaucoup :-)



Attends, j'en suis encore à essayer de comprendre ce qui se passe...
Avatar
Christophe De Natale
Le dimanche 07 février 2016 à 22:36 +0100, Pascal Hambourg a écrit :

Tu veux dire que le système démarre correctement tout seul maintenant ?



Oui.

> Redémarrage après installation de l'os :
> grub rescue> set
> prefix=(hd0,msdos1)/boot/grub
> root=hd0,msdos1

Ça a l'air normal, non ?



Oui, j'arrive à lister les répertoires mais les commandes "cat" ou
"linux" ne sont pas reconnues.

> Et ça, c'est extrait du grub.cfg généré sans tentative d'installation
> manuelle de grub :
> set root='(/dev/sda,msdos1)'
> Si je regarde sur mon pc sous Jessie par exemple, j'ai :
> set root='hd0,msdos1'

Apparemment grub-mkconfig n'a pas réussi à trouver le nom de GRUB (hdx)
qui corrspond à /dev/sda. Mais ça ne devrait pas gêner si les UUID sont
utilisés pour identifier les partitions.

> @Pascal : je ne t'ai pas encore remercié pour ton aide donc je le fais
> maintenant : merci beaucoup :-)

Attends, j'en suis encore à essayer de comprendre ce qui se passe...



Moi aussi :D
Avatar
Pascal Hambourg
Christophe De Natale a écrit :
Le dimanche 07 février 2016 à 22:36 +0100, Pascal Hambourg a écrit :

Tu veux dire que le système démarre correctement tout seul maintenant ?



Oui.

Redémarrage après installation de l'os :
grub rescue> set
prefix=(hd0,msdos1)/boot/grub
root=hd0,msdos1


Ça a l'air normal, non ?



Oui, j'arrive à lister les répertoires mais les commandes "cat" ou
"linux" ne sont pas reconnues.



Forcément, puisque le module "normal" n'a pas pu être chargé, ce qui
provoque le shell rescue. La question est : pourquoi le module normal
n'a pas pu être chargé si les variables sont correctes et si le module
est bien à l'emplacement prévu ?
Avatar
Christophe De Natale
Le dimanche 07 février 2016 à 23:55 +0100, Pascal Hambourg a écrit :
Christophe De Natale a écrit :
> Le dimanche 07 février 2016 à 22:36 +0100, Pascal Hambourg a écrit :
>
>> Tu veux dire que le système démarre correctement tout seul maintenant ?



Le problème a été résolu par ajout de l'option "--force" :
grub-install --force /dev/sda

J'ai modifié le script contenu dans l'iso et chargé d'installer grub à
l'aide de ce programme : genisoimage (remplace mkisofs dans Jessie)
Infos ici : http://jcvassort.open-web.fr/modifier-une-image-iso/
L'installation et le redémarrage du serveur se sont déroulés sans
encombres.

[mi-hs]L'iso étant non-hybride et ayant besoin de créer une clé usb
bootable, j'ai installé syslinux-utils qui permet de lancer la commande
"isohybrid"
Infos ici : https://www.turnkeylinux.org/blog/iso2usb

Merci Pascal et bonne soirée,

--
Christophe De Natale