# [Copie du système] Kernel panic

## Neuromancien

Bonjour,

J'ai copié mon système Gentoo sur une autre partition. Mais lorsque je veux démarrer sur le second système, j'obtiens un kernel panic :

```
mknod: /newroot/dev/console: Read-only file system

mknod: /newroot/dev/tty1: Read-only file system

Booting (initramfs)..switch_root: Bad console '/dev/console'

Kernel panic - not syncing: Attempted to kill init !

```

Mon grub.conf contient :

```
# Gentoo 2

title Gentoo 2

root (hd0,1)

kernel (hd0,1)/boot/kernel-genkernel-x86_64-2.6.22-gentoo-r9 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/sda2 vga=791 udev

initrd (hd0,1)/boot/initramfs-genkernel-x86_64-2.6.22-gentoo-r9
```

----------

## xaviermiller

salut,

comment as-tu copié ton système ? plus de détails, steplé...

----------

## Neuromancien

 *XavierMiller wrote:*   

> salut,
> 
> comment as-tu copié ton système ? plus de détails, steplé...

 

Simplement avec cp -dpRP sur tous les répertoires à copier (/bin, /usr, /etc...).

----------

## kwenspc

Et avant le kernel panic quel est le message? un VFS in-montable, un accès de feignantise, un rendez-vous urgent? des DÉTAILS nous voulons!

[edit]Houlaaa.... serait-il temps que je parte en vacance moi? Dslé   :Embarassed:  [/edit]

----------

## xaviermiller

copié en live ou non ?

----------

## Neuromancien

 *XavierMiller wrote:*   

> copié en live ou non ?

 

Oui. Ce n'était peut-être pas la meilleure chose à faire. Je vais essayer avec un live CD. Je vous tiens au courant.

----------

## xaviermiller

et en copiant, tu as bien fait à partir d'un "mount  -o bind / /mnt/temp-root" ?

----------

## Neuromancien

 *XavierMiller wrote:*   

> et en copiant, tu as bien fait à partir d'un "mount  -o bind / /mnt/temp-root" ?

 

Non.

----------

## xaviermiller

ben voilà. J'arrête les frais là.

Apprends à faire les choses correctement et posément et tout ira mieux.

----------

## Neuromancien

 *XavierMiller wrote:*   

> ben voilà. J'arrête les frais là.
> 
> Apprends à faire les choses correctement et posément et tout ira mieux.

 

Je veux bien, mais j'aimerais savoir où trouver un doc pour ça.

----------

## xaviermiller

c'est le même principe que pour les stages 4 ou 5

----------

## davidou2a

 *Neuromancien wrote:*   

> Je veux bien, mais j'aimerais savoir où trouver un doc pour ça.

 

>> https://forums.gentoo.org/viewtopic-t-521120.html Y a pas besoin d'aller loin, copier un systeme qui tourne sur une autre partoche c'est quand même méga moyen...   :Evil or Very Mad: 

----------

## gglaboussole

