
いくつかのレガシー アプリケーションでは、CentOS 5 で chroot を使用することにしました。
仮想マシンに CentOS 5 をインストールし、ライブ CD で仮想マシンを起動し、tar を使用して、仮想ディスクから (Linux ラップトップの) HDD にファイルを「コピー」しました。
その後、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」を使用してライブ CD を起動してみてください。grml を使用すると、これが機能しました。
- 起動画面で「Isolinuxプロンプト」を選択します
grml vsyscall=emulate