Centos 5 chroot の構築時にセグメンテーション違反が発生する

Centos 5 chroot の構築時にセグメンテーション違反が発生する

いくつかのレガシー アプリケーションでは、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

参照https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=907918

関連情報