Passer outre /boot/loader.conf

Imaginez que vous êtes comme moi, un tant soit peu dyslexique du clavier à la fin d’une dure journée de labeur (pour autant que le fait de taper au clavier soit un vrai travail), et imaginez toujours que ce fichu clavier entre quelque chose du genre dans /boot/loader.conf:

hint.apic.0.disabled=1

au lieu d’un bien moins dangereux

hint.acpi.0.disabled=1

En effet le premier désactive l’APIC c’est à dire une sorte regulateur des connections entre les processeurs et les entrées/sorties (comme les disques); et le second seulement l’ACPI, soit la gestion de l’énergie.

Nous avons donc notre belle erreur dans notre /boot/loader.conf et ni une ni deux, on redémarre le serveur pour constater l’effet de la désactivation de l’ACPI (car c’est ce qu’on voulait désactiver à la base… vous suivez ?).

Et là, c’est le drame, notre serveur sous FreeBSD ne boote plus et est réduit à la fonction de presse papier car il ne voit plus le controlleur LSI Logic qui pilote nos disques durs ! Evidement, un malheur n’arrivant jamais seul, la loi de l’emmerdement maximum, dite aussi loi de Murphy, fait que vous n’avez pas d’accès physique sur la machine. Donc pas de liveCD pour monter / et corriger /boot/loader.conf !

C’est dans ces moments là qu’on a envie de changer de métier, de partir élever des chèvres dans le Larzac, de devenir technico-commercial… que sais-je.

Mais heuresement FreeBSD est un système d’hommes (et de femmes, ne soyons pas sexiste envers nos trop peu nombreuses informaticiennes), des vrai(e)s, et nous propose un moyen de rattraper nos bêtises avant que le chef, ou pire les utilisateurs (vous savez, ceux qui n’arrivent jamais à imprimer à 17h58 alors que vous êtes sensé finir à 18h) ne s’en aperçoivent.

Et ce moyen, le voilà (ouf diront certains):

  1. Rebootez FreeBSD
  2. Une fois arrivé au menu du loader, choisissez l’otion 6 (escape to loader prompt)
  3. Au prompt du loader (qui n’affiche que “>”) tapez “show” (sans les guillements hein ;) suivi d’”Enter” pour afficher les variables initialisées par /boot/defaults/loader.conf et /boot/loader.conf. Vous devriez voir le fameux hint.apic.0.disabled=1 dans la liste.
  4. Tapez “unset hint.apic.0.disabled” puis faites “Enter” (bien évidement).
  5. Tapez “boot” puis pressez “Enter” (encore), et ô miracle, FreeBSD boote comme il faut \o/.

Il ne vous reste plus qu’à vous précipiter dans /boot/loader.conf et corriger l’erreur.

Ouf ! Je reste informaticien encore un peu. “La coupure de 3 minutes ? Ben c’est encore ces $#%$! de fournisseurs de la SDSL qui ont laissé tomber la ligne….” (Mais non je suis pas comme ça ;)

Oct17

3 Responses to “Passer outre /boot/loader.conf”

  1. bien vue, mais si pas d’accès physique alors pas de reboot ! vue que t’as machine n’a pas demarre ! sauf si bien sur tu as configure l’ipmi !

  2. Il est vrai que c’est un peu contradictoire à la relecture. En fait dans mon cas, c’est arrivé sur un serveur virtualisé sous VmWare. J’ai pu donc évidement faire un reboot “hard” avec vmware et avoir accès au prompt du boot loader. Bref l’équivalent d’un accès physique au serveur.
    Evidement l’intérêt de mon billet est la possiblité de changer des variables du loader, l’anecdote n’étant là que pour que ça soit agéable à lire.

  3. lol oui bien sur mais du coup ca perd de son charme ;-)

Leave a Reply

You must be logged in to post a comment.