
對於某些遺留應用程序,我決定在 CentOS 5 中使用 chroot。
我確實在虛擬機器上安裝了 CentOS 5,然後用 Live CD 啟動虛擬機器並使用 tar,將檔案從虛擬磁碟「複製」到我的(Linux 筆記型電腦)硬碟上。
然後我嘗試 chroot,但令我驚訝的是我得到了“分段錯誤”。
對於“主機”機器,我使用 Archlinux 64 位元 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。
嘗試使用啟動參數“vsyscall=emulate”啟動 Live CD。使用 grml,這對我有用:
- 在啟動畫面上,選擇“Isolinux 提示字元”
grml vsyscall=emulate
也可以看看https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=907918