/srv/irclogs.ubuntu.com/2010/02/27/#ubuntu-arm.txt

=== bjf is now known as bjf-afk
=== dl9pf_ is now known as dl9pf
=== alecrim_ is now known as alecrim
bobrownAnyone around now?03:42
=== Guest47287 is now known as NCommander
lifelessshoot13:26
persiaSo, we were talking about the Fuse.pm hack recently.13:26
lifelessoh yes13:26
persiaAnd there was also talk about using containers to better handle other stuff in /proc13:26
lifelessmy fault I believe13:26
persiaContainers seem to address issues with some classes of access to /proc (because the instruction set that might be doing that might not match some of the contents of /proc/nnn, etc.), but not some of the base stuff (e.g. cpuinfo).  The Fuse.pm hack has the opposite set of benefits and detriments.13:27
persiaDo you see any reason why they two approaches would conflict?13:28
lifelessI haven't heard of containers13:28
lifelesspoint me at docs, I can think about it later13:28
persiaAlso, it was suggested that rather than using Fuse.pm, qemu should be hacked to force-produce false data without needing special configuration.  Do you see any drawbacks to that?13:28
lifelesssounds like layering buggery to me13:29
lifelessand yes, I do see drawbacks13:29
persiahttp://lxc.sourceforge.net/ http://blog.bodhizazen.net/linux/lxc-configure-ubuntu-karmic-containers/13:29
lifelessas a VM it would be the kernels responsibility13:29
persiaPlease share :)13:29
persiaRemember, we're not talking about full VM stuff here: just emulated userspace (chroots is my main use case, but running arbitrary-architecture code on a system is another)13:30
lifelessas an instruction set translator for one program, all the logic to deal with aliases, chroots, funny mounts etc will have to live whereever does the mounting13:30
lifelessso, fuse /is/ a filesystem and can fit into the existing mount stack13:30
lifelessdoing it in qemu itself doesn't see to fit the layering, tome.13:31
persiaThat makes sense.  Thanks for your input.13:35
lifelesslxc seems to live in the same place13:35
lifeless(namespaces, user isolation)13:35
lifelessso putting in lxc approx == putting in fuse, at first glance. still way cleaner than qemu :P13:36
lifelesscan you enlarge on 'some classes of access to /proc (because the instruction set that might be doing that might not match some of the contents of /proc/nnn, etc.),'13:38
* persia experiments locally to provide a more informed opinion13:39
lifelessbecause, I'm thinking 'isn't linux32 going to have the same issues'13:41
lifelessso, lets look at what it does, figure out prior art13:41
persiaThat's a brilliant idea :)13:42
persiaLooking at a /proc/nnnnn tree, I've confirmed my previous opinion that some of those contents are going to be architecture-dependent, and that it's easily confused by using binfmt and qemu.13:43
persiaI'm not awake enough to think about it in depth now, but I think you've convinced me that the magic trio is qemu + lxc + personalities (although this gets kernely)13:44
lifelesspersia: right, but is that a real issue or theoretical13:44
lifelessI'm definitely not awake enough.13:45
lifelessI don't know that lxc is needed or desirable here13:45
lifelessit depends on what we are /aiming/ for13:45
lifelessfor now, gnight13:46
persiaHeh.  gnight.  Maybe lool and ogra will have a better explanation.  I know that some stuff FTBFS because of /proc inspection, but can't remember the details right now.13:46
suihkulokkipersia: no need for lxc. just add virtual /proc files to qemu13:48
loolsuihkulokki: lxc for a different purpose13:48
suihkulokkior personalities13:48
loolI do wish we'd advocate use of lxc instead of plain chroots to run ARM builds13:48
loolsuihkulokki: Right, we definitely want some cpuinfo emulation13:48
loolsuihkulokki: Do you have any interest in mono under qemu-arm?13:49
loolsuihkulokki: I would love some tips in debugging it; it's hanging on exit right now13:49
suihkulokkiyou might want to try to get a simpler boehm gc app to work first13:50
loolsuihkulokki: do you have pointers on this issue?13:51
loolsuihkulokki: I tried a hello world mono app, it works as far as printing hello world, but dies on exit13:51
loolWell it hangs actually, two threads are in futex() and another one in sleep(); it could be related to the GC13:52
persialool: Can you share more why we want lxc vs. chroots?  Is there a reason we wouldn't want that for all chroots?  Is this worth patching schroot to achieve?13:52
loolpersia: it's probably equally valid for all chroot use cases13:53
loolpersia: Problem is that people are apt-get installing stuff in these chroots13:53
lifelesssuihkulokki: no need for qemu to fiddle with userspace file access; fuse is much better at that.13:53
lifelessanyhow, really going. ciao.13:53
loolpersia: so that might kill processes from outside the chroot, or leak details such as the binfmt setup or /proc/mounts13:53
loolWe typically want the type of abstraction which lxc provides to hide the desktop system running the container from the arm container13:54
loolIt might actually miss binfmt abstraction though13:54
suihkulokkilifeless: it already fiddles.13:55
persialool: In fact, the primary, secondary, and tertiary uses of schroot are likely to involve apt-get (other use cases may not).13:56
suihkulokkiall syscalls go through qemu - anything you want to show/hide from arm processes can be done there.13:56
loolpersia: Ack; it's ok to use lxc for pbuilder/sbuild etc., but it's not strictly required; you don't actually want to start init scripts and the like in build environents13:57
persialool: Last I looked, lxc-on-ubuntu was sufficiently nontrivial that it's not something that can easily be done with scripted schroot setup.  Do you know if work is being done on lxc+upstart?13:57
persialool: Um, have you *looked* at the build logs?  Heaps of time it ends up installing mail servers, and it very often grabs dbus (and starts it).13:58
persiaThese happen to work, but that's a coincidence.13:58
loolsuihkulokki: that seems to describe the problem you mention http://www.mail-archive.com/qemu-devel@nongnu.org/msg08229.html14:02
loolsuihkulokki: Do you have pointers on debugging apps running under qemu-arm?14:04
loolI can use gdb against qemu, but I wish there would be a way to poke at the emulated program somehow14:04
roxfanrun it under gdbserver14:52
loolWhere's the list of packages to port to thumb2 again?15:33
loolI'd like to strike qemu-kvm of the list15:33
loolhttps://wiki.ubuntu.com/ARM/Thumb2PackageReviewList15:38

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!