Dump / restore depuis un livecd qui dispose de dump (systemrescuecd par exemple, dispo ici : http://www.sysresccd.org/Index.fr.php ) ...c'est à mon avis le meilleur moyen et bien plus simple qu'un stage 4 ou 5

----------

## ryo-san

Salut,

C'est pas bien mechant, une histoire de droits sur /dev/console , devrais essayer de trouver la bonne commande pour le recreer et en chrootant , tu repares.

il te faut aussi un /dev/tty1 apparemment.

Tout "les stages 4, 5 ..." sont pratiques pourtant.

Perso j'en reste au script de blinkeyes qui a créé le script du stage 4.Il suffit de LIRE et CONFIGURER, puis un cron et on en parle plus.

Pour une copie rapide, le mount -o bind fais tres bien l'affaire aussi.

----------

## dapsaille

Question bêbete ... un rsync -au ferait l'affaire pour ce genre d'action ? 

(de toutes facons je préfère ca :

```
XXX@G64 /var/backup $ more backup.sh

mount -o bind / /var/backup/SOURCE

cd /var/backup/SOURCE

nice -n 19 tar -X /var/backup/.exclude -cvvjpf /var/backup/OK/backup.tbz2 .

mv /var/backup/OK/backup.tbz2 /var/backup/OK/backup`date +%d_%m_%Y`.tbz2

XXX@G64 /var/backup $

```

)

----------

## Neuromancien

 *XavierMiller wrote:*   

> c'est le même principe que pour les stages 4 ou 5

 

Je recherchais une solution "rapide" pour copier mon système, j'ai fait ça comme un cochon. Finalement je vais faire un vrai stage 5 personnalisé, ça sera toujours utile.  :Smile: 

 *gglaboussole wrote:*   

> Dump / restore depuis un livecd qui dispose de dump (systemrescuecd par exemple, dispo ici : http://www.sysresccd.org/Index.fr.php ) ...c'est à mon avis le meilleur moyen et bien plus simple qu'un stage 4 ou 5

 

J'y ai pensé mais j'ai lu que reiserfsdump n'était pas stable.  :Confused: 

 *ryo-san wrote:*   

> Salut,
> 
> C'est pas bien mechant, une histoire de droits sur /dev/console , devrais essayer de trouver la bonne commande pour le recreer et en chrootant , tu repares.
> 
> il te faut aussi un /dev/tty1 apparemment.

 

Oui, j'ai trouvé ça sur le wiki :

```
# mknod -m 660 /mnt/gentoo/dev/console c 5 1

# mknod -m 660 /mnt/gentoo/dev/null c 1 3

# mknod -m 660 /mnt/gentoo/dev/tty1 c 4 1
```

----------

## xaviermiller

sinon, pour copier une partition, j'utilise gparted, mais je m'assure qu'elle est bien démontée (donc un livecd pour copier la partition principale)

----------

## El_Goretto

 *ryo-san wrote:*   

> Tout "les stages 4, 5 ..." sont pratiques pourtant.
> 
> Perso j'en reste au script de blinkeyes qui a créé le script du stage 4.Il suffit de LIRE et CONFIGURER, puis un cron et on en parle plus.

 

+1

Sans vouloir être méchant avec d2_racing, j'ai toujours eu du mal à comprendre ce qu'il avait de "5" le stage 5. Je veux dire, le script du stage 4 de blinkeyes est tellement intelligent et bien foutu (et j'ai pu vérifié que la restauration se passe sans problème, mode panique activé) que je ne vois pas l'intérêt de faire un "stage5" qui finalement est super basique et complètement manuel...

----------

## Neuromancien

J'ai un problème après avoir restauré le système sur une autre partition (sda2) :

```
configure: error: C preprocessor "/lib/cpp" fails sanity check

See `config.log' for more details.

!!! Please attach the following file when filing a report to bugs.gentoo.org:

!!! /var/tmp/portage/dev-libs/eventlog-0.2.5/work/eventlog-0.2.5/config.log

 * 

 * ERROR: dev-libs/eventlog-0.2.5 failed.

 * Call stack:

 *   ebuild.sh, line 1701:  Called dyn_compile

 *   ebuild.sh, line 1039:  Called qa_call 'src_compile'

 *   ebuild.sh, line   44:  Called src_compile

 *   ebuild.sh, line  706:  Called econf

 *   ebuild.sh, line  638:  Called die

 * The specific snippet of code:

 *                      die "econf failed"

 *  The die message:

 *   econf failed

 * 

 * If you need support, post the topmost build error, and the call stack if relevant.

 * A complete build log is located at '/var/tmp/portage/dev-libs/eventlog-0.2.5/temp/build.log'.

 * 

 * Messages for package dev-libs/eventlog-0.2.5:

 * 

 * ERROR: dev-libs/eventlog-0.2.5 failed.

 * Call stack:

 *   ebuild.sh, line 1701:  Called dyn_compile

 *   ebuild.sh, line 1039:  Called qa_call 'src_compile'

 *   ebuild.sh, line   44:  Called src_compile

 *   ebuild.sh, line  706:  Called econf

 *   ebuild.sh, line  638:  Called die

 * The specific snippet of code:

 *                      die "econf failed"

 *  The die message:

 *   econf failed

 * 

 * If you need support, post the topmost build error, and the call stack if relevant.

 * A complete build log is located at '/var/tmp/portage/dev-libs/eventlog-0.2.5/temp/build.log'.

 * 

```

Résultat de emerge --info

config.log

build.log

----------

## Tuxicomane

Hum, tu as vu https://forums.gentoo.org/viewtopic-p-2084155.html?sid=5da68c7635d331a78849fd12c36e64b9 ?

----------

## Neuromancien

 *Tuxicomane wrote:*   

> Hum, tu as vu https://forums.gentoo.org/viewtopic-p-2084155.html?sid=5da68c7635d331a78849fd12c36e64b9 ?

 

L'installation des headers plante de la même façon.

```
scripts/unifdef.c:998: erreur: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token

scripts/unifdef.c:1005: erreur: déclaration de paramètre d'ancien style dans la définition prototypée de fonction

/usr/include/gentoo-multilib/amd64/ctype.h:103: erreur: nom de paramètre omis

scripts/unifdef.c:1005: erreur: expected ‘{’ at end of input

make[1]: *** [scripts/unifdef] Erreur 1

make: *** [headers_install] Erreur 2

 * 

 * ERROR: sys-kernel/linux-headers-2.6.23-r2 failed.

 * Call stack:

 *                        ebuild.sh, line 1701:  Called dyn_install

 *                        ebuild.sh, line 1138:  Called qa_call 'src_install'

 *                        ebuild.sh, line   44:  Called src_install

 *   linux-headers-2.6.23-r2.ebuild, line   28:  Called kernel-2_src_install

 *                  kernel-2.eclass, line 1044:  Called install_headers

 *                  kernel-2.eclass, line  497:  Called die

 * The specific snippet of code:

 *              emake headers_install INSTALL_HDR_PATH="${D}"/${ddir}/.. ${xmakeopts} || die

 *  The die message:

 *   (no error message)

 * 

 * If you need support, post the topmost build error, and the call stack if relevant.

 * A complete build log is located at '/var/tmp/portage/sys-kernel/linux-headers-2.6.23-r2/temp/build.log'.
```

build.log

----------

## Neuromancien

Personne n'a une idée ?

----------

