grob probleme pour reinstaller un kernel-image sur un debian chrooté

grob probleme pour reinstaller un kernel-image sur un debian chrooté - Installation - Linux et OS Alternatifs

Marsh Posté le 10-08-2006 à 18:03:53    

Bonjour,
 
Je voudrais me remettre un kernel-image sur ma debian sarge qui ne boote plus (à cause d'un kernel 2.6.16 de backports et en voulant mettre le udev de backports il m'a viré hotplug + kernel-image-2.6.8 de debian sarge donc plus moyen de booter sur le bon noyau)
 
Le soucis, c'est que j'utilise du raid + lvm2...
 
J'ai reussi avec mdadm à trouver toutes mes partoches raid, et ensuite avec vgchanges, à faire reconnaitre mon Vg, et mes LVS.
 
J'ai monté mon LV qui contient la partition /:
 
mount -t ext3 -rw /dev/VG0-SLASH /mnt/debian
 
je chroote:
 
chroot /mnt/debian
 
Et de là, quand je veux installer le kernel-image avec aptitude, il me dit:
 
/usr/bin/mkinird: /dev/mapper/VG0-SLASH: unknown root device
 
Je sais vraiment pas quoi faire....je suis bloqué :-( et je n'ai plus mon noyau fonctionnel :-(
 
Merci :-)
 
A+

Message cité 1 fois
Message édité par thierry_b le 10-08-2006 à 18:07:41
Reply

Marsh Posté le 10-08-2006 à 18:03:53   

Reply

Marsh Posté le 10-08-2006 à 18:29:22    

un petit de MAKEDEV ?


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 10-08-2006 à 18:36:20    

Salut,
 
J'ai fait le MAKEDEV, mais ca ne change rien...
 
/dev/mapper/VG0-SLASH existe pourtant, et il est aussi sur /dev/VG0/SLASH
 
J'ai essayé de changer dans le mkinitrd.conf, sur la ligne ROOT, de mettre:
ROOT= /dev/VG0/SLASH
 
mais tjs la même erreur...
 
Une idée?
 
Merci
A+


Message édité par thierry_b le 10-08-2006 à 18:36:52
Reply

Marsh Posté le 10-08-2006 à 18:39:51    

non désolé [:spamafote]


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 10-08-2006 à 20:09:41    

Re,
 
En faisant sur la debian chroot, un:
 
/etc/init.d/lvm start, ca a l'air d'avoir remarché, j'ai pu mettre un initrd, mais maintenant, ils me mettent ca :-(
 
Uniable to find volume group VG0
pivot_root: no such file or directory
/sbin/init: 432: cannot open /dev/console  
kernel panic: attempt to kill init
 
Qu'est ce que je peux faire :-(?
 
Merci.
 
A+

Reply

Marsh Posté le 10-08-2006 à 20:11:20    

tu as essayé de remettre un hotplug ?


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 10-08-2006 à 20:29:38    

Ouep,
 
J'ai viré le udev, du backports qui foutait le bordel depuis le debian chrooté.
 
Je viens de m'apercevoir à lorigine que j'avais kernel-image-2.6.8-2-386 et là j'avais remis le kernel-image-2.6.8-3-686...
 
On sait jamais je v essayer de remettre le même, et je te tiens au courant.
 
SInon, quand je suis sur ma debian chrooté, avec un vgchanges -ay, j'accède à tous les LVs, de mon VG.
 
un vgdisplay marche nikel aussi....
 
PS: je c pas pkoi mais le dowload, est super super lent en chroot...:-(
 
Merci :-)


Message édité par thierry_b le 10-08-2006 à 20:31:33
Reply

Marsh Posté le 10-08-2006 à 20:32:57    

Salut,

 


thierry_b a écrit :

mount -t ext3 -rw /dev/VG0-SLASH /mnt/debian

 

je chroote:

 

chroot /mnt/debian

 

Et de là, quand je veux installer le kernel-image avec aptitude, il me dit:

 

/usr/bin/mkinird: /dev/mapper/VG0-SLASH: unknown root device

 



 

