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 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191
|
<!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 </TITLE>
<LINK HREF="UserModeLinux-HOWTO-1.html" REL=next>
</HEAD>
<BODY>
<A HREF="UserModeLinux-HOWTO-1.html">Next</A>
Previous
Contents
<HR>
<H1>User Mode Linux HOWTO </H1>
<H2>User Mode Linux Core Team </H2>Mon Jan 30 16:52:10 EST 2006
<HR>
<EM> This document describes the use and abuse of Jeff Dike's User Mode Linux: a port of the Linux kernel as a normal Intel Linux process. </EM>
<HR>
<P>
<H2><A NAME="toc1">1.</A> <A HREF="UserModeLinux-HOWTO-1.html">Introduction</A></H2>
<UL>
<LI><A NAME="toc1.1">1.1</A> <A HREF="UserModeLinux-HOWTO-1.html#ss1.1">What is User Mode Linux?</A>
<LI><A NAME="toc1.2">1.2</A> <A HREF="UserModeLinux-HOWTO-1.html#ss1.2">How is User Mode Linux Different?</A>
<LI><A NAME="toc1.3">1.3</A> <A HREF="UserModeLinux-HOWTO-1.html#ss1.3">How does UML Work?</A>
<LI><A NAME="toc1.4">1.4</A> <A HREF="UserModeLinux-HOWTO-1.html#ss1.4">Why Would I Want UML?</A>
</UL>
<P>
<H2><A NAME="toc2">2.</A> <A HREF="UserModeLinux-HOWTO-2.html">Compiling the kernel and modules</A></H2>
<UL>
<LI><A NAME="toc2.1">2.1</A> <A HREF="UserModeLinux-HOWTO-2.html#ss2.1">Compiling the kernel</A>
<LI><A NAME="toc2.2">2.2</A> <A HREF="UserModeLinux-HOWTO-2.html#ss2.2">Compiling and installing kernel modules</A>
<LI><A NAME="toc2.3">2.3</A> <A HREF="UserModeLinux-HOWTO-2.html#ss2.3">Compiling and installing uml_utilities</A>
</UL>
<P>
<H2><A NAME="toc3">3.</A> <A HREF="UserModeLinux-HOWTO-3.html">Running UML and logging in</A></H2>
<UL>
<LI><A NAME="toc3.1">3.1</A> <A HREF="UserModeLinux-HOWTO-3.html#ss3.1">Running UML</A>
<LI><A NAME="toc3.2">3.2</A> <A HREF="UserModeLinux-HOWTO-3.html#ss3.2">Logging in</A>
<LI><A NAME="toc3.3">3.3</A> <A HREF="UserModeLinux-HOWTO-3.html#ss3.3">Examples</A>
</UL>
<P>
<H2><A NAME="toc4">4.</A> <A HREF="UserModeLinux-HOWTO-4.html">UML on 2G/2G hosts</A></H2>
<UL>
<LI><A NAME="toc4.1">4.1</A> <A HREF="UserModeLinux-HOWTO-4.html#ss4.1">Introduction</A>
<LI><A NAME="toc4.2">4.2</A> <A HREF="UserModeLinux-HOWTO-4.html#ss4.2">The problem</A>
<LI><A NAME="toc4.3">4.3</A> <A HREF="UserModeLinux-HOWTO-4.html#ss4.3">The solution</A>
</UL>
<P>
<H2><A NAME="toc5">5.</A> <A HREF="UserModeLinux-HOWTO-5.html">Setting up serial lines and consoles</A></H2>
<UL>
<LI><A NAME="toc5.1">5.1</A> <A HREF="UserModeLinux-HOWTO-5.html#ss5.1">Specifying the device</A>
<LI><A NAME="toc5.2">5.2</A> <A HREF="UserModeLinux-HOWTO-5.html#ss5.2">Specifying the channel</A>
<LI><A NAME="toc5.3">5.3</A> <A HREF="UserModeLinux-HOWTO-5.html#ss5.3">Examples</A>
</UL>
<P>
<H2><A NAME="toc6">6.</A> <A HREF="UserModeLinux-HOWTO-6.html">Setting up the network</A></H2>
<UL>
<LI><A NAME="toc6.1">6.1</A> <A HREF="UserModeLinux-HOWTO-6.html#ss6.1">General setup</A>
<LI><A NAME="toc6.2">6.2</A> <A HREF="UserModeLinux-HOWTO-6.html#ss6.2">Userspace daemons</A>
<LI><A NAME="toc6.3">6.3</A> <A HREF="UserModeLinux-HOWTO-6.html#ss6.3">Specifying ethernet addresses</A>
<LI><A NAME="toc6.4">6.4</A> <A HREF="UserModeLinux-HOWTO-6.html#ss6.4">UML interface setup</A>
<LI><A NAME="toc6.5">6.5</A> <A HREF="UserModeLinux-HOWTO-6.html#ss6.5">Multicast</A>
<LI><A NAME="toc6.6">6.6</A> <A HREF="UserModeLinux-HOWTO-6.html#ss6.6">TUN/TAP with the uml_net helper</A>
<LI><A NAME="toc6.7">6.7</A> <A HREF="UserModeLinux-HOWTO-6.html#ss6.7">TUN/TAP with a preconfigured tap device</A>
<LI><A NAME="toc6.8">6.8</A> <A HREF="UserModeLinux-HOWTO-6.html#ss6.8">Ethertap</A>
<LI><A NAME="toc6.9">6.9</A> <A HREF="UserModeLinux-HOWTO-6.html#ss6.9">The switch daemon</A>
<LI><A NAME="toc6.10">6.10</A> <A HREF="UserModeLinux-HOWTO-6.html#ss6.10">Slip</A>
<LI><A NAME="toc6.11">6.11</A> <A HREF="UserModeLinux-HOWTO-6.html#ss6.11">Slirp</A>
<LI><A NAME="toc6.12">6.12</A> <A HREF="UserModeLinux-HOWTO-6.html#ss6.12">pcap</A>
<LI><A NAME="toc6.13">6.13</A> <A HREF="UserModeLinux-HOWTO-6.html#ss6.13">Setting up the host yourself</A>
</UL>
<P>
<H2><A NAME="toc7">7.</A> <A HREF="UserModeLinux-HOWTO-7.html">Sharing Filesystems between Virtual Machines</A></H2>
<UL>
<LI><A NAME="toc7.1">7.1</A> <A HREF="UserModeLinux-HOWTO-7.html#ss7.1">A warning</A>
<LI><A NAME="toc7.2">7.2</A> <A HREF="UserModeLinux-HOWTO-7.html#ss7.2">Using layered block devices</A>
<LI><A NAME="toc7.3">7.3</A> <A HREF="UserModeLinux-HOWTO-7.html#ss7.3">Note!</A>
<LI><A NAME="toc7.4">7.4</A> <A HREF="UserModeLinux-HOWTO-7.html#ss7.4">Another warning</A>
<LI><A NAME="toc7.5">7.5</A> <A HREF="UserModeLinux-HOWTO-7.html#ss7.5">Moving a backing file</A>
<LI><A NAME="toc7.6">7.6</A> <A HREF="UserModeLinux-HOWTO-7.html#ss7.6">uml_moo : Merging a COW file with its backing file</A>
<LI><A NAME="toc7.7">7.7</A> <A HREF="UserModeLinux-HOWTO-7.html#ss7.7">uml_mkcow : Create a new COW file</A>
</UL>
<P>
<H2><A NAME="toc8">8.</A> <A HREF="UserModeLinux-HOWTO-8.html">Creating filesystems</A></H2>
<UL>
<LI><A NAME="toc8.1">8.1</A> <A HREF="UserModeLinux-HOWTO-8.html#ss8.1">Create the filesystem file</A>
<LI><A NAME="toc8.2">8.2</A> <A HREF="UserModeLinux-HOWTO-8.html#ss8.2">Assign the file to a UML device</A>
<LI><A NAME="toc8.3">8.3</A> <A HREF="UserModeLinux-HOWTO-8.html#ss8.3">Creating and mounting the filesystem</A>
</UL>
<P>
<H2><A NAME="toc9">9.</A> <A HREF="UserModeLinux-HOWTO-9.html">Host file access</A></H2>
<UL>
<LI><A NAME="toc9.1">9.1</A> <A HREF="UserModeLinux-HOWTO-9.html#ss9.1">Using hostfs</A>
<LI><A NAME="toc9.2">9.2</A> <A HREF="UserModeLinux-HOWTO-9.html#ss9.2">hostfs command line options</A>
<LI><A NAME="toc9.3">9.3</A> <A HREF="UserModeLinux-HOWTO-9.html#ss9.3">hostfs as the root filesystem</A>
<LI><A NAME="toc9.4">9.4</A> <A HREF="UserModeLinux-HOWTO-9.html#ss9.4">Building hostfs</A>
</UL>
<P>
<H2><A NAME="toc10">10.</A> <A HREF="UserModeLinux-HOWTO-10.html">The Management Console</A></H2>
<UL>
<LI><A NAME="toc10.1">10.1</A> <A HREF="UserModeLinux-HOWTO-10.html#ss10.1">version</A>
<LI><A NAME="toc10.2">10.2</A> <A HREF="UserModeLinux-HOWTO-10.html#ss10.2">halt and reboot</A>
<LI><A NAME="toc10.3">10.3</A> <A HREF="UserModeLinux-HOWTO-10.html#ss10.3">config</A>
<LI><A NAME="toc10.4">10.4</A> <A HREF="UserModeLinux-HOWTO-10.html#ss10.4">remove</A>
<LI><A NAME="toc10.5">10.5</A> <A HREF="UserModeLinux-HOWTO-10.html#ss10.5">sysrq</A>
<LI><A NAME="toc10.6">10.6</A> <A HREF="UserModeLinux-HOWTO-10.html#ss10.6">help</A>
<LI><A NAME="toc10.7">10.7</A> <A HREF="UserModeLinux-HOWTO-10.html#ss10.7">cad</A>
<LI><A NAME="toc10.8">10.8</A> <A HREF="UserModeLinux-HOWTO-10.html#ss10.8">stop</A>
<LI><A NAME="toc10.9">10.9</A> <A HREF="UserModeLinux-HOWTO-10.html#ss10.9">go</A>
<LI><A NAME="toc10.10">10.10</A> <A HREF="UserModeLinux-HOWTO-10.html#ss10.10">log</A>
<LI><A NAME="toc10.11">10.11</A> <A HREF="UserModeLinux-HOWTO-10.html#ss10.11">proc</A>
<LI><A NAME="toc10.12">10.12</A> <A HREF="UserModeLinux-HOWTO-10.html#ss10.12">Making online backups</A>
<LI><A NAME="toc10.13">10.13</A> <A HREF="UserModeLinux-HOWTO-10.html#ss10.13">Event notification</A>
</UL>
<P>
<H2><A NAME="toc11">11.</A> <A HREF="UserModeLinux-HOWTO-11.html">Kernel debugging</A></H2>
<UL>
<LI><A NAME="toc11.1">11.1</A> <A HREF="UserModeLinux-HOWTO-11.html#ss11.1">Starting the kernel under gdb</A>
<LI><A NAME="toc11.2">11.2</A> <A HREF="UserModeLinux-HOWTO-11.html#ss11.2">Examining sleeping processes</A>
<LI><A NAME="toc11.3">11.3</A> <A HREF="UserModeLinux-HOWTO-11.html#ss11.3">Running ddd on UML</A>
<LI><A NAME="toc11.4">11.4</A> <A HREF="UserModeLinux-HOWTO-11.html#ss11.4">Debugging modules</A>
<LI><A NAME="toc11.5">11.5</A> <A HREF="UserModeLinux-HOWTO-11.html#ss11.5">Attaching gdb to the kernel</A>
<LI><A NAME="toc11.6">11.6</A> <A HREF="UserModeLinux-HOWTO-11.html#ss11.6">Using alternate debuggers</A>
</UL>
<P>
<H2><A NAME="toc12">12.</A> <A HREF="UserModeLinux-HOWTO-12.html">Kernel debugging examples</A></H2>
<UL>
<LI><A NAME="toc12.1">12.1</A> <A HREF="UserModeLinux-HOWTO-12.html#ss12.1">The case of the hung fsck</A>
<LI><A NAME="toc12.2">12.2</A> <A HREF="UserModeLinux-HOWTO-12.html#ss12.2">Episode 2: The case of the hung fsck</A>
</UL>
<P>
<H2><A NAME="toc13">13.</A> <A HREF="UserModeLinux-HOWTO-13.html">What to do when UML doesn't work</A></H2>
<UL>
<LI><A NAME="toc13.1">13.1</A> <A HREF="UserModeLinux-HOWTO-13.html#ss13.1">Strange compilation errors when you build from source</A>
<LI><A NAME="toc13.2">13.2</A> <A HREF="UserModeLinux-HOWTO-13.html#ss13.2">UML hangs on boot after mounting devfs</A>
<LI><A NAME="toc13.3">13.3</A> <A HREF="UserModeLinux-HOWTO-13.html#ss13.3">A variety of panics and hangs with /tmp on a reiserfs filesystem</A>
<LI><A NAME="toc13.4">13.4</A> <A HREF="UserModeLinux-HOWTO-13.html#ss13.4">The compile fails with errors about conflicting types for 'open', 'dup', and 'waitpid'</A>
<LI><A NAME="toc13.5">13.5</A> <A HREF="UserModeLinux-HOWTO-13.html#ss13.5">UML doesn't work when /tmp is an NFS filesystem</A>
<LI><A NAME="toc13.6">13.6</A> <A HREF="UserModeLinux-HOWTO-13.html#ss13.6">UML hangs on boot when compiled with gprof support</A>
<LI><A NAME="toc13.7">13.7</A> <A HREF="UserModeLinux-HOWTO-13.html#ss13.7">syslogd dies with a SIGTERM on startup</A>
<LI><A NAME="toc13.8">13.8</A> <A HREF="UserModeLinux-HOWTO-13.html#ss13.8">TUN/TAP networking doesn't work on a 2.4 host</A>
<LI><A NAME="toc13.9">13.9</A> <A HREF="UserModeLinux-HOWTO-13.html#ss13.9">You can network to the host but not to other machines on the net</A>
<LI><A NAME="toc13.10">13.10</A> <A HREF="UserModeLinux-HOWTO-13.html#ss13.10">I have no root and I want to scream</A>
<LI><A NAME="toc13.11">13.11</A> <A HREF="UserModeLinux-HOWTO-13.html#ss13.11">UML build conflict between ptrace.h and ucontext.h</A>
<LI><A NAME="toc13.12">13.12</A> <A HREF="UserModeLinux-HOWTO-13.html#ss13.12">The UML BogoMips is exactly half the host's BogoMips</A>
<LI><A NAME="toc13.13">13.13</A> <A HREF="UserModeLinux-HOWTO-13.html#ss13.13">When you run UML, it immediately segfaults</A>
<LI><A NAME="toc13.14">13.14</A> <A HREF="UserModeLinux-HOWTO-13.html#ss13.14">xterms appear, then immediately disappear</A>
<LI><A NAME="toc13.15">13.15</A> <A HREF="UserModeLinux-HOWTO-13.html#ss13.15">cannot set up thread-local storage</A>
<LI><A NAME="toc13.16">13.16</A> <A HREF="UserModeLinux-HOWTO-13.html#ss13.16">Process segfaults with a modern (NPTL-using) filesystem</A>
<LI><A NAME="toc13.17">13.17</A> <A HREF="UserModeLinux-HOWTO-13.html#ss13.17">Any other panic, hang, or strange behavior</A>
</UL>
<P>
<H2><A NAME="toc14">14.</A> <A HREF="UserModeLinux-HOWTO-14.html">Diagnosing Problems</A></H2>
<UL>
<LI><A NAME="toc14.1">14.1</A> <A HREF="UserModeLinux-HOWTO-14.html#ss14.1">Case 1 : Normal kernel panics</A>
<LI><A NAME="toc14.2">14.2</A> <A HREF="UserModeLinux-HOWTO-14.html#ss14.2">Case 2 : Tracing thread panics</A>
<LI><A NAME="toc14.3">14.3</A> <A HREF="UserModeLinux-HOWTO-14.html#ss14.3">Case 3 : Tracing thread panics caused by other threads</A>
<LI><A NAME="toc14.4">14.4</A> <A HREF="UserModeLinux-HOWTO-14.html#ss14.4">Case 4 : Hangs</A>
</UL>
<P>
<H2><A NAME="toc15">15.</A> <A HREF="UserModeLinux-HOWTO-15.html">Thanks</A></H2>
<UL>
<LI><A NAME="toc15.1">15.1</A> <A HREF="UserModeLinux-HOWTO-15.html#ss15.1">Code and Documentation</A>
<LI><A NAME="toc15.2">15.2</A> <A HREF="UserModeLinux-HOWTO-15.html#ss15.2">Flushing out bugs</A>
<LI><A NAME="toc15.3">15.3</A> <A HREF="UserModeLinux-HOWTO-15.html#ss15.3">Buglets and clean-ups</A>
<LI><A NAME="toc15.4">15.4</A> <A HREF="UserModeLinux-HOWTO-15.html#ss15.4">Case Studies</A>
<LI><A NAME="toc15.5">15.5</A> <A HREF="UserModeLinux-HOWTO-15.html#ss15.5">Other contributions</A>
</UL>
<HR>
<A HREF="UserModeLinux-HOWTO-1.html">Next</A>
Previous
Contents
</BODY>
</HTML>
|