Forum Linux.noyau Grub2 ne détecte pas ma bZImage - Lancer un noyau Linux patché avec RTLinux

Posté par . Licence CC by-sa
1
11
jan.
2015

Bonjour tout le monde,

J'ai patché un kernel Linux avec RTLinux, tout s'est très bien passé. La configuration du noyau et les make modules_install et cie également. Je cherche maintenant à tester ce noyau Linux-RTLinux, et donc à booter dessus. Il faut ainsi que je mette à jour la liste des boots possibles en passant par mon GRUB2.

Ayant placé une bZImage de nom "RTLinux" dans le répertoire /boot/ avec tous les droits, je lance la commande suivante (dans l'espoir de màj la liste des boots) :

grub2-mkconfig -o /boot/grub2/grub.cfg

Voici ce qu'elle affiche dans le terminal :

Generating grub configuration file...
Found theme : /boot/grub2/themes/openSUZE/theme.txt
Found linux image : /boot/vmlinuz-3.6.6-2-desktop
Found initrd image : /boot/initrd-3.16.6-2.desktop
Found memtest image : /boot/memtest.bin
[ici un Warning concernant lvmetad]
Found openSUZE 13.2 (x86/64) on /dev/sda6
done

===> Aucune mention du fichier RTLinux qui est, je le rappelle, la bzImage du noyau Linux-RTLinux. :(

Pour vérifier justement que ce fichier est bel et bien une bzImage, j'ai lancé la commande file RTLinux :

RTLinux : Linux/x86 kernel, Setup Version 0x20c, bzImage, version 3.14.25-rt22 [...] RO-rootFS, swap_dev 0x56, Normal VGA

A priori donc, tout est OK.

Mais alors, que se passe-t-il ?

Merci d'avance, et bonne continuation.

  • # update-grub

    Posté par . Évalué à 4.

    il me semble que grub vient avec une commande update-grub
    qui fait la detection et la creation de la configuration tout seul

    si les outils automatiques ne fonctionnent pas tu peux aussi editer le fichier de config à la main pour copier/coller l'existant et changer le nom du noyau qui est appelé

    • [^] # Modifier manuellement le fichier grub.cfg

      Posté par . Évalué à 1.

      il me semble que grub vient avec une commande update-grub

      Il me semble que la commande update-grub est un script qui ne contient qu'une seule ligne, et que cette ligne est :

      grub2-mkconfig -o /boot/grub/grub.cfg

      si les outils automatiques ne fonctionnent pas tu peux aussi editer le fichier de config à la main pour copier/coller l'existant et changer le nom du noyau qui est appelé

      Entièrement vrai. De très nombreux tutoriels déconseillent d'éditer manuellement le fichier /boot/grub/grub.cfg … c'est pourtant ce que je fais régulièrement. Après avoir fait une copie de sauvegarde du fichier grub.cfg initial, je bricole ce fichier.

      Il est préférable de faire des copies de sauvegarde de ton grub.cfg lorsque tu le modifies. En effet, selon les distributions, une mise-à-jour de grub ou du noyau peut générer un nouveau grub.cfg et écraser tes paramétrages personnels.

      Remarque : chez moi, le fichier grub.cfg n'est pas dans le répertoire /boot/grub2/ mais dans /boot/grub/ J'imagine que cela dépend des distributions.

    • [^] # Re: update-grub

      Posté par . Évalué à 5.

      Ça doit être la même chose que grub-mkconfig (je ne sais pas si ça dépend de la distrib ou si c'est un alias).

      Ça génère un grub.cfg en fonction des kernels installés, mais ça ne reconnait que les kernels installés par la distrib. Pour des kernels installés manuellement, il faut rajouter la config manuellement ; mais pas dans grub.cfg vu qu'il est écrasé. Il y a un fichier /etc/grub.d/40_custom pour ça (en tout cas chez toutes les distribs que j'ai testé qui génèrent le grub.cfg).

  • # Solution :-)

    Posté par . Évalué à 1.

    Bonjour tout le monde,
    Si cela vous intéresse, vous pouvez trouver la solution à mon problème à cette adresse : http://zestedesavoir.com/forums/sujet/2191/grub2-ne-detecte-pas-ma-bzimage/

    Bonne continuation,

    • [^] # Re: Solution :-)

      Posté par . Évalué à 3.

      dommage vu qu'on a donné des pistes, on aurait aimé avoir la solution ici,
      on ne sait jamais, imaginons que ton blog disparaisse dans 5 ans…

      • [^] # Re: Solution :-)

        Posté par . Évalué à 1. Dernière modification le 13/01/15 à 23:35.

        La réponse donnée sur l'autre site n'est finalement que l'application d'un conseil donné ici : modifier manuellement le fichier grub.cfg pour y ajouter une entrée de démarrage.

        Quelques remarques cependant :

        Il est possible que vous n'utilisiez pas msdos mais sda (plus rare me semble-t-il)

        Il me semble que ce sont deux thématiques différentes : « msdos » est un schéma de partitionnement du disque dur, l'autre schéma possible est « gpt ». L'utilisation de « sd× » ou de « hd× » pour désigner les disques durs est fonction du systèmes d'exploitation. Je suis très étonné de voir la vieille notation « hd× » pour un système qui utilise Grub2 (qui doit donc être récent).

        les lignes insmod part_msdos et set root='hdo,msdos6' seront donc à modifier en utilisant le mot "sda"

        Les utilisateurs d'un disque dur partitionné suivant le schéma « gpt » utiliseront insmod part_gpt ainsi que set root='hd0,gpt6'

        Euh … set root='hdo,msdos6' … hdo ??? La lettre « o » ??? Sainte Merde ! Il y a combien de disques durs dans ta machine ?

        La ligne insmod btrfs peut spécifier un autre système de fichiers (ext2 par exemple).

        La liste des modules disponibles est dans le répertoire /boot/grub/ Ce sont les fichiers en .mod. On peut en mettre beaucoup plus que nécessaire :

            insmod btrfs
            insmod ext2
            insmod fat
            insmod zfs
            insmod reiserfs

        On peut même mettre les deux schémas de partitionnement, ça ne pose pas de problème :

            insmod part_gpt
            insmod part_msdos

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.