Next Previous Contents

4. UML on 2G/2G hosts

4.1 Introduction

ほとんどのリナックスは、 (IA32アーキテクチャの提供する4Gバイトのうち) 上位1Gバイト(0xc0000000 - 0xffffffff)を カーネルが占有し、 それ以外の3Gバイト(0x00000000 - 0xbfffffff)を ユーザ空間に提供します。 しかしながら、一部のマシンは、2G/2G分割、つまり、 カーネルが上位2Gバイト(0x80000000 - 0xffffffff)を使い 、のこりの2ギガバイト(0x00000000 - 0x7fffffff)を ユーザ空間がつかうように設定されています。

4.2 The problem

その辺(たとえば こことか にころがっているrpm をインストールした場合は、1G/3G分割で 動くことを前提としており 2G/2G分割では動きません。 これは、3Gの最上位の0.5G(0xa0000000 - 0xbfffffff)を をUMLが使うからであって、2G/2G分割の場合、これは、 カーネル空間を勝手に使ってしまうことになり、 ロードすらできません。セグメントフォールトになります。

4.3 The solution

この問題の解決のためには、 CONFIG_HOST_2G_2G ('General Setup'にあります) を有効にしてUMLをリコンパイルしてください。 これにより、UMLは2Gのユーザ空間の上位0.5Gで動きます。 これは、ユーザ空間のメモリを減らしますが、問題の解決にはなります。 リコンパイルについては、ここ Compiling the kernel and modulesを参照。


Next Previous Contents