Back to Home / #uml / 2007 / 03 / Prev Day | Next Day
#uml IRC Logs for 2007-03-16

---Logopened Fri Mar 16 00:00:44 2007
01:55|-|cmantito changed nick to cm
01:56|-|cmantito [] has joined #uml
02:04|-|cmantito [] has quit [Quit: I aer quitted.]
02:04|-|cmantito [] has joined #uml
02:06|-|cm [~gphreak@] has quit [Quit: byes]
02:18|-|baroni [] has quit [Remote host closed the connection]
02:35|-|motp [~motp@] has joined #uml
03:25|-|VS_ChanLog [] has quit [Ping timeout: 480 seconds]
03:25|-|VS_ChanLog [] has joined #uml
03:42|-|besonen_ [] has quit [Read error: Connection reset by peer]
03:42|-|besonen_ [] has joined #uml
03:45|-|motp [~motp@] has quit [Quit: Leaving]
04:10|-|tyler [~tyler@] has joined #uml
05:19|-|dan [] has joined #uml
06:20|-|Netsplit <-> quits: SNy
06:20|-|SNy [] has joined #uml
07:22|-|baroni [] has joined #uml
07:22|-|cktakahasi [~cktakahas@] has joined #uml
07:22|-|cktakahasi [~cktakahas@] has quit []
08:08|-|tyler [~tyler@] has quit [Remote host closed the connection]
08:12|-|tyler [~tyler@] has joined #uml
08:35|-|krau [~cktakahas@] has quit [Ping timeout: 480 seconds]
08:48|-|krau [~cktakahas@] has joined #uml
08:55|-|jdike [] has joined #uml
08:56<jdike>Hi guys
09:04|-|krau [~cktakahas@] has quit [Quit: Leaving]
09:04|-|krau [~cktakahas@] has joined #uml
09:13|-|pidhash [] has joined #uml
10:22|-|dan changed nick to da-x_
10:28|-|hfb [] has joined #uml
10:38|-|hfb [] has quit [Quit: Leaving]
10:43|-|besonen_mobile_ [] has joined #uml
10:49|-|besonen_mobile [] has quit [Ping timeout: 480 seconds]
10:51|-|richardw [] has joined #uml
11:09|-|pidhash [] has quit [Quit: later]
11:38|-|the_hydra [~mulyadi@] has joined #uml
12:18|-|richardw_ [] has joined #uml
12:22|-|richardw [] has quit [Read error: Operation timed out]
13:05<baroni>Hi all. Got finished to compile a 2.6.21-rc1 uml with this message: WARNING: vmlinux - Section mismatch: reference to .init.setup:__setup_set_reset_devices from .bss between 'stdout@@GLIBC_2.0' (at offset 0x8241220) and 'stderr@@GLIBC_2.0'
13:05<baroni>WARNING: vmlinux - Section mismatch: reference to .init.text:set_reset_devices from .bss between 'stderr@@GLIBC_2.0' (at offset 0x8241224) and 'stdin@@GLIBC_2.0'
13:05<baroni> LINK linux
13:06<baroni>but compiled with success
13:10<jdike>yeah, those are noise
13:17|-|the_hydra [~mulyadi@] has quit [Remote host closed the connection]
13:25<baroni>oh, ok, thanks jdike :)
13:26<baroni>running with success here, one more 2.6.21-rc1 uml :)
13:27<baroni>thanks uml-devs
13:28<baroni>jdike: i've tried to keep a doc about building an uml kernel and a filesystem updated -
13:28|-|tommie [~tommie@] has joined #uml
13:28<netcrusher88>i get a compile error trying to commpile from the sources: arch/um/sys-i386/user-offsets.c:4:22: error: asm/user.h: No such file or directory
13:29<jdike>post it to uml-user
13:29<jdike>baroni's link, that is
13:29<netcrusher88>i found a reference to user.h in gentoo's linux-headers changelog - it seems that file has been dropped, along with page.h
13:30<netcrusher88>any ideas for a workaround?
13:30<jdike>remove the include and see what happens
13:30<baroni>jdike: ok, but i'll translate it to english before that, and improve it with some noted points
13:31<jdike>OK, but it would still be OK with a disclaimer that it's portuguese
13:32<netcrusher88>compile still fails:
13:32<netcrusher88>wait, hold on
13:33<netcrusher88>does 'foo' actually do anything or just kinda exist?
13:33<jdike>it just kinda exists
13:34<netcrusher88>so if i comment that out... am i reading the compiler errors right, all the errors are in that function?
13:34<jdike>OK, so you need to find where gentoo has put struct user_i387_struct, struct user_fxsr_struct, and struct user_regs_struct
13:35<jdike>and struct struct_redundancy_struct_struct
13:36<netcrusher88>grep -r user_i387_struct /usr/include/linux returns nothing
13:36<jdike>try /usr/include
13:36<jdike>it may be in asm
13:36<jdike>or sys or something
13:37|-|tommie [~tommie@] has quit [Quit: Leaving]
13:41<netcrusher88>looks like all three are in asm/elf.h and user_regs_struct is also in sys/user.h
13:42|-|tyler [~tyler@] has quit [Ping timeout: 480 seconds]
13:53|-|mjf [] has joined #uml
14:01<jdike>OK, maybe that's the fix
14:01<jdike>I see the same here
14:03|-|tyler [~tyler@] has joined #uml
14:04|-|baroni [] has quit [Ping timeout: 480 seconds]
14:08<netcrusher88>it appears that after commenting out 'foo' i get "error: #error You lose." from jiffies.h - may or may not be related
14:10<jdike>why would you do that?
14:11<netcrusher88>it seemed to be causing the errors
14:11<netcrusher88>just seeing if it would work
14:13<jdike>well, that doesn't break here
14:17|-|tyler_ [~tyler@] has joined #uml
14:19|-|tyler [~tyler@] has quit [Read error: Connection reset by peer]
14:24|-|tyler_ [~tyler@] has quit [Read error: Connection reset by peer]
14:29<jdike>Add V=1 to the make command and paste the results?
14:29<netcrusher88>hmm... it appears that gento reccommend rebuilding glibc for that
14:29<jdike>but it looks like gentoo is screwed up
14:31<jdike>looks like gentoo screwed up
14:33<netcrusher88>that's what i get for using unstable
14:34[~]caker fights the urge...
14:34[~]caker gives in
14:34<caker>or Gentoo...
14:38<jdike>but it might be a harbinger of things to come
14:39<jdike>I'll hang on to this patch and send it out as soon as I see someone with a non-broken system with this problem
14:44|-|baroni [] has joined #uml
16:17<netcrusher88>okay well
16:17<netcrusher88>downgrading linux-headers seems to have worked-ish
16:17<netcrusher88>now i get errors from config.h
16:18<netcrusher88>er... from jiffies.h
16:19<netcrusher88>also, i think the developer was wrong to remove user.h - it seems to break other headers in that package
16:20<netcrusher88>after downgrading to a not-broken version, reverting to the original include works
16:34|-|tyler [~tyler@] has joined #uml
16:39<jdike>looks like a broken config
16:39<jdike>did you do a defconfig at any point?
16:57|-|kos_tom [] has joined #uml
16:59|-|krau [~cktakahas@] has quit [Quit: Leaving]
17:32[~]jdike finishes shovelling snow
17:35|-|fghj [~tkxue@agp.Stanford.EDU] has joined #uml
17:35<fghj>I am struggling to get basic serial line support working
17:35<fghj>here's what I want to do / what I have tried
17:36<fghj>I compiled 2.6.20 with arch = um
17:36<fghj>to get the linux binary
17:36<fghj>I made an ext2 filesystem
17:36<fghj>I wrote a simple app in called test.c, compiled it with -static and -static-libgcc and placed it in the filesystem
17:36<fghj>I do linux ubd0=fakedisk init=/name-of-prog
17:37<fghj>so what I want to be able to do right now, is to have _any_ type of comunication between /name-of-prog (within uml) and some application outside of uml
17:37<fghj>(the goal is to have this communication going on)
17:37<fghj>it appears that the easiest way to do this is to use serial line
17:37<fghj>so I try to do con3=port:9000
17:37<fghj>then in (name-of-prog, I open up /dev/tty3 and try to write to it); but I don't see any of that when I telnet to 9000 on localhost
17:37<fghj>I'm not sure what to do now ... thoghts?
17:38<fghj>jdike: you here? :-) guessing jdike == jeff dike == author of UML :-D
17:39<fghj>awesome; please enlighten me :-)
17:39<jdike>You familiar with Expect?
17:39<fghj>I know that my prog is getting executed, since if I don't specify it, the machine starts then stops (whereas now, it hits a while 1) then hangs
17:39<jdike>either tcl or perl versions?
17:39<fghj>no, what should I google for?
17:40<jdike>what's your scripting language of choice?
17:40<fghj>python; but I'm familiar with perl
17:40<jdike>the idea is the thing just reads and writes stdin/stdout
17:40<jdike>maybe there's a python expect
17:41<fghj>where can I read up on "expect" ?
17:41<fghj>(ggoing for it is rather useless)
17:41<jdike>the perl flavor
17:42<jdike>and your expect script runs UML as a child and talks to it over a pty
17:43<fghj>expect is installed on the host and not the uml-ed machine?
17:45<fghj>this still does not explain what I need to do _inside_ of UML?
17:45<fghj>(I'm trying to build up userspace from scratch for fun)
17:45<fghj>currently stuck on the getting any type of communication going stage
17:46<fghj>(there is no getty or login or anything else installed in the guest uml)
17:46<fghj>all that's there is this one prog I wrote
17:49<fghj>(sorry if these questions sound stupid; if you could just help me get the basics down, then I might actually be able to do useful things :-) )
17:50<jdike>all you need to do inside UML is read/write stdin/stdout
17:51<fghj>another stupid question: when I print to stderr from my prog
17:51<fghj>it does not show up anywhere
17:51<fghj>where is that output sent to?
17:51<fghj>if I hack the kernel and put in printk(KERN_WARNING "... blah") ... those show up
17:52<fghj>but in the program that is acting as "init", if I have it fprintf(stderr, "hello world"); while(1) {} ... ; it does not show up
17:54<fghj>(reading up on perl expect; looks like it's for running unreliable progs
17:54<fghj>Initializing software serial port version 1
17:54<fghj> ubda: unknown partition table
17:54<fghj>EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended
17:54<fghj>VFS: Mounted root (ext2 filesystem).
17:54<fghj>Warning: unable to open an initial console.
17:55<fghj>about to execute: |/loop|
17:55<fghj> <-- output I get
17:55<fghj>about to execute line comes from modifying init/main.c
17:55<fghj>int main()
17:55<fghj> int x;
17:55<fghj> while(1) {
17:55<fghj> fprintf(stderr, "Hello world!\n");
17:55<fghj> fscanf(stdin, "%d", &x);
17:55<fghj> }
17:55<fghj>(that's what loop.c looks like)
17:55<fghj>compiled with -static and -static-libgcc
17:55<fghj>[it does not print the Hello world! line, and does not let me enter an int);
17:56<jdike>how about if it opens /dev/tty0 and reads/writes to it?
17:57<jdike>right now, it's interacting with /dev/console, which is less capable
17:58<fghj>let me try that
17:59<fghj>new loop.c:
17:59<fghj>int main()
17:59<fghj> FILE *f = fopen("/dev/tty0", "rw");
17:59<fghj> int x;
17:59<fghj> while(1) {
17:59<fghj> fprintf(f, "Hello world!\n");
17:59<fghj> fscanf(f, "%d", &x);
17:59<fghj> }
17:59<fghj>I get same output:
17:59<fghj>NET: Registered protocol family 17
17:59<fghj>Initialized stdio console driver
17:59<fghj>Console initialized on /dev/tty0
17:59<fghj>Initializing software serial port version 1
17:59<fghj> ubda: unknown partition table
17:59<fghj>EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended
17:59<fghj>VFS: Mounted root (ext2 filesystem).
17:59<fghj>Warning: unable to open an initial console.
17:59<fghj>about to execute: |/loop|
17:59<fghj>(please note, no xterm windows pop up, either this time or before; but xterm windows did pop up in past experiences w/ uml)
18:00<fghj>also, the "Warning: unable to open an initial console" lines comes from linux/init/main.c trying to open /dev/console in the kernnel sources; (I have no idea why)
18:00<fghj>uml_mconsole linux config con0
18:00<fghj>OK fd:0
18:00<fghj> <-- not sure if this matters; just in case
18:01<fghj>modified loop.c to have: FILE *f = fopen("/dev/tty0", "rw");
18:01<fghj> assert(f);
18:01<fghj> <-- and it runs fine, so file open must be succeeding I guess
18:01<jdike>that should be fd:0,fd:1
18:01<jdike>might explain why you can't type at it
18:02<jdike>making a /dev/console might help too
18:03<fghj>can I "make a /dev/console" by mounting the fs loopback in the host; and doing "mkdir dev; mknod /dev/console c 0 0" ?
18:04<fghj>hmm; okay, I just did what I described above
18:04<fghj>I still get the same results
18:04<fghj>(my fprintf does not print, con0 still says 'OK fd:0')
18:05<jdike>it's not 0 0, I bet
18:05<jdike>it's 5 1
18:05<jdike>what's the UML command line?
18:05<fghj>linux- umid=linux ubd0=blah ubd1=tkpp root="/dev/ubda rw" init="/loop" con3=pts
18:06<fghj>the ubd1 line is stupid
18:06<fghj>tkpp == fifo; was trying to play with that as a communication channel
18:06<fghj>switched over to mknod c 5 1
18:06<fghj>now I get about to execute: |/loop|
18:06<fghj>loop: loop.c:17: main: Assertion `f' failed.
18:07<fghj>this comes from:
18:07<fghj>int main()
18:07<fghj> FILE *f = fopen("/dev/tty0", "rw");
18:07<fghj> assert(f);
18:07<fghj> int x;
18:07<fghj> while(1) {
18:07<fghj> fprintf(f, "Hello world!\n");
18:07<fghj> fscanf(f, "%d", &x);
18:07<fghj> }
18:07<jdike>OK, do you have a /dev/tty0?
18:07<fghj>I do not
18:08<fghj>I should make it
18:08<fghj>c 4 0 ?
18:08<fghj>I did taht
18:09<fghj>output from uml:
18:09<fghj>Initializing software serial port version 1
18:09<fghj> ubda: unknown partition table
18:09<fghj>EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended
18:09<fghj>VFS: Mounted root (ext2 filesystem).
18:09<fghj>about to execute: |/loop|
18:09<fghj>(so no assertion failing)
18:09<fghj>uml_mconsole linux config con0
18:09<fghj>OK fd:0,fd:1
18:09<fghj>however, it still does not print my msg
18:10<jdike>how about an fflush(f)?
18:10<jdike>it shouldn't matter - it should be line-buffered, but just in case
18:10<fghj>made the change; no effect
18:10<jdike>and since you have a /dev/console, let's go back to that
18:11<jdike>use don't use stdio
18:11<jdike>just open("/dev/console"); write(fd, "Helloooo\n", ...); read(fd, &c, 1);
18:12<fghj>got it
18:12<jdike>keep it as simple as possible
18:14<jdike>and check all return values, exiting on error, so at least there's a panic if anything goes wrong
18:14<fghj>wow, that made "Hello world" to print
18:14<fghj>let me make sure I can print back what I can read
18:15<fghj>this is really cool; it works
18:16<fghj>thanks :-)
18:16<jdike>both reading and writing?
18:16<fghj>need to run now; but will hang out here regularlly later; thanks again :-)
18:16<jdike>OK, I'd have thought /dev/console didn't allow input
18:16|-|baroni [] has quit [Ping timeout: 480 seconds]
18:16|-|fghj [~tkxue@agp.Stanford.EDU] has quit [Quit: Leaving]
18:17|-|baroni [] has joined #uml
18:25|-|baroni [] has quit [Ping timeout: 480 seconds]
18:38|-|baroni [] has joined #uml
18:40|-|jdike [] has quit [Quit: Leaving]
18:44|-|mjf [] has quit [Quit: leaving]
18:46|-|tyler [~tyler@] has quit [Remote host closed the connection]
18:46|-|baroni [] has quit [Ping timeout: 480 seconds]
18:56|-|richardw_ [] has quit [Remote host closed the connection]
19:39|-|rizo [] has joined #uml
20:04|-|apic [] has quit [Quit: realname-ergaenzung, brb]
20:05|-|apic [] has joined #uml
20:08|-|kos_tom [] has quit [Remote host closed the connection]
22:18|-|baroni [] has joined #uml
22:20<netcrusher88>new compile error, obtained by fetching older sources (reproduced with 2.6.19 and 2.6.16 - both official, unpatched):
22:21<caker>netcrusher88: why not download vanilla from and compile that?
22:21<netcrusher88>that's exactly what i did
22:21<netcrusher88>that's what i meant by official, unpatched
22:22<netcrusher88>also, there seems to be some bug with jiffies.h in but I can't confirm that
22:22<netcrusher88>rather, can't reproduce
22:26|-|baroni [] has quit [Ping timeout: 480 seconds]
22:26<caker>lemme try; make defconfig ARCH=um; make ARCH=um
22:32<netcrusher88>thank you, gentoo
22:32<netcrusher88>maybe if i didn't use unstable...
22:34|-|ElectricElf [] has quit [Ping timeout: 480 seconds]
22:34<caker>netcrusher88: it compiled (FC2 box)
22:38|-|ElectricElf [] has joined #uml
22:40<netcrusher88>i'm going to see if gentoo has updated/fixed anything and try again
22:51|-|fghj [~tkxue@agp.Stanford.EDU] has joined #uml
22:54<fghj>this probably soudns dumb for the enlightened people out there ... but suppose I wanted a easy way to "freeze" and "unfreeze" a process to run it at a latter time; and suppose this process depends not on network connections ... I can just run it in uml
22:54<fghj>do a uml_mconsole stop
22:54<fghj>then resume it alter?
22:55<netcrusher88>if it were me i'd just run it and use STOP and CONT signals
22:55<netcrusher88>man kill
22:56<netcrusher88>don't bother with uml i mean... unless there's a specific reason you need to do it in a VM
23:00<netcrusher88>oh very nice
23:00<netcrusher88>i want to choke the gentoo kernel herd right now
23:00<fghj>I want to be able to save it; and resume it later
23:00<fghj>i.e. I want to do this
23:00<fghj>uml_mconsole stop
23:01<netcrusher88>...not a good way to fix a bug... i'm not getting into it
23:01<fghj>turn off host machine
23:01<fghj>turn computer back on
23:01<fghj>uml_mconsole go
23:01<fghj>... can do this to resume processes stopped within uml (kinda like in vmware) ?
23:01<netcrusher88>oh... that's beyond me, idk if uml can do that
23:01<fghj>idk ?
23:01<fghj>i don't know
23:02<fghj>can I get uml to "boot off a CD" ?
23:02<fghj>I don't want to use some pre-made disk image
23:03<fghj>I'd like to install from a debian iso into a blank uml system
23:05<caker>fghj: debootstrap
23:06<caker>or to skip all that
23:06<fghj>caker: thanks
23:10<netcrusher88> <- my compile error using the vanilla sources
23:11<caker>your kernel headers are botched?
23:12<netcrusher88>according to the gentoo devels mailing list the removal of user.h and page.h was intentional
23:13<netcrusher88>yep, that
23:14<caker>weak -- maybe downgrade your kernel headers?
23:14|-|baroni [] has joined #uml
23:18<netcrusher88>i'll try the version of the headers someone said worked
23:18|-|rizo [] has quit []
23:19<netcrusher88>works fine now
23:22|-|baroni [] has quit [Ping timeout: 480 seconds]
23:27|-|fghj [~tkxue@agp.Stanford.EDU] has quit [Quit: Leaving]
23:30|-|baroni [] has joined #uml
23:48|-|Nem^ [] has quit [Read error: Operation timed out]
23:59|-|VS_ChanLog [] has left #uml [Rotating Logs]
23:59|-|VS_ChanLog [] has joined #uml
23:59|-|Nem^ [] has joined #uml
---Logclosed Sat Mar 17 00:00:25 2007