Twitter YouTube SoundCloud LinkedIn

Tiennot blog

Accueil

1 2 3 4 5 6 7 ...
0

Au secours, Grub me rend fou !

Lundi 21 avril 2014, 20:43 (par guilhem)

Amis linuxiens, nous allons étudier aujourd'hui LE programme indispensable à tout système GNU/Linux : Grub, l'amorceur universel. Nous allons voir en particulier comment booter depuis la ligne de commande du programme...

Passer en ligne de commande

Pour passer en ligne de commande sous Grub au démarrage de la machine, attendre quelques instants que le menu s'affiche, et appuyer sur la touche C. Vous arrivez alors sur une interface façon shell, où vous pouvez saisir des commandes. Attention, le clavier est en qwerty !

Comment démarre Linux ?

Pour bien comprendre la suite, il est nécessaire de vous expliquer le démarrage du noyau Linux. Lorsque Grub doit charger un système d'exploitation, il va chercher deux éléments : le initrd et l'image du noyau. Le premier fichier correspond à une image de la RAM telle qu'elle doit être initialisée au démarrage. Elle offre alors un système extrêmement minimal, dont le but va être de lancer l'image noyau correspondante. Le système est amorcé.

Il faut donc donner deux paramètres à Grub : l'emplacement de l'image à charger, et celui du initrd. Pour booter, Grub va alors copier en mémoire RAM le contenu du fichier initrd, en lui passant le chemin vers le fichier d'image à charger. Le initrd va ensuite lancer cette image.

Allons-y, bootons !

La première commande fondamentale, vous la connaissez sûrement : c'est le ls ! En tapant simplement ls dans le prompt s'affiche la liste des partitions reconnues par Grub. Vous obtenez quelque chose de la forme :


grub> ls
(hd0) (hd0, msdos1) (hd0, msdos2) (hd1) (hd1, msdos1) (hd1, msdos2)

Les noms peuvent légèrement différer chez vous. Nous voyons ici que nous avons deux disques (hd0) et (hd1), avec sur chaque disque deux partitions :

- (hd0, msdos1) et (hd0, msdos2) sur le disque (hd0)
- (hd1, msdos1) et (hd1, msdos2) sur le disque (hd1)

Il est possible aussi de faire un ls sur une partition, pour en voir le contenu :


grub> ls (hd1, msdos1)/
grub initramfs-linux-fallback.img initramfs-linux.img vmlinuz-linux

Encore une fois, les noms peuvent un peu différer. Notamment, il est possible que vous ayez plusieurs images en même temps. Dans mon cas, le fichier initrd se nomme initramfs-linux.img, et l'image du noyau est le fichier vmlinuz-linux.

Nous allons commencer par dire à grub sur quelle partition se trouvent les fichiers à charger. Pour cela, il faut affecter son nom à la variable root :


grub> root=(hd1,msdos1)

Ensuite, il faut spécifier le fichier du noyau à lancer. Cela se fait au moyen de la commande... linux ! Essayons :


grub> linux /vmlinuz-linux root=/dev/sdb2

Notez le paramètre root dans la ligne de commande, spécifiant au noyau linux quelle partition monter en /. Le nom de celle-ci suit cette fois-ci les conventions propres à Linux (donc /dev/sd*).

Enfin, il faut spécifier à Grub le chemin vers le fichier initrd à copier en mémoire RAM.


grub> initrd /initramfs-linux.img

Et à présent, le système peut démarrer.


grub> boot

Normalement, vous devriez voir votre noyau démarrer.

Et grub-rescue ?

Je préfère anticiper, et vous dire deux mots sur grub-rescue avant de voir arriver les questions en rafale ;-)