C'est pas une histoire de ? :

 

mount -t ext3 -rw /dev/VG0-SLASH /mnt/debian

 

mount -o bind /dev /mnt/debian/dev
mount -t proc proc /mnt/debian/dev/proc

 

puis

 

chroot /mnt/debian


Message édité par depx le 10-08-2006 à 20:33:41
Reply

Marsh Posté le 10-08-2006 à 20:38:36    

J'essaierai de refaire cela en plus, mais apparemment, en faisant:
/etc/init.d/lvm start
 
 
ca c bien passé par la suite (il a accepté de creer l'initrd), et mnt je suis passé au second message d'erreur:
 
"Uniable to find volume group VG0
pivot_root: no such file or directory
/sbin/init: 432: cannot open /dev/console  
kernel panic: attempt to kill init "
 
Merci :-)
 
PS: je vais quand même essayyé de déchrooter, et de faire tes manips, et d'essayer de recreer l'initrd...


Message édité par thierry_b le 10-08-2006 à 20:41:06
Reply

Marsh Posté le 10-08-2006 à 21:20:29    

Re,
 
bon ca fait tjs pareil :-(
 
sauf que j'avais rajouté:
 
mount -t ext3 -rw /dev/md1 /mnt/boot pour le /boot
 
Arf, pourtant du chroot, tout se passe nikel:
 
-------------------------------------------------------------------
 
Knoppix:/# aptitude reinstall kernel-image-2.6.8-2-386
Reading Package Lists... Done
Building Dependency Tree
Reading extended state information
Initializing package states... Done
Reading task descriptions... Done
The following packages will be REINSTALLED:
  kernel-image-2.6.8-2-386
0 packages upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded.
Need to get 0B/14.1MB of archives. After unpacking 0B will be used.
Writing extended state information... Done
(Reading database ... 65447 files and directories currently installed.)
Preparing to replace kernel-image-2.6.8-2-386 2.6.8-16sarge1 (using .../kernel-image-2.6.8-2-386_2.6.8-16sarge1_i386.deb) ...
The directory /lib/modules/2.6.8-2-386 still exists. Continuing as directed.
Unpacking replacement kernel-image-2.6.8-2-386 ...
Searching for GRUB installation directory ... found: /boot/grub .
Testing for an existing GRUB menu.list file... found: /boot/grub/menu.lst .
Searching for splash image... none found, skipping...
Found kernel: /vmlinuz-2.6.16.060810
Found kernel: /vmlinuz-2.6.8-2-386
Updating /boot/grub/menu.lst ... done
 
Setting up kernel-image-2.6.8-2-386 (2.6.8-16sarge1) ...
File descriptor 3 left open
File descriptor 4 left open
File descriptor 5 left open
File descriptor 6 left open
File descriptor 7 left open
    Finding all volume groups
    Finding volume group "VG0"
Not touching initrd symlinks since we are being reinstalled (2.6.8-16sarge1)
Not updating image symbolic links since we are being updated (2.6.8-16sarge1)
Searching for GRUB installation directory ... found: /boot/grub .
Testing for an existing GRUB menu.list file... found: /boot/grub/menu.lst .
Searching for splash image... none found, skipping...
Found kernel: /vmlinuz-2.6.16.060810
Found kernel: /vmlinuz-2.6.8-2-386
Updating /boot/grub/menu.lst ... done
 
 
Reading Package Lists... Done
Building Dependency Tree
Reading extended state information
Initializing package states... Done
Reading task descriptions... Done
Knoppix:/#                    
 
 
 
 
 
 
noppix:/# vgdisplay
  --- Volume group ---
  VG Name               VG0
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  24
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                8
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               296.98 GB
  PE Size               4.00 MB
  Total PE              76026
  Alloc PE / Size       46036 / 179.83 GB
  Free  PE / Size       29990 / 117.15 GB
  VG UUID               We91Yb-uwts-w2Pv-VDeI-qgdz-LrLr-ey4Vks
------------------------------------------------------
 
Merci.

Reply

Marsh Posté le 10-08-2006 à 21:20:29   

Reply

Marsh Posté le 10-08-2006 à 21:29:15    

alors c'est :
mount -t ext3 -rw /dev/VG0-SLASH /mnt/debian
mount -t ext3 -rw /dev/md1 /mnt/debian/boot

 

mount -o bind /dev /mnt/debian/dev
mount -t proc proc /mnt/debian/dev/proc

 

puis

 

chroot /mnt/debian


Message édité par depx le 10-08-2006 à 21:42:31
Reply

Marsh Posté le 10-08-2006 à 21:36:47    

Ca a ete fait...:-(
 
Merci

Reply

Marsh Posté le 10-08-2006 à 21:42:10    

bah, tu avais écrit :

 

mount -t ext3 -rw /dev/md1 /mnt/boot pour le /boot


Message édité par depx le 10-08-2006 à 21:43:26
Reply

Marsh Posté le 10-08-2006 à 21:50:08    

ha oui....
 
je v ressayer.

Reply

Marsh Posté le 10-08-2006 à 22:01:27    

Non, ca change rien du tout....:-(
 
Je c pas si le cd de debian pourrait me retablir ca :-(?
 
Merci
 
A+

Reply

Marsh Posté le 11-08-2006 à 00:01:37    

J'aurai jamais du faire ce test et virer le kernel-image d'origine de cette debian sarge...:-(
 
Le pire c'est que tout y est....(tous les vgs accessibles en chroot)

Reply

Marsh Posté le 11-08-2006 à 00:07:23    

à quel moment du boot ça part en sucette ?

Reply

Marsh Posté le 11-08-2006 à 00:13:38    

juste apres que je choisis mon noyau 2.6.8,  iil charge un tout petit peu, et hop, il dit qu'il ne peut pas trouver VG0 et y'a le trallaa avec pivot_root...:-(

Reply

Marsh Posté le 11-08-2006 à 00:32:48    

comment tu boot dans grub ?, moi j'ai ça :
title  Ubuntu, kernel 2.6.15-26-k7
root  (hd0,0)
kernel  /vmlinuz-2.6.15-26-k7 root=/dev/mapper/gv0-root ro quiet splash vga=791
initrd  /initrd.img-2.6.15-26-k7

 

pas de raid, /boot en partoche normale et le reste en lvm2

 

sinon peut être qu'il te manque un module (raid?) quand tu fais ton initrd
sous ubuntu, on n'utilise plus mkinitrd mais mkinitramfs :
cat /etc/mkinitramfs/modules
# List of modules that you want to include in your initramfs.
#
# Syntax:  module_name [args ...]
#
#
# This might be good choices:
#
# raid1
# sd_mod

 

désormais, j'utilise evms pour tout ça car c'est bien pratique mais j'ai peu d'experience raid

 

evmsn
et tu convertis les partition au format evms

 

pour ça, le mieux est de booter avec un livecd xubuntu car tout y est evms,lvm2,raid (je pense) ...

 

et ça me donne
kernel /vmlinuz-2.6.15-26-k7 root=/dev/evms/root ro quiet splash

 

je ne sais pas si le noyau debian est patché avec evms par défaut, ubuntu oui


Message édité par depx le 11-08-2006 à 11:26:53
Reply

Marsh Posté le 11-08-2006 à 00:47:48    

Re,
 
Je peux pas faire de copier coller, mais je v resumer.
 
title
root (hd0,1)
kernel /vmlinux-2.6.8... root=/dev/mapper/VG0-SLASH ro
initrd /initrd.img-2.6.8-2.386
 
Moi j'ai du raid pour /dev/md0 (c pour la swap), /dev/md1 (c /boot) et enfin /dev/md2 c de la lvm.
 
dans /etc/mkinitrd/modules, tout est commenté...
 
Voila.
 
Maais j'avoue que j'aimerais ne pas chamboouler ma config, et faire que ca reboote comme avant, sans installer de nouvelles choses....
 
Merci

Reply

Marsh Posté le 11-08-2006 à 01:01:46    

ta essayé un initrd en rajoutant des modules raidquelquechose qui vont bien dans /etc/mkinitrd/modules ?

Reply

Marsh Posté le 11-08-2006 à 02:11:49    

ouais,
 
mais rien...
 
bizarre, en plus un pote à mooi ave cla mm install, il a rien aussi dnas son modules, mais si ca se trouve l'installeur de debian sarge avait deja généré le bon initrd....
 
Avec son initrd, je v deja plus loin, mais vu que les conf sont differentes ca marche pas, donc c'esyt sure que ca vient de là...
 
Mnt, fo trouver quoi faire :-(
 

Reply

Marsh Posté le 11-08-2006 à 09:40:54    

Essaie yaird pour générer ton initrd ... j'avais eu des pbs assez semblables.

Reply

Marsh Posté le 11-08-2006 à 09:44:20    

euh ouais, mais le truc c'est que je suis habitué à grub...lol.
 
Y'a moyen de juste générer initrd avec yaird et garder grub?
 
N'hesite pas à m'expliquer plus en detail si ca ne te derange pas.
 
Merci.
 
PS En attendant au cas où, je sauvegarde tout le contenu de mes lvs, vu qu'ils sont acceisslbes depus le chroot.

Reply

Marsh Posté le 11-08-2006 à 09:52:10    

En fait yaird est juste une alternative à mkinitrd, il n'y a pas de rapport avec grub.
J'avais eu un pb similaire en installant une debian : lors du reboot j'avais des pbs avec lvm (pivot_root : no such file or directory ...). J'ai donc installé yaird (merci google et 3h de recherches), réinstallé le kernel et ça a marché.

Reply

Marsh Posté le 11-08-2006 à 10:42:37    

Ha oki,
 
mais le truc c que j'aimerais conserver grub, j'ai pas envie de me lancer comme ca dans nu noveau truc :-(.
 
Merci qd mm.

Reply

Marsh Posté le 11-08-2006 à 11:34:51    

on dirait que :
yaird -> hotplug
mkinitramfs -> udev

Reply

Marsh Posté le 12-08-2006 à 01:54:00    

Bon,
 
j'ai reinstallé lol, ca m'a pris 9h au total.
 
Heuresement, en reinstallant, il a detecté mes Lvs, et donc j'ai reformaté que le LV de / et celui de /home.
 
Maintenant, je ne touche plus aux initrd lol...enfin je ferai tjs en sorte de garder un noyau nikel, pq la génération de l'initrd dans un env chrooté, avec lvm et/ou => bof lol.
 
Merci pour tout en tout cas :-)

Reply

Marsh Posté le 12-08-2006 à 02:27:24    

Pour info au passage : les noyaux Debian sont patchés evms.
 
Sinon autre remarque : pour des systèmes avec des configs type 'serveur' au niveau des disques (RAID, lvm2), perso j'éviterai de recourir au initrd (inutile d'en préciser les raisons à présent, je pense  ;)  ) et par extension au noyau par défaut.
 
L'idéal pour ce type de config (et plus particulièrement un serveur), c'est de se faire son propre noyau à partir des sources patchées Debian en compilant en dur tous les modules nécessaires (et donc plus besoin de ramdisk) et en virant carrément le support pour les modules si possible (ça apporte un petit plus au niveau de la sécu, par la même occasion autant faire chier au maximum les pirates en herbe  :o ).


---------------
THRAK (def.) : 1) A sudden and precise impact moving from intention, direction and commitment, in service of an aim. 2) 117 guitars almost striking the same chord simultaneously.
Reply

Marsh Posté le 14-08-2006 à 10:52:07    

Re,
 
Euh bah le truc c'est que même si y'a de l'initrd actuellement, ils ne precsent pas du tout les modules chargés dans cet initrd justement.
 
C'est ce que je trouve bizarre.
 
$ cat /etc/mkinitrd/modules
# /etc/mkinitrd/modules: Kernel modules to load for initrd.
#
# This file should contain the names of kernel modules and their arguments
# (if any) that are needed to mount the root file system, one per line.
# Comments begin with a `#', and everything on the line after them are ignored.
#
# You must run mkinitrd(8) to effect this change.
#
# Examples:
#
#  ext2
#  wd io=0x300
 
Normalement, il ne devrait pas rajouter ces fameux modules dans ce fichier?
 
Par contre, depuis que j'ai réinstallé, je remarque que si j'installe un nouveau noyau comme je l'ai fait (en faisant gaffe cettefois ci de garder l'ancien au cas où lol)
 
thierry@serveurP4:~$ dpkg -l|grep "kernel-image"
ii  kernel-image-2 2.6.8-16sarge1 Linux kernel image for version 2.6.8 on 386.
ii  kernel-image-2 2.6.8-16sarge4 Linux kernel image for version 2.6.8 on PPro
 
(entre parenthèse, c'est saoulant ce bug d'affichage sur la sarge lol)
 
il m'a crére dynamiquement un autre initrd et je peux booter sur celui-ci sans pb
 
ls -l /boot/initrd*
-rw-r--r--  1 root root 4829184 2006-08-11 15:17 /boot/initrd.img-2.6.8-2-386
-rw-r--r--  1 root root 5459968 2006-08-11 19:08 /boot/initrd.img-2.6.8-3-686
 
On dirait donc que c'est la génération d'un initrd depuis un chroot qui foire...
 
Voila :-)

Reply

Marsh Posté le 14-08-2006 à 13:57:35    

En ce momment, je tente de démarer une machine sans disque via sshfs (j'y suis presque !) et j'ai donc décortiqué mkinitramfs : je construit mon initrd dans chroot sans problème.

 

#
# initramfs.conf
#

 

# BUSYBOX: [ y | n ]
#
# Use busybox if available.  You MUST use the -static version
#

 

BUSYBOX=y

 

#
# BOOT: [ local | nfs ]
#
# local - Boot off of local media (harddrive, USB stick).
#
# nfs - Boot using an NFS drive as the root of the drive.
#

 

BOOT=sshfs

 

#
# MODULES: [ most | netboot | dep | list ]
#
# most - Add all framebuffer, acpi, filesystem, and harddrive drivers.
#
# netboot - Add the base modules, network modules, but skip block devices.
#
# dep - Try and guess which modules to load.
#
# list - Only include modules from the 'additional modules' list
#

 

MODULES=netboot

 

# Modules that we always add to the initramfs
auto_add_modules()
{
 case "$1" in
 base)
  for x in md raid0 raid1 raid5 raid6 raid10 ehci-hcd ohci-hcd uhci-hcd usbhid usb-storage ext2 ext3 isofs jfs nfs reiserfs xfs af_packet dm_mod; do
   manual_add_modules ${x}
  done
 ;;
 net)
  for x in 3c59x 8139cp 8139too 8390 b44 bmac bnx2 defxx dl2k e1000 e100 epic100 eql fealnx famachi forcedeth hp100 mace mv643xx_eth natsemi ne2k-pci netconsole ns83820 pcnet32 r8169 s2io sis900 skge slhc starfire sundance sungem sungem_phy sunhme tg3 tlan de2104x de4x5 dmfe tulip winbond-840 xircom_cb xircom_tulip_cb typhon via-rhine via-velocity yellowfin; do
   manual_add_modules ${x}
  done
 ;;
 ide)
  for x in ide-cd ide-disk ide-generic aec62xx alim15x3 amd74xx atiixp atuuxo cmd64x cs5520 cs5530 cy82c693 generic hpt34x hpt366 ns87415 opti621 pdc202xx_new pdc202xx_old piix rz1000 sc1200 serverworks siimage sis5513 slc82c105 slc90e66 triflex trm290 via82cxxx; do
   manual_add_modules ${x}
  done
 ;;
 scsi)
  for x in 3w-9xxx 3w-xxxx a100u2x aacraid advansys ahci aic79xx aic7xxx arcmsr ata_piix atari_scsi atp870u BusLogic cciss ch cpqarray dc395x dmx3191d dpt_i2o eata fdomain gdth initio ipr ips isp1020 lpfc max_scsi mac53c94 megaraid megaraid_mbox megaraid_mm mesh mptfc mptsas mptspi nsp32 ohci1394 osst qla1280 qla2100 qla2200 qla2300 qla2322 qla2xxx qla6312 qlogicfas408 qlogicfc sata_promise sata_nv sata_qstor sata_sil sata_sis sata_svw sata_sx4 sata_uli sata_via sata_vsc sbp2 scsi_mod scsi_transport_fc scsi_transport_iscsi scsi_transport_spi sd_mod sym53c8xx tmscsim; do
   manual_add_modules ${x}
  done
 ;;
 i2o)
  for x in i2o_block; do
   manual_add_modules ${x}
  done
 ;;
 *)
  auto_add_modules base
  auto_add_modules net
  auto_add_modules ide
  auto_add_modules scsi
  auto_add_modules i2o
 ;;
 esac
}

 

