
Для некоторых устаревших приложений я решил использовать chroot с CentOS 5.
Я установил CentOS 5 на виртуальную машину, затем загрузил виртуальную машину с Live CD и с помощью tar «скопировал» файлы с виртуального диска на жесткий диск моего (ноутбука с Linux).
Затем я попытался выполнить chroot, но, к моему удивлению, получил сообщение «Ошибка сегментации».
В качестве «хостовой» машины я использую Archlinux 64 bit 4.17.13.
CentOS 5 имеет ядро 2.6.9
Вот некоторая информация, которая может быть полезна:
[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
На этом же ноутбуке я без проблем использую CentOS 7 chroot.
Мне нужен какой-то модуль ядра или что-то в этом роде?
решение1
Похоже на то, чтоhttps://vargolino.com/wp/?p=145описывает: Новые ядра отключают LEGACY_VSYSCALL.
Попробуйте загрузить Live CD с параметром загрузки "vsyscall=emulate". Используя grml, это сработало для меня:
- На экране загрузки выберите «Isolinux prompt»
grml vsyscall=emulate
Смотрите такжеhttps://bugs.debian.org/cgi-bin/bugreport.cgi?bug=907918