Grub est composé en fait de deux parties distinctes : le « pré-amorceur » (ce n'est pas le terme officiel) et le programme proprement dit. Le pré-amorceur se trouve sur les 512 premiers octets du disque dur (MBR), et ne doit donc pas dépasser cette taille. Ses fonctionnalités sont donc très limitées, et la plupart du temps, il se contente de charger le programme complet, qui se trouve sur la partition /boot du disque.

Cependant, il peut arriver parfois que le pré-amorceur ne trouve pas le programme complet, pour des raisons diverses (partition supprimée, ...). Dans ce cas, il passe en mode rescue, et propose un invite de commandes minimaliste. Ou plutot ultra minimaliste. Comprenez bien, vous n'avez que quatre commandes : le ls, set et unset, et insmod.

Vous comprenez alors aisément qu'il n'est pas possible de réaliser les manipulations décrites dans le grub-rescue. Et de toute façon, ce n'est pas sa vocation : son but est de pouvoir diagnostiquer pourquoi il n'est pas possible de charger le programme complet...

2

Vœux de bonne année

Dimanche 12 janvier 2014, 14:01 (par guilhem)

Je vous souhaite mes meilleurs vœux pour cette année 2014 qui commence. À bientôt pour de nouvelles vidéos, de nouveaux bricolages et de nouvelles découvertes !

0

Vidéo : un (web)gradateur de lumière

Vendredi 1 novembre 2013, 14:07 (par guilhem)

Le gradateur de lumière, un grand classique de l'électronique. Oui, mais ici, on le commande avec... un smartphone !


Télécharger la vidéo : webm, ogg, mp4.
À retrouver ici sur YouTube.

Le montage n'est pas si complexe qu'il y paraît. Il m'a pris environ une semaine à concevoir et réaliser. Cependant, j'ai rencontré quelques difficultés liés à la carte électronique que je souhaitais utiliser : la Pandaboard. J'ai donc choisi de la remplacer par une autre carte de développement, un Arduino Uno.

Question coût, ce n'est pas excessif, si vous possédez déjà un Arduino avec shield ethernet. J'ai dépensé environ une vingtaine d'euros, platine d'essai et boîtier compris. S'il vous faut investir dans un arduino, comptez une vingtaine d'euros supplémentaires, et le double avec le module ethernet.

Enfin, pour tout connaître du montage, j'ai rédigé une page web détaillant tout ce qu'il faut savoir pour le reproduire à l'identique. Ça se trouve ici.

Bonne vidéo !

0

Vidéo : autopsie d'un disque dur

Lundi 16 septembre 2013, 22:57 (par guilhem)

Cette vidéo n'est pas forcément du grand art, mais elle vous permettra de patienter en attendant mes prochains exploits :)


Télécharger la vidéo : webm, ogg, mp4.
À retrouver ici sur YouTube

J'ai eu le malheur de subir une panne de disque dur sur une des machines de diffusion d'EvryOne, la radio étudiante à laquelle je participe bénévolement. Une fois les péripéties terminées, j'en ai profité pour jeter un coup d'œil à l'intérieur du disque incriminé.

Pas d'interminables explications (quoique...) donc, mais plutôt une vidéo qui se laisse regarder. Bonne vidéo !

18

Bricolage : fabrication d'un écran plat LCD

Mercredi 3 juillet 2013, 22:11 (par guilhem)

Le but de la vidéo : interfacer une dalle LCD récupérée sur un vieil ordinateur portable pour la connecter à une tour fixe.


Télécharger la vidéo : mp4, webm, ogg.

L'essentiel de la fabrication réside en la construction d'une structure pour accueillir ladite dalle ; l'électronique est trouvable très facilement sous forme de kit sur internet. Et c'est appréciable d'ailleurs : il n'est en effet pas aisé de concevoir un circuit électronique générant des signaux d'une centaine de MHz...

Pour la structure, les matériaux utilisés sont somme toute assez standards : MDF d'épaisseur 6 mm, tasseau et baguettes en bois de sapin... Le tout se trouve dans n'importe quel magasin de bricolage.

Explicitons un peu le rôle du circuit électronique. Il s'agit de convertir les signaux DVI, VGA ou HDMI en provenance de la carte graphique de l'ordinateur vers un protocole (relativement) standardisé, le LVDS, employé pour majorité des dalles LCD d'ordinateur portable. Sans cela, impossible d'espérer connecter quoi que ce soit...

Pour finir, je pense publier un tutoriel plus détaillé sur ce site dès que j'en aurai le temps. Mais finalement, il n'y a rien de bien compliqué : il suffit d'acheter le kit, de construire la structure, et le tour est joué.

Bonne vidéo !

1 2 3 4 5 6 7 ...