J'essaye de copier mon système (le partition /) d'un disque sur un
autre : de /dev/sda1 à /dev/hda1. Je rencontre des problèmes au démarrage
du système de destination. Voilà ce que j'ai fait.
Booter un système Linux sur CD. Connecté en tant que root.
dd if=/dev/hda1 of=/dev/sda1 bs=4096
mount -t reiserfs /dev/hda1 /mnt/hd
cd /mnt/hd
chroot .
sed 's/sda1/hda1/g' /etc/fstab -i
mkinitrd -c -k 2.6.21.5-smp -r /dev/hda1 -f reiserfs -m reiserfs
sed 's/sda1/hda1/g' /etc/lilo.conf -i (lilo est installé sur le MBR de /
dev/hda)
lilo
Aucun problème n'est indiqué jusque là. Je reboote. Au démarrage, quand
il tente de monter le partition / j'obtiens :
mount: mounting /dev/hda1 on /mnt failed
Après forcément, pas de / donc pas de init, donc kernel panic.
Pourquoi tente-t-il de monter /dev/hda1 sur /mnt au lieu de / ?
Comment pourrais-je lui dire gentiment de monter au bon endroit ?
Toute idée sera la bienvenue (j'ai déjà eu "booter avec grub"),
GH
Toute idée sera la bienvenue (j'ai déjà eu "booter avec grub"),
Et ne pas utiliser dd pour faire des copies.
Revois la méthode. Essaie de faire en sorte d'utiliser cp avec les bonnes options par exemple.
-- Nicolas S.
Kevin Denis
On 2008-05-06, wrote:
J'essaye de copier mon système (le partition /) d'un disque sur un autre : de /dev/sda1 à /dev/hda1.
quelle distrib?
Je rencontre des problèmes au démarrage du système de destination. Voilà ce que j'ai fait.
Booter un système Linux sur CD. Connecté en tant que root. dd if=/dev/hda1 of=/dev/sda1 ^^^ ^^^
Je pense qu'il y a une faute de frappe. Parceque la tu recopies le hda1 vers le sda1. A part ça, je te conseillerai plutôt tar; cela te permettrait même de redimensionner tes partitions au passage. fdisk /dev/hda (tu tronconnes le disque a tes souhaits) (tu formattes les fs) mkdir /hd mount -t ext3 /dev/hda1 /hd mkdir /hd/usr (par exemple) mount -t ext3 /dev/hda2 /hd/usr etc..
mount -t reiserfs /dev/hda1 /mnt/hd cd /mnt/hd chroot . sed 's/sda1/hda1/g' /etc/fstab -i mkinitrd -c -k 2.6.21.5-smp -r /dev/hda1 -f reiserfs -m reiserfs sed 's/sda1/hda1/g' /etc/lilo.conf -i (lilo est installé sur le MBR de / dev/hda) lilo
Aucun problème n'est indiqué jusque là. Je reboote. Au démarrage, quand il tente de monter le partition / j'obtiens : mount: mounting /dev/hda1 on /mnt failed
Après forcément, pas de / donc pas de init, donc kernel panic.
Pourquoi tente-t-il de monter /dev/hda1 sur /mnt au lieu de / ?
Je dirais que tu es encore dans l'initrd. L'initrd cherche a monter la racine dans le /mnt de l'initrd, puis il bascule sur la racine réelle ensuite.
Comment pourrais-je lui dire gentiment de monter au bon endroit ?
Toute idée sera la bienvenue (j'ai déjà eu "booter avec grub"),
Si tu te sens l'ame sportive, au boot ajoutes un:
linux rdinit=/bin/sh
ceci lancera dans l'initrd un /bin/sh au lieu du script chargé de monter ta partition. Depuis ce shell, explore et regarde pourquoi la partition ne monte pas.
-- Kevin
On 2008-05-06, grass.hoper@crop.invalid <grass.hoper@crop.invalid> wrote:
J'essaye de copier mon système (le partition /) d'un disque sur un
autre : de /dev/sda1 à /dev/hda1.
quelle distrib?
Je rencontre des problèmes au démarrage
du système de destination. Voilà ce que j'ai fait.
Booter un système Linux sur CD. Connecté en tant que root.
dd if=/dev/hda1 of=/dev/sda1 bs@96
^^^ ^^^
Je pense qu'il y a une faute de frappe. Parceque la tu recopies le
hda1 vers le sda1. A part ça, je te conseillerai plutôt tar; cela
te permettrait même de redimensionner tes partitions au passage.
fdisk /dev/hda
(tu tronconnes le disque a tes souhaits)
(tu formattes les fs)
mkdir /hd
mount -t ext3 /dev/hda1 /hd
mkdir /hd/usr (par exemple)
mount -t ext3 /dev/hda2 /hd/usr etc..
mount -t reiserfs /dev/hda1 /mnt/hd
cd /mnt/hd
chroot .
sed 's/sda1/hda1/g' /etc/fstab -i
mkinitrd -c -k 2.6.21.5-smp -r /dev/hda1 -f reiserfs -m reiserfs
sed 's/sda1/hda1/g' /etc/lilo.conf -i (lilo est installé sur le MBR de /
dev/hda)
lilo
Aucun problème n'est indiqué jusque là. Je reboote. Au démarrage, quand
il tente de monter le partition / j'obtiens :
mount: mounting /dev/hda1 on /mnt failed
Après forcément, pas de / donc pas de init, donc kernel panic.
Pourquoi tente-t-il de monter /dev/hda1 sur /mnt au lieu de / ?
Je dirais que tu es encore dans l'initrd. L'initrd cherche a monter
la racine dans le /mnt de l'initrd, puis il bascule sur la racine
réelle ensuite.
Comment pourrais-je lui dire gentiment de monter au bon endroit ?
Toute idée sera la bienvenue (j'ai déjà eu "booter avec grub"),
Si tu te sens l'ame sportive, au boot ajoutes un:
linux rdinit=/bin/sh
ceci lancera dans l'initrd un /bin/sh au lieu du script chargé de monter
ta partition. Depuis ce shell, explore et regarde pourquoi la partition
ne monte pas.
J'essaye de copier mon système (le partition /) d'un disque sur un autre : de /dev/sda1 à /dev/hda1.
quelle distrib?
Je rencontre des problèmes au démarrage du système de destination. Voilà ce que j'ai fait.
Booter un système Linux sur CD. Connecté en tant que root. dd if=/dev/hda1 of=/dev/sda1 ^^^ ^^^
Je pense qu'il y a une faute de frappe. Parceque la tu recopies le hda1 vers le sda1. A part ça, je te conseillerai plutôt tar; cela te permettrait même de redimensionner tes partitions au passage. fdisk /dev/hda (tu tronconnes le disque a tes souhaits) (tu formattes les fs) mkdir /hd mount -t ext3 /dev/hda1 /hd mkdir /hd/usr (par exemple) mount -t ext3 /dev/hda2 /hd/usr etc..
mount -t reiserfs /dev/hda1 /mnt/hd cd /mnt/hd chroot . sed 's/sda1/hda1/g' /etc/fstab -i mkinitrd -c -k 2.6.21.5-smp -r /dev/hda1 -f reiserfs -m reiserfs sed 's/sda1/hda1/g' /etc/lilo.conf -i (lilo est installé sur le MBR de / dev/hda) lilo
Aucun problème n'est indiqué jusque là. Je reboote. Au démarrage, quand il tente de monter le partition / j'obtiens : mount: mounting /dev/hda1 on /mnt failed
Après forcément, pas de / donc pas de init, donc kernel panic.
Pourquoi tente-t-il de monter /dev/hda1 sur /mnt au lieu de / ?
Je dirais que tu es encore dans l'initrd. L'initrd cherche a monter la racine dans le /mnt de l'initrd, puis il bascule sur la racine réelle ensuite.
Comment pourrais-je lui dire gentiment de monter au bon endroit ?
Toute idée sera la bienvenue (j'ai déjà eu "booter avec grub"),
Si tu te sens l'ame sportive, au boot ajoutes un:
linux rdinit=/bin/sh
ceci lancera dans l'initrd un /bin/sh au lieu du script chargé de monter ta partition. Depuis ce shell, explore et regarde pourquoi la partition ne monte pas.
Toute idée sera la bienvenue (j'ai déjà eu "booter avec grub"), Et ne pas utiliser dd pour faire des copies.
Revois la méthode. Essaie de faire en sorte d'utiliser cp avec les bonnes options par exemple.
J'essaierai. Quel pourrait être le rapport entre ceci et mon problème ?
Grasshoper
07/05/2008 10:06 - Kevin Denis :
On 2008-05-06, wrote:
J'essaye de copier mon système (le partition /) d'un disque sur un autre : de /dev/sda1 à /dev/hda1. quelle distrib?
Slackware 12.0
Pourquoi tente-t-il de monter /dev/hda1 sur /mnt au lieu de / ? Je dirais que tu es encore dans l'initrd. L'initrd cherche a monter
la racine dans le /mnt de l'initrd, puis il bascule sur la racine réelle ensuite.
Ce serait donc normal ?
Comment pourrais-je lui dire gentiment de monter au bon endroit ?
Toute idée sera la bienvenue (j'ai déjà eu "booter avec grub"),
Si tu te sens l'ame sportive, au boot ajoutes un:
linux rdinit=/bin/sh
ceci lancera dans l'initrd un /bin/sh au lieu du script chargé de monter ta partition. Depuis ce shell, explore et regarde pourquoi la partition ne monte pas.
Va y avoir du sport. Je ne connaissais pas, merci.
07/05/2008 10:06 - Kevin Denis :
On 2008-05-06, grass.hoper@crop.invalid <grass.hoper@crop.invalid> wrote:
J'essaye de copier mon système (le partition /) d'un disque sur un
autre : de /dev/sda1 à /dev/hda1.
quelle distrib?
Slackware 12.0
Pourquoi tente-t-il de monter /dev/hda1 sur /mnt au lieu de / ?
Je dirais que tu es encore dans l'initrd. L'initrd cherche a monter
la racine dans le /mnt de l'initrd, puis il bascule sur la racine
réelle ensuite.
Ce serait donc normal ?
Comment pourrais-je lui dire gentiment de monter au bon endroit ?
Toute idée sera la bienvenue (j'ai déjà eu "booter avec grub"),
Si tu te sens l'ame sportive, au boot ajoutes un:
linux rdinit=/bin/sh
ceci lancera dans l'initrd un /bin/sh au lieu du script chargé de monter
ta partition. Depuis ce shell, explore et regarde pourquoi la partition
ne monte pas.
Va y avoir du sport. Je ne connaissais pas, merci.
J'essaye de copier mon système (le partition /) d'un disque sur un autre : de /dev/sda1 à /dev/hda1. quelle distrib?
Slackware 12.0
Pourquoi tente-t-il de monter /dev/hda1 sur /mnt au lieu de / ? Je dirais que tu es encore dans l'initrd. L'initrd cherche a monter
la racine dans le /mnt de l'initrd, puis il bascule sur la racine réelle ensuite.
Ce serait donc normal ?
Comment pourrais-je lui dire gentiment de monter au bon endroit ?
Toute idée sera la bienvenue (j'ai déjà eu "booter avec grub"),
Si tu te sens l'ame sportive, au boot ajoutes un:
linux rdinit=/bin/sh
ceci lancera dans l'initrd un /bin/sh au lieu du script chargé de monter ta partition. Depuis ce shell, explore et regarde pourquoi la partition ne monte pas.
Va y avoir du sport. Je ne connaissais pas, merci.
Kevin Denis
On 2008-05-07, Grasshoper wrote:
quelle distrib?
Slackware 12.0
Ok
Pourquoi tente-t-il de monter /dev/hda1 sur /mnt au lieu de / ? Je dirais que tu es encore dans l'initrd. L'initrd cherche a monter
la racine dans le /mnt de l'initrd, puis il bascule sur la racine réelle ensuite.
Ce serait donc normal ?
Oui. Les dernières lignes du script init dans l'initramfs sont:
# Switch to real root partition: echo 0x0100 > /proc/sys/kernel/real-root-dev mount -o ro -t $ROOTFS $ROOTDEV /mnt if [ ! -r /mnt/sbin/init ]; then echo "ERROR: No /sbin/init found on rootdev (or not mounted). Trouble ahead. " exit 1 fi unset ERR umount /proc umount /sys echo "${INITRD}: exiting" exec switch_root /mnt /sbin/init $@
Ceci t'explique pourquoi la racine monte sur /mnt
Comment pourrais-je lui dire gentiment de monter au bon endroit ?
Toute idée sera la bienvenue (j'ai déjà eu "booter avec grub"),
Si tu te sens l'ame sportive, au boot ajoutes un:
linux rdinit=/bin/sh
ceci lancera dans l'initrd un /bin/sh au lieu du script chargé de monter ta partition. Depuis ce shell, explore et regarde pourquoi la partition ne monte pas.
Va y avoir du sport. Je ne connaissais pas, merci.
L'autre solution est de rebooter avec la distrib sur /dev/sda1 et
ouvrir l'initramfs de la distrib sur hda1: zcat initramfs.gz | cpio -i -d -H newc --no-absolute-filenames Verifie bien les modules présents dans ton initramfs.
La slack vient avec plusieurs noyaux. Il y en a un, appelé "huge" qui contient vraiment tout un tas de pilotes en dur. Essaye le. Une explication de ton comportement pourrait provenir du fait que le noyau n'a pas le pilote du chipset de ton disque hda, d'ou l'échec de l'ouverture de /dev/hda1 -- Kevin
On 2008-05-07, Grasshoper <grass.hoper@crop.invalid> wrote:
quelle distrib?
Slackware 12.0
Ok
Pourquoi tente-t-il de monter /dev/hda1 sur /mnt au lieu de / ?
Je dirais que tu es encore dans l'initrd. L'initrd cherche a monter
la racine dans le /mnt de l'initrd, puis il bascule sur la racine
réelle ensuite.
Ce serait donc normal ?
Oui. Les dernières lignes du script init dans l'initramfs sont:
# Switch to real root partition:
echo 0x0100 > /proc/sys/kernel/real-root-dev
mount -o ro -t $ROOTFS $ROOTDEV /mnt
if [ ! -r /mnt/sbin/init ]; then
echo "ERROR: No /sbin/init found on rootdev (or not mounted). Trouble ahead.
"
exit 1
fi
unset ERR
umount /proc
umount /sys
echo "${INITRD}: exiting"
exec switch_root /mnt /sbin/init $@
Ceci t'explique pourquoi la racine monte sur /mnt
Comment pourrais-je lui dire gentiment de monter au bon endroit ?
Toute idée sera la bienvenue (j'ai déjà eu "booter avec grub"),
Si tu te sens l'ame sportive, au boot ajoutes un:
linux rdinit=/bin/sh
ceci lancera dans l'initrd un /bin/sh au lieu du script chargé de monter
ta partition. Depuis ce shell, explore et regarde pourquoi la partition
ne monte pas.
Va y avoir du sport. Je ne connaissais pas, merci.
L'autre solution est de rebooter avec la distrib sur /dev/sda1 et
ouvrir l'initramfs de la distrib sur hda1:
zcat initramfs.gz | cpio -i -d -H newc --no-absolute-filenames
Verifie bien les modules présents dans ton initramfs.
La slack vient avec plusieurs noyaux. Il y en a un, appelé "huge"
qui contient vraiment tout un tas de pilotes en dur. Essaye le.
Une explication de ton comportement pourrait provenir du fait que
le noyau n'a pas le pilote du chipset de ton disque hda, d'ou
l'échec de l'ouverture de /dev/hda1
--
Kevin
Pourquoi tente-t-il de monter /dev/hda1 sur /mnt au lieu de / ? Je dirais que tu es encore dans l'initrd. L'initrd cherche a monter
la racine dans le /mnt de l'initrd, puis il bascule sur la racine réelle ensuite.
Ce serait donc normal ?
Oui. Les dernières lignes du script init dans l'initramfs sont:
# Switch to real root partition: echo 0x0100 > /proc/sys/kernel/real-root-dev mount -o ro -t $ROOTFS $ROOTDEV /mnt if [ ! -r /mnt/sbin/init ]; then echo "ERROR: No /sbin/init found on rootdev (or not mounted). Trouble ahead. " exit 1 fi unset ERR umount /proc umount /sys echo "${INITRD}: exiting" exec switch_root /mnt /sbin/init $@
Ceci t'explique pourquoi la racine monte sur /mnt
Comment pourrais-je lui dire gentiment de monter au bon endroit ?
Toute idée sera la bienvenue (j'ai déjà eu "booter avec grub"),
Si tu te sens l'ame sportive, au boot ajoutes un:
linux rdinit=/bin/sh
ceci lancera dans l'initrd un /bin/sh au lieu du script chargé de monter ta partition. Depuis ce shell, explore et regarde pourquoi la partition ne monte pas.
Va y avoir du sport. Je ne connaissais pas, merci.
L'autre solution est de rebooter avec la distrib sur /dev/sda1 et
ouvrir l'initramfs de la distrib sur hda1: zcat initramfs.gz | cpio -i -d -H newc --no-absolute-filenames Verifie bien les modules présents dans ton initramfs.
La slack vient avec plusieurs noyaux. Il y en a un, appelé "huge" qui contient vraiment tout un tas de pilotes en dur. Essaye le. Une explication de ton comportement pourrait provenir du fait que le noyau n'a pas le pilote du chipset de ton disque hda, d'ou l'échec de l'ouverture de /dev/hda1 -- Kevin
grass.hoper
Le Wed, 07 May 2008 10:05:58 +0000, Kevin Denis a écrit :
L'autre solution est de rebooter avec la distrib sur /dev/sda1 et ouvrir l'initramfs de la distrib sur hda1: zcat initramfs.gz | cpio -i -d -H newc --no-absolute-filenames Verifie bien les modules présents dans ton initramfs.
La slack vient avec plusieurs noyaux. Il y en a un, appelé "huge" qui contient vraiment tout un tas de pilotes en dur. Essaye le. Une explication de ton comportement pourrait provenir du fait que le noyau n'a pas le pilote du chipset de ton disque hda, d'ou l'échec de l'ouverture de /dev/hda1
Grâce à ces utiles conseils, j'ai réussi à me dépatouiller. Je vous en remercie.
Conclusion : faut pas oublier de monter /proc quand on fait son initrd...
Le Wed, 07 May 2008 10:05:58 +0000, Kevin Denis a écrit :
L'autre solution est de rebooter avec la distrib sur /dev/sda1 et ouvrir
l'initramfs de la distrib sur hda1: zcat initramfs.gz | cpio -i -d -H
newc --no-absolute-filenames Verifie bien les modules présents dans ton
initramfs.
La slack vient avec plusieurs noyaux. Il y en a un, appelé "huge" qui
contient vraiment tout un tas de pilotes en dur. Essaye le. Une
explication de ton comportement pourrait provenir du fait que le noyau
n'a pas le pilote du chipset de ton disque hda, d'ou l'échec de
l'ouverture de /dev/hda1
Grâce à ces utiles conseils, j'ai réussi à me dépatouiller. Je vous en
remercie.
Conclusion : faut pas oublier de monter /proc quand on fait son initrd...
Le Wed, 07 May 2008 10:05:58 +0000, Kevin Denis a écrit :
L'autre solution est de rebooter avec la distrib sur /dev/sda1 et ouvrir l'initramfs de la distrib sur hda1: zcat initramfs.gz | cpio -i -d -H newc --no-absolute-filenames Verifie bien les modules présents dans ton initramfs.
La slack vient avec plusieurs noyaux. Il y en a un, appelé "huge" qui contient vraiment tout un tas de pilotes en dur. Essaye le. Une explication de ton comportement pourrait provenir du fait que le noyau n'a pas le pilote du chipset de ton disque hda, d'ou l'échec de l'ouverture de /dev/hda1
Grâce à ces utiles conseils, j'ai réussi à me dépatouiller. Je vous en remercie.
Conclusion : faut pas oublier de monter /proc quand on fait son initrd...