You can subscribe to this list here.
1999 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(8) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2000 |
Jan
(19) |
Feb
(11) |
Mar
(56) |
Apr
(31) |
May
(37) |
Jun
(21) |
Jul
(30) |
Aug
(31) |
Sep
(25) |
Oct
(60) |
Nov
(28) |
Dec
(57) |
2001 |
Jan
(47) |
Feb
(119) |
Mar
(279) |
Apr
(198) |
May
(336) |
Jun
(201) |
Jul
(136) |
Aug
(123) |
Sep
(123) |
Oct
(185) |
Nov
(66) |
Dec
(97) |
2002 |
Jan
(318) |
Feb
(101) |
Mar
(167) |
Apr
(233) |
May
(249) |
Jun
(134) |
Jul
(195) |
Aug
(99) |
Sep
(278) |
Oct
(435) |
Nov
(326) |
Dec
(325) |
2003 |
Jan
(214) |
Feb
(309) |
Mar
(142) |
Apr
(141) |
May
(210) |
Jun
(86) |
Jul
(133) |
Aug
(218) |
Sep
(315) |
Oct
(152) |
Nov
(162) |
Dec
(288) |
2004 |
Jan
(277) |
Feb
(267) |
Mar
(182) |
Apr
(168) |
May
(254) |
Jun
(131) |
Jul
(168) |
Aug
(177) |
Sep
(262) |
Oct
(309) |
Nov
(262) |
Dec
(255) |
2005 |
Jan
(258) |
Feb
(169) |
Mar
(282) |
Apr
(208) |
May
(262) |
Jun
(187) |
Jul
(207) |
Aug
(171) |
Sep
(283) |
Oct
(216) |
Nov
(307) |
Dec
(107) |
2006 |
Jan
(207) |
Feb
(82) |
Mar
(192) |
Apr
(165) |
May
(121) |
Jun
(108) |
Jul
(120) |
Aug
(126) |
Sep
(101) |
Oct
(216) |
Nov
(95) |
Dec
(125) |
2007 |
Jan
(176) |
Feb
(117) |
Mar
(240) |
Apr
(120) |
May
(81) |
Jun
(82) |
Jul
(62) |
Aug
(120) |
Sep
(103) |
Oct
(109) |
Nov
(181) |
Dec
(87) |
2008 |
Jan
(145) |
Feb
(69) |
Mar
(31) |
Apr
(98) |
May
(91) |
Jun
(43) |
Jul
(68) |
Aug
(135) |
Sep
(48) |
Oct
(18) |
Nov
(29) |
Dec
(16) |
2009 |
Jan
(26) |
Feb
(15) |
Mar
(83) |
Apr
(39) |
May
(23) |
Jun
(35) |
Jul
(11) |
Aug
(3) |
Sep
(11) |
Oct
(2) |
Nov
(28) |
Dec
(8) |
2010 |
Jan
(4) |
Feb
(40) |
Mar
(4) |
Apr
(46) |
May
(35) |
Jun
(46) |
Jul
(10) |
Aug
(4) |
Sep
(50) |
Oct
(70) |
Nov
(31) |
Dec
(24) |
2011 |
Jan
(17) |
Feb
(8) |
Mar
(35) |
Apr
(50) |
May
(75) |
Jun
(55) |
Jul
(72) |
Aug
(272) |
Sep
(10) |
Oct
(9) |
Nov
(11) |
Dec
(15) |
2012 |
Jan
(36) |
Feb
(49) |
Mar
(54) |
Apr
(47) |
May
(8) |
Jun
(82) |
Jul
(20) |
Aug
(50) |
Sep
(51) |
Oct
(20) |
Nov
(10) |
Dec
(25) |
2013 |
Jan
(34) |
Feb
(4) |
Mar
(24) |
Apr
(40) |
May
(101) |
Jun
(30) |
Jul
(55) |
Aug
(84) |
Sep
(53) |
Oct
(49) |
Nov
(61) |
Dec
(36) |
2014 |
Jan
(26) |
Feb
(22) |
Mar
(30) |
Apr
(4) |
May
(43) |
Jun
(33) |
Jul
(44) |
Aug
(61) |
Sep
(46) |
Oct
(154) |
Nov
(16) |
Dec
(12) |
2015 |
Jan
(18) |
Feb
(2) |
Mar
(122) |
Apr
(23) |
May
(56) |
Jun
(29) |
Jul
(35) |
Aug
(15) |
Sep
|
Oct
(45) |
Nov
(94) |
Dec
(38) |
2016 |
Jan
(50) |
Feb
(39) |
Mar
(39) |
Apr
(1) |
May
(14) |
Jun
(12) |
Jul
(19) |
Aug
(12) |
Sep
(9) |
Oct
(1) |
Nov
(13) |
Dec
(7) |
2017 |
Jan
(6) |
Feb
(1) |
Mar
(16) |
Apr
(5) |
May
(61) |
Jun
(18) |
Jul
(43) |
Aug
(1) |
Sep
(8) |
Oct
(25) |
Nov
(30) |
Dec
(6) |
2018 |
Jan
(5) |
Feb
(2) |
Mar
(25) |
Apr
(15) |
May
(2) |
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2019 |
Jan
|
Feb
(2) |
Mar
|
Apr
(1) |
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: William S. <wst...@po...> - 2000-09-29 21:15:07
|
Good afternoon, Jeff, On Fri, 29 Sep 2000, Jeff Dike wrote: > wst...@po... said: > > Where would you like me to send the root filesystem? It's a bit large > > to email. ;-) > > Just leave it someplace with decent bandwidth that I can ftp it from. I'll > take it from there. slartibartfast.pa.net:/pub/uml I'll have the four current distributions there within the hour. > I've just spent the last hour or so banging on mkrootfs with your rpm list to > try to get a bootable RH7.0. Looks like you saved me the trouble. Wow. I never thought I'd hear that I _saved_ you trouble! ;-) Cheers, - Bill --------------------------------------------------------------------------- "First rule: Never sweat the petty things, or pet the sweaty things." (Courtesy of "Michael J. Dark" <dar...@ze...>) -------------------------------------------------------------------------- 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 -------------------------------------------------------------------------- |
From: Jeff D. <jd...@ka...> - 2000-09-29 18:25:20
|
wst...@po... said: > I assume that's on sourceforge? I'll go get it and merge the two. It's in CVS - tools/redhat/mkrootfs > You and I think alike; I use those lines for semi-dynamic > configuration as well. It looks like you were going in the direction of loopback mounting the fs beforehand, fiddling with it, unmounting it, and booting it. My scheme involves making a tar file with the changes and having an early init script untar them into the filesystem. > I'll ship you the early version of a SysVinit script under separate > cover; it's not quite as polished as the mkrootfs. I wrote up a nice little init script - it's on that page I mentioned. Start with that (or end with it - it does everything I need it to do). Jeff |
From: Jeff D. <jd...@ka...> - 2000-09-29 18:14:28
|
wst...@po... said: > Where would you like me to send the root filesystem? It's a bit large > to email. ;-) Just leave it someplace with decent bandwidth that I can ftp it from. I'll take it from there. I've just spent the last hour or so banging on mkrootfs with your rpm list to try to get a bootable RH7.0. Looks like you saved me the trouble. Jeff |
From: William S. <wst...@po...> - 2000-09-29 17:28:52
|
On Wed, 27 Sep 2000, Jeff Dike wrote: > wst...@po... said: > > For once, I'm actually _contributing_ something! *grin* > > And it's not a bug report! > > /me falls out of chair *laugh* OK, I deserve that! > I took a quick look at this, and it looks like the library (addline, delline, > and friends) might work well with (or maybe as a replacement to) my dynamic > UML reconfiguration scheme (see http://user-mode-linux.sourceforge.net/config.h > tml). I'll take a look at it. You and I think alike; I use those lines for semi-dynamic configuration as well. I'll ship you the early version of a SysVinit script under separate cover; it's not quite as polished as the mkrootfs. > As for the RPM stuff itself, you should base this on my latest mkrootfs. I > basically rewrote it a month or so ago. Aside from that minor quibble, this > looks very useful. I assume that's on sourceforge? I'll go get it and merge the two. > On a related note, if you can get hold of the RH 7.0 iso images and make a > filesystem from it, that would be very cool. I haven't been able to stay > connected to a mirror long enough to grab the images. ftp://slartibartfast.pa.net/pub/mirrors/mirrors/ftp.redhat.com/redhat/redhat-7.0 ISO 1 is up there, iso 2 is being uploaded, rpms are getting there as well. All should be there by the end of the day. Where would you like me to send the root filesystem? It's a bit large to email. ;-) Cheers, - Bill --------------------------------------------------------------------------- "Whip me, beat me, make me use ipchains." - Paul "Rusty" Russell -------------------------------------------------------------------------- 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 -------------------------------------------------------------------------- |
From: Jeff D. <jd...@ka...> - 2000-09-28 00:52:44
|
wst...@po... said: > For once, I'm actually _contributing_ something! *grin* And it's not a bug report! /me falls out of chair I took a quick look at this, and it looks like the library (addline, delline, and friends) might work well with (or maybe as a replacement to) my dynamic UML reconfiguration scheme (see http://user-mode-linux.sourceforge.net/config.h tml). Basically, that involves creating a skeleton filesystem outside UML which contains the files you want to change. You tar it up, and pass it in on the UML command line as ubd?=config.tar. An early rc script inside UML looks for an environment variable pointing at that ubd device and untars the config files from it. This happens early enough that you have almost complete control over the configuration. You can't change the root device, but you can fiddle everything else. As for the RPM stuff itself, you should base this on my latest mkrootfs. I basically rewrote it a month or so ago. Aside from that minor quibble, this looks very useful. On a related note, if you can get hold of the RH 7.0 iso images and make a filesystem from it, that would be very cool. I haven't been able to stay connected to a mirror long enough to grab the images. Jeff |
From: William S. <wst...@po...> - 2000-09-27 23:18:41
|
Good day, all, For once, I'm actually _contributing_ something! *grin* Jeff had asked a while back if I could do some work on root filesystems for different distributions; as part of the uml work I'm doing, the replacement build script just naturally handles them. I've attached the build script and support function file. One of the major changes is the use of "addline", "delline" and "substline", which respectively add a line to a file, remove a line from a file, and substitute one string for another in a file. These three functions allow me to make all the changes that were originally done by Jeff's initfiles.tar, but allow me to do it in a distribution-independent way. In other words, If I know that /dev/tty0 needs to be changed to /dev/ttys/0 in rc.sysinit, I can tell the build script to make this one change, instead of having to include a complete replacement rc.sysint to overwrite what might be a completely different rc.sysinit in a new distribution. If all the RPMS= lines are uncommented, it seems to be doing pretty well at running servers, running jleu's ethernet, and even running X (get networking going, run "xhost +uml_ip_address" on the host, and run telinit 3 in uml). The X tends to be pretty flaky - it just segfaults every 30 seconds to 3 minutes, depending on load - but it does generally function. Jeff, could you take a look at this and offer suggestions? I'd really like to make this general enough that it could build any RPM-based distribution. If you have other mkrootfs scripts that you use to make other rpm root filesystems, could you email them to me so I can integrate them? Constructive criticism, suggestions, and patches are welcome from anyone, of course! Cheers, - Bill --------------------------------------------------------------------------- "If the entire earth, land and water, were covered with computers, IPv6 would allow 7x10^23 IP addresses per square meter. [...] While it was not the intention to give every molecule on the surface of the earth its own IP address, we are not that far off." -- Tannenbaum, _Computer_Networks_, 3rd Edition (Courtesy of Joseph Pingenot <ja...@ks...>) -------------------------------------------------------------------------- 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 -------------------------------------------------------------------------- |
From: Mark-Andre H. <ho...@in...> - 2000-09-26 16:11:11
|
Hi Jeff, On 09:39 Tue, 26 Sep, Jeff Dike wrote: > Sure. Pretty it up and send it in. Okay, it's attached below. I tried to keep these changes very small, which resulted in a rather stupid kludge. (I've marked it with comments.) UML with the debian 2.2 is running fine with 2.4.0-test7 as a host system but not with -test8. Don't know what the trouble is. > What's the tun device, anyway? Is it something new or is it the 2.4 > replacement for the tap device or something? It's a replacement for the old ethertap device which is replaced by the `Universal TUN/TAP device driver support'. From the help page: When a program opens /dev/net/tun, the driver creates and registers a corresponding net device tunX or tapX. After the program closed above devices, the driver will automatically delete tunXX or tapXX device and all routes corresponding to it. Bye, Mark diff -ruP uml-net-tools/Makefile uml-net-tools.new/Makefile --- uml-net-tools/Makefile Mon Jul 24 20:45:32 2000 +++ uml-net-tools.new/Makefile Tue Sep 26 16:10:59 2000 @@ -5,10 +5,13 @@ all: um_eth_net_util um_eth_net_set um_eth_net_phy.o: um_eth_net_phy.c um_eth_net.h -um_eth_net_tap.o: um_eth_net_tap.c um_eth_net.h -um_eth_net_util.o: um_eth_net_util.c um_eth_net.h +um_eth_net_tap.o: um_eth_net_tap.c um_eth_net.h config.h +um_eth_net_util.o: um_eth_net_util.c um_eth_net.h config.h um_eth_net_set.o: um_eth_net_set.c um_eth_net.h +config.h: makeconf.sh + sh makeconf.sh > config.h + um_eth_net_util: $(UTIL_OBJS) gcc $(CFLAGS) -o $@ $(UTIL_OBJS) @@ -19,4 +22,4 @@ cd .. ; tar --exclude=CVS -zcf um_eth_net-0.005.tar.gz net/ clean: - rm -rf um_eth_net_util um_eth_net_set *.o core *~ + rm -rf um_eth_net_util um_eth_net_set config.h *.o core *~ diff -ruP uml-net-tools/makeconf.sh uml-net-tools.new/makeconf.sh --- uml-net-tools/makeconf.sh Thu Jan 1 01:00:00 1970 +++ uml-net-tools.new/makeconf.sh Tue Sep 26 16:13:02 2000 @@ -0,0 +1,10 @@ +#!/bin/sh + +cat << EOF +/* Generated automatically by makeconf.sh */ + +EOF + +if test -f /usr/include/linux/if_tun.h ; then + echo "#define HAS_UNIVERSAL_TUNTAP 1" +fi diff -ruP uml-net-tools/um_eth_net.h uml-net-tools.new/um_eth_net.h --- uml-net-tools/um_eth_net.h Mon Jul 24 20:42:47 2000 +++ uml-net-tools.new/um_eth_net.h Tue Sep 26 16:26:37 2000 @@ -29,6 +29,6 @@ extern int packet_output(int, unsigned char *, int); extern int socket_phy_setup(char *); -extern int socket_tap_setup(char *); +extern int socket_tap_setup(char *, int *); #endif diff -ruP uml-net-tools/um_eth_net_tap.c uml-net-tools.new/um_eth_net_tap.c --- uml-net-tools/um_eth_net_tap.c Mon Jul 24 20:42:47 2000 +++ uml-net-tools.new/um_eth_net_tap.c Tue Sep 26 17:50:36 2000 @@ -5,19 +5,44 @@ #include <fcntl.h> #include <errno.h> #include "um_eth_net.h" +#include "config.h" -int socket_tap_setup(char *name) { +#ifdef HAS_UNIVERSAL_TUNTAP +#include <unistd.h> +#include <sys/ioctl.h> +#include <net/if.h> +#include <linux/if_tun.h> +#endif + +int socket_tap_setup(char *name, int *headsize) { char nbuf[16]; int retval = -EINVAL; int new_fd; - if(!strncmp(name,"tap",3)) { - sprintf(nbuf,"/dev/%s",name); - if((new_fd = open(nbuf,O_RDWR|O_NONBLOCK)) < 0) { - perror(nbuf); - } else { - retval = new_fd; + if(strncmp(name,"tap",3)) + return retval; + +#ifdef HAS_UNIVERSAL_TUNTAP + if((new_fd = open("/dev/net/tun",O_RDWR)) >= 0) { + struct ifreq ifr; + memset(&ifr,0,sizeof(ifr)); + ifr.ifr_flags = IFF_TAP | IFF_NO_PI; + if(ioctl(new_fd,TUNSETIFF,(void *)&ifr) < 0) { + perror("/dev/net/tun"); + close(new_fd); + return retval; } + *headsize = 0; + return new_fd; + } +#endif + + sprintf(nbuf,"/dev/%s",name); + if((new_fd = open(nbuf,O_RDWR|O_NONBLOCK)) < 0) { + perror(nbuf); + } else { + *headsize = 2; + return new_fd; } return retval; diff -ruP uml-net-tools/um_eth_net_util.c uml-net-tools.new/um_eth_net_util.c --- uml-net-tools/um_eth_net_util.c Mon Jul 24 20:42:47 2000 +++ uml-net-tools.new/um_eth_net_util.c Tue Sep 26 16:33:09 2000 @@ -109,9 +109,20 @@ exit(-1); } for(in=1;in<argc;in+=2) { - if((new_fd = socket_tap_setup(argv[in])) > 0) { + int headsize; + if((new_fd = socket_tap_setup(argv[in], &headsize)) > 0) { fprintf(stderr,"TAP: %s\n",argv[in]); - type = SOCKET_TAP; + /* this is a dirty kludge to avoid a lot of changes: */ + switch(headsize) { + case 0: + type = SOCKET_PHY; break; + case 2: + type = SOCKET_TAP; break; + default: + fprintf(stderr, "unknown header size before tap packet\n"); + exit(EXIT_FAILURE); + } + /* end of kludge */ } else if((new_fd = socket_phy_setup(argv[in])) > 0) { fprintf(stderr,"PHY: %s\n",argv[in]); type = SOCKET_PHY; -- mar...@in... software engineer innominate AG server appliances networking people tel: +49.30.308806-19 fax: -77 http://innominate.de |
From: Jeff D. <jd...@ka...> - 2000-09-25 21:50:08
|
I decided to go on a breakpoint-fixing binge. First, I went after the kernel debugger breakpoint problem. That turned out to be because do_syscall was accidentally storing the process state in the thread structure when it shouldn't. With that fixed, the kernel debugger now seems to work OK, except that I still can't step across a context switch. But everything else seems to work fine. Then, I looked at why gdb panics the kernel whenever a debuggee hits a breakpoint. That turned out to be because SIGTRAP wasn't delivered to the debuggee when it hit the breakpoint, PTRACE_SINGLESTEP wasn't implemented, which upset gdb, and one or two smaller things. With those fixed, gdb seems to run ok in a virtual machine. There is a somewhat more complete description of what I did on my diary page: http://user-mode-linux.sourceforge.net/diary.html An even more complete description is available from CVS and from the patch manager. Jeff |
From: William S. <wst...@po...> - 2000-09-24 19:22:51
|
Good day, Jeff and all, In shutting down redhat 6.9.5 (and stock redhat 6.2, incase you were wondering), I got a few segfaults and a kernel bug. This is the first time I've used a swapfile in a while. Saving random seed [ OK ] Stopping portmap services: [ OK ] Shutting down interface eth0 [ OK ] Shutting down kernel logger: [ OK ] Shutting down system logger: [ OK ] Starting killall [ OK ] Sending all processes the TERM signal... Sending all processes the KILL signal.. Turning off swap kernel BUG at swapfile.c:300! (system fails to shutdown.) The only command line parameters used were: ./linux-2.4.0-test8 mem=32M ubd1=swap , where swap is a 126M mkswap'ed swap file on the host. linux/mm/swapfile.c has: static void unuse_vma(struct vm_area_struct * vma, pgd_t *pgdir, swp_entry_t entry, struct page* page) { unsigned long start = vma->vm_start, end = vma->vm_end; if (start >= end) BUG(); do { unuse_pgd(vma, pgdir, start, end - start, entry, page); start = (start + PGDIR_SIZE) & PGDIR_MASK; pgdir++; } while (start && (start < end)); } , with the sole BUG line being line 300. I don't get it at every shutdown, but have gotten it a few times. While I do use a sparse root filesystem, this bug shows up whether the swapfile on the host is sparse or not. UML kernel is the Jeff's stock 2.4.0-test8, host kernel is 2.4.0-test9-pre4 with Mingo's VM fix and the ptrace EIP lines removed - essentially 2.4.0-test9-pre5. Cheers, - Bill --------------------------------------------------------------------------- "When in danger or in doubt, run in circles, scream and shout." -- Troubleshooters creed. -------------------------------------------------------------------------- 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 -------------------------------------------------------------------------- |
From: Jeff D. <jd...@ka...> - 2000-09-24 03:37:29
|
I fixed the reboot bug. It's checked into CVS. It's also available from the project patch manager. Jeff |
From: Jeff D. <jd...@ka...> - 2000-09-22 16:39:30
|
vb...@is... said: > The tracing thread is the replacement for the scheduler? No. The tracing thread is what virtualizes everything. It intercepts system calls and gets UML processes in and out of the kernel. The scheduler is where it's always been, in kernel/sched.c:schedule(). > Tasks get > scheduled by the hosting machine? True? No, except in the trivial sense that UML processes have host processes under them, and those processes get scheduled by the host. schedule() in a UML ensures that there is only one runnable process at a time (on a UP virtual machine). That process is made runnable in the host and all of the others are stopped, and can't be scheduled by the host. So, whenever the host decides to give a UML some cycles, those cycles will go to whatever process the UML has scheduled (or maybe the tracing thread if it needs to do something). > Except for the ptrace > (TRACEME) part, what else is required for a task to be a UML proces? It needs to be started by a UML, its signal handlers need to be set up correctly... Look at arch/um/kernel/process.c:trampoline(). > Does the UML kernel keep seperate task_structs? Of course. Native kernels do this, so UML has to. > How is the memory > allocation/organisation handled (so who does this and when do you > allocate it at the host kernel?) The kernel and its memory is present in the address space of every UML process. They get there by being mapped into the initial address space (that of the tracing thread) shared. When new processes are created, they are cloned CLONE_VM, which preserves the sharedness of that memory. The kernel itself is linked to load at 0x10000000, getting it out of the way of its processes, which are going to load at 0x8000000. "Physical" memory is a file mapped in at 0x50000000. kmalloc works from that pool of memory. Pages from that file are mapped into kernel and physical virtual memory areas as mappings are changed. So, vmalloc gets some physical memory with kmalloc, locates some kernel virtual memory to map it into, and the appropriate pages from the physical memory file are mapped into that area by the arch layer. Jeff |
From: Vincent B. <vb...@is...> - 2000-09-21 16:17:06
|
Hi Jeff, I have some general questions regarding the workings of you UML kernel before I start doing serious work. The tracing thread is the replacement for the scheduler? Tasks get scheduled by the hosting machine? True? Except for the ptrace (TRACEME) part, what else is required for a task to be a UML proces? Does the UML kernel keep seperate task_structs? How is the memory allocation/organisation handled (so who does this and when do you allocate it at the host kernel?) Tanks. Vince. |
From: William S. <wst...@po...> - 2000-09-20 15:31:33
|
Good day, Jeff, Vince and all, I'm trying to get UML to run with no console at all; I want it to run in the background as a network server. Here's the command line I'd like to use: /var/lib/uml/linux mem=32M </dev/null >/dev/null 2>/dev/null I get a core dump from that (I'd be glad to provide the core file, of course). By stracing the uml kernel with: strace -o /tmp/uml-no-console /var/lib/uml/linux mem=32M </dev/null >/dev/null 2>/dev/null , I get a trace file that ends with pages and pages of: rt_sigprocmask(SIG_BLOCK, [ALRM VTALRM IO], [ALRM VTALRM IO], 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [], NULL, 8) = 0 ioctl(0, SNDCTL_TMR_STOP, {0x1007 /* B??? */ -opost -isig -icanon -echo ...}) = -1 ENOTTY (Inappropriate ioctl for device) rt_sigprocmask(SIG_BLOCK, [ALRM VTALRM IO], [ALRM VTALRM IO], 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [], NULL, 8) = 0 ioctl(0, SNDCTL_TMR_STOP, {0x1007 /* B??? */ -opost -isig -icanon -echo ...}) = -1 ENOTTY (Inappropriate ioctl for device) rt_sigprocmask(SIG_BLOCK, [ALRM VTALRM IO], [ALRM VTALRM IO], 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [], NULL, 8) = 0 ioctl(0, SNDCTL_TMR_STOP, {0x1007 /* B??? */ -opost -isig -icanon -echo ...}) = -1 ENOTTY (Inappropriate ioctl for device) --- SIGSEGV (Segmentation fault) --- --- SIGSEGV (Segmentation fault) --- +++ killed by SIGSEGV +++ Without the redirects, the uml kernel starts up fine. If I try redirecting it to tty12 (the first 11 are used) with: /var/lib/uml/linux mem=32M </dev/tty12 >/dev/tty12 2>/dev/tty12 & I get none of the boot or login messages, only the usual: error stat'ing /dev/ttydirs/xxx/xxxxxxxxxxxxp1: No such file or directory error stat'ing /dev/ttydirs/xxx/xxxxxxxxxxxxp2: No such file or directory error stat'ing /dev/ttydirs/xxx/xxxxxxxxxxxxp3: No such file or directory error stat'ing /dev/ttydirs/xxx/xxxxxxxxxxxxp4: No such file or directory stair-stepping across the screen as the xterms start up. However, if I simply log in as a user blindly, I can log in successfully and run commands (I can verify that with "w" from one of the xterms). UML kernel is 2.4.0-test8: Linux version 2.4.0-test8-1um (jd...@cc...) (gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)) #1 Fri Sep 8 21:47:26 EST 2000 Host kernel is 2.4.0-test7-pre4 w/ Rik's vmpatch. The root filesystem happens to be an Immunix root_fs (essentially the same as rh 6.2). Cheers, - Bill --------------------------------------------------------------------------- FLASH! Intelligence of mankind decreasing! Details at...uh, when the little hand is on the.... (Courtesy of Joe <jg...@t-...>) -------------------------------------------------------------------------- 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 -------------------------------------------------------------------------- |
From: William S. <wst...@po...> - 2000-09-14 14:58:48
|
Good morning, Jeff, On Thu, 14 Sep 2000, Jeff Dike wrote: > wst...@po... said: > > Kernel panic: Kernel mode fault at addr 0x0, ip 0x1000160c > > What I also want is the results of > i sym 0x1000160c > i line *0x1000160c (gdb) i sym 0x1000160c dequeue_signal + 48 in section .text (gdb) i line *0x1000160c Line 201 of "/usr/src/uml-linux/linux-2.4.0-test8.uml/include/asm/arch/signal.h" starts at address 0x10001609 <dequeue_signal+45> and ends at 0x10001611 <dequeue_signal+53>. > and a stack trace of the panic. Boy, I hope this is what you're looking for: (gdb) bt #0 0x100a9a89 in __wait4 () #1 0xbffff5c4 in ?? () #2 0x1009d6b9 in linux_wait (pid=-1, status=0xbffff5c4, flags=2) at user_util.c:152 #3 0x1009ca32 in signals (init_proc=0x1009ce88 <start_kernel_proc>, sp=0x1011dffc) at trap_user.c:98 #4 0x1009d35f in linux_main (argc=2, argv=0xbffff6d4) at um_arch.c:189 #5 0x100011d6 in main (argc=2, argv=0xbffff6d4, envp=0xbffff6e0) at /usr/src/uml-linux/linux-2.4.0-test8.uml/arch/um/main.c:54 If not, I still have it running... Cheers, - Bill --------------------------------------------------------------------------- If you've been pounding nails with your forehead for years, it may feel strange the first time somebody hands you a hammer. But that doesn't mean that you should strap the hammer to a headband just to give your skull that old familiar jolt. -- Wayne Throop, during the ``TCL Wars'' (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 -------------------------------------------------------------------------- |
From: Jeff D. <jd...@ka...> - 2000-09-14 14:34:18
|
wst...@po... said: > Kernel panic: Kernel mode fault at addr 0x0, ip 0x1000160c What I also want is the results of i sym 0x1000160c i line *0x1000160c and a stack trace of the panic. Jeff |
From: William S. <wst...@po...> - 2000-09-14 14:16:24
|
Good day, all, I was doing the usual wget-pages-from-the-host-to-the-uml-squid and ping-flood-the-host-from-uml and got the following on the console: bash# Kernel panic: Kernel mode fault at addr 0x0, ip 0x1000160c Message from syslogd@uml-test at Wed Sep 13 16:26:18 2000 ... uml-test kernel: Kernel panic: Kernel mode fault at addr 0x0, ip 0x1000160c Scheduling in interrupt kernel BUG at sched.c:698! From sched.c: scheduling_in_interrupt: printk("Scheduling in interrupt\n"); BUG(); return; } With the howto as a guide, I tried to get some relevant state with gdb: [wstearns@sparrow rh6.2]$ gdb linux-2.4.0-test8-cvs-000913 GNU gdb 19991004 Copyright 1998 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-redhat-linux"... (gdb) att 9941 Attaching to program: /home/wstearns/uml/rh6.2/linux-2.4.0-test8-cvs-000913, Pid 9941 0x100a9a89 in __wait4 () (gdb) p current_task.pid $1 = 544 (gdb) p current_task.comm $2 = "piD'Pd'P\000\000\000\000L" (gdb) p current_task.prev_task.comm $3 = "bash\000\000ty\000\000\000\000\000\000\000" (gdb) p current_task.thread $4 = {extern_pid = 1344791268, tracing = 0, forking = 269067394, kernel_stack = 1344791140, real_mm = 0x50017dc0, starting_exec = 269612136, signal = { signal = 269612108, sp = 301999616, handler = 0}, npending = 0, saved_sigs = {sig = {1344791180, 1344791468}}, nsyscalls = 0, process_regs = {regs = {1, 1344794484, 0, 8, 1, 1344794324, 0, 43, 43, 0, 0, 1344791364, 269105191, 35, 582, 1344794300, 43}}, syscall_regs = {regs = {1344791256, 269067201, 1344791268, 1344791556, 0, 1344791276, 269067201, 1344791300, 14, 1344791556, 1344791428, 1344791684, 269067394, 1344791300, 1354079040, 0, 269834784}}, syscall_stack = 0x12002600, syscall_stack_size = 0, altstack_regs = {regs = {0 <repeats 17 times>}}, altstack = 0x0, altstack_size = 0, cr2 = 0, err = 0, check_sigs = 0, restore_state = 0, mm_changes = 0, fault_addr = 0x0, syscall = {id = 0, args = {0, 0, 0, 0, 0, 0}, have_result = 0, result = 0, again = 0}, request = {op = 0, u = {exec = {ip = 0, sp = 0}, fork = {task = 0x0, tramp_stack = 0, sp = 0}, cswitch = {to = 0x0, from = 0x0}, thread = {proc = 0, arg = 0x0, flags = 0, new_pid = 0, new_task = 0x0, cpu = 0}, fork_finish = {stack = 0, regs = {regs = {0 <repeats 17 times>}}, from = 0x0}, cb = {proc = 0, arg = 0x0}}}} (gdb) p current_task.prev_task.thread $5 = {extern_pid = 13533, tracing = 0, forking = 0, kernel_stack = 1354440704, real_mm = 0x50e96780, starting_exec = 0, signal = {signal = 17, sp = 0, handler = 134594960}, npending = 0, saved_sigs = {sig = {0, 0}}, nsyscalls = 767, process_regs = {regs = {0, 3212833995, 1, 3212833995, 1, 3212833996, 4294967258, 43, 43, 0, 0, 3, 1074530996, 35, 646, 3212833964, 43}}, syscall_regs = {regs = {13533, 19, 13533, 1354564220, 0, 1354448144, 0, 43, 43, 0, 0, 37, 269105313, 35, 515, 1354448072, 43}}, syscall_stack = 0x5079e000, syscall_stack_size = 824, altstack_regs = {regs = {0 <repeats 17 times>}}, altstack = 0x0, altstack_size = 0, cr2 = 0, err = 0, check_sigs = 0, restore_state = 0, mm_changes = 0, fault_addr = 0x0, syscall = {id = 3, args = {0, 3212833995, 1, 3212833995, 1, 3212833996}, have_result = 0, result = 6, again = 0}, request = {op = 0, u = {exec = {ip = 1347805184, sp = 1347026944}, fork = { task = 0x5055e000, tramp_stack = 1347026944, sp = 0}, cswitch = {to = 0x5055e000, from = 0x504a0000}, thread = {proc = 0x5055e000, arg = 0x504a0000, flags = 0, new_pid = -1082144096, new_task = 0x40145220, cpu = -1082138916}, fork_finish = {stack = 1347805184, regs = {regs = {1347026944, 0, 3212823200, 1075073568, 3212828380, 3212827996, 0, 43, 43, 0, 0, 2, 1074678903, 35, 514, 3212823816, 43}}, from = 0x50afc000}, cb = {proc = 0x5055e000, arg = 0x504a0000}}}} (gdb) I still have the uml running if you need more info. Cheers, - Bill --------------------------------------------------------------------------- The man who sets out to carry a cat by its tail learns something that will always be useful and which never will grow dim or doubtful. -- Mark Twain. (Courtesy of Thierry GUINET <T.G...@na...>) -------------------------------------------------------------------------- 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 -------------------------------------------------------------------------- |
From: Jeff D. <jd...@ka...> - 2000-09-13 03:54:33
|
This fixes the shell segfault problem. I think it also fixes the "Already have result in set_syscall_result" panic that Bill found today. Jeff |
From: Jeff D. <jd...@ka...> - 2000-09-13 02:11:33
|
wst...@po... said: > I was able to get it to burp, unfortunately, by running "ping -f > host_ip" inside uml while those outside requests were still coming in. > The primary console got the following message: > Kernel panic: Already have result in set_syscall_result I think I found the cause of this one. Stay tuned... Jeff |
From: Jeff D. <jd...@ka...> - 2000-09-12 22:09:44
|
wst...@po... said: > The primary console got the following message: > Kernel panic: Already have result in set_syscall_result Can we see a stack trace from that? Jeff |
From: William S. <wst...@po...> - 2000-09-12 21:27:55
|
Good day, all, I spent a few hours beating on the networking code in test8 (James Leu's new eth code). wget, running in a continuous loop on the host, kept asking the squid proxy in uml to get a web tree from an external web server. Granted, squid caches the requests so it didn't exercise outgoing packets, but the tap-eth0 link did get a steady flow of packets. I was able to make at least 65K web requests to squid without a burp. I was able to get it to burp, unfortunately, by running "ping -f host_ip" inside uml while those outside requests were still coming in. The primary console got the following message: Kernel panic: Already have result in set_syscall_result Ping went up to 85% cpu utilization in the host's top. I'm testing some more with just the uml->host ping. Cheers, - Bill --------------------------------------------------------------------------- Do you smoke after sex? Why, do you know, I've never looked! (Courtesy of Matthias Urlichs <sm...@no...>) -------------------------------------------------------------------------- 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 -------------------------------------------------------------------------- |
From: William S. <wst...@po...> - 2000-09-11 16:25:55
|
Good day, Jeff and all, I'm having trouble running uml's under 2.4.0-test8 (both final and pre6). The uml kernel(*) boots up partway but seems to get stuck in rc.sysinit: ... devfs: v0.102 (20000622) Richard Gooch (rg...@at...) devfs: devfs_debug: 0x0 devfs: boot_options: 0x0 VFS: Mounted root (ext2 filesystem) readonly. Mounted devfs on /dev Child 967 exited with signal 11 Booting up with devfs=nomount only changes to: devfs: v0.102 (20000622) Richard Gooch (rg...@at...) devfs: devfs_debug: 0x0 devfs: boot_options: 0x2 VFS: Mounted root (ext2 filesystem) readonly. Child 1013 exited with signal 11 rc.sysinit is from redhat pinstripe, I think; the only functional change near the top is that it includes the "run devfsd" test: #!/bin/sh # # /etc/rc.sysinit - run once at boot time # # Taken in part from Miquel van Smoorenburg's bcheckrc. # # Rerun ourselves through initlog if [ -z "$IN_INITLOG" ]; then [ -f /sbin/initlog ] && exec /sbin/initlog $INITLOG_ARGS -r /etc/rc.sysinit fi # If we're using devfs, start devfsd now - we need the old device names [ -e /dev/.devfsd -a -x /sbin/devfsd ] && /sbin/devfsd /dev # Set the path PATH=/bin:/sbin:/usr/bin:/usr/sbin export PATH ... The uml boot has worked so far at least up to 2.4.0-test7-pre4. I'm aware that sig 11's can indicate hardware failures, but it seems a little strange that changing the host kernel would stop the uml kernel to stop booting, and always at exactly the same point. I tried putting "echo a", "echo b" type debug statements in rc.sysinit to see exactly which line fails, but echo doesn't seem to actually put anything on the screen. I've tried straight "echo a", "echo a >/dev/console", "echo a >/dev/ttys/0", "echo a >/dev/tty0", and "echo a >/dev/stderr" with no output at all. :-( When I backed down to 2.4.0-test7 final, the debug statments actually started to do something. "echo a >/dev/tty0" just gave me permission denied, but "echo a >/dev/console" actually spit out an "a". All 17 debugs actually showed up, and rc.sysinit actually seemed to run, but the boot bagged out on checking the root filesystem: Enabling swap space [ OK ] INIT: Entering runlevel: 3 Entering non-interactive startup a b a d Error setting event mask Device or resource busy e f g h k l m Welcome to Red Hat Linux n o Press 'I' to enter interactive startup. p q Mounting proc filesystem [ OK ] Configuring kernel parameters [ OK ] Setting clock : Mon Sep 11 12:20:43 EDT 2000 [ OK ] Activating swap partitions [ OK ] Setting hostname lab21.ists.dartmouth.edu [ OK ] Checking root filesystem /dev/ubd/0 is mounted. Cannot continue, aborting. [/sbin/fsck.ext2 -- /] fsck.ext2 -a /dev/ubd/0 [FAILED] *** An error occurred during the file system check. *** Dropping you to a shell; the system will reboot *** when you leave the shell. Give root password for maintenance (or type Control-D for normal startup): What's "Error setting event mask, Device or resource busy"? Between "d" and "e" there's only the devfsd call: [ -e /dev/.devfsd -a -x /sbin/devfsd ] && /sbin/devfsd /dev Same "/dev/ubd/0 is mounted." problem with devfs=mount and/or "ro" on the command line. Using devfs=nomount gives the expected: Checking root filesystem (null): The superblock could not be read or does not describe a correct ext2 filesystem. If the device is valid and it really contains an ext2 filesystem (and not swap or ufs or something else), then the superblock is corrupt, and you might try running e2fsck with an alternate superblock: e2fsck -b 8193 <device> [/sbin/fsck.ext2 -- /] fsck.ext2 -a /dev/ubd/0 fsck.ext2: No such file or directory while trying to open /dev/ubd/0 [FAILED] *** An error occurred during the file system check. *** Dropping you to a shell; the system will reboot *** when you leave the shell. Summary: 2.4.0-test8 (pre6 and final) host: can't seem to echo, uml boot dies near the beginning of rc.sysinit. 2.4.0-test7 final host: can see debug echos in rc.sysinit, but can't do root fs check. 2.4.0-test7-pre4: boots fine. Cheers, - Bill 'probably found another red herring' Stearns * (Linux version 2.4.0-test7-1um (jd...@cc...) (gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)) #2 Thu Aug 24 12:51:12 EST 2000 in this case) --------------------------------------------------------------------------- "Knowledge is of two kinds. We know a subject ourselves, or we know where we can find information upon it." - Dr Samuel Johnson (1775) (Courtesy of David Cozzens, <dco...@ej...>) -------------------------------------------------------------------------- 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 -------------------------------------------------------------------------- |
From: Jeff D. <jd...@ka...> - 2000-09-09 01:33:00
|
This batch includes Andrea's fixes for LFS host kernels, plus a bunch of cleanup in that code, and some fixes in the block driver to produce better behavior on out-of-range I/O and partial reads. Jeff |
From: James R. L. <jl...@mi...> - 2000-09-07 22:32:01
|
On Thu, Sep 07, 2000 at 05:01:45PM -0400, William Stearns wrote: > Good day, James, Jeff, et al, > I've had some luck with the new Ethernet code, but some things > aren't working exactly as I'd expect. May I bore you with the details? > :-) > The UML is 192.168.0.12 with mac address cc0:ff:ee:c0:ff:ee, the > host is 192.168.0.254 with mac address FE:FD:00:00:00:00. Network 100 for > simplicity. > > In host, as root: > ifconfig tap0 192.168.0.254 netmask 255.255.255.0 broadcast 192.168.0.255 up > um_eth_net_util tap0 100 > Gives: > [root@sparrow /root]# um_eth_net_util tap0 100 > /dev/tap0: No such file or directory > PHY: tap0 I should probably have a more meaningful error message. /dev/tap0 is required. > Verrrrrrrrry Eeeeeeenteresting! I still can't ping, but tcpdump > is at least showing me more reasonable output; these actually look like > arp requests. > OK, why isn't the host replying? Let's add arp to tap0 on the > host: > > ifconfig tap0 192.168.0.254 netmask 255.255.255.0 broadcast 192.168.0.255 arp up Yep. Tap interfaces do not respond to arp by default. It seems like that should be a default being that it is called "ethertap" oh well. > - Should um_eth_net_util require a real file called /dev/tap0? If that > file is missing, should it still work? > > - Could the uml's eth0 be brought up by default with the "arp" flag > set? At this point I have to run the following lines before the > networking is brought up: I think the uml's ethernets have "arp" on by default. I will double check. I do know that you need to add "arp" to the tap0 interface. > It would be cool if some random mac address could be assigned if > the user doesn't assign one and the arp flag could be set > automatically. I would like to have a scheme for coming up with a unique MAC address, but I haven't yet figured one out. Any ideas? Jim -- James R. Leu |
From: William S. <wst...@po...> - 2000-09-07 20:44:48
|
Good day, James, Jeff, et al, I've had some luck with the new Ethernet code, but some things aren't working exactly as I'd expect. May I bore you with the details? :-) The UML is 192.168.0.12 with mac address cc0:ff:ee:c0:ff:ee, the host is 192.168.0.254 with mac address FE:FD:00:00:00:00. Network 100 for simplicity. In host, as root: ifconfig tap0 192.168.0.254 netmask 255.255.255.0 broadcast 192.168.0.255 up um_eth_net_util tap0 100 Gives: [root@sparrow /root]# um_eth_net_util tap0 100 /dev/tap0: No such file or directory PHY: tap0 connect From uml, .12, I try to ping the host: bash# ping 192.168.0.254 PING 192.168.0.254 (192.168.0.254) from 192.168.0.12 : 56(84) bytes of data. From 192.168.0.12 (192.168.0.12): Destination Host Unreachable From 192.168.0.12 (192.168.0.12): Destination Host Unreachable ... The output from um_eth_net_util is: 05 100 -> ff ff ff ff ff ff c0 ff ee c0 ff ee 08 06 00 01 -> 04 05 100 -> ff ff ff ff ff ff c0 ff ee c0 ff ee 08 06 00 01 -> 04 ... Running tcpdump on the host gives: [root@sparrow /root]# tcpdump -i tap0 -qtn User level filter, protocol ALL, datagram packet socket tcpdump: listening on tap0 > 0:0:0:0:0:0 > c0:ff:ee:c0:ff:ee null I (s=4,r=0,R) len=24 0604 0001 c0ff eec0 ffee c0a8 000c 0000 0000 0000 c0a8 00fe > 0:0:0:0:0:0 > c0:ff:ee:c0:ff:ee null I (s=4,r=0,R) len=24 0604 0001 c0ff eec0 ffee c0a8 000c 0000 0000 0000 c0a8 00fe ... ----------------------------------------------------------------- In the above tests, the host has no file called /dev/tap0. Let's make one: mknod /dev/tap0 c 36 16 Now, try the same again: [root@sparrow /root]# um_eth_net_util tap0 100 TAP: tap0 05 100 -> ff ff ff ff ff ff c0 ff ee c0 ff ee 08 06 00 01 -> 04 05 100 -> ff ff ff ff ff ff c0 ff ee c0 ff ee 08 06 00 01 -> 04 ... bash# ping 192.168.0.254 PING 192.168.0.254 (192.168.0.254) from 192.168.0.12 : 56(84) bytes of data. From 192.168.0.12 (192.168.0.12): Destination Host Unreachable From 192.168.0.12 (192.168.0.12): Destination Host Unreachable [root@sparrow /root]# tcpdump -i tap0 -qtn User level filter, protocol ALL, datagram packet socket tcpdump: listening on tap0 B arp who-has 192.168.0.254 tell 192.168.0.12 B arp who-has 192.168.0.254 tell 192.168.0.12 ... Verrrrrrrrry Eeeeeeenteresting! I still can't ping, but tcpdump is at least showing me more reasonable output; these actually look like arp requests. OK, why isn't the host replying? Let's add arp to tap0 on the host: ifconfig tap0 192.168.0.254 netmask 255.255.255.0 broadcast 192.168.0.255 arp up Here's tcpdump as uml starts up: [root@sparrow /root]# tcpdump -i tap0 -qtn User level filter, protocol ALL, datagram packet socket tcpdump: listening on tap0 B arp who-has 192.168.0.254 tell 192.168.0.12 > arp reply 192.168.0.254 (fe:fd:0:0:0:0) is-at fe:fd:0:0:0:0 (c0:ff:ee:c0:ff:ee) < 192.168.0.12.2048 > 192.168.0.254.domain: udp 42 (DF) > 192.168.0.254 > 192.168.0.12: icmp: 192.168.0.254 udp port domain unreachable (DF) [tos 0xc0] < 192.168.0.12.2048 > 192.168.0.254.domain: udp 42 (DF) > 192.168.0.254 > 192.168.0.12: icmp: 192.168.0.254 udp port domain unreachable (DF) [tos 0xc0] < 192.168.0.12.2048 > 192.168.0.254.domain: udp 42 (DF) > 192.168.0.254 > 192.168.0.12: icmp: 192.168.0.254 udp port domain unreachable (DF) [tos 0xc0] < 192.168.0.12.2048 > 192.168.0.254.domain: udp 42 (DF) > 192.168.0.254 > 192.168.0.12: icmp: 192.168.0.254 udp port domain unreachable (DF) [tos 0xc0] < 192.168.0.12.2048 > 192.168.0.254.domain: udp 61 (DF) > 192.168.0.254 > 192.168.0.12: icmp: 192.168.0.254 udp port domain unreachable (DF) [tos 0xc0] < 192.168.0.12.2048 > 192.168.0.254.domain: udp 61 (DF) > 192.168.0.254 > 192.168.0.12: icmp: 192.168.0.254 udp port domain unreachable (DF) [tos 0xc0] < 192.168.0.12.2048 > 192.168.0.254.domain: udp 61 (DF) > arp who-has 192.168.0.12 tell 192.168.0.254 (fe:fd:0:0:0:0) < arp reply 192.168.0.12 is-at c0:ff:ee:c0:ff:ee (fe:fd:0:0:0:0) < 192.168.0.12.2048 > 192.168.0.254.domain: udp 61 (DF) > 192.168.0.254 > 192.168.0.12: icmp: 192.168.0.254 udp port domain unreachable (DF) [tos 0xc0] < 192.168.0.12.2048 > 192.168.0.254.domain: udp 42 (DF) > 192.168.0.254 > 192.168.0.12: icmp: 192.168.0.254 udp port domain unreachable (DF) [tos 0xc0] < 192.168.0.12.2048 > 192.168.0.254.domain: udp 42 (DF) > 192.168.0.254 > 192.168.0.12: icmp: 192.168.0.254 udp port domain unreachable (DF) [tos 0xc0] < 192.168.0.12.2048 > 192.168.0.254.domain: udp 42 (DF) > 192.168.0.254 > 192.168.0.12: icmp: 192.168.0.254 udp port domain unreachable (DF) [tos 0xc0] < 192.168.0.12.2048 > 192.168.0.254.domain: udp 42 (DF) > 192.168.0.254 > 192.168.0.12: icmp: 192.168.0.254 udp port domain unreachable (DF) [tos 0xc0] < 192.168.0.12.2048 > 192.168.0.254.domain: udp 61 (DF) > 192.168.0.254 > 192.168.0.12: icmp: 192.168.0.254 udp port domain unreachable (DF) [tos 0xc0] < 192.168.0.12.2048 > 192.168.0.254.domain: udp 61 (DF) At this point, I just have incomplete dns information; putting the hosts IP in the uml's /etc/hosts allows the ping to proceed correctly. Nicely enough, I can ping in and out, and even ssh in from the outside world. So _finally_ (:-), here are the minor issues: - Should um_eth_net_util require a real file called /dev/tap0? If that file is missing, should it still work? - Could the uml's eth0 be brought up by default with the "arp" flag set? At this point I have to run the following lines before the networking is brought up: /sbin/ifconfig eth0 hw ether c0:ff:ee:c0:ff:ee /sbin/ifconfig eth0 arp It would be cool if some random mac address could be assigned if the user doesn't assign one and the arp flag could be set automatically. ----------------------------------------------------------------- Just for reference, here's the setup inside the uml: bash# ifconfig eth0 Link encap:Ethernet HWaddr C0:FF:EE:C0:FF:EE inet addr:192.168.0.12 Bcast:192.168.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:57 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 Interrupt:4 bash# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.0.12 0.0.0.0 255.255.255.255 UH 0 0 0 eth0 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo 0.0.0.0 192.168.0.254 0.0.0.0 UG 0 0 0 eth0 0.0.0.0 192.168.0.254 0.0.0.0 UG 1 0 0 eth0 Cheers, - Bill --------------------------------------------------------------------------- Having Microsoft give us advice on open standards is like W.C. Fields giving moral advice to the Mormon Tabernacle Choir -- Scott McNealy, Sun Microsystems Inc. (Courtesy of Michael Remski <mr...@ix...>) -------------------------------------------------------------------------- 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 -------------------------------------------------------------------------- |
From: Jeff D. <jd...@ka...> - 2000-09-03 04:11:20
|
I wrote a little perl module which can boot up a uml, log in to it, run commands, and shut it down. This is the guts of the little demo: my $uml = UML->new(arguments => $args); $uml->boot(); $uml->command('ls -al'); $uml->halt(); You can get it by grabbing tools/test from CVS or from the project download page. Read the README and all will become clear... Jeff |