Bonjour,
Mon système devenant bien trop à l'étroit sur sa partition root, j'ai décidé de la copier sur une plus grosse partition sur le 2ème disque dur, où il sera bien plus à l'aise :-) Mais j'ai du faire une boulette quelque part car le boot se bloque sur un "kernel panic - cannot open /dev/console"
Voici comment j'ai procédé (après un petit tour sur google) :
- passage en init 1
- préparation du nouveau root sur /dev/hdb5 avec fdisk et mkfs.ext3
- montage de la partition dans /mnt/temp
- copie des fichiers avec la commande "cp -ax / /mnt/temp"
- ajout d'une entrée dans /boot/grub/menu.lst pour pouvoir booter sur la nouvelle partition
Apparemment, le problème vient du fait qu'il faudrait copier les fichiers spéciaux de /dev/ ? Comment dois-je procéder pour bien le faire (j'utilise udev) ? Y a-t-il d'autres répertoires spéciaux à prendre en compte ?
Merci pour votre aide, je suis vraiment perdu, là.
# rsync ?
Posté par seeschloss . Évalué à 1.
Pour passer de l'ext3 sur hdb1 à du reiserfs sur hdb5, j'avais d'abord monté hdb1 sur /mnt/hdb1 en plus de / (pas pensé à -x, donc ça permettait d'être sûr de copier uniquement les fichiers de cette partition) et fait :
rsync -a /mnt/hdb1/ /mnt/hdb5
Sinon... tu as aussi mis à jour fstab ?
[^] # Re: rsync ?
Posté par Cyberdivad . Évalué à 2.
Sinon, j'ai effectivement pensé à mettre à jour fstab, mais pour avoir déjà fait des erreurs de typo dedans, je sais que ce n'est pas ça qui va empêcher le système de booter :-)
[^] # Re: rsync ?
Posté par seeschloss . Évalué à 1.
[^] # Re: rsync ?
Posté par Raphael Monrouzeau . Évalué à 1.
cp -a les copie tres bien. Garanti. Avec les fifos les dates et tout et tout.
Normalement meme les sparse (blocs plein de zeros qui ne prennent pas de place sur le disque) mais ca j'ai pas verifie. Et puis --sparse=always le fait.
Sinon sur le sujet:
Si tu copies un /dev/ en etat de marche ca passera.
Mais est-ce que udev effacera plus tard les devices qu'il n'utilise pas ?
Vu qu'il ne les aura pas cree, vu qu'ils l'ont deja ete par ta copie et pas par lui ?
Je ne connais pas encore assez udev pour te repondre. Si tu veux tu peux rebooter avec init=/bin/sh et copier uniquement les devices presents a ce moment. Tu n'auras que ceux necessaires (/dev/console en fait partie).
[^] # Re: rsync ?
Posté par seeschloss . Évalué à 1.
Je me rappelle plus très bien pourquoi j'avais lu que rsync était mieux que cp pour faire un truc comme ça, alors. (-S pour les sparses avec rsync, en passant).
Pour udev... je n'en ai aucune idée mais je ne pense pas que ce soit un problème.
# ma procédure
Posté par 007 . Évalué à 0.
mount --bind / /mnt/root
mkdir /mnt/new
mount -t auto /dev/??? /mnt/new
cd /mnt/root
export LANG=C
find . -depth -print0 | cpio -pv --null -a -m -d ../new
# cp -a
Posté par doublehp (site web personnel) . Évalué à 0.
en generale je fais :
for i in 'ls / | grep -v mnt | grep -v proc'; do cp -a /$i /mnt/dest; done
sans oublier de creer proc et mnt ...
mais dans ton cas, retente juste d ecraser le /dev ... genre avec juste :
cp -a /dev/* /mnt/tmp/dev
[^] # Re: cp -a
Posté par Cyberdivad . Évalué à 2.
Il suffisait en effet de copier le contenu de /dev, mais une fois udev arrêté. Malgré le passage en mode "init 1", ce service tourne toujours. Il convient de l'arrêter avant de copier /dev.
Voilà, ca fonctionne très bien maintenant :-)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.