File: UserModeLinux-HOWTO-4.html

package info (click to toggle)
user-mode-linux-doc 20060501-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 3,804 kB
  • sloc: sh: 275; makefile: 38
file content (66 lines) | stat: -rw-r--r-- 2,151 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.21">
 <TITLE>User Mode Linux HOWTO : UML on 2G/2G hosts</TITLE>
 <LINK HREF="UserModeLinux-HOWTO-5.html" REL=next>
 <LINK HREF="UserModeLinux-HOWTO-3.html" REL=previous>
 <LINK HREF="UserModeLinux-HOWTO.html#toc4" REL=contents>
</HEAD>
<BODY>
<A HREF="UserModeLinux-HOWTO-5.html">Next</A>
<A HREF="UserModeLinux-HOWTO-3.html">Previous</A>
<A HREF="UserModeLinux-HOWTO.html#toc4">Contents</A>
<HR>
<H2><A NAME="2G-2G"></A> <A NAME="s4">4.</A> <A HREF="UserModeLinux-HOWTO.html#toc4">UML on 2G/2G hosts</A></H2>

<P> </P>

<H2><A NAME="ss4.1">4.1</A> <A HREF="UserModeLinux-HOWTO.html#toc4.1">Introduction</A>
</H2>


<P>Most Linux machines are configured so that the kernel occupies the
upper 1G (0xc0000000 - 0xffffffff) of the 4G address space and
processes use the lower 3G (0x00000000 - 0xbfffffff).  However, some
machine are configured with a 2G/2G split, with the kernel occupying
the upper 2G (0x80000000 - 0xffffffff) and processes using the lower
2G (0x00000000 - 0x7fffffff).</P>



<H2><A NAME="ss4.2">4.2</A> <A HREF="UserModeLinux-HOWTO.html#toc4.2">The problem</A>
</H2>


<P>The prebuilt UML binaries on this site will not run on 2G/2G hosts
because UML occupies the upper .5G of the 3G process address space
(0xa0000000 - 0xbfffffff).  Obviously, on 2G/2G hosts, this is right
in the middle of the kernel address space, so UML won't even load - it
will immediately segfault.</P>



<H2><A NAME="ss4.3">4.3</A> <A HREF="UserModeLinux-HOWTO.html#toc4.3">The solution</A>
</H2>


<P>The fix for this is to rebuild UML from source after enabling
CONFIG_HOST_2G_2G (under 'General Setup').  This will cause UML to
load itself in the top .5G of that smaller process address space,
where it will run fine.  See 
<A HREF="UserModeLinux-HOWTO-2.html#compile">Compiling the kernel and modules</A>  if you need help building UML from source.</P>








<HR>
<A HREF="UserModeLinux-HOWTO-5.html">Next</A>
<A HREF="UserModeLinux-HOWTO-3.html">Previous</A>
<A HREF="UserModeLinux-HOWTO.html#toc4">Contents</A>
</BODY>
</HTML>