Page 1 sur 1

[uname] ne donne pas la bonne version kernel(résolu [grub])

Publié : dim. 10 oct. 2010, 18:09
par Eniotan
Bonjour,
Je suis actuellement confronté à un 'petit' problème qui en engendre d'autres. Voyez par vous-même :

Code : Tout sélectionner

[antoine@toinefix ~]$yaourt -Qi kernel26
Nom                   : kernel26
Version               : 2.6.35.7-1
URL                   : http://www.kernel.org
Licences              : GPL2
Groupes               : base
Fournit               : --
Dépend de             : coreutils  linux-firmware  module-init-tools  mkinitcpio>=0.5.20
Dépendances opt.      : crda: to set the correct wireless channels of your country
Requis par            : --
Est en conflit avec   : --
Remplace              : kernel24  kernel24-scsi  kernel26-scsi  alsa-driver  ieee80211  hostap-driver26  pwc  nforce  squashfs  unionfs  ivtv  zd1211  kvm-modules  iwlwifi  rt2x00-cvs  gspcav1  atl2
                        wlan-ng26  rt2500  nouveau-drm
Taille (installé)     : 114708,00 K
Paqueteur             : Tobias Powalowski <tpowa@archlinux.org>
Architecture          : x86_64
Compilé le            : mer. 29 sept. 2010 08:47:25 CEST
Installé le           : dim. 10 oct. 2010 14:42:54 CEST
Motif d'installation  : Explicitement installé
Script d'installation : Oui
Description           : The Linux Kernel and modules
et

Code : Tout sélectionner

[antoine@toinefix ~]$uname -a
Linux toinefix 2.6.34-ARCH #1 SMP PREEMPT Mon Jul 5 22:12:11 CEST 2010 x86_64 Intel(R) Core(TM)2 Quad CPU Q9400 @ 2.66GHz GenuineIntel GNU/Linux
et enfin

Code : Tout sélectionner

[antoine@toinefix ~]$dmesg
Initializing cgroup subsys cpuset
Initializing cgroup subsys cpu
Linux version 2.6.34-ARCH (tobias@T-POWA-LX) (gcc version 4.5.0 20100610 (prerelease) (GCC) ) #1 SMP PREEMPT Mon Jul 5 22:12:11 CEST 2010
Command line: root=/dev/disk/by-uuid/f5d9d9c6-3bff-402e-89d2-78039a611cce ro
...

Comme vous le voyez, uname et dmesg me ressortent une version 2.6.34 alors que la 2.6.35 est installée.
J'ai tenté de réinstaller le kernel26 puis coreutils, le problème persiste.
Si qqu'un a une explication, voire une solution, ça serait pas mal.
(je crains que ce soit un truc très simple mais que je ne cherche pas dans la bonne direction)

Re: [uname -a] ne donne pas la version installée du kernel26

