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

=== alow_ is now known as alow
loolI merged kexec-tools with Debian09:59
ogranice !10:00
ograbut it still doesnt work ?10:00
ogra(on arm)10:00
loologra: It still hangs when you try to kexec within qemu/versatile10:03
loolThe Debian merge was mostly packaging stuff10:03
persiaThe packaging is sane again?10:04
loolYes10:05
loolThe Ubuntu diff is absolutely bearable10:05
loolWe mostly disable kexec on boot by default and add kdump10:06
loolToo bad I didn't notice there is a kernel.ubuntu.com/git kexec-tools git tree, but it has its own issues anyway10:06
persiaI suspect it's from that tree that last week's tests were executed.10:07
loolI mailed cooloney on the kexec issue; I hope he can help us there, it's too low level for me10:07
persiaProbably best to coordinate with ericm_ and NCommander to make sure everyone is testing the same source.10:08
persiaI thought ericm was doing most of that, but cooloney may also be able to help.10:08
loolpersia: The tree has the same issues as lucid, it's out of date by one upload before my work and just misses the kdump init script10:08
loolI rather suspect NCommander took Debian's or upstream's kexec-tools10:08
persiaQuite possibly.10:08
loolI wonder whether ericm can be bothered for versatile kexec10:12
persialool: Did you ever get anywhere with the pbuilder-dist changes to do better detection of when to use the alternate debootstrap?  Should I track down some other python person?10:12
loolI didn't attack that10:12
persiaI suspect that getting versatile kexec working would be a good step towards getting it working anywhere else.10:12
loolMy real plan is to remove the need for pbuilder-dist altogether, but that's a longer term effort10:12
persiaNo worries then.  I'll try to find someone else.10:12
loolIf you remind me of everything we agreed to do, I can certainly do it10:13
persiaI have a solution to drop pbuilder-dist: migrate to schroot/sbuild :)10:13
loolEh10:13
loolschroot/sbuild doesn't have cowdancer though; it does have LVM snapshot, but it's a bit different10:13
persiaYou didn't like me using the architecture to determine when to use the emulator: you seemed to prefer to do host/guest arch compat comparison.10:13
persiaschroot *does* have COW now, in 1.4, although I haven't quite figured out how to get it working.10:13
persiaIt's on my list to try to get schroot to work with pbuilder-style tarballs, COW, etc. in the next few months (although I'm not sure I can release with lucid)10:14
loolI don't see that; are you sure you don't mean LVM COW?10:14
persiaI am.10:14
loolpersia: I don't see this in /usr/share/doc/schroot/NEWS.gz though; let me check sbuild10:14
loolI don't see it in sbuild's NEWS either10:15
loolpersia: Do you have any name/reference for the feature?10:15
persia"Support for union filesystems has been added ... loopback chroots with a temporary writable overlay ...".  It's not quite COW, but should have similar performance.10:15
persiaQuote is from sbuild's NEWS.gz10:16
loolAh but that's not in lucid?10:16
persiaYes it is :)10:17
loolI was checking lucid files10:17
persiaSo was I.  Check item 8) in NEWS for 1.3.0-rc110:17
loolWhy don't I see union in NEWS.Debian and NEWS??10:17
loolsbuild doesn't have 1.3.0-rc110:17
persiaErr, sorry.  From *schroot* NEWS.gz10:17
persiasbuild is just a build script that runs against schroots.10:17
loolAck I see it now10:17
cooloneylool: yeah, i'm looking at that.10:18
loolUsing union fses is much cleaner than pbuilder's approach10:18
cooloneypersia: ericm_ made it kexec works on dove, IIRC.10:18
loolcooloney: let me know if you need any help with the setup10:18
persialool: And `sudo pbuilder` is just pointless escalation.  schroot's selective mechanism is much richer.10:18
cooloneypersia: he will help me about this10:18
loolpersia: Tell me about it10:19
persiacooloney: I thought it kinda worked, but then crashed on the call, but I may be mistaken.  Great to hear you guys will be working together on this.10:19
cooloneylool: yeah, do you know where can I download the rootfs for testing10:19
loolcooloney: Best to create your own; it's quite easy10:19
persiacooloney: Use rootstock to generate one :)10:19
loolI still call debootstrap by hand, but the recommended tool is probably rootstock or just build-arm-chroot10:20
cooloneypersia: yeah, since imx51 also has some issue about kexec, i need to work on that as well as versatile10:20
loolrootstock will setup misc configs for you, hostname, passwords and the like10:20
persiaDefinitely rootstock.  It does a lot of the installer bits that build-arm-chroot skips, like user creation, etc.10:20
persia(which don't belong in build-arm-chroot, really)10:20
cooloneylool: oh, it is very slow for me to download the evironment. i tried rookstock before. heh10:20
loolcooloney: You don't have a mirror nearby?10:21
ogracooloney, kexec didnt work on friday when NCommander tried it though that might be because kexec-tools was broken10:21
loolcooloney: I can back you my rootfs if you like, hold on10:21
cooloneylool: can i try common local ubuntu mirror for that?10:21
cooloneylool: yeah, i love that. hehe10:22
loolcooloney: You need a ports mirror sadly10:22
cooloneyogra: yeah, ericm_ mention that before.10:22
loolcooloney: What I recommend is that you use squid as a caching proxy10:22
loolIf the .debs don't change too often, nost of the debootstrap bits will be cached in there10:22
cooloneylool: i guess there is no such ports mirror in China.10:22
ogracooloney, use approx on your local machine10:23
loolcooloney: squid-deb-proxy is a package which will setup squid to that effect10:23
cooloneylool: great, is there any wiki for such setup?10:23
ograthen you at least only have to download once10:23
loolcooloney: Then you just need to set http_proxy in /etc/environment and you're done10:23
loolcooloney: squid-deb-proxy might have some doc10:23
ograor as lool said10:23
loolcooloney: I'm scp-ing my rootfs, but will take a while10:23
cooloneylool: got you10:23
ograapprox needs no setup though ... you just point to your local IP10:24
ograon port 999910:24
cooloneylool: thanks a lot, if it is done, just email me10:24
cooloneyogra: right, i think i tried approx before. any wiki about that?10:24
cooloneylool: email me the url, heh10:25
loolcooloney: URL will be http://people.canonical.com/~lool/rootfs.img10:25
loolbut not finished yet10:25
ogracooloney, apt-get install approx ... then use -mirror http://<your local IP>:9999/ubuntu-ports in your scripts (or set http_proxy to <your local IP>:9999)10:26
ograi use it with rootstock all the time to speed up my testbuilding10:26
* lool simply has a local mirror10:27
persiaA local mirror tends to be the easiest way to deal with limited bandwidth, but does require a bit more hardware.10:27
* ogra thinks lool is a rich man who can waste useful diskspace10:27
* lool thinks his time is more valuable than hardware10:28
ograwith a disk that costs €20/GB i really dont like to waste it10:28
lool20 EUR/GB?  are these made of gold?10:29
ograwell, i rarely need most of the packages from the mirror ... so just caching the ones i use over and over makes a lot more sense10:29
cooloneyOMG, you guys all have local mirror?10:29
ogralool, no, of super speedy flash :)10:29
loolhttps://www.materiel.net/ctl/Disques_durs_internes_SATA/46461-Barracuda_7200_12_S_ATA_1000_Go_32_Mo.html10:29
cooloneyso normally, how big disk is enough for setup a  mirror?10:29
ogracooloney, nope, as i said above, i think a local mirror is a waste of diskspace10:30
cooloneyogra: apparently, you don't have, heh10:30
cooloneyogra: you got faest speed maybe. heh10:30
loolThat's .075790 EUR/GB  :)10:30
ograa local proxy will only cache what i need, a local mirror copies the whole archive10:31
cooloneyogra: right.10:31
ogralool, does it boot in 8sec ? :P10:31
loologra: That only works if you always the same stuff10:31
cooloneybut lool doesn't care about that10:31
loologra: Actually about that yes10:31
ograindeed, its perfect for image builds10:31
loolBecause it's in RAID10 and doesn't start the desktop10:31
ograhaha10:31
ogracheater10:31
ogralool, http://people.canonical.com/~ogra/osiris-lucid-20100202-6.png :P10:32
ograand thats a slow boot ... i usually have around 230MB/s10:32
persiaStop wagging :p10:33
cooloneylool: how big is your rootfs? heh10:33
loologra: Err you know I have SSD on my laptop since a year and a half?10:33
cooloneylool: 1G?10:33
loolPlus mine is bigger than yours10:33
ogralool, yeah, as i said, youre a rich man ... i'm a poor german, cant spend on wine for lunch :P10:34
cooloneyogra: lol10:34
loolJust don't try teasing me!10:34
loolcooloney: Done uploading10:50
loolcooloney: There isn't much free space, you can grow the rootfs by appending some zeroes to the file and growing with ext2resize10:50
ogralool, was it you who added the if [ ! -f /usr/share/debootstrap/scripts/$DIST ];then check to rootstock ?11:11
* ogra cant remember from where that got merged, but it seems silly to additionally keep the version check code 11:12
* persia suggests `bzr blame ...`11:12
ograpersia, bah, trying to kill my lazyness ?11:12
persiaEvery day, in every way :)11:13
lool23     ogra@ub | if [ ! -f /usr/share/debootstrap/scripts/$DIST ];then11:13
ograhrm11:13
loolcommitter: Oliver Grawert <ogra@ubuntu.com>11:13
lool  add a check if debootstrap supports $DIST, thanks to Erik Corry <erik.corry@gmail.com> for the fix !11:13
ograoh, k11:13
ograi think i got that one by mail11:13
ograadn i think i'll just kill all the silly version checking then11:14
loologra: This check doesn't seem too bad though, what's the issue with it?11:16
ogralool, nothing apart from bloating the code if we check for /usr/share/debootstrap/scripts/$DIST anyway11:16
ograits kind of a duplication imho11:17
loologra: Where do you do that?  in build-arm-chroot?11:17
ograrootstock11:17
loolSo where is it duplicated?11:17
ograif $(dpkg --compare-versions $DBSV lt $DEBOOTSTRAP_MIN_VER);then11:17
ogravs11:17
ogra if [ ! -f /usr/share/debootstrap/scripts/$DIST ];then11:18
loolThe version check is the one I'd drop11:18
ograright, thats what i said :)11:18
loolThe data-driven check seems more future proof than a version requirement which will be out of date every release11:18
ograright11:18
* ogra -> break11:25
cooloneylool: i am downloading now.12:02
cooloneylool: it is 300M, need I append some zeroes? I don't understand heh12:03
ograits an img not a rootfs12:06
ograso to have more space on it you need to make it bigger by adding zero byte blocks and resize the partition12:06
cooloneyogra: got you. so normally how to do that : adding zero?12:07
ogrause dd12:07
cooloneyogra: dd conv=notrunc oflag=append if=/dev/zero of=rootfs.img bs=1M count=102412:16
cooloneyogra: is this kind of command, right? add 1G zeroes at end of rootfs.img12:17
ogracooloney, hmm, never used append, but if it does the same as skip and seek that should work12:19
ograbest to try it on a copy of the image i guess :)12:19
cooloneyogra: heh, right. hehe12:20
loolcooloney: That seems about right13:11
loolcooloney: Or just dd if=/dev/zero bs=something count=something >> rootfs.img13:11
* ogra guesses cooloney would already have shouted and cired if it hadnt worked :)13:12
ogra*cried13:12
loologra: But it's actually a rootfs13:12
loolIt's just that most people say rootfs when they mean rootfs tarball13:12
ograwell, one is an imag the other is the content of a filesystem13:15
ograneither is named right anyway :)13:15
ograsince neither is actually a filesystem per se13:15
loolthe rootfs.img is a filesystem13:26
looli.e. root file system13:26
loolasac: is bug #474322 on your radar?13:41
ubot4Launchpad bug 474322 in linux-fsl-imx51 (Ubuntu Jaunty) (and 1 other project) "linux-image-2.6.28-16-imx51 appears broken on armel (affects: 1)" [Critical,Triaged] https://launchpad.net/bugs/47432213:41
loolit's from November and is a regression in a security update of the kernel in jaunty13:41
loolrcn-ee: Re: your qemu-arm-static -> qemu-kvm-extras-static issues: this should be fixed in latest versions13:44
loolrcn-ee: let me know if it isn't13:44
loolrcn-ee: Do you have a place where you publish your daily rootstock build logs, or is http://rcn-ee.homeip.net:81/dl/rootstock/ just updated manually?13:46
loolI wonder whether we should publish daily built rootfs like the UEC images13:46
loolI wonder why devtmpfs breaks for you13:47
persiarcn-ee: Regarding the "fixed" statement above, note that setuid binaries still won't work, but this is an inevitable consequence of how the emulation is done.13:49
apwogra, lool, i've built some kernel .deb's for lool's versatile configuration changes, want to get some testing on them before i upload them; see the 13.18 kernels here: http://people.canonical.com/~apw/misc/arm/13:51
ograapw, will test soon, thanks a lot13:52
loolapw: Tested with serial console, works fine up to a console login prompt14:00
asaccooloney: can you check the bug lool mentioned?14:03
asac47432214:03
asacthat is14:03
asaccooloney: seems it stopped working on bbg1 after security update... thanks!14:04
loolapw: Checking with graphics now (vga/fb video output)14:05
loolapw: Boots fine; NB: I just extracted the vmlinuz file and usese that14:06
apwok14:06
loolapw: I don't think it's a regression, but I can't actually poweroff/reboot the system14:07
rcn-eelool, yeap it looks fixed... (worked friday night when i was testing things for ogra)...  For reference my 'nightly' builds are here.. http://rcn-ee.homeip.net:81/dl/daily/ubuntu-lucid.log  i need to do a bzr pull thou, it's karmic + lucid tweak...14:07
loolThe userspace bits seem to happen fine, but it doesn't actually reboot/stop14:07
ograi think reboot never worked14:07
ograat least with the archive kernels14:07
persiaIs this an issue with qemu, or with the kernel?14:08
apwok .. i guess i am trying to ensure its not a regressing kernel for you guys14:08
loolpersia: I don't know, and it's a case where it's hard for me to tell14:08
loolI do see "Restarting" on the console, and then nothing happens14:08
ograah, no shutdown never worked for me ...14:08
cooloneyasac: no problem, but I need to setup my bb1 board tomorrow.14:08
loolapw: I really don't think it's a regression, but I never paid attention14:08
loolapw: The current archive kernel doesn't work at all, so... :)14:08
ograits very likely not a regression14:09
apwthats fine with me, as long as ogra is happy i'll call it good14:09
ograapw, just upload, if it works for lool it will surely work for me too (i use way less features)14:09
* ogra only needs ext2/NIC and serial console 14:10
ogralool,  rm /bin/installer && reboot -fp ... thats in rootstock since day one ... i wouldnt have used -f if it would power doen properly14:12
ogra*down14:12
ogranot clear though if its qemu ...14:13
ograweird, i cant get it to boot14:32
ograit works if i dont use serial14:32
ograapw, lool ^^^14:32
* apw puts those changes on one side14:33
ograhrm14:34
ograif i add mem=256M to the append line it works14:34
ograweird14:37
persiaSo it just can't handle much memory?  I thiought there was a patch for 512M (and seem to remember fiddling with it in jaunty)14:39
ograno, its not that, i copied another append line that differs in ro vs rw and mem=256M14:39
ograits not the mem but the ro/rw14:40
ograit boots fine with ro14:40
persiaAha.14:40
ograbut not with rw14:40
persiaVery odd.14:40
ograapw, i can work around that in the script14:40
ograso please upload14:40
ograyes, odd indeed14:40
apwhrm, ok i suppose14:40
loologra: How much memory are you using?14:40
ogralool, 256M14:40
ograbut see above14:40
ograits not that14:41
loolThat works for me without mem=14:41
ograit seems it cant boot with rw on the cmdline14:41
loolqemu-system-arm -m 256  -drive file=rootfs.img,media=disk -M versatilepb -cpu cortex-a8 -kernel vmlinuz-2.6.32-13-versatile -append 'rootwait root=/dev/sda 2' is what I use14:41
* ogra tries with dropping ro/rw completely 14:41
ogra[    5.451770] VFS: Mounted root (ext2 filesystem) readonly on device 8:0.14:42
ograok, it defaults to ro14:42
ogralool, does it boot if you add rw ?14:42
loolYes14:42
ografor me it panics with "cant find rootfs"14:42
loolIt works fine here14:42
* ogra tries rootwait, probably a race 14:43
loolErr yes if you don't have a large rootdelay or rootwait it wont find your rootfs in time14:43
loolthe scsi disk typically appears a couple of seconds after the kernel tries mounting the rootfs14:43
ogra[    5.430661] VFS: Cannot open root device "sda" or unknown-block(8,0)14:44
ogra[    5.430938] Please append a correct "root=" boot option; here are the available partitions:14:44
ogranope14:44
ograi usually dont need rootwait or anything ... never did14:44
ograqemu-system-arm -M versatilepb -cpu cortex-a8 -kernel tmp/boot/vmlinuz-2.6.32-13-versatile -hda /var/build/qemu-armel-201002081506.img -m 256 -nographic -append "console=ttyAMA0,115200n8 root=/dev/sda rootwait rw"14:45
ogradoesnt work14:45
ograexactly the same line but dropping rw works14:45
ogralool, can you try adding rw ?14:46
loologra: I already did14:46
ograhmm14:47
ograi wonder why it reliably breaks here14:47
loolDo you actually have read/write on /var/build/qemu-armel-201002081506.img?14:47
ograheh14:47
ograno, indeed14:47
loolpfff14:47
* ogra re-adds the sudo bit to the README ...14:47
loolYou don't need sudo to run qemu-system-arm14:47
loolJust move your images to your home14:47
ograi just removed that from the rootstock doc ... now i remember again why i added it14:48
loolAdvising sudo is actually dangerous14:48
ograwell, the image is created  as root14:48
ograso owned by root14:48
loolWell you don't need to14:48
loolYou just need to mount the file as root and run debootstrap as root, but you don't need to dd the file as root14:48
ograi do14:48
loolLook, I just created this file as user14:49
loolAnd it worked14:49
ograyes, but you dont use it loop mounted until you finished14:49
loolI sudo loop mount it14:49
ograit is loop mounted during rootstock14:49
loolYes, so $sudo loop mount it14:49
ograhrm14:49
loolHere's an example script I use http://paste.ubuntu.com/371731/14:49
loolYou can run it as root or not, it will call sudo when it needs to14:50
ograthats ugly because i will pop passwd prompts all the time14:50
persiaActually, one should put a check on that class of script to fail if run as root (see mk-sbuild-lv for a nice check)14:50
loolThere is some caching, so it will only prompt if it's too late; you can workaround that with a helper14:50
* ogra sighs14:50
loolpersia: That's an option; you can easily flip the check14:50
ograi will not stop running the script as root14:51
ograi want it to run automated if needed14:51
loologra: So run qemu-system-arm as root then, but don't advise people to do so by default14:51
loologra: So how are you going to automate running your script as root?14:51
ograyeah, i'll add inof the the doc14:51
ograi dont, users do14:52
ograand they usually set up root cronjobs14:52
ograi'll just add info to the doc ... i wont scatter sudo calls across the script14:52
looldid you actually read the link?14:59
loolit doesn't call sudo if called as root...14:59
ograi have the very same check in rootstock ... just not the $sudo var15:01
* ogra curses about broken userspace15:02
ogra * Starting init crypto disks...                                         [ OK ]15:02
ograhangs :(15:02
ograsilly ubiquity -> oem-config merge15:02
ograpulls in half the world and breaks ... old oem-config worked15:03
ograand didnt pull in many deps15:03
ograif [ $(id -u) != 0 ];then15:05
ogra    echo "must be run as root"15:05
ogra    exit 215:05
ografi15:05
ogralool, ^^^ fyi15:05
ograbah, so oem-config goes into an endless loop on my rootstock image15:53
ograi think we need to forget about oem-config usage in rootstock thats way to messed up and only focused on d-i installs it seems17:41
ogras/d-i/d-i or ubiquity/17:41
ograthe ui requires metacity which in turn pulls in 400M of deps17:42
ograthe debconf frontend doesnt finish and goes into an endless loop17:42
ograah, well, without recommends its less but still 30MB17:46
cwillu_at_workrcn-ee, had disk transfers running over the weekend on that kernel, no random usb reconnects or errors that I can see17:51
cwillu_at_workrcn-ee, i.e., looks great :)17:51
=== Martyn is now known as Guest34918
ogralool, hmm, did you try running any X programs in qemu yet ?18:28
ograspecifically pygtk stuff18:28
ograseems to fail pretty badly here18:28
ograugh, even metacity18:31
ograi dont think its actually happy with the faked cortex-a818:47
ograhmm, cpuinfo thinks its capable of thumb and neon18:53
* ogra calls it a day19:00
loolpersia: According to linux/Documentation/binfmt_misc.txt, one can set a flag to preserve the original security bits of a program22:25
loolpersia: It changes the calling convention though, so I don't think it would work with out current qemu-system-arm22:25
persialool: Cool!22:25
persiaAha.22:26
persialool: Reading the docs, I'm not sure I understand why we can't just pass the 'C' flag and have it work.22:38
loolpersia: Because it doesn't pass a real file to the qemu-arm command-line22:38
persiaIt is because of the implied 'O'?22:38
loolpersia: Currently, when the binfmt hook is triggered for e.g. /bin/sh, what happens is that the kernel calls qemu-arm /bin/sh22:39
loolpersia: Yes22:39
persiaAh, so we'd need to modify qemu-arm-static to take file descriptors rather than file names.22:39
loolYes22:40
loolOr have a wrapper22:40
persiaA wrapper can do FD -> path changes?22:41
persiaThat's more shell than I know, or do you mean a compiled wrapper?22:42
persialool: Reading the docs more carefully, I think we do want to change the calling convention.  I can well imagine cases where a user wants to execute a file to which that user doesn't have read access when dealing with nested chroots, etc.22:50
persiaBut I'm entirely unsure how to do that with a wrapper: I suspect it needs changes to qemu-arm-static itself.  I'd appreciate any pointers if you have them.22:51
loolpersia: I'm trying to write such a wrapper, but I fail miserably22:57
loolWhen trying to run my x86-64 static wrapper under an armel chroot I get: Error -8 while loading /usr/bin/qemu-arm-static22:58
loolpersia: I think we would just need a wrapper which passes /dev/fd/N to qemu-system-arm, but I'm not sure; that's what I wanted to verify22:59
loolBut in the end we would likely patch qemu22:59
persiaI thought that /dev/fd/N was defined on a per-process basis.23:00
loolIt is  :-)23:00
persiaIn that case, we can't pass it to a new process :)23:01
persiaSo a qemu patch *is* required.23:01
loolpersia: exec is the same process23:01
loolI think my exec doesn't work because it needs to be handled by binfmt23:01
persiaHrm?23:02
loolpersia: exec() is implemented with binfmt, if my wrapper called from binfmt tries to exec it wont work (well that's my guess)23:03
loolnot sure it's correct23:03
loolAnother static utility which just puts() argv / argc works, so it's not my build23:04
* lool will check this out tomorrow &23:04
persiaHave a good night :)23:04

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