From: William S. <wst...@po...> - 2000-11-08 21:46:15
|
Good afternoon, Jeff, all, A real quick request - I'd love to hear from others on this list; can you successfully start up a uml kernel with: linux-2.blah.blah </dev/null ? You won't get a console, but if the boot works successfully you'll get the xterms and you'll get networking. Please respond, and include your host distribution, host kernel, uml distribution, and uml kernel. I don't mind being the only problematic child in the classroom, but I'd like to know whether this is working for others or not. I'd especially like to hear whether linux-2.4.0-test10 as a uml kernel works or not, as Jeff made some fixes to the "</dev/null" code there. On Wed, 8 Nov 2000, Jeff Dike wrote: > wst...@po... said: > > the boot proceeds pretty well until it gets to the named boot script. > > If I don't use the </dev/null, umnl boots to xterms and a login > > prompt. Once I add </dev/null, it stops somewhere in the named script > > (a "ping the hotst" script run before named executes, one run after > > named does not). > > Have you tried enabling a getty on a virtual console at run-level 2? That > would let you log in before named hoses the boot process and you could poke > around to see what's happening. Good idea. I moved up the serial/0 line after rc.sysinit but before the runlevel specific lines and was able to connect to ttyp9 (I assume it's the ttypX equivalent of the ptypX that the uml kernel opens on FD7) with minicom: Red Hat Linux release 6.2 (Zoot) Kernel 2.4.0-test10-1um on a um redhat62 login: AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0 root , but I can't actually get it to respond to keystrokes. Even if it didn't like minicom's AT..., I should still be able to hit return once or twice and get to a usable login. OK, try it again. Before we get to the named death, here are the file descriptors for the parent tracing thread (pts/10 is the Eterm in which I'm running the uml): /proc/15198/fd: total 4 dr-x------ 2 wstearns wstearns 0 Nov 8 16:11 . dr-xr-xr-x 3 wstearns wstearns 0 Nov 8 16:11 .. lr-x------ 1 wstearns wstearns 64 Nov 8 16:11 0 -> /dev/null lrwx------ 1 wstearns wstearns 64 Nov 8 16:11 1 -> /dev/pts/10 lrwx------ 1 wstearns wstearns 64 Nov 8 16:11 10 -> /home/wstearns/uml/rh6.2/root_fs lrwx------ 1 wstearns wstearns 64 Nov 8 16:11 2 -> /dev/pts/10 lrwx------ 1 wstearns wstearns 64 Nov 8 16:11 3 -> /home/wstearns/uml/rh6.2/vm_file (deleted) lrwx------ 1 wstearns wstearns 64 Nov 8 16:11 4 -> /home/wstearns/uml/rh6.2/vm_file (deleted) lrwx------ 1 wstearns wstearns 64 Nov 8 16:11 5 -> /home/wstearns/uml/rh6.2/vm_file (deleted) lrwx------ 1 wstearns wstearns 64 Nov 8 16:11 6 -> /home/wstearns/uml/rh6.2/vm_file (deleted) lrwx------ 1 wstearns wstearns 64 Nov 8 16:11 7 -> /dev/ptyp9 lrwx------ 1 wstearns wstearns 64 Nov 8 16:11 8 -> /dev/ptmx lrwx------ 1 wstearns wstearns 64 Nov 8 16:11 9 -> /dev/pts/29 Once we get to named (again, I'm not claiming named is the culprit, it just seems to happen around that time): /proc/15198/fd: total 8 dr-x------ 2 wstearns wstearns 0 Nov 8 16:12 . dr-xr-xr-x 3 wstearns wstearns 0 Nov 8 16:12 .. lrwx------ 1 wstearns wstearns 64 Nov 8 16:12 1 -> /dev/pts/10 lrwx------ 1 wstearns wstearns 64 Nov 8 16:12 10 -> /home/wstearns/uml/rh6.2/root_fs lrwx------ 1 wstearns wstearns 64 Nov 8 16:12 11 -> socket:[4900667] lrwx------ 1 wstearns wstearns 64 Nov 8 16:12 2 -> /dev/pts/10 lrwx------ 1 wstearns wstearns 64 Nov 8 16:12 3 -> /home/wstearns/uml/rh6.2/vm_file (deleted) lrwx------ 1 wstearns wstearns 64 Nov 8 16:12 4 -> /home/wstearns/uml/rh6.2/vm_file (deleted) lrwx------ 1 wstearns wstearns 64 Nov 8 16:12 5 -> /home/wstearns/uml/rh6.2/vm_file (deleted) lrwx------ 1 wstearns wstearns 64 Nov 8 16:12 6 -> /home/wstearns/uml/rh6.2/vm_file (deleted) lrwx------ 1 wstearns wstearns 64 Nov 8 16:12 7 -> /dev/ptyp9 lrwx------ 1 wstearns wstearns 64 Nov 8 16:12 8 -> /dev/ptmx lrwx------ 1 wstearns wstearns 64 Nov 8 16:12 9 -> /dev/pts/29 , and no more stdin. The host lists the following threads: [root@sparrow /root]# ps axf | grep linu[x]-2.4 15198 pts/10 S 0:03 \_ ./linux-2.4.0-test10 [(tracing thread)] 15199 pts/10 S 0:01 \_ ./linux-2.4.0-test10 [(idle thread)] 15204 pts/10 T 0:00 \_ ./linux-2.4.0-test10 [init] 15209 pts/10 S 0:00 | \_ ./linux-2.4.0-test10 [init] 15210 pts/10 S 0:00 | \_ ./linux-2.4.0-test10 [init] 15205 pts/10 T 0:00 \_ ./linux-2.4.0-test10 [(kernel thread)] 15206 pts/10 T 0:00 \_ ./linux-2.4.0-test10 [(kernel thread)] 15207 pts/10 T 0:00 \_ ./linux-2.4.0-test10 [(kernel thread)] 15208 pts/10 T 0:00 \_ ./linux-2.4.0-test10 [(kernel thread)] 15215 pts/10 T 0:00 \_ ./linux-2.4.0-test10 [/sbin/devfsd] 15376 pts/10 T 0:00 \_ ./linux-2.4.0-test10 [/sbin/mingetty] 15377 pts/10 T 0:00 \_ ./linux-2.4.0-test10 [/bin/bash] 15557 pts/10 T 0:00 \_ ./linux-2.4.0-test10 [portmap] 15610 pts/10 T 0:00 \_ ./linux-2.4.0-test10 [syslogd] 15621 pts/10 T 0:00 \_ ./linux-2.4.0-test10 [klogd] 15637 pts/10 T 0:00 \_ ./linux-2.4.0-test10 [identd] 15638 pts/10 T 0:00 \_ ./linux-2.4.0-test10 [identd] 15639 pts/10 T 0:00 \_ ./linux-2.4.0-test10 [identd] 15640 pts/10 T 0:00 \_ ./linux-2.4.0-test10 [identd] 15641 pts/10 T 0:00 \_ ./linux-2.4.0-test10 [identd] 15657 pts/10 T 0:00 \_ ./linux-2.4.0-test10 [crond] 15673 pts/10 T 0:00 \_ ./linux-2.4.0-test10 [inetd] 15677 pts/10 T 0:00 \_ ./linux-2.4.0-test10 [/bin/sh] 15689 pts/10 T 0:00 \_ ./linux-2.4.0-test10 [named] 15690 pts/10 T 0:00 \_ ./linux-2.4.0-test10 [initlog] 15772 pts/10 T 0:00 \_ ./linux-2.4.0-test10 [crond] 15778 pts/10 T 0:00 \_ ./linux-2.4.0-test10 [CROND] A similar run shows the same type of behavior on tap1 I've seen before (uml-rh62 is the uml, uml-router is the masqing host kernel): User level filter, protocol ALL, datagram packet socket tcpdump: listening on tap1 (start up uml </dev/null) 16:25:05.150023 B arp who-has uml-router tell uml-rh62 16:25:05.150049 > arp reply uml-router (fe:fd:0:0:0:0) is-at fe:fd:0:0:0:0 (fe:fd:c0:a8:d2:8d) (uml finds host via arp) 16:25:05.153059 < uml-rh62.1024 > j.root-servers.net.domain: 47718 NS? . (17) (DF) 16:25:05.502358 > j.root-servers.net.domain > uml-rh62.1024: 47718*- 13/0/13 NS A.ROOT-SERVERS.NET., NS H.ROOT-SERVERS.NET., NS C.ROOT-SERVERS.NET., NS G.ROOT-SERVERS.NET., NS F.ROOT-SERVERS.NET., (436) (DF) (root name service request sent and reply returned) 16:25:09.013729 < uml-rh62.1024 > i.root-servers.net.domain: 47718 NS? . (17) (DF) 16:25:09.392363 > i.root-servers.net.domain > uml-rh62.1024: 47718*- 13/0/13 NS L.ROOT-SERVERS.NET., NS M.ROOT-SERVERS.NET., NS I.ROOT-SERVERS.NET., NS E.ROOT-SERVERS.NET., NS D.ROOT-SERVERS.NET., (436) (another root name service request, we'll assume that the uml named was just impatient) 16:25:10.502303 > arp who-has uml-rh62 tell uml-router (fe:fd:0:0:0:0) 16:25:11.502278 > arp who-has uml-rh62 tell uml-router (fe:fd:0:0:0:0) 16:25:12.502277 > arp who-has uml-rh62 tell uml-router (fe:fd:0:0:0:0) (Now the host isn't responding to arps anymore and the uml doesn't seem to be getting the earlier responses or it would have moved on.) 16:25:13.013696 < uml-rh62.1024 > f.root-servers.net.domain: 47718 NS? . (17) (DF) 16:25:13.502277 > arp who-has uml-rh62 tell uml-router (fe:fd:0:0:0:0) 16:25:13.812356 > f.root-servers.net.domain > uml-rh62.1024: 47718*- 13/0/13 NS E.ROOT-SERVERS.NET., NS D.ROOT-SERVERS.NET., NS A.ROOT-SERVERS.NET., NS H.ROOT-SERVERS.NET., NS C.ROOT-SERVERS.NET., (436) (DF) 16:25:14.502281 > arp who-has uml-rh62 tell uml-router (fe:fd:0:0:0:0) 16:25:15.502277 > arp who-has uml-rh62 tell uml-router (fe:fd:0:0:0:0) 16:25:17.013653 < uml-rh62.1024 > G.ROOT-SERVERS.NET.domain: 47718 NS? . (17) (DF) 16:25:21.013519 < uml-rh62.1024 > b.root-servers.net.domain: 47718 NS? . (17) (DF) 16:25:21.552362 > arp who-has uml-rh62 tell uml-router (fe:fd:0:0:0:0) 16:25:22.552280 > arp who-has uml-rh62 tell uml-router (fe:fd:0:0:0:0) 16:25:23.552297 > arp who-has uml-rh62 tell uml-router (fe:fd:0:0:0:0) 16:25:25.017482 < uml-rh62.1024 > m.root-servers.net.domain: 47718 NS? . (17) (DF) 16:25:25.472362 > arp who-has uml-rh62 tell uml-router (fe:fd:0:0:0:0) 16:25:26.472283 > arp who-has uml-rh62 tell uml-router (fe:fd:0:0:0:0) 16:25:27.472285 > arp who-has uml-rh62 tell uml-router (fe:fd:0:0:0:0) 16:25:29.013485 < uml-rh62.1024 > l.root-servers.net.domain: 47718 NS? . (17) (DF) 16:25:33.013447 < uml-rh62.1024 > k.root-servers.net.domain: 47718 NS? . (17) (DF) 16:25:33.372368 > arp who-has uml-rh62 tell uml-router (fe:fd:0:0:0:0) 16:25:34.372294 > arp who-has uml-rh62 tell uml-router (fe:fd:0:0:0:0) 16:25:35.372296 > arp who-has uml-rh62 tell uml-router (fe:fd:0:0:0:0) 16:25:37.013483 < uml-rh62.1024 > d.root-servers.net.domain: 47718 NS? . (17) (DF) 16:25:37.482357 > arp who-has uml-rh62 tell uml-router (fe:fd:0:0:0:0) 16:25:38.482280 > arp who-has uml-rh62 tell uml-router (fe:fd:0:0:0:0) 16:25:39.482287 > arp who-has uml-rh62 tell uml-router (fe:fd:0:0:0:0) 16:25:41.013688 < uml-rh62.1024 > a.root-servers.net.domain: 47718 NS? . (17) (DF) 16:25:41.272365 > arp who-has uml-rh62 tell uml-router (fe:fd:0:0:0:0) 16:25:42.272284 > arp who-has uml-rh62 tell uml-router (fe:fd:0:0:0:0) 16:25:43.272286 > arp who-has uml-rh62 tell uml-router (fe:fd:0:0:0:0) 16:25:45.013502 < uml-rh62.1024 > c.root-servers.net.domain: 47718 NS? . (17) (DF) 16:25:45.902357 > arp who-has uml-rh62 tell uml-router (fe:fd:0:0:0:0) 16:25:46.902282 > arp who-has uml-rh62 tell uml-router (fe:fd:0:0:0:0) 16:25:47.902282 > arp who-has uml-rh62 tell uml-router (fe:fd:0:0:0:0) 16:25:49.013467 < uml-rh62.1024 > h.root-servers.net.domain: 47718 NS? . (17) (DF) 16:25:53.014102 < uml-rh62.1024 > E.ROOT-SERVERS.NET.domain: 47718 NS? . (17) (DF) 16:25:53.402357 > arp who-has uml-rh62 tell uml-router (fe:fd:0:0:0:0) 16:25:54.402279 > arp who-has uml-rh62 tell uml-router (fe:fd:0:0:0:0) 16:25:55.402279 > arp who-has uml-rh62 tell uml-router (fe:fd:0:0:0:0) 16:25:57.013430 < uml-rh62.1024 > j.root-servers.net.domain: 47718 NS? . (17) (DF) 16:25:57.352368 > arp who-has uml-rh62 tell uml-router (fe:fd:0:0:0:0) 16:25:58.012690 < arp who-has uml-router tell uml-rh62 16:25:58.012708 > j.root-servers.net.domain > uml-rh62.1024: 47718*- 13/0/13 NS A.ROOT-SERVERS.NET., NS H.ROOT-SERVERS.NET., NS C.ROOT-SERVERS.NET., NS G.ROOT-SERVERS.NET., NS F.ROOT-SERVERS.NET., (436) (DF) 16:25:58.012714 > arp reply uml-router (fe:fd:0:0:0:0) is-at fe:fd:0:0:0:0 (fe:fd:c0:a8:d2:8d) 16:25:59.012641 < arp who-has uml-router tell uml-rh62 16:25:59.012658 > arp reply uml-router (fe:fd:0:0:0:0) is-at fe:fd:0:0:0:0 (fe:fd:c0:a8:d2:8d) (We're back to arp deafness.) 16:26:00.012637 < arp who-has uml-router tell uml-rh62 16:26:00.012652 > arp reply uml-router (fe:fd:0:0:0:0) is-at fe:fd:0:0:0:0 (fe:fd:c0:a8:d2:8d) 16:26:01.012694 B arp who-has uml-router tell uml-rh62 16:26:01.012710 > arp reply uml-router (fe:fd:0:0:0:0) is-at fe:fd:0:0:0:0 (fe:fd:c0:a8:d2:8d) 16:26:02.012676 B arp who-has uml-router tell uml-rh62 16:26:02.012691 > arp reply uml-router (fe:fd:0:0:0:0) is-at fe:fd:0:0:0:0 (fe:fd:c0:a8:d2:8d) 16:26:03.012670 B arp who-has uml-router tell uml-rh62 16:26:03.012686 > arp reply uml-router (fe:fd:0:0:0:0) is-at fe:fd:0:0:0:0 (fe:fd:c0:a8:d2:8d) 16:26:05.013449 B arp who-has uml-router tell uml-rh62 16:26:05.013466 > arp reply uml-router (fe:fd:0:0:0:0) is-at fe:fd:0:0:0:0 (fe:fd:c0:a8:d2:8d) 16:26:06.012704 B arp who-has uml-router tell uml-rh62 16:26:06.012719 > arp reply uml-router (fe:fd:0:0:0:0) is-at fe:fd:0:0:0:0 (fe:fd:c0:a8:d2:8d) 16:26:07.012738 B arp who-has uml-router tell uml-rh62 16:26:07.012756 > arp reply uml-router (fe:fd:0:0:0:0) is-at fe:fd:0:0:0:0 (fe:fd:c0:a8:d2:8d) 16:26:13.013505 B arp who-has uml-router tell uml-rh62 16:26:13.013521 > arp reply uml-router (fe:fd:0:0:0:0) is-at fe:fd:0:0:0:0 (fe:fd:c0:a8:d2:8d) 16:26:14.012645 B arp who-has uml-router tell uml-rh62 16:26:14.012660 > arp reply uml-router (fe:fd:0:0:0:0) is-at fe:fd:0:0:0:0 (fe:fd:c0:a8:d2:8d) 16:26:15.012651 B arp who-has uml-router tell uml-rh62 16:26:15.012667 > arp reply uml-router (fe:fd:0:0:0:0) is-at fe:fd:0:0:0:0 (fe:fd:c0:a8:d2:8d) 72 packets received by filter Sorry for the long trace, but essentially it looks like the communication starts, but then the host and the uml get deaf to each other. Without being able to do a dump on the uml side I can't be sure, but it looks like requests are making it out but the responses just never make it back. Put down the shotgun, Jeff, that's not what they mean by troubleshooting. Jeff, put it down. /me runs... Cheers, - Bill --------------------------------------------------------------------------- "I don't have any solution but I certainly admire the problem." - Ashleigh Brilliant (Courtesy of Steve Dodd <di...@lo...>) -------------------------------------------------------------------------- William Stearns (wst...@po...). Mason, Buildkernel, named2hosts, and ipfwadm2ipchains are at: http://www.pobox.com/~wstearns LinuxMonth; articles for Linux Enthusiasts! http://www.linuxmonth.com -------------------------------------------------------------------------- |