
Para alguns aplicativos legados decidi usar chroot com CentOS 5.
Eu instalei o CentOS 5 na máquina virtual, depois inicializei a máquina virtual com o live CD e usando o tar, "copiei" os arquivos do disco virtual para o HDD do meu laptop Linux.
Então tentei fazer chroot, mas para minha surpresa recebi "Falha de segmentação".
Para máquina "host" eu uso Archlinux 64 bits 4.17.13.
CentOS 5 tem kernel 2.6.9
Aqui estão algumas informações que podem ser úteis:
[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
No mesmo laptop eu uso o chroot do CentOS 7 sem nenhum problema.
Eu preciso de algum módulo do kernel ou algo assim?
Responder1
Parece o quehttps://vargolino.com/wp/?p=145está descrevendo: Kernels mais recentes desabilitam LEGACY_VSYSCALL.
Tente inicializar seu live CD com o parâmetro de inicialização "vsyscall=emulate". Usando grml, isso funcionou para mim:
- Na tela de inicialização, selecione "Prompt do Isolinux"
grml vsyscall=emulate
Veja tambémhttps://bugs.debian.org/cgi-bin/bugreport.cgi?bug=907918