mkiniramfs copie dans l'initrd des executable, des modules, des librairies ...

 

il semblerait que se soit la différence udev/hotplug qui ait mis le wouaille ?

 

#!/bin/sh -e
# initramfs nfs-top script for udev

 

PREREQ=""

 

# Output pre-requisites
prereqs()
{
    echo "$PREREQ"
}

 

case "$1" in
    prereqs)
    prereqs
    exit 0
    ;;
esac

 


# Each call to udevplug can take up to three minutes
if [ -x /sbin/usplash_write ]; then
    /sbin/usplash_write "TIMEOUT 360"
    trap "/sbin/usplash_write 'TIMEOUT 15'" 0
fi

 

# All we need to do is load drivers for any network card on the PCI# bus, and hopefully we'll have one that can be used to boot# afterwards; load them in PCI bus order to try and produce some kind# of sanity.
/sbin/udevplug -s -Bpci -Iclass=0x02*

 

# Finally we need to load drivers for bridges (0x06),
# docking stations (0x0a), input devices (0x09), serial devices (0x0c)
# and "intelligent" devices (0x0e).  Just in case there's a keyboard
# on the end and things go wrong.
/sbin/udevplug -Bpci -Iclass=0x0[69ace]*

 


je pense que pour pouvoir mettre ton noyau du backport + udev, tu avais vraiment besoin de apt-get install initramfs-tools !

 