Publié : dim. 10 oct. 2010, 18:22
par Skunnyk
Hum, tu as bien rebooté après la mise à jour ? (oui, c'est une question bête…)
Sinon dans ton grub, tu boot sur quel kernel ?

Re: [uname -a] ne donne pas la version installée du kernel26

Publié : dim. 10 oct. 2010, 18:28
par Eniotan
oui, multiples reboot.

et mon Grub :

Code : Tout sélectionner

# general configuration:
timeout   2
default   0
color light-blue/black light-cyan/blue

# boot sections follow
# each is implicitly numbered from 0 in the order of appearance below
#
# TIP: If you want a 1024x768 framebuffer, add "vga=773" to your kernel line.
#
#-*

# (0) Arch Linux
title  Arch Linux
root   (hd1,0)
kernel /vmlinuz26 root=/dev/disk/by-uuid/f5d9d9c6-3bff-402e-89d2-78039a611cce ro
initrd /kernel26.img

# (1) Arch Linux
title  Arch Linux Fallback
root   (hd1,0)
kernel /vmlinuz26 root=/dev/disk/by-uuid/f5d9d9c6-3bff-402e-89d2-78039a611cce ro
initrd /kernel26-fallback.img

Re: [uname -a] ne donne pas la version installée du kernel26

Publié : dim. 10 oct. 2010, 18:36
par benjarobin
Je vois cela gros comme une maison...
Tu n'aurais pas oublié de monter la partition boot avant de faire la mise a jour...

En gros si je n'ai pas tord, dans la partition racine "/" tu as le kernel à jour (dans /boot/). Et dans la partition boot, tu as le vieux kernel (dans /)
Ce que tu dois faire :
* Vérifier que la partition boot ne soit pas monté
* rm -Rf /boot/*
* mount partition boot (le mieux c'est de "réparé" le fstab et de faire ensuite mount -a)
* Refaire la mise a jour du kernel, et recompiler tous les modules nécessaire (exemple Virtualbox)
* Redémarrer...

Re: [uname -a] ne donne pas la version installée du kernel26

Publié : dim. 10 oct. 2010, 18:41
par Eniotan
Ah.... Euh... Elle est pas monté automatiquement ? :?

Code : Tout sélectionner

[antoine@toinefix ~]$sudo mount /boot/
mount: /dev/sdb1 est déjà monté ou /boot est occupé
mount: selon mtab /dev/sdb1 est déjà monté sur /boot
ben si. Elle est dans fstab.

Re: [uname -a] ne donne pas la version installée du kernel26

Publié : dim. 10 oct. 2010, 18:42
par benjarobin
Que donne: mount
Intéressant... Que donne un ls -l /boot/

Re: [uname -a] ne donne pas la version installée du kernel26

Publié : dim. 10 oct. 2010, 18:43
par Eniotan

Code : Tout sélectionner

[antoine@toinefix ~]$mount
proc on /proc type proc (rw,relatime)
sys on /sys type sysfs (rw,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=10240k,nr_inodes=1022948,mode=755)
/dev/disk/by-uuid/f5d9d9c6-3bff-402e-89d2-78039a611cce on / type ext4 (rw,noatime,discard,commit=0)
/dev/sda4 on /media/tmp_temporaire type ext4 (rw,relatime,barrier=1,data=ordered,commit=0)
/dev/sdc1 on /media/usbhd-sdc1 type ext2 (rw,relatime,errors=continue)
/dev/sdc3 on /media/usbhd-sdc3 type ext4 (rw,relatime,barrier=1,data=ordered,commit=0)
devpts on /dev/pts type devpts (rw)
shm on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /tmp type tmpfs (rw,noatime,mode=1777)
/dev/sda2 on /var type ext3 (rw,commit=0)
/dev/sda3 on /home type ext4 (rw,commit=0)
/dev/sdb1 on /boot type ext4 (rw,noatime,discard,commit=0)
/dev/sdc4 on /media/seagate type ext4 (rw,commit=0)
/dev/sdd1 on /media/USB_Kingston type ext4 (rw,relatime,commit=0)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
gvfs-fuse-daemon on /home/antoine/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=antoine)
[antoine@toinefix ~]$

Re: [uname -a] ne donne pas la version installée du kernel26

Publié : dim. 10 oct. 2010, 18:47
par benjarobin
Je suis un peu perdu la... Tu n'as peut être pas vu, mais que donne un ls -l /boot/

Re: [uname -a] ne donne pas la version installée du kernel26

Publié : dim. 10 oct. 2010, 18:52
par Eniotan

Code : Tout sélectionner

[antoine@toinefix ~]$ls -l /boot/
total 43092
drwxr-xr-x 2 root root    4096 10 oct.  14:24 grub
-rw-r--r-- 1 root root 9002058 10 oct.  14:43 kernel26-fallback.img
-rw-r--r-- 1 root root 2159287 10 oct.  14:43 kernel26.img
drwx------ 2 root root    4096 29 août  12:28 lost+found
-rw-r--r-- 1 root root 1400571 29 sept. 08:47 System.map26
-rw-r--r-- 1 root root 2155280 29 sept. 08:47 vmlinuz26
[antoine@toinefix ~]$
Tiens... y'a un truc louche avec system.map et vmlinuz26 !

Re: [uname -a] ne donne pas la version installée du kernel26

Publié : dim. 10 oct. 2010, 19:18
par benjarobin
Rien d'anormal...
Le kernel .35 date bien de septembre (J'ai la même date)

Re: [uname -a] ne donne pas la version installée du kernel26

Publié : dim. 10 oct. 2010, 19:21
par Eniotan
Ah. Je pensais que les dates de system.map et vmlinuz auraient dû correspondre aux autres.

Re: [uname -a] ne donne pas la version installée du kernel26

Publié : dim. 10 oct. 2010, 19:27
par benjarobin
Non la date de vmlinuz correspond a la date de compilation du kernel.
La date des .img correspond à l'installation du kernel (ce sont des fichier généré lors de l'installation)

Comme on est partie (je suis complètement perdu, comme toi), on va faire un truc assez con:
Tu regarde le contenu de la racine de chaque partition. Et tu cherche un fichier vmlinuz26

Re: [uname -a] ne donne pas la version installée du kernel26

Publié : dim. 10 oct. 2010, 19:56
par Eniotan
Bon, une petite description du système des disques-durs peut-être utile:
sdb : un SSD avec :
sdb1: /boot
sdb2: /
sda : HHD avec :
sda1 : swap
sda2 : /var
sda3 : /home
sdc : mon "vieux disque dur", contenant encore mon ancien système et mes vieux documents
sdc1 : /media/usb-sdc1 mon ancien /boot, amorçable
sdc2 : /media/seagate mon ancien /home
etc...

alors 2 vmlinuz26:
sur sdb1 et sur sdc1

Code : Tout sélectionner

[antoine@toinefix ~]$ls -al /media/usbhd-sdc1/
total 36796
drwxr-xr-x  5 root root    1024 11 juil. 19:14 .
drwxr-xr-x 17 root root    4096 10 oct.  00:38 ..
drwxr-xr-x  2 root root    1024  3 mai   20:05 grub
-rw-r--r--  1 root root 9315284 11 juil. 19:15 kernel26-fallback.img
-rw-r--r--  1 root root 2437780 11 juil. 19:15 kernel26.img
-rw-r--r--  1 root root 8265704  3 mai   19:34 kernel26-rc-fallback.img
-rw-r--r--  1 root root 2243683  3 mai   19:34 kernel26-rc.img
drwx------  2 root root   12288 21 juil.  2009 lost+found
-rw-r--r--  1 root root 1382602  5 juil. 22:46 System.map26
-rw-r--r--  1 root root 1373279  3 mai   19:16 System.map26-rc
drwx------  4 root root    1024 13 avril 19:26 .Trash-0
-rw-r--r--  1 root root 2107872  5 juil. 22:46 vmlinuz26
-rw-r--r--  1 root root 2101040  3 mai   19:16 vmlinuz26-rc
[antoine@toinefix ~]$

Re: [uname -a] ne donne pas la version installée du kernel26

Publié : dim. 10 oct. 2010, 20:04
par benjarobin
Tu as donc t'as réponse :D
Le plus simple est de renommer vmlinuz26 de l'ancien système.
De rebooter, normalement Grub va échouer, tu devra tester et modifier plusieurs valeur de hd(1,0) jusqu'à que cela boot
Donc en tu dois éditer cette ligne (tape e au démarrage dans Grub pour éditer)

Code : Tout sélectionner

root   (hd1,0)

Re: [uname -a] ne donne pas la version installée du kernel26

Publié : dim. 10 oct. 2010, 20:39
par Eniotan
Effectivement, renommer vwlinuz26 sur l'ancien disque a pour effet de bloquer le démarrage.

Par contre, après avoir essayé hd1,0 hd2,0 hd3,0 hd1,1, pas de boot.
J'imagine qu'il faut aussi que je modifie le "disk=/dev..." ?
Ou alors comme c'est un SSD essayer "sd1,0" ?

(désolé, je dois arrêter les essais jusqu'a demain soir)

Re: [uname -a] ne donne pas la version installée du kernel26

Publié : dim. 10 oct. 2010, 20:54
par benjarobin
J'imagine qu'il faut aussi que je modifie le "disk=/dev..." ?
Je ne vois pas de quoi tu parle... Il y a de forte chance en effet que Grub ne détecte pas le ssd, ce qui explique ce décalage. Que je sache sd1,0 n'est pas une syntaxe valide.

Le plus simple pour l'instant pour toi de réutiliser l'ancienne partition boot...

Re: [uname -a] ne donne pas la version installée du kernel26

Publié : dim. 10 oct. 2010, 22:33
par Eniotan
Au temps pour moi, je voulais dire "root=/disk/dev/..." sur la ligne kernel.

J'ai du mal à comprendre pourquoi une màj aurait détérioré la détection du SSD.

Si toutefois le problème est relatif à GRUB, peut-être pourrais-le le résoudre grâce à GRUB2 ?

Re: [uname -a] ne donne pas la version installée du kernel26

Publié : dim. 10 oct. 2010, 22:50
par benjarobin
Au temps pour moi, je voulais dire "root=/disk/dev/..." sur la ligne kernel.
Non on ne devra pas la changer
J'ai du mal à comprendre pourquoi une màj aurait détérioré la détection du SSD.
Mais le SSD n'a jamais été détecté par GRUB, tu as toujours fonctionné sur l'autre kernel. (Enfin je pense d'après ce que tu donne comme information)
Et pour GRUB2 je ne sais pas du tout... Le mieux est de tester.

Re: [uname -a] ne donne pas la version installée du kernel26

Publié : lun. 11 oct. 2010, 10:32
par tuxce
ce que tu peux faire pour voir si ça vient de grub, c'est créer une fichier unique sur le /boot du ssd et taper un find /nom_du_fichier depuis grub, le résultat est ce qu'il faudra utiliser pour root () (s'il le trouve :))

Re: [uname -a] ne donne pas la version installée du kernel26

Publié : lun. 11 oct. 2010, 19:06
par Eniotan
Résolu!!
Désolé Tuxce, je ne vais pas pouvoir tester ta stratégie...
@benjarobin: le SSD était détecté jusqu'à la version 2.6.35 du kernel ou de GRUB 0.97 où j'ai rencontré qques problèmes que j'avais jusqu'alors contournés

Le problème a déjà été rencontré sur le forum anglophone :
https://bbs.archlinux.org/viewtopic.php?id=95429

J'ai donc installé GRUB2, renommé sdb1 en osboot (/boot sur mon SSD) et sdb2 en osracine (/ sur le SSD), et utilisé le /boot/grub/grub.cfg suivant :

Code : Tout sélectionner

# Timeout for menu
set timeout=5

# Set default boot entry as Entry 0
set default=0

# (0) Arch Linux
menuentry "Arch Linux" {
search --label osboot --set root
linux /vmlinuz26 root=/dev/disk/by-label/osracine ro
initrd /kernel26.img
}
Merci beaucoup de votre aide qui m'a orienté sur la bonne piste... voilà ce que c'est de ne pas avoir un PC matériellement KISS ;)