
Für einige Legacy-Anwendungen habe ich mich entschieden, chroot mit CentOS 5 zu verwenden.
Ich habe CentOS 5 auf einer virtuellen Maschine installiert, dann habe ich die virtuelle Maschine mit einer Live-CD gebootet und mithilfe von Tar die Dateien von der virtuellen Festplatte auf meine Festplatte (des Linux-Laptops) „kopiert“.
Dann habe ich versucht, eine Chroot-Verbindung herzustellen, aber zu meiner Überraschung erhielt ich die Meldung „Segmentation fault“.
Als „Host“-Maschine verwende ich Archlinux 64 Bit 4.17.13.
CentOS 5 hat Kernel 2.6.9
Hier einige Informationen, die nützlich sein könnten:
[nmmm@zenbook c5]$ file centos.5.fs/bin/bash # this is chroot
centos.5.fs/bin/bash: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.9, stripped
[nmmm@zenbook c5]$ file /bin/bash # this is my laptop
/bin/bash: ELF 64-bit LSB pie executable x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=42602c973215ba5b8ab5159c527e72f38e83ee52, stripped
Auf demselben Laptop verwende ich CentOS 7 chroot ohne Probleme.
Brauche ich ein Kernelmodul oder so etwas?
Antwort1
Klingt wie dashttps://vargolino.com/wp/?p=145beschreibt: Neuere Kernel deaktivieren LEGACY_VSYSCALL.
Versuchen Sie, Ihre Live-CD mit dem Boot-Parameter "vsyscall=emulate" zu booten. Mit grml hat das bei mir funktioniert:
- Wählen Sie auf dem Startbildschirm „Isolinux-Eingabeaufforderung“
grml vsyscall=emulate
Siehe auchhttps://bugs.debian.org/cgi-bin/bugreport.cgi?bug=907918