/[gentoo]/xml/htdocs/doc/en/uml.xml
Gentoo

Diff of /xml/htdocs/doc/en/uml.xml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.1 Revision 1.14
1<?xml version='1.0'?> 1<?xml version='1.0' encoding="UTF-8"?>
2<?xml-stylesheet href="/xsl/guide.xsl" type="text/xsl"?> 2<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/uml.xml,v 1.14 2004/04/25 18:09:45 swift Exp $ -->
3 3
4<!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> 4<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
5 5
6<guide link="/doc/uml.html"> 6<guide link="/doc/en/uml.xml">
7<title>Gentoo Linux Developer's guide to system testing with User-Mode Linux</title> 7<title>Gentoo Linux Developer's guide to system testing with User-Mode Linux</title>
8<author title="Editor"><mail link="g2boojum@gentoo.org">Grant Goodyear</mail></author> 8<author title="Editor"><mail link="g2boojum@gentoo.org">Grant Goodyear</mail></author>
9<author title="Editor"><!-- zhen@gentoo.org -->
10 John Davis
11</author>
12
13<author title="Editor">
14 <mail link="swift@gentoo.org">Sven Vermeulen</mail>
15</author>
16<author title="Editor">
17 <mail link="bennyc@gentoo.org">Benny Chuang</mail>
18</author>
9 19
10<abstract> 20<abstract>
11 This guide shows Gentoo Linux developers how to set up and use 21 This guide shows Gentoo Linux developers how to set up and use
12 user-mode linux for testing potentially system-breaking changes. 22 user-mode linux for testing potentially system-breaking changes.
13</abstract> 23</abstract>
14 24
25<license/>
26
15<version>0.05</version> 27<version>0.3</version>
16<date>5 Mar 2002</date> 28<date>January 16, 2004</date>
17 29
18<chapter> 30<chapter>
19<title>Obtaining User-Mode Linux</title> 31<title>Obtaining User-Mode Linux</title>
20<section> 32<section>
21<body> 33<body>
34
35<p>
22<p>As the user-mode linux website 36As the user-mode linux website
23(<uri>http://user-mode-linux.sourceforge.net</uri>) 37(<uri>http://user-mode-linux.sourceforge.net</uri>) states, user-mode linux
24states, user-mode linux
25allows a user to "run Linux inside itself". Specifically, 38allows a user to "run Linux inside itself". Specifically,
26user-mode linux provides a virtual machine on which a user can "[r]un buggy 39user-mode linux provides a virtual machine on which a user can "[r]un buggy
27software, experiment with new Linux kernels or distributions, and poke around 40software, experiment with new Linux kernels or distributions, and poke around
28in the internals of Linux, all without risking your main Linux setup." Changes 41in the internals of Linux, all without risking your main Linux setup." Changes
29to Gentoo core packages such as <e>sys-apps/baselayout</e> or <e>sys-libs/glibc</e> 42to Gentoo core packages such as <e>sys-apps/baselayout</e> or
30have the potential to break the system and render it unbootable; with user-mode 43<e>sys-libs/glibc</e> have the potential to break the system and render it
31linux we can test these changes without having to worry about breaking the live 44unbootable; with user-mode linux we can test these changes without having to
32system. 45worry about breaking the live system.
33</p> 46</p>
47
34<p> 48<p>
35Installing user-mode linux is essentially identical to a normal kernel 49Installing user-mode linux is essentially identical to a normal kernel
36install. First install the kernel sources (appropriately patched for 50install. First install the kernel sources (appropriately patched for
37user-mode linux), and then configure the user-mode linux kernel in the 51user-mode linux), and then configure the user-mode linux kernel in the
38usual fashion: 52usual fashion:
39</p> 53</p>
40<pre> 54
55<pre caption="Installing UML kernel sources">
41# <i>emerge sys-kernel/usermode-sources</i> 56# <i>emerge sys-kernel/usermode-sources</i>
42# <i>cd /usr/src/uml/linux</i> 57# <i>cd /usr/src/uml/linux</i>
43# <i>make menuconfig <comment>ARCH=um</comment></i> 58# <i>make menuconfig <comment>ARCH=um</comment></i>
44# <i>make linux <comment>ARCH=um</comment></i> 59# <i>make linux <comment>ARCH=um</comment></i>
45# <i>cp linux /usr/local/bin/linux</i> 60# <i>cp linux /usr/local/bin/linux</i>
46</pre> 61</pre>
62
63<warn>
47<warn>The <e>ARCH=um</e> fragment is <e>extremely</e> important!</warn> 64The <e>ARCH=um</e> fragment is <e>extremely</e> important!
65</warn>
66
48<impo> 67<impo>
49For the user-mode linux kernel to properly boot a Gentoo system the 68For the user-mode linux kernel to properly boot a Gentoo system the
50kernel needs to be configured to <e>not</e> automatically mount 69kernel needs to be configured to <e>not</e> automatically mount
51<path>/dev</path> (devfs) by default. 70<path>/dev</path> (devfs) by default. Also, you will almost certainly
52Also, you will almost certainly
53want to make sure that you have <e>tmpfs</e> (the "Virtual Memory 71want to make sure that you have <e>tmpfs</e> (the "Virtual Memory
54Filesystem") compiled in, since by default the Gentoo linux bootscripts 72Filesystem") compiled in, since by default the Gentoo linux bootscripts
55store their information in a small tmpfs partition. 73store their information in a small tmpfs partition.
56(The binary kernels available 74(The binary kernels available from the user-mode website do automatically
57from the user-mode website do automatically mount <path>/dev</path>, 75mount <path>/dev</path>, and they don't have tmpfs compiled in; don't bother
58and they don't have tmpfs compiled in; don't bother with them.) 76with them).
59</impo> 77</impo>
78
79<p>
60<p>I highly recommend reading the user-mode linux documentation, but the 80I highly recommend reading the user-mode linux documentation, but the
61basic idea is that running the <path>/usr/local/bin/linux</path> program 81basic idea is that running the <path>/usr/local/bin/linux</path> program
62boots the user-mode kernel and tries to bring up the system stored in 82boots the user-mode kernel and tries to bring up the system stored in
63the file <path>root_fs</path> that should be located in the current working 83the file <path>root_fs</path> that should be located in the current working
64directory.</p> 84directory.
85</p>
86
87<p>
65<p>It won't hurt to also install the user-mode linux tools.</p> 88It won't hurt to also install the user-mode linux tools.
66<pre> 89</p>
90
91<pre caption="Installing UML tools">
67# <i>emerge sys-apps/usermode-utilities</i> 92# <i>emerge sys-apps/usermode-utilities</i>
68</pre> 93</pre>
94
95<p>
69<p>These tools facilitate networking (among other things) 96These tools facilitate networking (among other things) between the user-mode
70between the user-mode linux virtual system 97linux virtual system and the host Linux system.
71and the host Linux system.</p> 98</p>
99
72</body> 100</body>
73</section> 101</section>
74</chapter> 102</chapter>
75 103
76<chapter> 104<chapter>
77<title>Creating <path>root_fs</path></title> 105<title>Creating root_fs</title>
78
79<section> 106<section>
80<title>Making the Gentoo chroot</title> 107<title>Making the Gentoo chroot</title>
81<body> 108<body>
109
82<p> 110<p>
83The <path>root_fs</path> file needed for user-mode linux is 111The <path>root_fs</path> file needed for user-mode linux is
84a single file that contains an entire Gentoo Linux filesystem. 112a single file that contains an entire Gentoo Linux filesystem.
85To generate this file you will need to have Loopback device 113To generate this file you will need to have Loopback device
86support enabled in the host (non-user-mode) kernel. 114support enabled in the host (non-user-mode) kernel.
87</p> 115</p>
116
117<p>
88<p>Generating the <path>root_fs</path> file itself will be 118Generating the <path>root_fs</path> file itself will be
89our last step. First we will generate a Gentoo filesystem in 119our last step. First we will generate a Gentoo filesystem in
90an ordinary chroot. We need the build tarball available, which 120an ordinary chroot. We need the stage tarball available, which
91could be downloaded separately, extracted from a build cd, or 121could be downloaded separately, extracted from a liveCD, or
92extracted from a build .iso. 122extracted from a liveCD .iso.
93</p> 123</p>
124
94<pre caption="Mounting a build .iso"> 125<pre caption="Mounting a liveCD .iso">
95# <i>mkdir /mnt/loop</i> 126# <i>mkdir /mnt/loop</i>
96# <i>mount -o loop /path/to/build-&lt;TAB&gt;.iso /mnt/loop</i> 127# <i>mount -o loop /path/to/build-&lt;TAB&gt;.iso /mnt/loop</i>
97</pre> 128</pre>
129
98<p> 130<p>
99Setting up the chroot is essentially identical to an ordinary Gentoo 131Setting up the chroot is essentially identical to an ordinary Gentoo
100Linux build. 132Linux build.
101</p> 133</p>
102<pre> 134
135<pre caption="Creating the Gentoo chroot mount">
103# <i>mkdir /mnt/gentoo</i> 136# <i>mkdir /mnt/gentoo</i>
104# <i>cd /mnt/gentoo</i> 137# <i>cd /mnt/gentoo</i>
105# <i>tar xvjpf /path/to/build-&lt;TAB&gt;.tar.bz2</i> 138# <i>tar xvjpf /path/to/build-&lt;TAB&gt;.tar.bz2</i>
106</pre> 139</pre>
140
107<p> 141<p>
108Go ahead and unmount the .iso. You don't need it anymore. 142Go ahead and unmount the .iso. You don't need it anymore.
109</p> 143</p>
110<pre> 144
145<pre caption="Prepare to install Gentoo">
111# <i>cp /etc/resolv.conf /mnt/gentoo/etc/</i> 146# <i>cp /etc/resolv.conf /mnt/gentoo/etc/</i>
112# <i>mount -o bind /proc /mnt/gentoo/proc</i> 147# <i>mount -o bind /proc /mnt/gentoo/proc</i>
113# <i>mkdir -p /mnt/gentoo/usr/portage/distfiles</i> 148# <i>mkdir -p /mnt/gentoo/usr/portage/distfiles</i>
114# <i>mkdir -p /mnt/gentoo/usr/portage/packages</i> 149# <i>mkdir -p /mnt/gentoo/usr/portage/packages</i>
115# <i>mount -o bind /usr/portage/distfiles /mnt/gentoo/usr/portage/distfiles</i> 150# <i>mount -o bind /usr/portage/distfiles /mnt/gentoo/usr/portage/distfiles</i>
116# <i>mount -o bind /usr/portage/packages /mnt/gentoo/usr/portage/packages</i> 151# <i>mount -o bind /usr/portage/packages /mnt/gentoo/usr/portage/packages</i>
117# <i>chroot /mnt/gentoo /bin/bash</i> 152# <i>chroot /mnt/gentoo /bin/bash</i>
153<!--per bug 16134, added emerge sync to supress warning, etc-->
154# <i>emerge sync</i>
118# <i>env-update</i> 155# <i>env-update</i>
119# <i>source /etc/profile</i> 156# <i>source /etc/profile</i>
120</pre> 157</pre>
158
121<p> 159<p>
122By bind-mounting <path>/usr/portage/distfiles</path> and 160By bind-mounting <path>/usr/portage/distfiles</path> and
123<path>/usr/portage/packages</path> we avoid having to download 161<path>/usr/portage/packages</path> we avoid having to download
124or build packages that are already present on the Gentoo host. 162or build packages that are already present on the Gentoo host.
125</p> 163</p>
164
126<p> 165<p>
127Bootstrap and build the system in the usual fashion: 166Bootstrap and build the system in the usual fashion:
128</p> 167</p>
129<pre> 168
130# <i>emerge rsync</i> 169<pre caption="Start the Gentoo installation">
170<!--removed the emerge sync below because it is done above-->
131# <i>cd /usr/portage</i> 171# <i>cd /usr/portage</i>
132# <i>nano -w /etc/make.conf</i> 172# <i>nano -w /etc/make.conf</i>
133# <i>nano -w /etc/make.profile/packages</i> 173# <i>nano -w /etc/make.profile/packages</i>
134# <i>nano -w /usr/portage/profiles/package.mask</i> 174# <i>nano -w /usr/portage/profiles/package.mask</i>
135# <i>scripts/bootstrap.sh &amp;&amp; emerge --usepkg system</i> 175# <i>scripts/bootstrap.sh &amp;&amp; emerge --usepkg system</i>
136</pre> 176</pre>
177
137<warn> 178<warn>
179<!--Changed grub to virtual/bootloader-->
138The <path>/etc/make.profile/packages</path> file needs to be 180The <path>/etc/make.profile/packages</path> file needs to be
139edited to remove grub from the default system (just remove the "*" 181edited to remove the virtual/bootloader ebuild from the default system if it
140from the beginning of the "*sys-apps/grub" line). The grub ebuild 182is listed (just remove the "*" from the beginning of the "*virtual/bootloader"
141tries to mount the /boot partition, which will fail in our chroot. 183line). The virtual/bootloader ebuild tries to mount the /boot partition, which
184will fail in our chroot.
142</warn> 185</warn>
186
143<note> 187<note>
144Make sure you examine <path>/etc/make.profile/packages</path> 188Make sure you examine <path>/etc/make.profile/packages</path>
145and <path>/usr/portage/profiles/package.mask</path> to be sure that 189and <path>/usr/portage/profiles/package.mask</path> to be sure that
146any to-be-tested packages that you want to install aren't masked out. 190any to-be-tested packages that you want to install aren't masked out.
147As currently written, <path>scripts/bootstrap.sh</path> will compile 191As currently written, <path>scripts/bootstrap.sh</path> will compile
148the bootstrap packages from source. To use already-existing packages, 192the bootstrap packages from source. To use already-existing packages,
149add <c>alias emerge="emerge --usepkg"</c> somewhere near the top of 193add <c>alias emerge="emerge --usepkg"</c> somewhere near the top of
150the bootstrap script. 194the bootstrap script.
151</note> 195</note>
196
152<p> 197<p>
153Add any additional packages you desire. Feel free to give your virtual 198Add any additional packages you desire. Feel free to give your virtual
154Gentoo system a hostname, if you so desire. In <path>/etc/fstab</path> 199Gentoo system a hostname, if you so desire. In <path>/etc/fstab</path>
155you will want <path>/dev/ROOT</path> to be <path>/dev/ubd/0</path>, with 200you will want <path>/dev/ROOT</path> to be <path>/dev/ubd/0</path>, with
156a fs type of either ext2, ext3, or reiserfs. Set <path>/dev/SWAP</path> 201a fs type of either ext2, ext3, or reiserfs. Set <path>/dev/SWAP</path>
157to be <path>/dev/ubd/1</path>, and comment out <path>/dev/BOOT</path>. 202to be <path>/dev/ubd/1</path>, and comment out <path>/dev/BOOT</path>.
158</p> 203</p>
204
205<p>
206At this point, remember to set your root password.
207</p>
208
209<pre caption="Setting root password">
210# <i>passwd</i>
211</pre>
212
159<p> 213<p>
160Exit the chroot, unmount all of the bind mounts, 214Exit the chroot, unmount all of the bind mounts,
161tar up the new Gentoo distro, and clean up: 215tar up the new Gentoo distro, and clean up:
162</p> 216</p>
163<pre> 217
218<pre caption="Finalising the installation">
164# <i>exit</i> 219# <i>exit</i>
165# <i>umount /mnt/gentoo/usr/portage/distfiles</i> 220# <i>umount /mnt/gentoo/usr/portage/distfiles</i>
166# <i>umount /mnt/gentoo/usr/portage/packages</i> 221# <i>umount /mnt/gentoo/usr/portage/packages</i>
167# <i>umount /mnt/gentoo/proc</i> 222# <i>umount /mnt/gentoo/proc</i>
168# <i>du -ks /mnt/gentoo</i> 223# <i>du -ks /mnt/gentoo</i>
169261744 /mnt/gentoo 224<!-- wtf is this? 261744 /mnt/gentoo-->
225<!-- added dir change to be more explicit-->
226# <i>cd /mnt/gentoo</i>
170# <i>tar cvjpf ~/gentoo.tbz2 *</i> 227# <i>tar cvjpf ~/gentoo.tbz2 *</i>
171# <i>cd</i> 228# <i>cd</i>
172# <i>rm -rf /mnt/gentoo</i> 229# <i>rm -rf /mnt/gentoo</i>
173</pre> 230</pre>
231
232<p>
233You might also want to consider reviewing the final steps of the
234<uri link="http://www.gentoo.org/doc/en/gentoo-x86-install.xml">Gentoo Linux x86 Installation Guide</uri>.
235</p>
236
174</body> 237</body>
175</section> 238</section>
176
177<section> 239<section>
178<title>Making <path>root_fs</path></title> 240<title>Making root_fs</title>
179<body> 241<body>
242
180<p> 243<p>
181Our Gentoo chroot is nearly 300 MB in size, so 244Our Gentoo chroot is nearly 300 MB in size, so
182<path>root_fs</path> needs to be at least that size. 245<path>root_fs</path> needs to be at least that size.
183We'll choose 0.5 GB as a reasonable size. 246We'll choose 0.5 GB as a reasonable size.
184</p> 247</p>
185<pre> 248
249<pre caption="Creating UML files">
186# <i>dd if=/dev/zero of=root_fs seek=500 count=1 bs=1M</i> 250# <i>dd if=/dev/zero of=root_fs seek=500 count=1 bs=1M</i>
187# <i>mke2fs -F root_fs</i> 251# <i>mke2fs -F root_fs</i>
188# <i>mount -o loop root_fs /mnt/loop</i> 252# <i>mount -o loop root_fs /mnt/loop</i>
189# <i>tar xvjpf gentoo.tbz2 -C /mnt/loop</i> 253# <i>tar xvjpf gentoo.tbz2 -C /mnt/loop</i>
190# <i>umount /mnt/loop</i> 254# <i>umount /mnt/loop</i>
191</pre> 255</pre>
256
192<p> 257<p>
193It would also be nice to have a 0.5 GB swap partition. 258It would also be nice to have a 0.5 GB swap partition.
194</p> 259</p>
195<pre> 260
261<pre caption="Create swap partition">
196# <i>dd if=/dev/zero of=swap_fs seek=500 count=1 bs=1M</i> 262# <i>dd if=/dev/zero of=swap_fs seek=500 count=1 bs=1M</i>
197# <i>mkswap -f swap_fs</i> 263# <i>mkswap -f swap_fs</i>
198</pre> 264</pre>
265
199<p> 266<p>
200Now see if it works! 267Now see if it works!
201</p> 268</p>
202<pre> 269
270<pre caption="Start UML kernel thread">
203# <i>linux ubd0=root_fs ubd1=swap_fs</i> 271# <i>linux ubd0=root_fs ubd1=swap_fs</i>
204</pre> 272</pre>
273
205<note> 274<note>
206User-mode linux uses xterms for the virtual consoles that 275User-mode linux uses xterms for the virtual consoles that
207are run at boot time, so you need to make sure that the 276are run at boot time, so you need to make sure that the
208terminal from which you run user-mode linux has $DISPLAY 277terminal from which you run user-mode linux has $DISPLAY
209properly set (along with proper xhost/xauth permissions). 278properly set (along with proper xhost/xauth permissions).
210</note> 279</note>
280
211<p> 281<p>
212With any luck you should be able to log into your user-mode linux 282With any luck you should be able to log into your user-mode linux
213Gentoo system. The only thing keeping this user-mode linux version 283Gentoo system. The only thing keeping this user-mode linux version
214of Gentoo from being fully functional is networking from the virtual 284of Gentoo from being fully functional is networking from the virtual
215machine to the host. Such networking is supposed to be trivial, 285machine to the host.
216but I have yet to get it to work for me. Should you find a workable
217solution, please let me know!
218</p> 286</p>
287
219</body> 288</body>
220</section> 289</section>
221</chapter> 290</chapter>
222 291
223<chapter> 292<chapter>
224<title>Networking</title> 293<title>Networking</title>
225
226<section> 294<section>
227<body> 295<body>
296
228<p> 297<p>
229Thanks to Martin Schlemmer (Azarah), I now know how 298Thanks to Martin Schlemmer (Azarah), I now know how
230to get networking to function from within a user-mode 299to get networking to function from within a user-mode
231system. The idea is that we set up a private network 300system. The idea is that we set up a private network
232consisting of the user-mode system and the host system, 301consisting of the user-mode system and the host system,
237--> Full NAT --> MASQUERADE target support and 306--> Full NAT --> MASQUERADE target support and
238Network Device Support --> Ethertap network tap 307Network Device Support --> Ethertap network tap
239compiled as modules; then do the following on the 308compiled as modules; then do the following on the
240<e>host</e> machine: 309<e>host</e> machine:
241</p> 310</p>
242<pre> 311
312<pre caption="Setup networking">
243# <i>modprobe ethertap</i> 313# <i>modprobe ethertap</i>
244# <i>modprobe iptable_nat</i> 314# <i>modprobe iptable_nat</i>
245# <i>iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE</i> 315# <i>iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE</i>
246# <i>echo 1 > /proc/sys/net/ipv4/ip_forward</i> 316# <i>echo 1 > /proc/sys/net/ipv4/ip_forward</i>
247</pre> 317</pre>
318
248<p> 319<p>
249The iptables line sets up IP Masquerading between the private 320The iptables line sets up IP Masquerading between the private
250network that our user-mode system will be on and the internet 321network that our user-mode system will be on and the internet
251(reachable via <c>eth0</c> in our case). The echo line then 322(reachable via <c>eth0</c> in our case). The echo line then
252turns on packet forwarding between the private network and the 323turns on packet forwarding between the private network and the
253interface that the default gateway is on (eth0 for us). 324interface that the default gateway is on (eth0 for us).
254</p> 325</p>
326
255<p> 327<p>
256Now we bring up the user-mode system and see if networking 328Now we bring up the user-mode system and see if networking
257is functional. 329is functional.
258</p> 330</p>
259<pre> 331
332<pre caption="Get UML up and running">
260# <i>linux ubd0=root_fs ubd1=swap_fs eth0=ethertap,tap0,,192.168.0.254</i> 333# <i>linux ubd0=root_fs ubd1=swap_fs eth0=ethertap,tap0,,192.168.0.254</i>
261<comment>(login to user-mode system)</comment> 334<comment>(login to user-mode system)</comment>
262# <i>ifconfig eth0 192.168.0.1 up</i> 335# <i>ifconfig eth0 192.168.0.1 up</i>
263# <i>ping -c 2 192.168.0.254</i> 336# <i>ping -c 2 192.168.0.254</i>
264PING 192.168.0.254 (192.168.0.254): 56 octets data 337PING 192.168.0.254 (192.168.0.254): 56 octets data
26664 octets from 192.168.0.254: icmp_seq=1 ttl=255 time=0.6 ms 33964 octets from 192.168.0.254: icmp_seq=1 ttl=255 time=0.6 ms
267 340
268--- 192.168.0.254 ping statistics --- 341--- 192.168.0.254 ping statistics ---
2692 packets transmitted, 2 packets received, 0% packet loss 3422 packets transmitted, 2 packets received, 0% packet loss
270round-trip min/avg/max = 0.6/0.7/0.8 ms 343round-trip min/avg/max = 0.6/0.7/0.8 ms
271<i>route add default gw 192.168.0.254</i> 344# <i>route add default gw 192.168.0.254</i>
272<i>netstat -rn</i> 345# <i>netstat -rn</i>
273Kernel IP routing table 346Kernel IP routing table
274Destination Gateway Genmask Flags MSS Window irtt Iface 347Destination Gateway Genmask Flags MSS Window irtt Iface
275192.168.0.0 0.0.0.0 255.255.255.0 U 40 0 0 eth0 348192.168.0.0 0.0.0.0 255.255.255.0 U 40 0 0 eth0
2760.0.0.0 192.168.0.254 0.0.0.0 UG 40 0 0 eth0 3490.0.0.0 192.168.0.254 0.0.0.0 UG 40 0 0 eth0
277<i>scp user@192.168.0.254:/etc/resolv.conf /etc/resolv.conf</i> <comment>(if needed)</comment> 350# <i>scp user@192.168.0.254:/etc/resolv.conf /etc/resolv.conf</i> <comment>(if needed)</comment>
278<i>ping -c 2 www.gentoo.org</i> 351# <i>ping -c 2 www.gentoo.org</i>
279PING www.gentoo.org (207.170.82.202): 56 octets data 352PING www.gentoo.org (207.170.82.202): 56 octets data
28064 octets from 207.170.82.202: icmp_seq=0 ttl=240 time=119.6 ms 35364 octets from 207.170.82.202: icmp_seq=0 ttl=240 time=119.6 ms
28164 octets from 207.170.82.202: icmp_seq=1 ttl=240 time=92.0 ms 35464 octets from 207.170.82.202: icmp_seq=1 ttl=240 time=92.0 ms
282 355
283--- www.gentoo.org ping statistics --- 356--- www.gentoo.org ping statistics ---
2842 packets transmitted, 2 packets received, 0% packet loss 3572 packets transmitted, 2 packets received, 0% packet loss
285round-trip min/avg/max = 92.0/105.8/119.6 ms 358round-trip min/avg/max = 92.0/105.8/119.6 ms
286</pre> 359</pre>
360
287<p> 361<p>
288On the user-mode system we assign the user-mode eth0 interface 362On the user-mode system we assign the user-mode eth0 interface
289the private IP address 192.168.0.1 and bring up the interface. The 363the private IP address 192.168.0.1 and bring up the interface. The
290host has private IP address 192.168.0.254, and we ping it to make sure 364host has private IP address 192.168.0.254, and we ping it to make sure
291that our networking is, indeed, up. The route line adds a default 365that our networking is, indeed, up. The route line adds a default
293<path>/etc/resolv.conf</path> (if necessary), and we ping www.gentoo.org 367<path>/etc/resolv.conf</path> (if necessary), and we ping www.gentoo.org
294to make sure that name resolution (and general access to the internet) 368to make sure that name resolution (and general access to the internet)
295is working from our user-mode system. Now the user-mode system can 369is working from our user-mode system. Now the user-mode system can
296<c>emerge</c> at will! 370<c>emerge</c> at will!
297</p> 371</p>
372
298</body> 373</body>
299</section> 374</section>
300</chapter> 375</chapter>
301
302<chapter> 376<chapter>
303<title>Testing the .iso</title> 377<title>Testing the .iso</title>
304
305<section> 378<section>
306<body> 379<body>
380
307<p> 381<p>
308Perhaps the true ideal of Gentoo Linux testing would be 382Perhaps the true ideal of Gentoo Linux testing would be
309to boot the .iso with user-mode linux and do the complete 383to boot the .iso with user-mode linux and do the complete
310Gentoo install from within the user-mode linux virtual system. 384Gentoo install from within the user-mode linux virtual system.
311</p> 385</p>
386
312<p> 387<p>
313Booting the .iso, or actually the initrd from the .iso, is pretty 388Booting the .iso, or actually the initrd from the .iso, is pretty
314straightforward. 389straightforward.
315</p> 390</p>
316<pre> 391
392<pre caption="Booting the ISO">
317# <i>mount -o loop /path/to/build-&lt;TAB&gt;.iso /mnt/loop</i> 393# <i>mount -o loop /path/to/build-&lt;TAB&gt;.iso /mnt/loop</i>
318# <i>cp /mnt/loop/isolinux/rescue.gz .</i> 394# <i>cp /mnt/loop/isolinux/rescue.gz .</i>
319# <i>linux load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=22000 \</i> 395# <i>linux load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=22000 \</i>
320&gt; <i>initrd=rescue.gz root=/dev/ram0 ubd0=root_fs ubd1=swap_fs \</i> 396&gt; <i>initrd=rescue.gz root=/dev/ram0 ubd0=root_fs ubd1=swap_fs \</i>
321&gt; <i>ubd2=/dev/cdroms/cdrom0 eth0=ethertap,tap0,,192.168.0.254</i> 397&gt; <i>ubd2=/dev/cdroms/cdrom0 eth0=ethertap,tap0,,192.168.0.254</i>
322</pre> 398</pre>
399
400<p>
323<p>Now you can follow the Gentoo install doc essentially verbatim, 401Now you can follow the Gentoo install doc essentially verbatim,
324although you'll need to know that the root filesystem will be 402although you'll need to know that the root filesystem will be
325<path>/dev/ubd/0</path>, the swap "partition" 403<path>/dev/ubd/0</path>, the swap "partition"
326will be <path>/dev/ubd/1</path>, and the CD rom 404will be <path>/dev/ubd/1</path>, and the CD rom
327will be <path>/dev/ubd/2</path>.</p> 405will be <path>/dev/ubd/2</path>.
406</p>
407
328</body> 408</body>
329</section> 409</section>
330</chapter> 410</chapter>
331
332
333</guide> 411</guide>

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.14

  ViewVC Help
Powered by ViewVC 1.1.20