**** BEGIN LOGGING AT Thu Jul 14 23:59:57 2005 Jul 15 00:05:36 is postfix building fine in openslug for everyone else? Jul 15 00:06:24 The log file says: "/home/slug/openslug/tmp/staging/i686-linux/bin/postconf: error while loading shared libraries: libpcre.so.0: cannot open shared object file: No such file or directory" Jul 15 00:06:47 Then "./postfix-install: Error: "" should be "no" or an absolute path name." Jul 15 00:07:06 Yes, that was seen yesterday. Jul 15 00:07:11 let's see what it does on nudi .... Jul 15 00:07:19 It succeeds Jul 15 00:07:50 It is because of the make -e problem I believe. Jul 15 00:08:12 what's the make -e problem? Jul 15 00:08:13 (Same as pcre, which almost always fails the first time it is built). Jul 15 00:08:48 The first problem - the missing libpcre.so.0 - is because postconf has been linked without the -Wl,rpath directives. Jul 15 00:09:01 That is the standard SYSLIBS macro from the Makefile. Jul 15 00:09:38 However you should find that temp/run.do_compile contains a SYSLIBS export which should override the value in the Makefile by virtue of make being run with -e. Jul 15 00:10:33 IIRC DaKa2 was trying to track it down, but had to sleep (I think that was what happened...) Jul 15 00:10:51 I cannot reproduce it. nudi doesn't show the problem. Jul 15 00:11:14 I can reproduce something similar in the pcre builds, but haven't had time to try tracking it down. Jul 15 00:12:09 The postfix-install problem is because postconf -h fails (so a local shell variable ends up empty). Jul 15 00:14:59 ok, I can reproduce the postfix failure every time on my home dev box Jul 15 00:15:13 but pcre builds fine Jul 15 00:16:06 Yeah, that's the way it seems to work. Someone made a really gross fix to the pcre problem in the .bb file - I think it doesn't work for me because of make 1s timestamp granularity. Jul 15 00:17:03 DaKa2 deleted the evidence before we could check it. Jul 15 00:17:38 I believe you will find that log.do_compile built postfix without the -Wl (actually I'm sure you will). Jul 15 00:18:28 The question I wanted to know the answer to was whether a hand re-run of temp/run.do_compile* produces the same link (no -Wl) or not. Jul 15 00:26:49 It doesn't help that the .bb file has unset CFLAGS CPPFLAGS CXXFLAGS Jul 15 00:27:34 And no comments. And an explicit load of exports (including a modified SYSLIBS). Jul 15 00:27:54 ok, so what should I be looking for in log.do_compile? Jul 15 00:27:57 I think the maintainer of this package needs to look at it... Jul 15 00:28:12 Look for the step which links 'postconf' Jul 15 00:28:35 Then go in to /src/postconf, rm postconf, and re-run temp/do_compile Jul 15 00:28:57 (hum, put '*' characters before and after the bold bit ;-) Jul 15 00:28:58 "ccache armeb-linux-gcc -march=armv5te -mtune=xscale -DHAS_PCRE -I/home/slug/openslug/tmp/staging/armeb-linux/include -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -g -O -I. -I../../include -DLINUX2 -o postconf postconf.o ../../lib/libglobal.a ../../lib/libutil.a -L/home/slug/openslug/tmp/staging/armeb-linux/lib -lpcre -ldb -lnsl -lresolv" Jul 15 00:29:28 Yep - look in temp/run.do_compile* and you will see that the end of that doesn't match the exported SYSLIBS... Jul 15 00:30:54 Here's what I get by rerunning do_compile (after deleting postconf): Jul 15 00:30:58 ccache armeb-linux-gcc -march=armv5te -mtune=xscale -DHAS_PCRE -I/home/work-tmp/jbowler/nslu2/openslug/staging/armeb-linux/include -Os -g -O -I. -I../../include -DLINUX2 -o postconf postconf.o ../../lib/libglobal.a ../../lib/libutil.a -lpcre -ldb -lnsl -lresolv -L/home/work-tmp/jbowler/nslu2/openslug/staging/armeb-linux/lib -Wl,-rpath-link,/home/work-tmp/jbowler/nslu2/openslug/staging/armeb-linux/lib -Wl,-O1 Jul 15 00:31:55 is postfix an #oe thing, or one of our new additions? Jul 15 00:33:38 "ccache armeb-linux-gcc -march=armv5te -mtune=xscale -DHAS_PCRE -I/home/slug/openslug/tmp/staging/armeb-linux/include -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -g -O -I. -I../../include -DLINUX2 -o postconf postconf.o ../../lib/libglobal.a ../../lib/libutil.a -lpcre -ldb -lnsl -lresolv -L/home/slug/openslug/tmp/staging/armeb-linux/lib -Wl,-rpath-link,/home/slug/openslug Jul 15 00:33:44 Hum... well, if I got back to the bk tree I see kergoth, CoreDump, ggilbert, mickeyl Jul 15 00:34:05 ok, so its an #oe package Jul 15 00:34:31 I suspect the last changes were mainly for bitbake changes, so it's one of the quite large number kergoth ported 2003/2004 Jul 15 00:34:57 The changes I was complaining about (SYSLIBS, the unset) were not in there in the bk tree. Jul 15 00:35:22 hmm - so what does monotone annotate say about it ? Jul 15 00:36:36 I think it gives me the revision ID of a merge. Jul 15 00:37:38 go to /home/slug/openembedded and run "mt annotate packages/postfix/postfix_2.0.20.bb" Jul 15 00:37:50 looks like you have to run annotate from the top of the repo with a full path name Jul 15 00:38:02 Really? Jul 15 00:38:05 ah, sorry - you were already past that Jul 15 00:38:20 ok, so we have hashes for each line ... Jul 15 00:38:45 hmm - not very useful Jul 15 00:39:10 No - it's the same wherever you run if from. It's one of the 'I take a name from the manifest' commands (like log) as opposed to 'I take a file in the working tree'. (And I find these two classes of commands really annoying...) Jul 15 00:40:20 We need to be able to see the full DAG. It's dropping the real revisions by choosing the merges - this is the same as the behaviour which gives unnecessary 3-way merges. Jul 15 00:41:44 I don't know - maybe something happened between the BK tree and monotone... Jul 15 00:44:44 Ah ha. The changes were in 41be7c702d48ccbee9015d2f92589a297f4cb0a2 Jul 15 00:46:21 No, they were in right at the start too. Jul 15 00:47:36 so it's definitely #oe heritage? Jul 15 00:48:27 Yes. I was looking at the -native file in bk. This stuff is kergoth stuff. Jul 15 00:52:38 He puts '-e' into EXTRA_OEMAKE to cause the top level make to be called with -e. This invokes the make magic which should cause all sub-makes to get -e. Jul 15 00:53:00 -e causes anything in the environment to totally cancel settings of the same variable in the makefile. Jul 15 00:53:41 He sets a whole slew (about 4) of environment variables to fake out the make and get the correct link line. Jul 15 00:53:51 For some of us it works, for some of us it doesn't... Jul 15 00:54:20 ok, at home I'm using "GNU Make 3.80" - what's it on Nudi? Jul 15 00:54:20 rwhitby: what version of make do you have? Jul 15 00:54:38 Same version here. Jul 15 00:55:06 Same version on nudi. Jul 15 00:55:37 GNU bash, version 3.00.16(1)-release Jul 15 00:55:55 (that's also /bin/sh) Jul 15 00:55:57 Do you still get the problem if you delete src/postconf/postconf and re-run temp/do_compile* ? Jul 15 00:57:05 checking ... Jul 15 00:57:29 It will work. Jul 15 00:58:08 By which I mean that the gcc link will have -Wl,rpath (etc) on the command line. Jul 15 00:58:30 So, can I get mine to fail ;-) Jul 15 00:59:21 Yes, I can: ccache armeb-linux-gcc -march=armv5te -mtune=xscale -DHAS_PCRE -I/home/work-tmp/jbowler/nslu2/openslug/staging/armeb-linux/include -Os -g -O -I. -I../../include -DLINUX2 -o postconf postconf.o ../../lib/libglobal.a ../../lib/libutil.a -L/home/work-tmp/jbowler/nslu2/openslug/staging/armeb-linux/lib -lpcre -ldb -lnsl -lresolv Jul 15 00:59:32 MFLAGS is your enemy Jul 15 01:00:08 I got mine to fail by constructing a Makefile which simply executed temp/run.do_compile* and using 'make'. Jul 15 01:00:36 If I repeat this excercise using 'make -e' it succeeds. Jul 15 01:01:44 I suggested to DaKa2 (then forgot about it) that he use -e with the top level Makefile - this, of course, causes other things (which work without -e) to fail. Jul 15 01:03:17 unset MFLAGS I think Jul 15 01:04:44 Go jbowler! Jul 15 01:10:11 Well, it's something in the environment. 'env -i' fixes it. Jul 15 01:11:01 MAKEFLAGS Jul 15 01:11:27 The fix is to put unset MFLAGS; unset MAKEFLAGS; bitbake ... in the master makefile. Jul 15 01:11:52 I.e. just put those two unset commands before the bitbake commands. Jul 15 01:12:41 Long term a better fix might be to use the whole env -i thing to precisely control the environment. Jul 15 01:15:07 now I need to sleep... Jul 15 01:20:11 03jbowler 07org.openembedded.nslu2-linux * r55a9cfb8... 10/packages/ (5 files in 2 dirs): (log message trimmed) Jul 15 01:20:11 mpd does not build on osuclibc because libvorbis will not build, that Jul 15 01:20:11 happens because it attempts a static link with the -lm library in the Jul 15 01:20:11 wrong place. Jul 15 01:20:11 monotone split into two versions, one for the netsync-4 versions (up to Jul 15 01:20:13 and including 0.19) one for netsync-5 versions. Both may be installed Jul 15 01:20:15 on one NSLU2, allowing the system to handle both <=0.19 and >=0.20 Jul 15 01:32:10 jbowler-zzz: we could put those things in setup-env Jul 15 01:34:21 testing that now. adding unset MFLAGS and unset MAKEFLAGS to setup-env in openslug dir Jul 15 01:51:42 ok, that seems to have worked. pushing it. Jul 15 01:53:46 03rwhitby 07org.nslu2-linux.dev * r4a6487d7... 10/openslug/Makefile: Added unset MFLAGS and unset MAKEFLAGS to the generation of setup-env in openslug/Makefile Jul 15 02:54:13 03rwhitby 07org.openembedded.nslu2-linux * r068a291c... 10/packages/meta/unslung-packages.bb: Added package-index to unslung-packages Jul 15 03:51:24 bob_tm: g'day Jul 15 03:51:32 bbiab (putting kids to bed) Jul 15 03:53:28 bob_tm :) Jul 15 03:59:48 Ping NAiL Jul 15 04:00:14 rwhitby: Good evening Jul 15 04:22:04 pong Jul 15 04:31:38 bob_tm: g'day. how's things? Jul 15 04:32:03 bob_tm: are you interested in the Unslung release manager job ? Jul 15 04:40:01 [g2]: morning :) Jul 15 04:41:32 <[g2]> hey Jul 15 04:43:46 rwhitby: Out buying coffee for a sec. Making it now - back in 2 mins Jul 15 04:43:54 ok Jul 15 04:54:07 rwhitby: ping? Jul 15 04:57:22 rwhitby-away: ping Jul 15 05:08:32 bob_tm: pong Jul 15 05:08:47 would you believe that I locked myself out of the openslug system that runs miau? Jul 15 05:09:08 No - how? Jul 15 05:09:24 I reinstated an old passwd file from before I migrated to latest 2.2-beta, and it had root's home diretory in a different place, so the ssh keys were no longer found ... Jul 15 05:09:24 * [g2] listens intently Jul 15 05:09:47 just had to reboot with disk unplugged, hotplug disk, edit file, reboot Jul 15 05:09:54 Oh - been there. Jul 15 05:10:23 BTW: I've turboed my slug. Works well. Jul 15 05:10:34 Made serial too. Jul 15 05:10:55 Tomorrow I will borrow a dev slug for two weeks while the owner is on holiday. Jul 15 05:12:09 Anybody know if I can make a 1-wire bus without that USB<->1-wire adapter? Jul 15 05:12:21 http://www.digitec.ch/php/mitte_loaddetail.php?artikel=109273 <--- hmm Plextor ConvertX... hardware DivX over USB2...... does that work on linux ? :) Jul 15 05:12:34 could make a slug into a TiVo with that Jul 15 05:14:11 Fuzzel: CHF is not a currency I know - what is the price of this? Jul 15 05:15:19 bob_tm: I got dalsemi to send me a usb ibutton adapter for free - just filled out the sample request on their website Jul 15 05:15:44 rwhitby: Cool - will try. Jul 15 05:16:50 also got a 32Kb eeprom from them, and have stored all my keys on it :-) Jul 15 05:16:57 (ibutton) Jul 15 05:17:15 rwhitby: Unslung Pack Mgr.? Same answer as before - I can't commit to that amount of time/work. Need to continue to focus on money making activities. Jul 15 05:17:44 bob: Swiss Franks, 1.5x EUR (600 CHF = 400 EUR) Jul 15 05:17:47 bob_tm: unslung release manager - firmware, not packages. Jul 15 05:18:12 rwhitby: I stand corrected. Still, same applies. Jul 15 05:18:32 someone knowledgeable, who is running unslug, and can fix bugs. Jul 15 05:18:51 and maybe add a kernel module or two if someone needs it Jul 15 05:18:55 03rwhitby 07org.openembedded.nslu2-linux * rcc91df51... 10/conf/machine/nslu2.conf: Nailed CVSDATE for gnu-config for nslu2-linux Jul 15 05:19:00 rwhitby: add 'time' to the criteria Jul 15 05:19:17 we don't have any great ideas for new features - that's all being done in the packages now Jul 15 05:19:46 rwhitby: I know, but experience tells me that things often take more time than what it looks like. Jul 15 05:19:55 bob_tm: fair enough Jul 15 05:20:22 how about just being someone who has write access and fixes the bugs, but is not responsible for the releases? Jul 15 05:20:38 rwhitby: Modules I can do. Jul 15 05:20:40 (at least just fixes bugs that affect them) Jul 15 05:21:27 bob_tm: are you set up with monotone ? Jul 15 05:21:36 Yes, but I have some minor problems Jul 15 05:22:24 bob_tm: it should build now. Jul 15 05:22:27 (protocol number mismatch and problem with undefined variable "default-collection") Jul 15 05:22:38 ah - you need version 0.19, not 0.20 Jul 15 05:23:00 you will need 0.20 next week after mickeyl upgrades the server :-) Jul 15 05:23:02 I though as much, but portage doesn't have it yet. Maybe there is an unstable release Jul 15 05:23:29 It says 0.20 installed Jul 15 05:23:53 0.20 won't work with our current repo. Jul 15 05:23:59 must be 0.18 or 0.19 Jul 15 05:24:01 So revert back Jul 15 05:24:04 Will do Jul 15 05:24:08 yep, until next week :-) Jul 15 05:24:38 rwhitby: Very nice the new dev setup Jul 15 05:24:48 thx Jul 15 05:25:56 rwhitby: Any plans for multiple sources for the package downloads? Jul 15 05:26:04 (optware) Jul 15 05:26:48 Like FOO_SITE_BACKUP= Jul 15 05:26:50 now that we have feed mirrors set up, we should mirror the sources too Jul 15 05:26:57 then we could do that Jul 15 05:38:37 rwhitby: Was it the DS9490R or B adapter you got? Jul 15 05:39:59 B Jul 15 05:40:07 iButton holder. Jul 15 05:41:06 thanks Jul 15 06:25:23 re all Jul 15 06:33:23 trouble building openslug. think i missed a step. help? Jul 15 06:34:23 <[g2]> kitno455, what happened ? Jul 15 06:34:36 monotone ok, make setup ok Jul 15 06:34:49 is next step make openslug? Jul 15 06:35:18 cause it complains about No such file or directory: '/data/slug/openslug/oe-symlinks/packages/*/*.bb' Jul 15 06:36:19 <[g2]> build-openslug Jul 15 06:36:28 data/slug/openslug/oe-symlinks/packages/* are all files, not dirs Jul 15 06:36:46 thats what i did, sorry Jul 15 06:36:52 build-openslug and openslug are the same Jul 15 06:36:54 it gives those errors Jul 15 06:37:01 yes, they look same in makefile Jul 15 06:37:07 same target Jul 15 06:37:25 i must have missed a step, or my kit is broken Jul 15 06:37:53 check this: Jul 15 06:38:05 cat openslug/oe-symlinks/packages/zlib Jul 15 06:38:12 link ../../openembedded/packages/zlib Jul 15 06:38:37 <[g2]> ls Jul 15 06:38:42 <[g2]> it's a directory Jul 15 06:38:48 no its not Jul 15 06:38:54 <[g2]> that's your problem Jul 15 06:38:55 its a file containing that line Jul 15 06:39:12 check it Jul 15 06:39:20 file openslug/oe-symlinks/packages/zlib Jul 15 06:39:25 openslug/oe-symlinks/packages/zlib: ASCII text, with no line terminators Jul 15 06:39:36 not a dir Jul 15 06:40:08 <[g2]> file openslug/oe-symlinks/packages/zlib/ Jul 15 06:40:08 <[g2]> openslug/oe-symlinks/packages/zlib/: directory Jul 15 06:40:19 <[g2]> I don't know about FCxxxx Jul 15 06:40:20 nice for you :) Jul 15 06:40:40 <[g2]> that's a simple issue on the svn pull Jul 15 06:40:40 ok, off to look at Makefile, find the code that tries to make symlinks... Jul 15 06:40:58 Rename the oe-symlinks dir Jul 15 06:41:00 Do make setup again Jul 15 06:41:05 ok, try that. Jul 15 06:41:29 <[g2]> actually you wanted to go into openslug Jul 15 06:41:40 <[g2]> and just update-symlink iirc Jul 15 06:41:59 go into openslug? Jul 15 06:42:03 it's a symlink in there Jul 15 06:42:11 looking at makefile in openslug/ Jul 15 06:42:19 <[g2]> ok Jul 15 06:43:29 mv oe-symlinks foo Jul 15 06:43:29 Done it yet? Jul 15 06:43:33 make setup Jul 15 06:43:43 same Jul 15 06:43:58 oe-symlinks has packages/ dir Jul 15 06:44:07 but files are all ascii text Jul 15 06:44:13 update svn maybe? Jul 15 06:44:22 svn --version Jul 15 06:44:36 1.0.9 (r11378) Jul 15 06:44:58 It's up to 1.2.1 now Jul 15 06:45:04 right Jul 15 06:45:15 lets update that and try again.... Jul 15 06:45:25 Update it and see if it helps. Something is screwy with your setup. Not seen anybody else with this problem.... Jul 15 06:45:34 what else uses svn? Jul 15 06:45:41 i will need to blast those checkouts too Jul 15 06:45:57 bitbake Jul 15 06:46:00 <[g2]> grep svn Makefile Jul 15 06:46:00 <[g2]> [ -e bitbake/bin/bitbake ] || ( svn co svn://svn.berlios.de/bitbake/trunk/bitbake ) Jul 15 06:46:00 <[g2]> [ -e oe-symlinks/packages ] || ( svn co svn://svn.berlios.de/openslug/trunk/openslug/nslu2-linux oe-symlinks ) Jul 15 06:46:00 <[g2]> ( cd bitbake ; svn update ) Jul 15 06:46:00 <[g2]> ( cd oe-symlinks ; svn update ) Jul 15 06:46:57 You should remove openslug/tmp as well if you've got a potentially broken install Jul 15 06:47:12 that is cache dir? Jul 15 06:47:34 It's the work dir. Contains the stuff it's compiling, the cache etc.... Jul 15 06:47:49 basically you start over from scratch on the build if you remove it Jul 15 06:48:21 dont have JIT compiler on this machine, can i install it after i trash opeslug/tmp? Jul 15 06:49:22 don't know. you'll have to ask one of the others Jul 15 06:51:22 <[g2]> you don't need JIT it just makes things faster Jul 15 06:54:12 hm, managed to reproduce my crash for the third time in the case, but never outside with a fan... so there might be a thermal issue with turboslug.., next step, fan in case.. Jul 15 06:55:04 what crash? Jul 15 06:55:43 http://david.thg.se/saker/dammit-050715 Jul 15 06:55:56 thats one, there has been a few different Jul 15 06:56:14 totaly dead on serial and ssh after that Jul 15 06:57:56 and its damn hot.. Jul 15 07:00:50 how hot is that? Jul 15 07:01:17 Do you even have a heatsink? Jul 15 07:02:40 I have nothing to measure with, but its to hot to keep your finger on the cpu Jul 15 07:02:51 uh? Jul 15 07:02:57 Call me paranoid but I affixed heatsinks to both the core and USB2 chip using special thermal cement/. Jul 15 07:03:03 It's never that hot for me Jul 15 07:03:12 and all of the board and memory+flash is warm Jul 15 07:03:21 The NEC chip is supposed to be hot Jul 15 07:03:24 Im pushing it really hard Jul 15 07:03:28 well, Im not using usb Jul 15 07:03:30 DaKa2, what are you doing with it Jul 15 07:03:38 <[g2]> Tiersten, mount via NFS rootfs and do large builds Jul 15 07:03:44 exactly Jul 15 07:03:45 A heatsink will help spread the heat away from the hot spots on the chip. Jul 15 07:04:15 [g2]: Your one is that hot as well? Jul 15 07:04:18 Hmm, Ill see if I can find some thermal glue.. or something Jul 15 07:04:31 Most PC shops sell some. Jul 15 07:04:36 if it is lying on its side, you can use nearly anything Jul 15 07:04:37 <[g2]> Tiersten, I don't think so Jul 15 07:04:53 <[g2]> But I'm cooler here by 10 F Jul 15 07:05:11 <[g2]> and I'm running slower due to disk I/O Jul 15 07:06:06 <[g2]> His built time was 10 minutes faster than my FatSlug build time Jul 15 07:06:15 <[g2]> for perl Jul 15 07:06:29 python... Jul 15 07:06:37 <[g2]> ok python Jul 15 07:07:09 building over NFS is faster than local disk? insane Jul 15 07:07:10 <[g2]> ok 3 minutes Jul 15 07:07:44 local disk goes thru usb port Jul 15 07:08:09 <[g2]> it's not insane at all Jul 15 07:08:11 usb high over head, and controlled thru main processor Jul 15 07:08:19 DaKa2: If your one a FWIXP420BB or a FWIXP420BL? Jul 15 07:08:23 network gets some help from coprocessor Jul 15 07:08:26 BL Jul 15 07:08:31 hrm Jul 15 07:08:33 all my slugs are BL Jul 15 07:08:42 will need to get some more data on this Jul 15 07:08:55 All your slugs are belong to us. Jul 15 07:08:58 do we know aproximate serial number break on slugs Jul 15 07:09:05 between two processors? Jul 15 07:09:12 No Jul 15 07:09:22 It appears the very early ones were BB Jul 15 07:09:24 <[g2]> more likely the model number would change Jul 15 07:10:09 this could be something completly else, maybe not at all because of heat, but thats the only thing Ive managed to come up with Jul 15 07:10:12 <[g2]> Linksys tweaked the model numbers on the boxes and devices slightly for most wrt54g changes Jul 15 07:10:29 what if BL is lower speed bin of same part. Jul 15 07:10:36 it would likely have more heat issues Jul 15 07:11:20 <[g2]> DaKa2, is it always dying at the same spot ? Jul 15 07:11:32 [g2]: no Jul 15 07:11:37 its really random Jul 15 07:11:48 <[g2]> I'm mean in the ooops Jul 15 07:12:05 usually with an kernel oops or five, but they are completly random too Jul 15 07:12:36 <[g2]> an oops collection would be interesting Jul 15 07:13:37 Ill try making it crash some more then :-) Jul 15 07:16:49 <[g2]> well the most intersting one will be with the usb-ethernet adapter Jul 15 07:17:03 <[g2]> cause that's one you can email to lak Jul 15 07:18:20 well, if its heat you get kernel oops on random things so that shouldn't be interesting anyway, but if I get them with a fan on then that would be interesting Jul 15 07:20:26 <[g2]> well just spreading out the heat on the chip with a heat sink might just be the ticket Jul 15 07:20:55 just make sure you apply the thermal paste liberally to fill the gaps. Jul 15 07:21:20 You might want to just test it out with normal thermal compound before actually gluing it. Jul 15 07:21:34 I know there is an ir thermometor somewhere around here.. Jul 15 07:21:42 uhm, i dont think liberally is good.... Jul 15 07:21:54 you want the bare minimum to fill the gaps Jul 15 07:22:11 I've just attached one with normal stuff right now for testing Jul 15 07:23:07 well, not too much obviously, but you have to spread it evenly around. Jul 15 07:23:15 thermal goo should be spread as thinly as possible. it's just to fill out any tiny ridges in the surface of the IC or the heatsink. Jul 15 07:23:34 yup Jul 15 07:23:38 direct contact from the heatsink to the CPU is best. then it's thermal goo and finally air Jul 15 07:23:39 ok, my choice of word was wrong! :) Jul 15 07:24:10 I assume the IXP is fairly flat. Lapping the package would be insane Jul 15 07:24:20 hehehe I was just thinking about that! Jul 15 07:24:39 The heatsink might not be though. Jul 15 07:24:52 anything is better than nothing! Jul 15 07:24:56 If it's good enough by just leaving the case open then I doubt you'd need to Jul 15 07:25:22 doesn't hurt though Jul 15 07:25:41 uh huh.... Jul 15 07:25:58 No point doing it if there isn't any use though Jul 15 07:27:49 well, he was talking about overheating so perhaps he does have a problem. Jul 15 07:28:35 Taking it out of the case with a fan works fine Jul 15 07:29:40 a fan is noisier, more expensive so I would go passive first. Jul 15 07:29:58 but then again, whatever the user wants to do is fine. Jul 15 07:30:07 :) Jul 15 07:30:14 Most of the time you don't need to lap anything Jul 15 07:30:20 It's just good enough Jul 15 07:30:35 If it was that terrible then the heatsink manufacturers would go out of business in 5 minutes Jul 15 07:30:39 hard to lap it when the battery, and speaker, etc are nearby Jul 15 07:30:57 nah. the heatsink Jul 15 07:31:00 Of course! people only lap in rare cases. Jul 15 07:31:15 lap? Jul 15 07:31:20 no point in lapping th sink if the cpu is bumpy Jul 15 07:31:21 grind it smooth Jul 15 07:31:29 like valves or lenses Jul 15 07:31:32 oh.. Jul 15 07:31:37 is it bumpy? I thought it was flat? Jul 15 07:31:53 look at the plastic with a lense Jul 15 07:32:26 not flat like the metal heatspreader of a P4 or athlon 64 Jul 15 07:32:38 you mean smooth? Jul 15 07:32:39 or the ceramic of an athlon/p3 Jul 15 07:32:56 Because I've just looked at mine and put a ruler up against it and it is flat Jul 15 07:33:10 different order of magnitude Jul 15 07:33:17 ceramic? Jul 15 07:33:25 what ceramic? Jul 15 07:33:40 athlons and some p3 have a ceramic top Jul 15 07:33:48 Some thermal paste would be fine with the flatness of the IXP Jul 15 07:34:03 I've never seen a P3 with a ceramic top Jul 15 07:34:23 that pink or green rectangle? Jul 15 07:34:27 That's not ceramic Jul 15 07:34:32 that's the bottom of the substrate Jul 15 07:34:52 thats raw silicon wafer? Jul 15 07:34:59 It's the actual die with some sort of protective goo Jul 15 07:35:01 yes Jul 15 07:35:04 stupid Jul 15 07:35:19 no wonder the sligtest touch ruins the cpu Jul 15 07:35:40 that's why places started selling shims like crazy Jul 15 07:35:56 dumb athlon with their rubber pads Jul 15 07:36:35 got svn 1.2.1 installed Jul 15 07:36:41 openslug building now Jul 15 07:36:42 you get good thermal transfer because you're directly touching the substrate but the area is tiny so overall it's not too great Jul 15 07:37:01 same amount of contact a heat spreader would have Jul 15 07:37:09 but one less layer that way Jul 15 07:37:23 good idea for hermetically sealed equipment Jul 15 07:37:33 but end users are clumsy Jul 15 07:37:43 the heatspreaders stop people cracking it because they're too clumsy when putting on the heatsink Jul 15 07:37:48 right Jul 15 07:37:51 or they've bought a crap design of heatsink Jul 15 07:38:07 I've seen some where you can pretty much keep clamping it down until the core cracks Jul 15 07:38:10 oh, dont get me started on that :) Jul 15 07:38:14 :) Jul 15 07:38:32 I've never managed to break a cpu, and I've built over 200 computers.. Jul 15 07:38:45 some of the real hardcore overclockers have removed the heatspreader Jul 15 07:38:48 on newer chips Jul 15 07:38:54 hell, i had a K6 that i cut the heatspreader off of Jul 15 07:38:58 heh Jul 15 07:39:06 like 1998 or so Jul 15 07:39:17 learned real quick not to do that again Jul 15 07:39:30 it broke? Jul 15 07:40:02 no, but then i had to build a new clip for heatsink Jul 15 07:40:07 ah Jul 15 07:40:19 which broke tabs off board socket Jul 15 07:41:11 hell, i used to run a 386-40 at 50mhz with water cooling in 1995 or so Jul 15 07:41:17 I remember when these flipchips first came out. Some people didn't understand and started to lap the die even though it is flat Jul 15 07:41:48 i gave up on overclocking a long time ago. i got a job :) Jul 15 07:41:50 Surprisingly, the CPU doesn't appreciate you grinding the die Jul 15 07:41:56 yeah Jul 15 07:42:25 do you know what size process is used on IXP? Jul 15 07:42:47 No. I doubt it's anything exotic Jul 15 07:43:24 i am just amazed to see 266mhz that wont burn you :) Jul 15 07:44:42 It's very low power Jul 15 07:44:55 0.18 micron Jul 15 07:45:03 It's in the product brief for the IXP$20 Jul 15 08:03:57 rwhitby-asleep: MFLAGS/MAKEFLAGS - yes, I didn't actually look at the master Makefile when I said that. All that needs to happen is that the variables are removed somewhere between the top level make and the one bitbake runs. Jul 15 08:59:42 who figured out the hotspot on the IXP? Somewhere near the "i", wasn't it? Jul 15 09:03:09 dyoung, Jul 15 09:03:13 figured it out Jul 15 09:05:20 aha Jul 15 09:07:13 Considering sticking a very very small heatsink on that spot Jul 15 09:07:37 just glue an aluminum roofing nail to it Jul 15 09:08:44 roofing nail? Jul 15 09:09:05 hmm, you dont know anything about nails :) Jul 15 09:09:18 :-P Jul 15 09:09:26 used for asphalt or fiber shingles Jul 15 09:09:36 aaah Jul 15 09:09:37 ok Jul 15 09:09:38 big, flat head Jul 15 09:09:40 yeah Jul 15 09:09:59 i have used that before on small fets when i had no sink Jul 15 09:10:06 lol NAiL doesn't know about nails Jul 15 09:10:11 I've got three tiny (1cm*0.5cm) aluminum heatsinks that I could use Jul 15 09:10:27 jacques: not in english, no :) Jul 15 09:10:50 NAiL, i am a dumb american using ascii pine Jul 15 09:11:03 what does the first character of your first name look like? Jul 15 09:11:19 An O with a / through it Jul 15 09:11:28 Ø Jul 15 09:11:36 cool. its just a blank for me Jul 15 09:11:44 this slash / not this one \ Jul 15 09:11:48 Also known as the "oe" ligature Jul 15 09:11:56 forward-slash, yes Jul 15 09:12:15 Only used in Norway and Denmark, afaik Jul 15 09:12:24 And my parents had to stick one in my name Jul 15 09:12:24 world gets a little smaller every day Jul 15 09:12:37 what is your default charset there? Jul 15 09:13:06 cp865, iso8859-1, utf-8, Jul 15 09:13:19 oh, its in 8859-1? Jul 15 09:13:37 yeah, 8859-1 does all the western chars Jul 15 09:13:59 eastern europe uses a different one IIRC Jul 15 09:14:10 i figured they were 'northern' chars :) Jul 15 09:14:35 well, yeah. But we're lucky enough to be north-*west* :D Jul 15 09:15:46 btw- thanks for taking the openslug maintainer mantle Jul 15 09:15:56 It's a real pain in the a** getting the Ø (OE) right. Å (AA) or Æ (AE) is more common Jul 15 09:16:27 np. Haven't been able to do much the last week though. Hope to be putting in more work this weekend and next week :) Jul 15 09:17:10 building openslug now Jul 15 09:17:23 i see that it could not get upslug via http Jul 15 09:17:36 so it does cvs instead? Jul 15 09:18:24 I thought it did cvs in any case? Jul 15 09:18:42 it tried to get http://www.oesources.org/source/current/upslug_cvs.sourceforge.net_UPSLUG_1_0_.tar.gz Jul 15 09:18:46 but got a 404 Jul 15 09:18:54 so then it tried cvs and got it Jul 15 09:18:58 ah Jul 15 09:21:55 i see that openslug download the linksys firmware? what does it get from there? Jul 15 09:22:45 * jacques used to know the answer to that. Jul 15 09:23:31 I still don't. But I haven't been in this game for long Jul 15 09:23:45 * NAiL is kinda getting information overload :-P Jul 15 09:23:57 lets see if i can find out Jul 15 09:26:25 I just asked and someone knew - rwhitby-asleep I think Jul 15 09:26:33 I mean when I first had the question Jul 15 09:26:53 RedBoot? Jul 15 09:26:55 it appears to get redboot, sysconf, ramdisk.ext2.gz and Trailer Jul 15 09:27:01 makes sense Jul 15 09:27:03 ah yes, that's it Jul 15 09:27:09 and put them in nslu2-binaries/ Jul 15 09:27:09 stuff slugimage needs Jul 15 09:27:12 It must be redboot and the trailer Jul 15 09:27:50 i suppose someday bb could build redboot or apex from source too. Jul 15 09:28:30 * NAiL envisions the problems letting users build redboot on their own :) Jul 15 09:28:40 Building RedBoot is complicated Jul 15 09:29:02 i recall it having a gui or some such Jul 15 09:29:09 ? Jul 15 09:29:32 Look at http://cvs.sourceforge.net/viewcvs.py/nslu/sluggo/ Jul 15 09:30:29 during a normal flash, redboot isn't even replaced Jul 15 09:30:35 (much safer that way) Jul 15 09:30:39 yeah Jul 15 09:30:45 does upslug overwrite it? Jul 15 09:30:50 no Jul 15 09:30:50 not normally Jul 15 09:30:58 I wouldn't try it either Jul 15 09:30:59 there is a mode which will do it IIRC Jul 15 09:31:03 You (used to?) be able to do it Jul 15 09:31:03 but it needs to be in the image? Jul 15 09:31:16 it's just there for completeness Jul 15 09:31:21 You get one attempt at it and that's it Jul 15 09:32:20 There's too many ways it can go wrong. (1) Powerfailure, (2) 10mbit switch/hub, (3) transmission errors Jul 15 09:32:24 to name a few Jul 15 09:32:41 I've had a couple of misflashes of unknown reason Jul 15 09:33:19 If that had happened during a redboot flash, I'd be royally screwed Jul 15 09:33:26 i really dont like all the stuff the stock redboot does Jul 15 09:33:43 i am (someday) going to put slugs on untrusted networks Jul 15 09:33:49 If I was to replace redboot, I'd replace it with APEX anyhow ;) Jul 15 09:33:59 so i guess i need to look at sluggo more closely. Jul 15 09:34:18 does aped have usb support? Jul 15 09:34:21 NAiL, me too Jul 15 09:34:25 apex i mean Jul 15 09:34:33 It only listens to 192.168.0.1 when it's booting. Once it's started it's fine Jul 15 09:34:45 Tiersten: ? Jul 15 09:34:50 About RedBoot Jul 15 09:35:09 there is nothing after that? Jul 15 09:35:33 There's a ~3 sec window where it listens to that IP, IIRc Jul 15 09:35:35 No. It relinquishs control of the network interface to Linux Jul 15 09:35:47 it doesn't keep listening Jul 15 09:36:18 It's only a problem if untrustworthy people can powercycle the NSLU2 Jul 15 09:36:29 hmm, thats no so bad Jul 15 09:36:36 In which case you have security problems anyhow ;) Jul 15 09:36:44 if they can power cycle, they will steal Jul 15 09:36:48 Yep Jul 15 09:36:49 its so cute Jul 15 09:36:52 hehe Jul 15 09:37:03 except for the damn name :) Jul 15 09:37:07 And it's only a 3 second window. People have enough trouble getting into it for real reasons! Jul 15 09:37:35 If it's on a autoneg auto MDI/MDIX switch then you've only got about 1 second Jul 15 09:37:39 does unslung still run the Download daemon? Jul 15 09:37:44 since all the negotiation takes so long Jul 15 09:37:51 jacques: Not that I know of Jul 15 09:38:20 5.5-beta disables it Jul 15 09:38:21 https://developer.berlios.de/project/shownotes.php?release_id=6140 Jul 15 09:38:27 Tiersten, thanks Jul 15 09:39:15 hmm, cant get cron, ibiblio seems sleepy Jul 15 10:57:02 question: why does `make openslug` seem to build so many packages? is there a 'smaller' build? Jul 15 10:57:44 you can just build the things you like, if you like Jul 15 10:57:49 cd openslug Jul 15 10:57:52 bb packagename Jul 15 10:57:56 err Jul 15 10:57:59 cd openslug Jul 15 10:58:03 bitbake openslug-image Jul 15 10:58:04 source setup-env Jul 15 10:58:44 (is just waiting for the first time there is massive confusion between the bb alias and the bb busybox symlink gentoo is installing now) Jul 15 10:59:10 ahh, dammit :-) Jul 15 10:59:27 so openslug-image is a single package inside of openslug? Jul 15 10:59:43 its a meta package Jul 15 10:59:57 building what is needed to make the image file to flash Jul 15 11:00:13 the other meta package is openslug-packages Jul 15 11:00:31 and `make openslug` does both? Jul 15 11:00:33 yup Jul 15 11:01:12 where are these meta packages defined? Jul 15 11:01:26 oe-symlinks/packages/meta Jul 15 11:02:17 so when i `cd openslug` and then `bitbake whatever` bb always looks in ./oe-symlinks? Jul 15 11:02:41 You can change the local.conf to look in packages/*/*.bb Jul 15 11:03:10 by default it looks in ./oe-symlinks/ packages/*/*.bb ? Jul 15 11:03:35 yes Jul 15 11:03:44 thats defined in conf/local.conf Jul 15 11:03:51 gotit Jul 15 11:04:07 2500 packages later ;-) Jul 15 11:04:29 uhm, yeah, i have decide to hit control c :) Jul 15 11:04:43 its on openvpn now, i might need that. Jul 15 11:04:44 oe-symlinks is a really, really smart solution Jul 15 11:05:17 as much as i like them i killed it at pcre Jul 15 11:06:44 cd openslug/; . setup-env; bitbake openslug-image Jul 15 11:07:29 That should work. Jul 15 11:07:50 done Jul 15 11:07:57 but i dont see its .bb file? Jul 15 11:08:12 ls oe-symlinks/packages/openslug* Jul 15 11:08:20 in meta Jul 15 11:08:30 oe-symlinks/packages/meta/openslug* Jul 15 11:08:46 to find package '

' echo packages/*/

_*.bb Jul 15 11:08:53 so meta is a special thing? Jul 15 11:09:03 different from others? Jul 15 11:09:04 Oops, no _ Jul 15 11:09:17 kitno455: yes, they basically build lots of other stuff Jul 15 11:09:30 they depend on other packages Jul 15 11:09:47 No, meta is just a directory, how it's used is a convention (a poorly documented one). Jul 15 11:09:58 so when you say bb whatever, it looks in all subdirs for it, including meta? Jul 15 11:10:04 Same applies to package naming. Jul 15 11:10:10 Yes, it's just a shell glob Jul 15 11:10:24 so what if you have whatever.bb in two different dirs? Jul 15 11:10:25 bitbake reads every file it finds Jul 15 11:10:26 ahh, yes, you can put the package cron in the dir bash, still works Jul 15 11:10:47 The file system file name is irrelevant - bitbake doesn't care. Jul 15 11:11:17 then how does it find correct .bb file? looks at contents? Jul 15 11:11:21 Yes. Jul 15 11:11:43 what if two files define same name? Jul 15 11:11:44 For a package

it finds all the things such that PACKAGES = " ....

...." Jul 15 11:12:13 It has an algorithm for working out the best one to use, based on version numbers and DEFAULT_PREFERENCE Jul 15 11:12:35 It selects on a file basis and builds that file Jul 15 11:12:36 so a meta package can provide 'foo, bar, baz' and the package bar_1.4.bb can provide 'bar' Jul 15 11:12:57 Yes, and bitbake will probably whine it doesn't know which to use - try it... Jul 15 11:13:23 'multiple providers provide bar' Jul 15 11:13:33 ok. i am going to have to play with this thing some more. its pretty damn slick Jul 15 11:14:47 where is the output image? Jul 15 11:16:05 tmp/deploy/images Jul 15 11:16:34 right. cool beans Jul 15 11:16:37 (the individual package ipks are in tmp/deploy/ipk). Jul 15 11:17:12 wow, it built 1577 ipk before i stopped it Jul 15 11:18:03 some ipkg are nslu2.ipk others are armeb.ipk Jul 15 11:18:14 specific to slug vs generic? Jul 15 11:20:45 nslu2 > armeb Jul 15 11:21:00 Well nslu2 {is more specifc than} armeb Jul 15 11:21:16 The file /etc/ipkg/arch.conf (sp?) lists the priority order. Jul 15 11:27:22 well, my slug is at the house, so i will have to put the image on flash drive and takeit home Jul 15 11:31:27 ok, i am trying to follow turnup. its primary purpose to write .linuxrc? Jul 15 11:39:25 turnup exists to capture the openslug (NSLU2) specific aspects of initial setup of the system, including making a non-flash rootfs Jul 15 11:40:53 It's just there for people who don't want to spend the time doing hand configuration (including writing their own /linuxrc). Jul 15 11:42:49 1 question that's been bugging me. Why is it called turnup specifically? :) Jul 15 11:43:09 dyoung terminology Jul 15 11:43:25 ah Jul 15 11:43:26 <[g2]> nod. turnup greatly setup Jul 15 11:43:27 something about slugs and vegetables Jul 15 11:43:40 then turnips and turnup Jul 15 11:43:45 oh Jul 15 11:43:55 <[g2]> ByronT, silly boy Jul 15 11:43:57 No wonder I couldn't work it out Jul 15 11:44:35 the mind of dyoung works in mysterious ways Jul 15 11:44:35 <[g2]> It's named turnup as in "CPE Turn Up proceedure" Jul 15 11:45:41 <[g2]> that's why I called it that when I put it in the repo Jul 15 11:45:56 <[g2]> and I've been teased about the name ever since Jul 15 11:45:58 CPE? Jul 15 11:46:02 but I like the dyoung story better Jul 15 11:46:06 <[g2]> Customer Premsis Equipment Jul 15 11:46:29 <[g2]> Yeah... that's how history gets written :) Jul 15 11:53:40 i need turnup to do something new i think Jul 15 11:54:38 use binary firmware file on dos fat flash disk Jul 15 11:55:25 either mounted over loopback directly, or extracted into ram like initrd Jul 15 11:59:56 <[cc]smart> jbowler: i have the new populate script in my testbuild now, but it sits there togerther with the old populat-var Jul 15 12:00:21 <[cc]smart> can i remove populate-var using initscripts-openslug_1.0.bb Jul 15 12:09:03 [cc]smart: no, that won't work Jul 15 12:09:33 [cc]smart: lets see what OE has to say on doing this properly (in base-files). Jul 15 12:09:51 <[cc]smart> are relevant people around ? Jul 15 12:10:49 I raised it on #oe, mickeyl said to discuss it on the mailing list. I'm about to send an email to that list. Jul 15 12:15:05 [cc]smart: "Our fix is to have populate-var.sh read one or more config files to tell it Jul 15 12:15:06 what to do. This allows packages to add configuration (as, for example, the Jul 15 12:15:06 nfs-utils package must do to ensure /var/lib/nfs always exists.) Jul 15 12:15:20 I.e. that is what my email says (amongst other things). Jul 15 12:16:52 <[cc]smart> it's a new script. Jul 15 12:16:57 <[cc]smart> one config file Jul 15 12:17:15 <[cc]smart> i principle correct Jul 15 12:18:24 <[cc]smart> besides adding it allows to edit, too. this is key for turnup Jul 15 12:18:59 [cc]smart: I think we need multiple config files so that the crud in /etc/init.d/nfsserver can be removed. Jul 15 12:19:27 <[cc]smart> let me read that... but right now i don't see why it sould be several files. Jul 15 12:20:29 a /etc/populate-var.d/ where packages can drop files would be grat Jul 15 12:20:31 great* Jul 15 12:21:36 Right. I just posted the message to oe@handhelds.org Jul 15 12:21:58 <[cc]smart> is there an nntp gateway to read ? Jul 15 12:23:22 <[cc]smart> yes there is :) Jul 15 12:25:34 Their website is www.handhelds.org (looks like they've changed it recently). Jul 15 12:26:59 <[cc]smart> http://news.gmane.org/gmane.comp.handhelds.openembedded Jul 15 12:55:42 <[cc]smart> out for beverages Jul 15 13:34:12 adios Jul 15 16:36:18 03jp30 * 10unslung/sources/transcode/control: sync ipk versions Jul 15 16:40:36 ok, so this is a heads-up that we are transitioning to monotone 0.20 in the next 24 hours (sooner rather than later if we can). Jul 15 16:41:16 So everyone will need to be ready to upgrade their clients to 0.20. Do not upgrade until we say that the server has been transitioned, otherwise you won't be able to communicate with the server until after it is upgraded. Jul 15 16:46:16 ok, anyone know how to install a package on debian for which you just have the .deb file on disk? Jul 15 16:47:17 dpkg -i Jul 15 16:48:32 yes I think that should work Jul 15 16:49:48 ok, nslu2-linux server is offline for upgrade Jul 15 16:51:08 I like debian Jul 15 16:51:09 This APT has Super Cow Powers. Jul 15 17:12:17 monotone.nslu2-linux.org is updated to monotone 0.20 Jul 15 17:12:23 all clients must update to 0.20 Jul 15 17:13:04 Do: "monotone -d monotone/nslu2-linux.db pull monotone.nslu2-linux.org org.openembedded.* org.nslu2-linux.*" to update your database Jul 15 17:13:20 Master Makefile has also been updated. Jul 15 17:32:10 DaKa2: can you test the monotone upgrade? Jul 15 17:32:43 monotone upgrade? Jul 15 17:33:12 ahh, 0.20? Jul 15 17:34:23 yep Jul 15 17:34:26 fantastic, debian has 0.20 packaged Jul 15 17:34:47 Do: "monotone -d monotone/nslu2-linux.db pull monotone.nslu2-linux.org org.openembedded.* org.nslu2-linux.*" to update your database after you have installed 0.20 Jul 15 17:34:47 hm.. new syntax? Jul 15 17:35:06 gotta go - pass the word on to others who come here today Jul 15 17:35:31 ok, got to sleep in an hour, but sure Jul 15 18:01:54 anyone updated to 0.20 monotone yet? Jul 15 18:02:05 well, me Jul 15 18:02:23 it worked fine? Jul 15 18:02:28 yes Jul 15 18:02:34 atleast a pull Jul 15 18:03:08 make update works after updating the makefile Jul 15 18:03:25 ok, good. thx Jul 15 18:11:11 ok, back later ... Jul 15 18:31:47 If anything 0.20 seems to be slightly slower, but that may just be me - I haven't done a scientific test and the db is larger than it was when I tried 0.19 on a slug. Jul 15 18:32:04 There is, however, a progress indicator, of a sort. Jul 15 18:32:40 I saw that, atleast better than before Jul 15 18:33:08 I just had 15 revs to download, so I dont know about speed Jul 15 18:36:36 Impossible to measure using monotone.nslu2-linux.dev - to do a real speed test it would be necessary to copy the db file and serve/sync using both 0.19 and 0.20 Jul 15 18:36:55 The glob syntax is the bash extended one by the looks of things: 'org.{openembedded,nslu2-linux}.*' works. Jul 15 18:40:58 It doesn't give progress on the "revs out", so there is a push if there is a lot to push back to the server (not typically the case). Jul 15 18:41:04 s/push/pause/ **** ENDING LOGGING AT Fri Jul 15 18:44:43 2005 **** BEGIN LOGGING AT Fri Jul 15 18:44:52 2005 Jul 15 18:49:24 jbowler: hey, feel like reviewing patches for the armeb stat issue again ? :) Jul 15 18:49:55 this version i did some testing with and it works on patched nslu2-2.4.22 and it should work on unpatched 2.4 and 2.6 Jul 15 19:26:02 Can you put it up on pastebin? (I.e. the patch) Jul 15 19:27:35 http://dev.gentoo.org/~vapier/armeb-stat-abi.patch Jul 15 19:28:17 mine should fail only if the value in st_dev requires more than 4 bytes to describe the device node Jul 15 19:28:24 which, atm, i dont think anyone does ... Jul 15 19:29:53 especially since all device nodes atm fit into like 2 bytes :) Jul 15 19:31:45 Ok, so you are reassembling the 8 byte st_dev in the 2.6 kernel from two shorts and the first 4 bytes of a long long Jul 15 19:32:18 yeah Jul 15 19:32:36 That's weird - you only take the low 4 bytes of the st_dev the kernel provides: Jul 15 19:32:36 in case the arm guys ever get their act together and re-order the padding/st_dev in the future :) Jul 15 19:32:58 buf->st_dev = kbuf->st_dev >> 32; Jul 15 19:33:52 Ok, but why not just do it as unsigned long, unsigned long (obviating the need for the >>32)? Jul 15 19:34:11 hmm, i could xor it with << shifted pads Jul 15 19:34:24 that'd give us back 2 bytes from the pad01 Jul 15 19:35:04 A union would work. Jul 15 19:35:14 + unsigned short __pad00; Jul 15 19:35:14 + unsigned short __pad01; Jul 15 19:35:14 + unsigned long st_dev; Jul 15 19:35:14 + unsigned long __pad02; Jul 15 19:35:15 ? Jul 15 19:35:42 i thought about union's but couldnt come up with one that didnt suck let alone work nicely Jul 15 19:36:27 do you mean like union { unsigned long a; unsigned long long b; } and then just doing b = a ? Jul 15 19:37:30 union { unsigned short __small; unsigned long long __large } st_rdev - but it doesn't work in the header. Jul 15 19:37:53 (i.e. someone who actually uses kernel_stat.h will have code which no longer compiles). Jul 15 19:38:05 no one should use kernel_stat.h ... Jul 15 19:38:12 especially since it's a uClibcism Jul 15 19:39:08 Hum. Well, then a union of the new struct and the old (effectively) seems to make it clearer what's going on - but so far as I can see what you have now works, and it works with the version above too. Jul 15 19:40:17 a union of structs ... hadnt thought of that ... Jul 15 19:40:38 I had not either unless 30s ago. Jul 15 19:40:56 we could use st_blocks to check whether we have new ABI or old Jul 15 19:41:06 since its meaning is swapped with the pad between 2.4 and 2.6 Jul 15 19:41:28 hrm well that'd fail if st_blocks was actually 0 Jul 15 19:41:44 I guess the test is that if the new (2.6) kernel stat64 has st_dev or st_rdev > (1<<48) Jul 15 19:41:57 >= (1U << 48) Jul 15 19:42:24 2.6 has unsigned long long st_dev; unsigned char __pad0[4]; Jul 15 19:43:12 which i think is why nslu2 patches its kernel / uclibc the way it does Jul 15 19:43:30 it changes the ABI of 2.4 kernels so its compat with 2.6 Jul 15 19:43:37 And 2.4 unsigned short, unsigned char [10]. I think if the unsigned short == 0 use the unsigned long. Jul 15 19:45:25 That's the LinkSys patch is it? It has some clear advantages... Jul 15 19:45:49 if (unsigned short != 0 && unsigned long == 0) { abi 2.4 } else { abi 2.6 } Jul 15 19:46:03 2.4.22-xfs-nslu2.patch.bz2 Jul 15 19:46:18 it re-orders stat64 in asm-arm/stat.h Jul 15 19:46:42 unsigned long long above, not unsigned long Jul 15 19:46:43 that's why i was having so many problems trying to test originally, i didnt know it was doing that to me heh Jul 15 19:47:37 That may be what fooled me too - I'm fairly sure I checked unslung, at least that I checked the source code. Jul 15 19:48:31 hmm, and as you mentioned on the list, there's no way to cleanly detect abi if the thing being stat-ed is mounted on a 0,0 device Jul 15 19:48:47 but oh well, not a corner case we have to worry about ... we'll just err on the side of newer ABI Jul 15 19:48:57 I think I checked what that was and it isn't something which can be mounted. Jul 15 19:49:44 yeah, i think we're just being overly anal at that point :) Jul 15 19:50:51 Anyway, it doesn't matter because if st_dev is 0 then both structures have 0 in st_dev... Jul 15 19:54:27 Ok, so the patch you have works, so far as I can see, and a test of the form using a union of the two kernel stat64 structures reliably detects 2.6 so long as st_rdev < (1U<<48) and works on patched 2.4 too - so that is a good test too. Jul 15 19:56:30 refresh the patch Jul 15 19:56:51 it uses a union and it works for me on patched 2.4.22 kernel (aka 2.6/new abi) Jul 15 19:57:09 also looks much nicer :) Jul 15 19:58:20 the corner case it fails on now is 0,0 device on a 2.4 (aka old abi) kernel Jul 15 19:58:21 Hum, Konqueror gives me KWrite and no way to refresh, I'll use wget. Jul 15 19:58:46 but that's ok with me, i'm a 2.6 wh0re Jul 15 20:01:22 Yes, that's much clearer (i.e. in that patch the st_dev handling is much clearer than the st_rdev handling). Jul 15 20:02:23 You could test for !st_dev.old_abi && !st_rdev.old_abi Jul 15 20:02:49 well that would only affect special files Jul 15 20:02:54 regular files would fail the rdev test Jul 15 20:03:14 and i'd say a good 99% of the time you deal with regular files ... Jul 15 20:03:40 Do devices have a non-zero st_blocks ever? Jul 15 20:04:25 going by the output of `stat -c %b /dev/* | sort -u` i'd say no Jul 15 20:04:51 but directories give back 0 blocks ... Jul 15 20:04:54 The test case is /dev/full Jul 15 20:05:47 i say we live with just the 2.4 / 0,0 error Jul 15 20:06:35 Yes. Jul 15 20:06:52 ok, i'm gonna tag it and bag it then Jul 15 20:07:02 thanks a lot :) Jul 15 20:07:03 I have /dev/full as 0,0, but I get 'no such device or address' when I try to open it ;-) Jul 15 20:08:03 Thanks for spending so much time looking into it (particularly given that the 2.4 patch is so specific to NSLU2!) Jul 15 21:09:01 jbowler-away: heh, and after all that friggin effort, it looks like it's because a patch was lost in Jan 2002 to fix linux-2.4 Jul 15 21:09:10 http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=863/1 Jul 15 21:09:33 i'm thinking about reverting all of our diffs and just go with the 'correct' ABI **** ENDING LOGGING AT Fri Jul 15 23:59:56 2005