Message édité par depx le 14-08-2006 à 14:08:52
Reply

Marsh Posté le 15-08-2006 à 00:36:12    

Oui possible.
 
La, j'ai mis le backport 2.6.14, il marche nikel avec hotplus et il m'a installé aussi initramfs-tools et yaird, et il m'a généré un initrd valide tout seul.
 
Je laisse comme c pour l'instant, car ce qui m'interessait le plus c'est d'avoir le module w83627ehf pour gérer la temp de ma CM et CPU avec lm-sensors, et il y est apparemment depuis le 2.6.14 :-)
 
Euh, sinon pour mon pb, ce qui etait bizarre c'est que justement même en voulant remettre l'ancien noyau (kernel-image-2.6.8) depuis le chroot, ca marchait pas.
 
A l'install du 2.6.14, il m'a lancé la comande tout seul donc je c pas trop la syntaxe qu'il a utilisé, mais est-ce que qd on a ce paquet d'installer il est capable de construire un initrd, pour n'importe quel noyau comme le 2.6.8 d'origine?
 
C'est quoi ta syntaxe que tu utilises par curiosité ? :-)
 
Merci
 
A+

Reply

Marsh Posté le 15-08-2006 à 15:28:27    

mkinitramfs -o /boot/initrd.img-2.6.17.8-depx 2.6.17.8-depx
 
l'initrd est construite automatiquement à l'installation d'un noyau et lors d'un dpkg-reconfigure ton noyau
 
il est possible que cela utilise plutôt update-initramfs

Reply

Marsh Posté le 16-08-2006 à 00:05:32    

Ok, merci :-)

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed