**** BEGIN LOGGING AT Sun Feb 13 23:59:56 2005 Feb 14 07:23:27 morning Feb 14 07:29:39 <[g2]> morning ! Feb 14 07:30:31 today I will be in the office for a little while...but I need to "rescue" my car from the side of the mountian before a landslide burries it. Feb 14 07:32:41 its pressed up against the mountian and has one wheel in a ditch. Feb 14 07:34:51 <[g2]> doh! Feb 14 07:35:32 <[g2]> ka6sox-away, do you think you can send back the FatSlug soon ? Feb 14 07:36:30 yes Feb 14 07:36:47 <[g2]> great thx. Feb 14 07:36:57 today is a little bit stressful as I need to get the car out of there..otherwise it very well could be burried. Feb 14 07:37:28 we are expecting a soaker by the end of the week. Feb 14 07:37:39 <[g2]> well get it out!, unless you're wanting another car real bad Feb 14 07:38:09 uh...that would be the second car in 5 mo...the Insurance Co would probably cancel me. Feb 14 07:38:31 <[g2]> what happened to the first one ? Feb 14 07:38:45 Taco'd it on the freeway. Feb 14 07:38:53 3 car pileup Feb 14 07:38:53 <[g2]> OUCH Feb 14 07:39:00 yeah. Feb 14 07:41:42 my ride is here...gotta scoot I'll be on in about 30 minutes from the office...catch you there. Feb 14 07:42:12 <[g2]> nod Feb 14 07:46:07 morning all Feb 14 07:47:33 <[g2]> morning Feb 14 07:48:02 whats cookin? Feb 14 08:27:24 cooking with GAS Feb 14 08:32:31 gnu assembler? Feb 14 08:51:29 yes, how did you guess? Feb 14 08:57:32 no guess, every time I see GAS I think gnu assembler :-) Feb 14 11:12:09 <[g2]> g'day beewoolie Feb 14 11:12:22 gday Feb 14 11:12:31 did you get my mail about oe? Feb 14 11:12:51 <[g2]> the one from O'dark thirty about unslung ? Feb 14 11:13:10 Don't know that one. Feb 14 11:13:21 Oh, is odark midnight? Feb 14 11:13:37 unslung isn't building for me from OE anymore. Feb 14 11:13:49 <[g2]> do you get the TARGET_OS issue ? Feb 14 11:14:03 I set it to linux_uclib Feb 14 11:14:28 <[g2]> there were so many details in that e-mail I couldn't get throught them all :) Feb 14 11:14:40 <[g2]> actually, TARGET_OS = "linux" for Unslung Feb 14 11:14:50 I didn't get an email about. Let me try that... Feb 14 11:15:07 ...one of these days... Feb 14 11:15:14 <[g2]> beewoolie, I was referring to the one you sent me :) Feb 14 11:15:24 o. Feb 14 11:15:49 I only meant to say that it was working and then it wasn't. Feb 14 11:16:08 <[g2]> well that happens with this stuff for now. Feb 14 11:16:20 <[g2]> I'm sure will get around to fixing it sooner or later :) Feb 14 11:16:27 <[g2]> we'll Feb 14 11:16:32 That's the kind of attitude that has let Microsoft software get so big. Feb 14 11:17:35 BTW, I was helping my dad get one of these slugs going. We found that the instructions for changing the http server didn't work. I updated the wiki. I'm curious, though, if you agree with our solution. Feb 14 11:17:54 <[g2]> It's the old "When you're up to your a** in aligators, it's hard to remember you mission is to drain the swamp" kinda thing :) Feb 14 11:18:35 <[g2]> didn't notice the updated on the wiki Feb 14 11:18:38 [g2], thats exactly how I feel. Feb 14 11:18:38 hey, I resemble that..."looking at the pond out back" Feb 14 11:19:25 heh Feb 14 11:19:27 I know, too. I never want to go all the way to the beginning. fortunately, the kernel works pretty well. :-) Feb 14 11:19:29 <[g2]> ka6sox, any luck with the car Feb 14 11:20:05 headed up now...going to try to make it soon(tm) Feb 14 11:20:31 <[g2]> beewoolie, it's a goal of mine to get the nslu2 Openslug changes in the kernel accepted upstream Feb 14 11:20:58 I didn't know you'd made any. What sorts of changes have you done? Feb 14 11:21:05 <[g2]> so by like 2.6.15 or something ppl can just make ARCH=arm nslu2_defconfg and make zImage Feb 14 11:21:39 cya in a bit. Feb 14 11:21:39 Well, a new defconfig is easy. Are there driver-level changes? Feb 14 11:21:44 ka6sox: ta Feb 14 11:21:57 <[g2]> I haven't done any myself, but kas11 did some I/O changes and there is stuff IXP Feb 14 11:22:18 * kas11 tosses ka6sox a winch Feb 14 11:22:29 I recall that she wasn't willing to indent the code to kernel standards. Feb 14 11:22:29 <[g2]> ka6sox, GL Feb 14 11:22:58 More slides took the car away? Feb 14 11:23:18 <[g2]> beewoolie, that's OK, I'm willing to indent to the proper standards etc.... Feb 14 11:23:28 There's always...indent. Feb 14 11:23:35 <[g2]> once I learn what they are and how has the indenter :) Feb 14 11:23:43 she was willing to do a certain amount...but couldn't get OE to work so had nothing to backport changes too Feb 14 11:23:53 Let me know if you have anything to submit. rmk and I are real tight. ;-) Feb 14 11:24:07 <[g2]> thx Feb 14 11:24:29 <[g2]> lennert actually offered to help me with the processs Feb 14 11:25:06 <[g2]> I was going to take him up on his offer if you didn't have some burning flame under your backside to get it done Feb 14 11:25:29 <[g2]> and if it's not terribly onerous to be a maintainer Feb 14 11:27:08 I would certainly clean up x1205-rtc if I had anyone to test it...I hate testing corner cases Feb 14 11:28:36 <[g2]> kas11, I'll be happy to test some. There are tons of things that need testing Feb 14 11:28:55 <[g2]> I think it's all a work-in-progress and many ppl have appreciated the work you did Feb 14 11:29:23 * [g2] is getting ready to use it right now, voodooz put up some stuff on the wiki just this morning Feb 14 11:30:12 I'm perfectly happy letting someone else post the patches. Feb 14 11:30:27 understood...is why I didn't push it...I've since added things that got absolutely no testing...so it all sorta died a natural death Feb 14 11:32:39 beewoolie: morning Feb 14 11:32:49 beewoolie: got apex sorta booting Feb 14 11:33:08 prpplague: awesome Feb 14 11:33:34 anyone got experience reverse engineering contents of a rom? Feb 14 11:33:42 (for arm) Feb 14 11:33:43 disarm Feb 14 11:33:56 * prpplague googles Feb 14 11:33:59 I don't think it understands BE Feb 14 11:36:32 beewoolie: hmm, i'm not finding an app called disarm Feb 14 11:36:35 beewoolie: url? Feb 14 11:36:42 * beewoolie looks Feb 14 11:37:06 <[g2]> kas11, it hasn't died, it's kinda hibernating :) Feb 14 11:37:11 beewoolie: we will probably go with apex now that the 2.95 toolchain issue is resolved Feb 14 11:37:34 It wasn't asm related at all. It had to do with the attributes. Feb 14 11:37:35 [g2] I meant locally ;) Feb 14 11:37:43 kas11: i have trouble with oe as well Feb 14 11:39:12 prpplague: http://homepage.ntlworld.com/g.mccaughan/g/software.html Feb 14 11:40:03 beewoolie: thanks Feb 14 11:40:08 beewoolie: you used it before? Feb 14 11:40:11 prpplague: some. Feb 14 11:40:33 prpplague: I've mused as to whether I could get binutils to do the dissassemly. Feb 14 11:41:19 beewoolie: i've never done any dissassembly Feb 14 11:41:24 beewoolie: so this is kinda new Feb 14 11:48:52 <[g2]> beewoolie, I'm open for any advice from you also on submitting changes for the kernel, so please to be bashful :) Feb 14 11:49:07 <[g2]> s/to be/don't be/ Feb 14 11:50:17 there are lots of pitfalls. The easiest way to start is to let me look at a patch you want included. You can also go to the arm linux pages and read Russell's developer info pages. The bottom line is "make it easy for me (RMK) to maximize the likelihood that the patch will be applied." Feb 14 12:06:10 <[g2]> beewoolie, nod. Feb 14 12:06:45 <[g2]> I'll check out the page, all the changes should be pretty trivial because they'll all apply to the nslu2 branch Feb 14 12:07:05 <[g2]> little likelyhood of messing other stuff up Feb 14 12:29:05 [g2]: We've talked about using the nslu2 archid in the bootloader. Because the kernel as shipped by Linksys ignores the bootloader Feb 14 12:29:21 ...we can set the 'right' id in APEX and RedBoot now. Feb 14 12:29:30 when the right kernel comes along...booyeah! Feb 14 12:29:55 [g2]: btw, setting the OS to linux seems to have fixed the problem. Feb 14 13:09:04 <[g2]> beewoolie, the original Make file for the 2.6.7 kernel / then 2.6.9 set the machine Id properly Feb 14 13:09:48 <[g2]> If the linksys kernel really ignores that then we can just switch the OpenSlug kernel over Feb 14 13:10:03 <[g2]> hmmm, maybe that's not the caes Feb 14 13:15:24 <[g2]> beewoolie, The OpenSlug kernel should be built with both the IXP425 and NSLU2 config support initially. Feb 14 13:15:55 <[g2]> At some point we should probably drop support for the IXP425 Feb 14 13:31:58 [g2]: I think you're missing the point. The kernel doesn't read the archid given by the bootloader. The kernel still needs one, though. They just override it in the head.S. Feb 14 13:32:59 I believe you can build kernels with both id's no problem. Feb 14 13:33:17 <[g2]> beewoolie, I think you're missing the point, OpenSlug's kernel should to boot from both APEX and Redboot Feb 14 13:33:36 <[g2]> Or are you saying that Redboot doesn't pass the id Feb 14 13:33:39 NP. Feb 14 13:33:54 I'm not sure if redboot passes a kernel id. I've have to read the code. Feb 14 13:34:01 it is possible they didn't even bother. Feb 14 13:34:18 <[g2]> If they don't bother, then we're fine Feb 14 13:34:25 Remember, that was a long time ago. I don't think anyone worried about these ids back in the 2.4 days. Anyone except for rmk that is. Feb 14 13:34:36 Well, sort of. Feb 14 13:35:00 If the 2.6 kernels are ignoring the passed id, then we still have an issue. Feb 14 13:35:29 If my suspicion is correct, the head.S is setting the arch id, even in the 2.6 kernels. Feb 14 13:37:00 <[g2]> we should check the code and the bootloader, we may be able to immediately switch to the nslu2 id and modify patch the kernel for the NSLU2 Feb 14 13:37:48 Right. I'm bulding unslung Feb 14 14:09:12 beewoolie: the splash screen code is working? Feb 14 14:09:20 beewoolie: for apex Feb 14 14:11:29 beewoolie: i _hate_ that darn cpld on the lpd boards Feb 14 14:17:06 Is that a question? Feb 14 14:18:14 Their CPLD is not my favorite either. Feb 14 14:19:20 beewoolie: yea, i just noticed the code for the splash screen, is that working on your board? Feb 14 14:20:46 yeah. It's not pretty, but it does work. Feb 14 14:21:02 It needs to be recoded to use some compression. Feb 14 14:21:18 beewoolie: yea that would be nice Feb 14 14:21:36 Moreover, it isn't wasn't designed as a splash-screen module. It was added to test the LCD controller. Feb 14 14:21:39 beewoolie: i'm using the lpd79520 stuff as a base for doing my stuff Feb 14 14:21:42 Spash screen is a side effect. Feb 14 14:21:49 beewoolie: having to go back and remove the cpld stuff Feb 14 14:21:55 Does it get to the command prompt? Feb 14 14:22:14 beewoolie: no not yet, i have to make a couple changes for our serial port Feb 14 14:22:16 The idea would be to make a new mach_ and change the init code. Feb 14 14:22:39 Likewise, the serial port should be simply changing the base address. Feb 14 14:22:46 beewoolie: we have some custom hardware Feb 14 14:22:52 I've been reworking the code to make this all easier. Feb 14 14:23:11 How does your hardware change the uart operation? Feb 14 14:23:35 beewoolie: we have the uart multiplexed on an external connector Feb 14 14:24:01 beewoolie: we have to enable some gpio's to determine the function Feb 14 14:25:04 beewoolie: when the handheld is not in the cradle the rs-232 transceiver is powered down to conserv power Feb 14 14:25:54 beewoolie: yea, i've already defined a new mach_ Feb 14 14:26:07 beewoolie: just using the lpd79520 as a base Feb 14 14:26:13 beewoolie: as a guide Feb 14 14:39:00 prpplague: None of that should effect the bootloader, IMHO. You can set the right GPIO as part of the init code and then set it again when the loader jumps to the kernel. Feb 14 14:39:29 beewoolie: agreed, just haven't done that yet Feb 14 14:40:08 I'm planning to add a mode where apex doesn't even have a command line. It should make the loader really really small. Feb 14 14:40:24 I need to implement the rest of kconfig, though, for it to be viable. Feb 14 14:40:45 beewoolie: yea, that would be nice Feb 14 14:41:07 beewoolie: i've got to add the mmc support , cs8900 and usb Feb 14 14:44:35 [g2]: Guess what? And the answer is *not* chicken butt. Feb 14 14:44:45 +#ifdef CONFIG_ARCH_NSLU2 Feb 14 14:44:45 + mov r7, #(MACH_TYPE_NSLU2 & 0xff) Feb 14 14:44:45 + orr r7, r7, #(MACH_TYPE_NSLU2 & 0xff00) Feb 14 14:44:45 +#endif Feb 14 14:45:50 In other words, your openslug kernel is forcing the arch id. I'm not sure why the author of this patch did it this way. It's actually more bytes than the more conventional method. Feb 14 14:45:57 e.g. mov r7, #MACH_TYPE_COTULLA_IDP Feb 14 14:47:01 ...for most IDs. In the nslu2 case, it's exactly the same number of bytes. Feb 14 14:47:37 Some have said that it is more cache efficient to load all of the bytes through the code stream. I think that readability is more important. Feb 14 14:47:42 <[g2]> beewoolie, I think that was a first attempt at the NSLU2 specific changes Feb 14 14:48:13 <[g2]> depends on how important speed is Feb 14 14:48:23 At this point in the code, it is immeasurable. Feb 14 14:48:34 <[g2]> nod. Feb 14 14:48:37 as I recall, you have a problem when the id doesn't fit in 8 bits Feb 14 14:48:54 You just have to change the instruction coding. Feb 14 14:50:47 mov r7, =MACH_TYPE_NSLU2 ; Load indirect. Feb 14 14:51:10 The assembler does the pc offset magic. Feb 14 14:51:55 For loads over 16 bits it is a clear code-space win Feb 14 14:52:36 [g2]: I wrote just to point out that the nslu2 kernel, like the linksys kernel, is ignoring the bootloader's arch id Feb 14 14:53:06 beewoolie: hmm, i'm not seeing a config option for the splash screen Feb 14 14:53:44 prpplague: yeah. There isn't one proper. I put the splash screen in the lcd controller test code. Like I said, it's not really finished. Feb 14 14:54:19 beewoolie: ahh ok Feb 14 14:54:24 prpplague: I'm preoccupied with getting a demo together. Once I figure out how to build opie, I should be able to get on to other things. Feb 14 14:54:31 beewoolie: np Feb 14 14:54:56 prpplague: I hacked in the logo screen with the hope that it will be part of this demo. Feb 14 14:56:05 <[g2]-away> beewoolie, I'd like to change that for OpenSlug Feb 14 14:57:01 beewoolie: the logo screen is one of our requirments Feb 14 14:58:02 beewoolie: hehe man that is one ugly jtag dongle Feb 14 14:58:41 prpplague: show me the money! Feb 14 14:58:56 beewoolie: hehe Feb 14 14:59:26 * beewoolie thinks prplague might be getting the hang of it Feb 14 15:19:48 beewoolie: how come you didn't get you some nice protoboards to make your jtag? Feb 14 15:20:31 prpplague: I got what I could find. Perfboard works fine. Protoboards, IIRC, are not a permanent solution. Feb 14 15:21:27 beewoolie: http://www.beldynsys.com/ Feb 14 15:21:47 beewoolie: well worth the investment if you tinker around with electronics Feb 14 15:22:01 We've been over this before. Feb 14 15:22:20 When I built mine, I couldn't find anything reasonably priced. Feb 14 15:22:21 beewoolie: oh, didn't realize that Feb 14 15:22:29 beewoolie: hehe Feb 14 15:22:39 IIRC, these products aren't cheap. Feb 14 15:23:20 beewoolie: you can get about 200 of the small boards for about $75 Feb 14 15:23:36 What am I going to do with 200 of them? Sell them on ebay? Feb 14 15:23:45 beewoolie: you can get them individually from www.sparkfun.com Feb 14 15:24:08 As I said, we've been down this road before. Feb 14 15:24:12 hehe Feb 14 15:24:21 beewoolie: just nagging Feb 14 15:24:36 * prpplague likes his projects to be pretty as well as functional Feb 14 15:26:19 I think it's pretty. Feb 14 15:27:08 hehe Feb 14 15:27:37 beewoolie: i'm just nagging you, anything that works is pretty in my book Feb 14 17:40:20 <[g2]> beewoolie, do you use any special tools for managing patchsets ? Feb 14 17:41:20 [g2]: I just started using quilt for some tasks. Feb 14 17:41:31 <[g2]> in OE :) Feb 14 17:42:48 <[g2]> I'm looking for something that will take to unified diffs and split out the components and compare them Feb 14 17:43:15 <[g2]> short of doing that myself Feb 14 17:47:49 * [g2] starts playing with quilt Feb 14 17:48:05 <[g2]> now I'm quilting with my friends.... go figure Feb 14 17:48:18 tee hee Feb 14 17:51:50 [g2]: What are you trying to do? Feb 14 17:52:22 <[g2]> I think I need to apply two patch sets and quilt diff thme Feb 14 17:52:25 <[g2]> the Feb 14 17:52:26 <[g2]> m Feb 14 17:52:28 <[g2]> :) Feb 14 17:52:40 You want the differences between two patches? Feb 14 17:52:49 <[g2]> nod Feb 14 17:52:59 Interestng. Feb 14 17:53:15 I think that that is probably the best way. Feb 14 17:53:24 <[g2]> well there are 187 patches in one patchset, and 189 in the second Feb 14 17:53:33 <[g2]> I'm guessing 3 files were added Feb 14 17:53:33 I'm guessing that what you really needs is what is the same in the two patches. Feb 14 17:53:45 I have a script that breaks patches into separate files. Feb 14 17:53:57 You could use it to compare the individual patch files. Feb 14 17:54:10 It breaks the patch into one file per file patched. Feb 14 17:54:19 <[g2]> that's what I was going to do, but I wondered if there's a tool out there Feb 14 17:54:48 <[g2]> In my 60 read of the quilt man page it looks like it could do it Feb 14 17:55:04 Well, it doesn't really do what you want. What you need is something that will go file by file, apply the patches and then diff the two versions. sounds pretty useful. In fact, it would be handy for it to produce a patch of the differences. Feb 14 17:55:17 It wouldn't be that hard to write, really. Feb 14 17:55:57 <[g2]> no not hard at all, but practical and no need to invent the wheel if it's already done Feb 14 17:56:01 Suck in the two patches. Break them into files. Create the set of all files modified. One by one, produce patched files... Feb 14 17:56:27 You can see if patcher does it. My understanding is that quilt is the top of the food-chain where that sort of program lives. Feb 14 17:56:37 marina Feb 14 17:57:13 <[g2]> with quilt I think it might be do able Feb 14 17:57:38 <[g2]> I think one could a add a patch and apply the patch then push Feb 14 17:57:46 <[g2]> add the second apply Feb 14 17:57:51 <[g2]> then diff the two trees Feb 14 17:58:08 <[g2]> but I don't know yet Feb 14 17:58:16 I don't think it has the right stuff. Feb 14 17:58:25 It doesn't like changing the order of patches. Feb 14 17:58:41 <[g2]> ka6sox-away, marina ? Feb 14 17:58:44 I think either you'll have to apply the patches to two sets of files, or write a script to do it Feb 14 17:58:58 what is marina? google came up bust except for some cute pictures Feb 14 17:59:24 <[g2]> I'll bet it's a MAC thingy Feb 14 17:59:37 Ah. That would explain why I don't see it. Feb 14 18:01:31 [g2], Marina is my wife. Feb 14 18:01:58 I'm not finding anything about a patch diff program. Feb 14 18:02:07 I might have to write one. It is something I've needed before. Feb 14 18:03:38 <[g2]> beewoolie, hmmmm Feb 14 18:05:41 <[g2]> beewoolie, thx Feb 14 18:06:22 beewoolie: I've heard that there is a LE version for NPE available from Intel. Feb 14 18:06:37 Huh! That would be really nice. Feb 14 18:06:59 1.5 is what I read. Feb 14 18:07:11 I'll look. I haven't had a chance to look into why the ethernet interface isn't starting in openslug. I'm guessing that the bootloader needs to do an init. Feb 14 18:07:41 jacques knows all about it. Feb 14 18:07:58 <[g2]> jacques, was talking about that earlier 1.5 Feb 14 18:08:50 I'm just trying to get things moving along in the bootloader world! Feb 14 18:09:21 <[g2]> ok, so back in bootloader world Feb 14 18:09:37 <[g2]> beewoolie, is flashing built in to the latest APEX ? Feb 14 18:09:45 Yeah. Feb 14 18:09:53 [g2], I made it to the office for exactly 20 minutes Feb 14 18:09:55 <[g2]> has it been tested by someone ? Feb 14 18:09:56 There is a nor-flash driver Feb 14 18:10:02 I've used it. Feb 14 18:10:23 Don't go using it without a JTAG. ;-) Feb 14 18:10:40 <[g2]> That's exactly what I was going to do Feb 14 18:10:46 <[g2]> and without serial Feb 14 18:11:55 <[g2]> I mean if I build an APEX and then have mabye you or dyoung flash it and boot a version of OpenSlug, then I'm willing to risk it Feb 14 18:12:44 <[g2]> I'll copy out my Redboot/sysconf parts first Feb 14 18:12:51 v1.2 Feb 14 18:12:51 - Created separate integration patches for big and little endian kernels Feb 14 18:12:56 From the intel site. Feb 14 18:13:21 okay cool Feb 14 18:13:45 Sounds good. I'm using the same CFI driver on several platforms. Feb 14 18:13:54 Feb 14 18:14:03 so, I'm confident that that code works. Feb 14 18:14:18 There are lots of other pieces, though, that I'm not so sure about. Feb 14 18:15:00 Aside from the hassle factor, is there a good reason for us to go to an LE kernel? Feb 14 18:15:22 <[g2]> eventually we should be able to run both LE and BE Feb 14 18:15:34 <[g2]> I'd stick with BE for now Feb 14 18:16:19 <[g2]> I mean, I'm really toying with an Intel IXP free platform Feb 14 18:17:11 <[g2]> now that usbnet is fixed, I been booting directly with the usb-to-ethernet adapter Feb 14 18:17:32 <[g2]> what I really need is a usb2.0-to-gigabit adapter Feb 14 18:18:06 <[g2]> Although I could use the usb host-to-host adapter and forward from the other host box Feb 14 18:18:30 <[g2]> that'll be a good "crush" test Feb 14 18:20:10 Can you get enough speed through USB2 to make the gig adapter worth it? Feb 14 18:20:28 <[g2]> well usb2.0 tops out at 480Mhz Feb 14 18:20:45 <[g2]> I'm $29 gigabit cards to >600Mhz Feb 14 18:21:01 <[g2]> through my $70 gigabit switch Feb 14 18:21:14 Hz != Mib Feb 14 18:21:32 MHz != Mib Feb 14 18:22:02 <[g2]> nod on the 480-to-600, but the 600 was bits per second Feb 14 18:22:15 <[g2]> as measured with ttcp Feb 14 18:22:32 <[g2]> via tcp Feb 14 18:22:37 I got patches from the Intel site, but no libraries. Feb 14 18:22:51 Need to look some more. Feb 14 18:23:16 <[g2]> So the ethernet can surely crush the 100mhz which the slug could handle in UDP Feb 14 18:23:22 <[g2]> via the ttcp test Feb 14 18:29:22 It looks like we need to install the microcode for the NPE in the bootloader. If that's all, this should not be too bad. Feb 14 18:30:06 I felt a break in the force. Feb 14 18:30:21 it was like someone wants me to JTAG write something... Feb 14 18:30:31 <[g2]> :) Feb 14 18:30:33 Like a whole planet crying out? Feb 14 18:31:08 <[g2]> dyoung-web, have you tried replacing Redboot from APEX via the APEX cmd line ? Feb 14 18:31:26 Replacing with apex? Feb 14 18:31:32 Yes, thats how I got it in there in the first place. Feb 14 18:31:58 <[g2]> I said replacing Redboot from APEX Feb 14 18:32:11 [g2]: You can load APEX into SDRAM, run it, and then use it to write itself to flash. Feb 14 18:32:18 Yeah, I jknow but there are several permutations of what you asked. Feb 14 18:32:41 <[g2]> and once it's in flash, can it reflash Redboot over itself ? Feb 14 18:32:46 RedBoot -> Apex; Apex -> Apex; Redboot->RedBoot, etc. Feb 14 18:32:48 <[g2]> that was my question Feb 14 18:33:00 You can. I've never tried. Feb 14 18:33:11 <[g2]> right save the TAX right ? Feb 14 18:33:12 APEX can write anything from memory to flash. Feb 14 18:33:19 Okay so you want to take a Apex Enabled Slug and write redboot back into it? Feb 14 18:33:22 <[g2]> that's my point Feb 14 18:33:42 That should work... Feb 14 18:33:48 With APEX? ---> xr 0x1000 # XReceive redboot to 0x1000 Feb 14 18:33:51 <[g2]> since APEX runs from memory, we should put a copy in the sysconf partition Feb 14 18:34:00 erase nor:0+256k Feb 14 18:34:13 copy 0x1000+256k nor:0 Feb 14 18:34:15 reboot Feb 14 18:34:29 copy mem:0x1000 256k nor:0 Feb 14 18:34:33 nod Feb 14 18:34:34 I've done that. It works, but it doesn't test everything. Feb 14 18:34:41 no. Feb 14 18:34:42 no Feb 14 18:34:42 Those commands are familiar to me these days. ;-) Feb 14 18:34:42 no Feb 14 18:34:53 That command won't work. Feb 14 18:35:09 The form is driver:start+length Feb 14 18:35:40 (sorryr, this client cant type the plus char) Feb 14 18:35:56 2 2=4 Feb 14 18:36:01 4-4=0 Feb 14 18:36:04 2^2=4 Feb 14 18:36:06 Its just the Plus. Feb 14 18:36:06 ;-) Feb 14 18:36:18 <[g2]> & Feb 14 18:36:24 & Feb 14 18:36:35 I think its so I cant go [g2]plusplus Feb 14 18:36:43 ~karma [g2] Feb 14 18:36:43 [g2] has neutral karma Feb 14 18:39:18 <[g2]> beewoolie, can we start APEX from within linux ? Feb 14 18:39:36 <[g2]> or from the linux cmd lind Feb 14 18:39:39 <[g2]> line Feb 14 18:39:41 How would that work? Feb 14 18:39:51 dyoung-web:twang Feb 14 18:40:04 I suppose we could write a driver to do it. You'd have to be really clever. Feb 14 18:40:43 <[g2]> Well assuming there's no watchdog, you'd disable interrupt and overwrite low-memory and soft reset Feb 14 18:40:48 You'd have to pull the CPU out of MMU mode in a way that the current instruction was still pointing to a valid piece of memory. I suppose it could be done. Feb 14 18:41:28 Hmm. There would have to be several pages mapped to low memory. I suppose it is possible. Feb 14 18:41:47 Is this an attempt to bootstrap? Feb 14 18:41:49 <[g2]> 4-5 right :) Feb 14 18:42:00 <[g2]> 16-20K Feb 14 18:42:13 <[g2]> depending on page size Feb 14 18:42:20 <[g2]> which I'm assuming is 4K Feb 14 18:42:22 The thing is that those pages have to be 1:1 mapped. Feb 14 18:42:55 <[g2]> well I'm sure the kernels got 0 mapped for the vectors :) Feb 14 18:42:58 I think that the kernel moves the vectors to 0xffff...., Feb 14 18:43:20 That way, address zero can be a bonafide fault. Feb 14 18:43:33 <[g2]> I was reading about that in the ARM info today Feb 14 18:43:57 <[g2]> that the vectors were up high Feb 14 18:44:06 So, what is the profit here? Feb 14 18:44:26 Oh, wait. Is this a way to test that the loader can load a particular kernel? Feb 14 18:44:39 I think you're better off using the serial point. Feb 14 18:44:44 s/point/port Feb 14 18:44:59 <[g2]> I was thinking easy switch between Redboot and APEX Feb 14 18:45:07 <[g2]> switching Feb 14 18:45:16 You can write it to flash from Linux, no? Feb 14 18:45:22 <[g2]> put a copy in the sysconf at the end and its always there Feb 14 18:45:31 Hmm. Feb 14 18:45:48 I don't think so. They clobber that segment any time they want to. No? Feb 14 18:46:13 <[g2]> Linksys does... OpenSlug doesn't right now Feb 14 18:46:29 what is the goal here? Feb 14 18:46:49 <[g2]> bootloader recovery from a running program Feb 14 18:47:10 I don't follow. Feb 14 18:47:11 <[g2]> we really don't *need* it Feb 14 18:47:39 <[g2]> mtd-utils works from the cmd line and are built into OpenSlug now Feb 14 18:47:54 <[g2]> and both Redboot and APEX can write from the cmdline Feb 14 18:48:19 <[g2]> We just need to teach APEX usb-serial on the NSLU2 Feb 14 18:48:42 Can do. Feb 14 18:48:58 For the sake of a USB console, no? Feb 14 18:49:06 Hey, can we use a USB hub on the slug/ Feb 14 18:49:19 <[g2]> Then ppl can have a solderless bootloader with serial Feb 14 18:49:32 That would be a good thing. Feb 14 18:49:36 <[g2]> or a serial connection to the bootloader without solder Feb 14 18:49:44 Did you get my comments about the bootloader UI using the two buttons? Feb 14 18:49:54 <[g2]> no Feb 14 18:50:08 <[g2]> what was your comment ? Feb 14 18:50:09 I updated the wiki. It's kinda like this. Feb 14 18:50:13 up up down down up down down Feb 14 18:50:23 There will be a special version for dyong. Feb 14 18:50:41 For Super Pursuit Mode? Feb 14 18:50:44 Cool. ;-) Feb 14 18:50:46 MY version will watch for the reset button being held while the unit is power-ed on. Feb 14 18:51:07 The LEDs will show that the loader is waiting for a mode choice. Feb 14 18:51:29 The on button changes the mode and the LEDS reflect that mode. Say, the disk lights are 0 and 1. Feb 14 18:51:36 There are four states of those two lights. Feb 14 18:51:59 So, we've got normal boot, failsafe boot, upgrade mode, and something else. Feb 14 18:52:11 Press reset again and away it goes. Feb 14 18:52:26 No messing with timed button presses. Feb 14 18:52:26 <[g2]> actually 8 Feb 14 18:52:37 If you using three lights? Feb 14 18:52:46 <[g2]> Red/Green on the Ready, and the two disk lights Feb 14 18:52:56 <[g2]> 12 Feb 14 18:52:57 There are four leds. 16 states. Feb 14 18:53:08 I don't want to make it too gawdawful complex. Feb 14 18:53:15 Do we need more than four options? Feb 14 18:53:15 <[g2]> I think ethernet is driven by hw Feb 14 18:53:34 Right. There are five leds on that edge. Feb 14 18:53:38 One is a like light. Feb 14 18:53:43 s/like/link/ Feb 14 18:53:55 Two for disk lights. One green ready and one red. Feb 14 18:54:07 dyoung knows all about this now Feb 14 18:54:22 I like that UI better thanmine. Feb 14 18:54:28 <[g2]> I think it's a wonderful I idea Feb 14 18:54:41 4 states is more than enough i think? Feb 14 18:54:42 Trouble is, the ready and red led are difficult to distinguish when the system is closed. Feb 14 18:54:55 <[g2]> If we can, I use the power-on button for choice toggling Feb 14 18:55:12 So, can we make a failsafe boot mode that allows the user to get telnet access and recover a corrupt filesystem? Feb 14 18:55:24 That's what I said. Feb 14 18:55:40 Hold reset to on power-up to enable the mode. Feb 14 18:55:45 Press power to choose. Feb 14 18:55:48 <[g2]> nod. Feb 14 18:55:49 N times Feb 14 18:55:53 Press reset to go. Feb 14 18:56:08 <[g2]> cycles through, or just hold-the power-on Feb 14 18:56:14 If the user idles for 10 seconds, we do a normal boot. Feb 14 18:56:17 <[g2]> for 2 seconds Feb 14 18:56:22 We could to that. Feb 14 18:56:31 the main issue with the failsafe mode is the size of the ixp400/ixp425_eth drivers Feb 14 18:56:32 I'd rather use reset so it is a little difficult to do. Feb 14 18:56:32 <[g2]> I don't like the idle Feb 14 18:56:40 <[g2]> unless it's like 1 minute Feb 14 18:56:45 <[g2]> even then Feb 14 18:56:46 Can't we recover the jffs without ethernet? Feb 14 18:57:12 thats what I was thinking Feb 14 18:57:13 Whatever. I think it is easy to choose a boot mode in 10 or 30 seconds. Feb 14 18:57:36 is pilfer the ixp400/ixp425_eth from the jffs2... Feb 14 18:57:42 Better yet, the failsafe mode gives then a USB serial console. Feb 14 18:57:44 it should be doable. Its already been done actually. Feb 14 18:57:53 <[g2]> I think reset to get in is fine, but but not to get out of the mode Feb 14 18:58:03 Why? Feb 14 18:58:13 <[g2]> cause it's a pain Feb 14 18:58:22 This is a failsafe mode. Feb 14 18:58:22 <[g2]> and not real benefit Feb 14 18:58:41 <[g2]> holding a button for 3-5 seconds is no mistake Feb 14 18:58:49 Well, that's an implementation detail that isn't necessary to hash out right now. Feb 14 18:58:54 We'll send it to the focus groups. Feb 14 18:58:56 <[g2]> nod. Feb 14 18:59:02 <[g2]> LOL Feb 14 18:59:23 I had a 'situation' this weekend where I lost control of the slug. Feb 14 18:59:31 Luckily, we had the parts to add a serial port. Feb 14 18:59:36 "lost control...." Feb 14 18:59:41 We'd been messing with the http servers. Feb 14 18:59:43 <[g2]> temporarialy Feb 14 18:59:47 is that like losing control of a car? Feb 14 18:59:55 Trouble is that the firmware was clobbering some of our changes. Feb 14 18:59:58 you slug goes slithering away on its own? Feb 14 18:59:59 <[g2]> a controlled skid of sorts :) Feb 14 19:00:05 icy patch. Feb 14 19:00:14 Leaving a trail of SlugSlime? Feb 14 19:00:16 ;-) Feb 14 19:00:18 busy changing CDs at the time Feb 14 19:00:20 <[g2]> was the ol'man impressed :) Feb 14 19:00:27 Hell yeah! Feb 14 19:00:43 You can go to his site. It's nothing much right now, but it is running on a slug. Feb 14 19:00:56 <[g2]> I'd love to Feb 14 19:01:19 http://www.dickshouse.net Actually, it's less than impressive. Feb 14 19:01:25 But it *is* running on a slug. Feb 14 19:01:41 he needs to block port 8080 Feb 14 19:01:43 <[g2]> Have you seen polkadotninja ? Feb 14 19:01:51 is it on a slug? Feb 14 19:01:57 <[g2]> nod Feb 14 19:02:10 the other guy too.,. bytered Feb 14 19:02:26 Nice. Feb 14 19:02:39 <[g2]> call him that ADMIN is up on the web ! Feb 14 19:02:53 Back to my story. The bog didn't come back with the telnet server, so we couln't get back to fix the errors. Feb 14 19:03:01 I know. Feb 14 19:03:20 <[g2]> DOH! Feb 14 19:03:21 You can only really mess is up with the password...which might be the default. Feb 14 19:03:25 doh! Feb 14 19:03:28 <[g2]> I'm in Feb 14 19:03:48 You're a real hacker. Feb 14 19:04:15 Are these intel libraries really libraries? Feb 14 19:04:18 <[g2]> ppl google for web cam Feb 14 19:04:26 <[g2]> with the default pw Feb 14 19:04:26 Or is it just the microcode that is a closed library? Feb 14 19:04:36 I've seen that webcam thing. Feb 14 19:04:39 It's kinda cool. Feb 14 19:05:11 webcam or web cam? Feb 14 19:05:22 webmam Feb 14 19:05:25 I dont see anything cool. Feb 14 19:05:51 You have to open your eyes first Feb 14 19:06:20 Do we know anyone familiar with the NPE libraries? Feb 14 19:08:01 theyre ugly as hell Feb 14 19:08:13 I must be blind. Feb 14 19:08:26 http://www.boingboing.net/2005/01/10/still_more_random_go.html Feb 14 19:08:45 <[g2]> can you guys bop over to #nslu2 for a minute ? Feb 14 19:10:43 no. Feb 14 19:10:52 I dont have access to that channel from here. Feb 14 19:12:01 Unles you mean nslu2-linux Feb 14 19:12:17 dyoung-web: #nslu2 Feb 14 19:12:41 nope, cant do it. Feb 14 19:12:47 lemme find another client. Feb 14 19:23:18 dyoung-web: What part of nslu2 didn't work for you? Feb 14 19:23:44 I'm on now using cgiirc; and it only has 3 channels programmed into it Feb 14 19:23:55 [g2]: That search doesn't seem to find that many slugs Feb 14 19:24:17 <[g2]> well there are only 2K downloads of the binaries Feb 14 19:24:33 Soon we'll own the world! Feb 14 19:24:45 <[g2]> but there are lots of standard units out there Feb 14 19:25:17 With the "Firmware Version" string, there are only three matches. Feb 14 19:25:41 One is linksys and one is a duplicate of the first hit. Feb 14 19:25:53 <[g2]> which string ? Feb 14 19:26:02 Hahahahahahahahahahaha Feb 14 19:26:03 user_pass.cgi Feb 14 19:26:06 Do this. Feb 14 19:26:10 In google. Feb 14 19:26:34 "Firmware Version" "Network Storage Link for USB 2.0 Disks" Feb 14 19:26:42 Select the third link. Feb 14 19:27:39 we can u pgrade him to unslung. Feb 14 19:27:48 rofl Feb 14 19:27:56 Ooh or dyoung's New Secret ZombieWare. Feb 14 19:28:35 It looks like there's no password at all. Feb 14 19:28:47 I wonder if its a nslu2 though Feb 14 19:28:57 It says it is. Feb 14 19:28:58 try go to http://www.linksysdata.com/ui/ Feb 14 19:29:06 <[g2]> ~whois linksysdata.com Feb 14 19:29:06 [g2]: bugger all, i dunno Feb 14 19:29:40 Or it's a compendium of every UI. Feb 14 19:30:01 Administrative Contact: Cisco Linksys. Feb 14 19:30:09 heh Feb 14 19:30:23 <[g2]> I went to the update page Feb 14 19:30:32 me too Feb 14 19:30:40 <[g2]> did you browse ? Feb 14 19:30:48 IOW, there aren't that many folks on the net...yet. Feb 14 19:30:51 yeah, but I dont have a firmware image handy. Feb 14 19:31:02 doo ood Feb 14 19:31:16 <[g2]> I didn't browse Feb 14 19:31:36 There weren't files. It also says that apache is serving the pages. Feb 14 19:31:38 <[g2]> we should probably send e-mail to the web admin or /. Feb 14 19:31:54 <[g2]> maybe a honeypot Feb 14 19:32:06 * ka6sox-away must be on /ignore :) Feb 14 19:32:13 <[g2]> for h4x0r5 like us Feb 14 19:32:25 hehe Feb 14 19:32:34 <[g2]> doo ood Feb 14 19:32:38 Nah I think a legit page for linksys/cisco to test drive the interfaces. Feb 14 19:32:48 So, do we know anyone familiar with the NPE libraries? Feb 14 19:32:53 <[g2]> why on the web ? Feb 14 19:33:03 for the focus groups ;-) Feb 14 19:33:21 <[g2]> there listening in this channel and have already started Feb 14 19:33:26 For support engineers. Feb 14 19:33:32 bewoolie, how familiar is famliar? Feb 14 19:33:50 <[g2]> beewoolie, there's a binary that needs to get downloaded and some stuff to be enabled in the chip Feb 14 19:34:08 <[g2]> and we may be violating Intel's license Feb 14 19:34:12 AFAICT, the only 'binary' part is the microcode. Feb 14 19:34:23 <[g2]> right Feb 14 19:34:27 There isn't really a library per-se. There is no link library. Feb 14 19:35:02 <[g2]> the bootload would need to dl the microcode for it to work Feb 14 19:35:06 ka6sox-away Feb 14 19:35:09 OK. Feb 14 19:35:21 dyoung-web Feb 14 19:35:25 I'm fine with the microcode. Feb 14 19:35:34 you were calling earlier? Feb 14 19:36:00 Is the microcode sensitive to BE/LE? Feb 14 19:36:06 It doesn't seem so. Feb 14 19:36:14 yeah...took most of the day to retrieve my Auto from the side of the mountian. Feb 14 19:36:22 It seems like it must be the C code that has some sort of endian dependency Feb 14 19:36:29 tonight its going to rain..heavily Feb 14 19:36:56 It's dangerous where you live. Feb 14 19:37:12 yes. Feb 14 19:37:19 steep and dangerous. Feb 14 19:37:23 <[g2]> got your car back ? Feb 14 19:37:29 <[g2]> BE Feb 14 19:37:30 yes finally. Feb 14 19:37:32 BE Feb 14 19:37:43 <[g2]> the older versions anyway Feb 14 19:37:58 it took 2 tow trucks to get it out. Feb 14 19:38:10 took pictures? Feb 14 19:38:19 <[g2]> beewoolie, I can build APEX with a glibc compiler right ? Feb 14 19:38:30 This version of the libraries doesn't have more than one version of microcode. Makes me wonder if the dependency isn't in the C code. Feb 14 19:38:38 [g2]: Doesn't matter. it doesn't use the libraries. Feb 14 19:38:51 <[g2]> that's what I thought Feb 14 19:39:15 You can't even divide by something other than a power of two. Feb 14 19:39:28 <[g2]> beewoolie, is 3.2.1 recent enough ? Feb 14 19:39:28 8=o Feb 14 19:39:38 It works with 2.95.3 Feb 14 19:40:01 AFAIK, there isn't a compiler that doesn't work. Feb 14 19:40:11 except for delphi maybe Feb 14 19:41:18 theres a BE/LE patch./ Feb 14 19:41:40 Here is what it says. We need several things. Feb 14 19:41:55 B-0 stepping CPU Feb 14 19:41:55 ok? Feb 14 19:42:10 1) B-0 stepping processor Feb 14 19:42:22 2) LE boot loader (a cinch) Feb 14 19:42:52 3) DPL 89608 BSP patch for MMU P-bit (VxWorks specific methinks) Feb 14 19:43:07 4) LE version of PNE (What's this?) Feb 14 19:43:18 5) LE version of VxWorks Feb 14 19:43:42 Theyre separating the Microcode from the rest of it now. Feb 14 19:43:49 <[g2]> beewoolie, APEX goesn't get stripped ? Feb 14 19:43:50 Sounds like PNE is VxWorks. Feb 14 19:44:04 [g2]: I don't use the elf version. I only use the apex.bin. Feb 14 19:44:25 see src/arch-arm/rom Feb 14 19:44:48 <[g2]> nod. Feb 14 19:45:46 <[g2]> So I'm ready to rock Feb 14 19:45:53 <[g2]> v 1.24 Feb 14 19:47:10 <[g2]> beewoolie, ever run qemu ? Feb 14 19:47:20 Don't know it. Feb 14 19:47:34 I think so. Let me check on the version. Feb 14 19:47:36 <[g2]> it's an emulator does x86 real well Feb 14 19:47:47 I don't remember if I put the most recent version up. Feb 14 19:47:53 <[g2]> you can boot and run iso images Feb 14 19:48:00 <[g2]> like knoppix, dsl Feb 14 19:48:04 <[g2]> all emulated Feb 14 19:48:07 What does it run on? Feb 14 19:48:11 <[g2]> x86 Feb 14 19:48:26 <[g2]> they are working on getting other arches going Feb 14 19:48:30 <[g2]> like arm Feb 14 19:48:59 Could be handy Feb 14 19:49:17 <[g2]> they've got arm user mode stuff running now Feb 14 19:49:30 <[g2]> but they are bringing up the system mode Feb 14 19:49:43 You have the latest. The only changes since 1.0.24 are to the default command line...which is ignored anyway. Feb 14 19:50:02 Relly? Feb 14 19:50:28 The current spate of kernels, except for openslug I suppose, ignore the command line. Feb 14 19:50:35 Okay I though there was additional hacking to make it come up with the prompt post- .24 . Feb 14 19:50:52 let me check again. Feb 14 19:53:53 <[g2]> hey how big is the cache in the ixp420 ? Feb 14 19:54:11 Don't know off the top o Feb 14 19:54:15 my head Feb 14 19:54:57 <[g2]> I can run the elf program in memory right ? Feb 14 19:55:19 I don't know. I've never downloaded it with redboot. I doubt it would do the right thing. Feb 14 19:55:30 I download the bin file to 0x1000000 Feb 14 19:55:37 Heck, http://wiki.buici.com Feb 14 19:55:50 Go to the ApexBootloader page. there's a recipe for running it from ram Feb 14 19:56:51 <[g2]> hmmm, you don't tftp load ? Feb 14 19:56:59 Never tried it. Feb 14 19:57:03 <[g2]> beewoolie is Hard CORE Feb 14 19:57:04 It probably works. Feb 14 19:57:15 It's so small that xmodem is fine. Feb 14 19:57:17 <[g2]> I'm sure it's a lot faster :) Feb 14 19:58:29 sweeeeeet Feb 14 19:59:40 because dyoung is really a doubting thomas, I put 1.0.25 up. I don't think there are changes, but I have to admit that I haven't been tagging my releases. Feb 14 20:00:14 <[g2]> dyoung apex ? Feb 14 20:02:36 <[g2]> what's the baud rate ? Feb 14 20:02:43 115200 Feb 14 20:02:53 I did diff -r of .24 to .25 Feb 14 20:02:58 <[g2]> $T0a0f:00fffe0e; Feb 14 20:03:03 There appear to be.. "several" differences. Feb 14 20:03:13 [g2], I get that when making it with the oe toolchain Feb 14 20:03:29 beewoolie says its an alignment error. Feb 14 20:03:34 <[g2]> I didn't make it with the oe toolchain Feb 14 20:05:14 what did you make it with? Feb 14 20:05:33 <[g2]> arm-linux-gcc-3.3 Feb 14 20:05:38 <[g2]> binary release Feb 14 20:05:40 I've had the most luck with 3.3.5/2.2.5 from unslung toolchian. Feb 14 20:05:58 (yes I know the 2.2.5 is irrelevant...) Feb 14 20:06:53 I wonder if bewoolie has given up on "UBESSA" yet. Feb 14 20:10:29 Back Later. Feb 14 20:10:35 rats Feb 14 20:10:38 missed him. Feb 14 20:11:58 That error means that the system trapped Feb 14 20:13:16 [g2]: I seem to recall that there something odd about the oe toolchain. Feb 14 20:13:30 <[g2]> beewoolie, it's not the oe toolchain Feb 14 20:13:38 <[g2]> is the binary toolchain Feb 14 20:14:07 Let me put it this way. The message means that the system performed an unaligned access or an access to invalid memory Feb 14 20:16:11 Was this running from RAM? Feb 14 20:16:17 <[g2]> yes Feb 14 20:16:24 Did you try v24? Feb 14 20:16:29 <[g2]> that was 24 Feb 14 20:16:54 hmm will you try 25 Feb 14 20:17:13 <[g2]> sure Feb 14 20:17:49 The debug_ll config option has to be off. Feb 14 20:18:11 it shouldn't have to be off, but I haven't yet figured out why. Feb 14 20:20:39 <[g2]> it's OK that I'm running the rom version in ram right ? Feb 14 20:20:42 [g2]: Also, make sure that the first few bytes look right. Feb 14 20:20:56 <[g2]> what should the first few bytes look like ? Feb 14 20:21:01 hd apex.bin Feb 14 20:21:20 000000 ee 11 3f 10 e3 83 30 80 ee 01 3f 10 ee 12 3f 10 î.?.ã.0.î.?.î.?. Feb 14 20:22:39 <[g2]> hmmm Feb 14 20:22:50 <[g2]> bash-2.05b$ od -t x1 src/arch-arm/rom/apex.bin | more Feb 14 20:22:51 <[g2]> 0000000 10 3f 11 ee 80 30 83 e3 10 3f 01 ee 10 3f 12 ee Feb 14 20:23:32 Looks like the output of a LE compiler. Feb 14 20:24:43 <[g2]> bash-2.05b$ file apex Feb 14 20:24:43 <[g2]> apex: ELF 32-bit LSB executable, ARM, version 1 (ARM), statically linked, not stripped Feb 14 20:24:48 <[g2]> LSB Feb 14 20:25:02 Do you have a BE compiler? Feb 14 20:25:29 <[g2]> I've got the OpenSlug one Feb 14 20:25:35 <[g2]> OE Feb 14 20:25:58 <[g2]> big I was looking around for ld Feb 14 20:26:11 I recently changed the way that the compiler is specified. I want to make it honor the environment variable, but it doesn't yet work. Feb 14 20:26:25 Now, it is set in the config file. Feb 14 20:27:17 <[g2]> so will any arm BE work ? Feb 14 20:27:23 I believe so. Feb 14 20:27:30 I don't use anything fancy. Feb 14 20:28:00 You could build LE if you wanted to change the config option. Feb 14 20:28:30 <[g2]> it's funny I just deleted two armv5be toolchains several hours ago :) Feb 14 20:28:36 I wonder if that would work. I wonder if the loader could always be LE and call the kernel in BE mode. Feb 14 20:29:05 I can just make a binary for you. Feb 14 20:29:11 <[g2]> that's ok Feb 14 20:29:19 <[g2]> I'll build a toolchain Feb 14 20:29:23 [g2] is HARD CORE Feb 14 20:29:30 very Feb 14 20:29:44 haX0r Feb 14 20:30:03 hopefully the changes that somebody made won't break it. Feb 14 20:32:14 <[g2]> building Feb 14 20:32:32 <[g2]> beewoolie, thx for the help Feb 14 20:32:41 np Feb 14 20:33:03 I wonder if making APEX always be LE is viable Feb 14 20:33:07 I'll have to try it. Feb 14 20:33:58 I was wondering how big the NPE libraries. Feb 14 20:34:22 are Feb 14 20:35:10 Still looking into that. do you mean the microcode? Feb 14 20:37:52 ka6sox-away: Hmm. I suspicious. I'm counting 200KiB. Feb 14 20:38:02 That seems like more than redboot could have. Feb 14 20:38:47 If it's that big, it might be worth putting in a zlib decompressor Feb 14 20:39:06 There is a lot of repeated data. Feb 14 20:39:46 I'm gonna see how big for real. Feb 14 20:40:29 <[g2]> CCACHE rocks Feb 14 20:42:41 yeah..if its that big... Feb 14 20:42:57 [g2], do you have experience with distcc? Feb 14 20:43:06 (or did I already ask you) Feb 14 20:43:11 <[g2]> not yet Feb 14 20:43:36 I want to setup a "slugfarm" to do distcc for native builds. Feb 14 20:44:02 I must have been on crack with my estimage. Feb 14 20:44:07 tee hee Feb 14 20:44:14 after I get a LOT of other things done. Feb 14 20:44:16 The binary file is about 22k Feb 14 20:44:25 beewoolie, he he Feb 14 20:44:29 Shouldn't be much of a problem. Feb 14 20:44:39 can we stay under 1 block? Feb 14 20:44:43 There may be more ifdef's in there than I saw Feb 14 20:44:47 with everything? Feb 14 20:44:53 Oh yea. Feb 14 20:44:57 cool Feb 14 20:45:02 I don't imagine the executable being more than 100k Feb 14 20:45:07 will we have room for the IP and other things? Feb 14 20:45:12 And that would be major bloat over where we are now. Feb 14 20:45:14 and MAC address? Feb 14 20:45:20 I have a plan. Feb 14 20:45:23 cool Feb 14 20:45:33 I think it would be cool to put the APEX config data in the same block as APEX Feb 14 20:46:03 If, for some reason, the user needs to rewrite the block because it is filled with cruft, we can erase the block and rewrite APEX automatically. Feb 14 20:46:05 so would I...except that you would have to do a read before write for upgrades. Feb 14 20:46:10 It's hardcore, but it ought to be OK. Feb 14 20:46:15 No. Feb 14 20:46:24 oh? Feb 14 20:46:27 APEX's image in RAM is the same as the image in flash. Feb 14 20:46:36 It can write the same thing that is executing. Feb 14 20:46:56 Unless I misunderstand you. Feb 14 20:50:35 okay cool Feb 14 20:51:39 This was one of those features that I didn't like about BLOB. I'm probably the only person on the planet who cared about it. But, it does make for a reliable and repeatable execution environment Feb 14 20:51:53 <[g2]> now you just need to link in it's size and some magic Feb 14 20:53:27 <[g2]> fully PIC Feb 14 20:53:35 <[g2]> all relocatable Feb 14 20:54:02 I don't know of a good way to make ARM code fully relocatable. Feb 14 20:54:21 <[g2]> locally PIC Feb 14 20:54:22 The only way, if I understand things correctly, is to use a registers as an offset for the image. Feb 14 20:54:30 It is locally PIC already. Feb 14 20:55:01 It's just that some operations use absolute addresses. For example, the linker will put in jumps to function calls. Feb 14 20:55:11 <[g2]> glikely is an ARM guy Feb 14 20:55:55 <[g2]> I was chatting with him earlier in gentoo-embedde and mentioned #nslu2-linux Feb 14 20:56:10 <[g2]> I guess he found is way over here too :) Feb 14 20:56:39 <[g2]> gentoo-embedded Feb 14 20:57:25 cool Feb 14 20:57:26 I'm just not sure why this is desirable. With an MMU, it isn't that interesting. Feb 14 21:01:10 <[g2]> beewoolie, will my APEX.bin have the same md5sum as your APEX.bin from the same release and toolchain ? Feb 14 21:01:33 Same source and toolchain? yeah. Feb 14 21:01:42 It should. Feb 14 21:01:50 There isn't anything like a timestamp in the file. Feb 14 21:02:02 How does that matter? Feb 14 21:02:06 <[g2]> or date's or anything Feb 14 21:02:30 I don't put a build time in the file. I could, but I think that the version number should be sufficient. Feb 14 21:02:56 <[g2]> actually, I think being able to compare across machines is the way it should be Feb 14 21:03:31 It is hard to guarantee that the toolchains are identical unless we use the same install package. Feb 14 21:03:38 Do you have an APEX.bin? Feb 14 21:03:43 In BE mode? Feb 14 21:04:07 <[g2]> not yet, I'm on my 3rc build of the toolchain Feb 14 21:04:34 8=O Feb 14 21:04:35 <[g2]> by accident I hit ctrl-c in the wrong window Feb 14 21:05:00 <[g2]> then my /home dir is not normally mounted with exec perms Feb 14 21:05:15 whoa. That's paranoid. Feb 14 21:05:46 <[g2]> I've got a dev directory that's mounted with exec it's my Raptor drive Feb 14 21:05:47 Have you ever used OE to build for openzaurus? Feb 14 21:06:03 <[g2]> no, but I could :) Feb 14 21:06:14 BTW, dad called. He's gonna change the firewall. Feb 14 21:06:18 He says thanks. Feb 14 21:06:27 <[g2]> hey np Feb 14 21:06:55 [g2]: I've been trying to build an OZ image for days. There's always something wrong. Sometimes it's a flaky OE process. Sometimes it's a complexity. Feb 14 21:07:06 I don't know what this one is exactly, but I have a guess. Feb 14 21:07:11 I just don't know how to make it go. Feb 14 21:07:22 It really is starting to make me mad. Feb 14 21:07:50 <[g2]> I noticed you had some questions in OE before Feb 14 21:09:59 The answer is often, "Never bothered us so we don't plan to fix it." Even when it is an obvious error in design. Feb 14 21:10:14 The process just isn't very repeatable. Feb 14 21:12:44 <[g2]> I think there's a lot of room for improvement Feb 14 21:13:10 <[g2]> but it certainly is a big issue Feb 14 21:13:48 It makes me think about lamborguini's. [sp] Feb 14 21:14:06 <[g2]> what about them ? Feb 14 21:14:18 Nice car. Better have two cause one's always in the shop. In other words, what's the point of owning it if you can't drive it? Feb 14 21:14:47 <[g2]> I think you are thinking about alfas :) Feb 14 21:15:00 or fiats Feb 14 21:15:04 Most english and italian card Feb 14 21:15:09 or old Jags Feb 14 21:15:12 Irish? Feb 14 21:15:28 Isn't Jag now a Chrysler? Feb 14 21:16:16 <[g2]> I heard that the "Rock" and subsequently the "T2" Linux distros did something interesting Feb 14 21:16:50 Like what? Feb 14 21:16:52 <[g2]> I think there's a tool used to figure out the runtime deps from a template Feb 14 21:17:00 <[g2]> of the system Feb 14 21:17:12 What does that do? Feb 14 21:17:45 <[g2]> so it's done once and the major dependancies are known Feb 14 21:18:06 * beewoolie not able to follow Feb 14 21:18:24 <[g2]> well that wasn't a very clear explaination :) Feb 14 21:20:42 <[g2]> Ok you know the ipkg stuff we use ? Feb 14 21:21:11 I know that it is stripped down DEBs. Feb 14 21:21:12 <[g2]> I think there's some runtime dependancy information in there but I don't think its 100% Feb 14 21:21:18 Really? Feb 14 21:21:22 I'd be suprised. Feb 14 21:23:09 What sort of runtime dependency? Can you give an example/ Feb 14 21:23:20 <[g2]> I think the dependancies are generated by the OE depenancies and not the runtime depenancies Feb 14 21:23:57 <[g2]> the runtime dependancies are all the libs that get pulled in from dynamic loading Feb 14 21:24:35 <[g2]> and any other executable programs that are required Feb 14 21:24:47 <[g2]> and all there libs Feb 14 21:24:50 <[g2]> etc... Feb 14 21:24:59 That doesn't exist in DEBs. Feb 14 21:25:19 how about .ipk's? Feb 14 21:25:21 Debian only does that for the depends line of the control file. Feb 14 21:25:27 Perhaps that's what you mean. Feb 14 21:25:39 There is an inter-package dependency maintained in Debian. Feb 14 21:25:43 <[g2]> right Feb 14 21:25:50 Installing the compiler requires a binutils. Feb 14 21:26:02 <[g2]> and apt can figure out all the deps needed Feb 14 21:26:04 Only some of this is automatic. The better packages are all done explicitly. Feb 14 21:26:24 It just isn't reliable to let that be done automatically. Feb 14 21:26:50 <[g2]> I don't understand that Feb 14 21:26:50 However, I can imagine that a package can be queried to make sure that the dynamic linker will be able to resolve the libraries it needs. Feb 14 21:27:08 That's a little better than the Debian way because on Debian, the dependencies have to be constraints. Feb 14 21:27:15 requires foo >= 1.0.3 Feb 14 21:27:26 It has made it hard to upgrade sometimes. Feb 14 21:27:48 <[g2]> well that's part of the way the sw reqirements are Feb 14 21:27:52 so, computing these dependencies would be handy, sure, so that package installs are clean Feb 14 21:28:10 RedHat has none and it suffers. Feb 14 21:28:34 <[g2]> haven't used it since the 5.x or 6.x days Feb 14 21:29:27 <[g2]> well it's not only installs Feb 14 21:30:55 I suppose you could know that several packages would satisfy a particular need. Feb 14 21:31:48 <[g2]> substitution is a point, also how many other packages are dependent on fixes in a given package Feb 14 21:32:05 <[g2]> at least pretty roughly Feb 14 21:32:57 I don't know how practical that is. Generally, the builds are not that flexible. A package is compiled against a library and that library must be present. Feb 14 21:33:19 For things like 'mail-client' it's a little better, but I don't think it's really a big issue Feb 14 21:34:04 <[g2]> well the question is how do you generate all the deps Feb 14 21:34:15 There are different kinds of deps. Feb 14 21:34:27 <[g2]> right now happens 3 ways right Feb 14 21:34:35 <[g2]> 1) debian does it with apt Feb 14 21:34:40 Requirements, sufficients, necessary, implies. Feb 14 21:34:42 <[g2]> 2) gentoo does it with portage Feb 14 21:34:53 That's only part of the story. Feb 14 21:34:56 <[g2]> everybody else pretty much iterates through errors Feb 14 21:35:07 There are build deps and then there are install deps Feb 14 21:35:15 <[g2]> nod. Feb 14 21:35:23 apt is for install deps Feb 14 21:35:33 I think portage is about building Feb 14 21:35:34 don't really know portage Feb 14 21:35:37 is beewoolie a debian man? Feb 14 21:35:41 <[g2]> because it doesn't build anything :) Feb 14 21:35:45 For years now. Feb 14 21:35:49 me too Feb 14 21:35:55 refugee from RH Feb 14 21:36:00 <[g2]> portage handles both Feb 14 21:36:05 I tried RH several times. Couldn't get it to run. Feb 14 21:36:06 but looking at Gentoo Feb 14 21:36:15 <[g2]> because everything is pretty much built from source Feb 14 21:36:33 my officemates have Debian alongside Gentoo. Feb 14 21:36:44 To be honest, I've done a fair amount of design for doing the samething as OE. Feb 14 21:37:01 There isn't much else after doing the package creation. Feb 14 21:37:22 It wouldn't be unrealistic to create a build system that uses debian packages and can cross compile. Feb 14 21:37:38 even Debian would benefit from that. Feb 14 21:37:53 <[g2]> that's what scratchbox does Feb 14 21:38:15 I just look down that elephant's trunk and I shivver. I don't need that kind of responsibility. Feb 14 21:38:44 That's one of the things I've looked into. Feb 14 21:39:18 the problem is that none of them solve all of the problems. Feb 14 21:39:26 They have narrow scopes. Feb 14 21:39:34 I want something that can be used for development as well. Feb 14 21:39:49 I gotta hit the store before it closes. Feb 14 21:39:50 bbs Feb 14 21:40:01 cya beewoolie-away Feb 14 21:45:29 * prpplague heads to bed Feb 14 21:45:40 nite prpplague Feb 14 21:46:48 * dyoung-zzzz mumble Feb 14 21:47:05 dyoung-zzzz: twang Feb 14 21:47:30 * dyoung-zzzz mumbles random obscenities. Feb 14 21:47:41 I thought that was reserved for mornings. Feb 14 21:47:43 :) Feb 14 21:47:57 Or evening if I find ALL the potholes in the road. Feb 14 21:48:23 * dyoung-zzzz forage Feb 14 21:48:32 * ka6sox-away hits the shower. Feb 14 22:07:16 <[g2]> dyoung-zzzz, pign Feb 14 22:07:30 <[g2]> hey ping Feb 14 22:08:00 * dyoung-zzzz mumbles a randomo obscenity. Feb 14 22:08:16 <[g2]> how do I set the command line ? Feb 14 22:08:33 <[g2]> apex> setenv cmdline console=ttyS0,115200 root=/dev/mtdblock4 rootfstype=jffs2 initrd=0x01000000,10m Feb 14 22:08:33 <[g2]> Unrecognized variable or environment Feb 14 22:08:44 I dunno, I never worked that out. Feb 14 22:08:57 thats why I was doing boot console=foo root=bat Feb 14 22:09:13 <[g2]> using the boot command ? Feb 14 22:09:15 I have a feeling its not implemented yet. Feb 14 22:09:16 yeah Feb 14 22:09:25 boot (cmdlineopts) Feb 14 22:09:34 so for your test I did Feb 14 22:09:47 boot console=ttyS0,115200 root=/dev/mtdblock4 rootfstype=jffs2 initrd=0x01000000,10m Feb 14 22:10:04 no initrd maybe, I cant remember. Feb 14 22:10:07 <[g2]> RAMDISK: Compressed image found at block 0 Feb 14 22:10:07 <[g2]> Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,4) Feb 14 22:10:17 <[g2]> noinitrd :) Feb 14 22:10:41 nod Feb 14 22:14:05 back later Feb 14 22:18:29 [g2]: You still on Feb 14 22:18:31 ? Feb 14 22:18:36 <[g2]> nod Feb 14 22:18:47 <[g2]> I just booted openslug via APEX from ram Feb 14 22:19:09 If you get a message about the environment not being valid, it means that it cannot write the environment because something else is there. Feb 14 22:19:27 You can boot with the command line on the apex command line. Feb 14 22:19:32 apex> boot console=... Feb 14 22:19:42 <[g2]> that's what I did Feb 14 22:19:57 APEX looks for a signature in the environment area. If it isn't there it won't clobber whatever else is there. Feb 14 22:20:03 Safety first. Feb 14 22:20:09 <[g2]> nod. good plan Feb 14 22:20:29 Unrecognized environment. That's what it is saying. Feb 14 22:20:36 You can dump the environment region. Feb 14 22:20:40 apex> version Feb 14 22:20:50 This will tell you something env => nor:... Feb 14 22:21:02 That nor: is a region spec for the environment. Feb 14 22:21:12 What is it? Feb 14 22:21:31 <[g2]> apex> version Feb 14 22:21:31 <[g2]> APEX Boot Loader 1.0.25 -- Copyright (c) 2004,2005 Marc Singer Feb 14 22:21:31 <[g2]> APEX comes with ABSOLUTELY NO WARRANTY. It is free software and you Feb 14 22:21:31 <[g2]> are welcome to redistribute it under certain circumstances. Feb 14 22:21:31 <[g2]> For details, refer to the file COPYING in the program source. Feb 14 22:21:32 <[g2]> apex => mem:0x00200000+0x5c30 Feb 14 22:21:36 <[g2]> env => nor:128k+64k Feb 14 22:21:38 <[g2]> memory: Feb 14 22:21:40 <[g2]> 0x0 0x02000000 (32 MiB) Feb 14 22:21:42 <[g2]> nor: 8MiB total 32B write buffer Feb 14 22:21:44 <[g2]> region 0: 64 blocks of 131072 (0x20000) bytes Feb 14 22:21:46 <[g2]> cpu: id 0x690541f1 ctrl 0xafa cpsr 0x200000d3 Feb 14 22:21:47 OK. Try this. Feb 14 22:21:48 <[g2]> Use the 'help .' command to get a list of help topics. Feb 14 22:21:53 du nor:128k Feb 14 22:21:59 It probably has part of redboot. Feb 14 22:22:14 <[g2]> what's the du do ? Feb 14 22:22:21 Abbreviation for dump Feb 14 22:22:23 try help Feb 14 22:22:38 There is a "help ." to get all help topics. Feb 14 22:22:47 You just sent it over IRC. Feb 14 22:22:49 :-) Feb 14 22:23:01 One of them is an explanation ofthe APEX command line. Feb 14 22:23:17 It accepts prefixes for anything that it can make sense of. Feb 14 22:24:34 <[g2]> apex> du nor:128k Feb 14 22:24:34 <[g2]> 00020000: ea ff ff 63 e5 9f 01 c4 eb ff fd 55 e5 1b 00 78 ???c?..? ??.U?..x Feb 14 22:24:34 <[g2]> 00020010: eb ff fd 62 e5 9f 21 b8 e5 0b 20 78 ea ff ff ed ??.b?.!. ?. x???? Feb 14 22:24:34 <[g2]> 00020020: e3 a0 00 25 e1 a0 10 09 e5 1b 40 6c e1 a0 e0 0f . .%? .. ?.@l? ?. Feb 14 22:24:34 <[g2]> 00020030: e1 a0 f0 04 e1 a0 00 05 e1 a0 10 09 e1 a0 e0 0f ? ..? .. ? ..? ?. Feb 14 22:24:36 <[g2]> 00020040: e1 a0 f0 04 e2 88 80 02 ea ff ff 51 e2 4b 30 80 ? ..?... ???Q?K0. Feb 14 22:24:38 <[g2]> 00020050: e9 13 00 06 e3 a0 40 2d e5 0b 40 74 e2 72 20 00 ?.... @- ?.@t?r . Feb 14 22:24:40 <[g2]> 00020060: e2 e1 10 00 e9 03 00 06 ea ff fe a1 e3 52 00 00 ??..?... ??.?.R.. Feb 14 22:24:42 <[g2]> 00020070: 0a 00 00 08 e2 4b 20 80 e9 12 00 03 e2 8f 2f 4d ....?K . ?...?./M Feb 14 22:25:44 That would *not* be an environment. It's a little more than a simple magc number, but it will have a 2 byte signature, a binary byte and then a null terminated string. Feb 14 22:25:58 Then another binary byte followed by a string. Feb 14 22:26:00 <[g2]> it's redboot Feb 14 22:26:04 Of course. Feb 14 22:26:21 You would have clobbered it if I hadn't written the environment code to be so paranoid. Feb 14 22:26:56 <[g2]> sometimes paranoid is good Feb 14 22:28:30 I'm kinda fussy about it. I am thinking of adding a confirmation step to the programming commands. Feb 14 22:28:32 <[g2]> ok so I should be able to boot directly to the jffs2 partition Feb 14 22:28:35 flash programming. Feb 14 22:28:44 Oh yeah. Feb 14 22:28:46 <[g2]> nod. Feb 14 22:28:56 <[g2]> nod on the confirmation Feb 14 22:29:04 * beewoolie is installing scratchbox Feb 14 22:29:19 <[g2]> it's ancient Feb 14 22:29:31 <[g2]> unless they've updated recently Feb 14 22:29:35 I wonder if that's why I didn't use it. Feb 14 22:29:42 There is a recent not on the page. Feb 14 22:29:50 <[g2]> it was 2.95 based last I checked Feb 14 22:30:03 Oh no. they have a 3.3 compiler. Feb 14 22:30:20 Scratchbox 1.0 Feb 14 22:30:20 Released on 2005-02-08. Feb 14 22:30:55 All I want is to build a demo. That's all I want. It doesn't even have to be fully functional. Feb 14 22:31:02 * beewoolie is close to tears Feb 14 22:31:26 <[g2]> what do you want in your demo ? Feb 14 22:31:53 <[g2]> do you care glibc or uClibc ? Feb 14 22:31:54 I just need to show the LCD screen and the touch screen Feb 14 22:31:57 I don't care. Feb 14 22:32:02 I'm going to run from a CF card. Feb 14 22:32:04 <[g2]> buildroot2 is your friend Feb 14 22:32:10 Really? Feb 14 22:32:16 will it build opie? Feb 14 22:32:22 <[g2]> no Feb 14 22:32:29 What will it build? Feb 14 22:32:34 qte? Feb 14 22:32:45 <[g2]> toolchain, full rootfs Feb 14 22:33:05 I need it to look like it is fully functional. Calculator. Fancy graphics. Feb 14 22:33:12 <[g2]> ah... Feb 14 22:33:39 It doesn't have to be able to do anything in particular. although they want it to run konquerer. Problem there is hardware. Feb 14 22:35:55 What will buildroot do? Feb 14 22:36:50 <[g2]> you need graphics it won't do anything for you Feb 14 22:37:11 <[g2]> hey btw you dropped a "2" from jffs2 on the rootfs line Feb 14 22:37:20 Whoops Feb 14 22:37:38 edit src/mach-ixp42x/env.c Feb 14 22:38:01 <[g2]> don't worry about me, fixit in the source :) Feb 14 22:38:16 I mean, you can fix it in your version and recompile. Feb 14 22:38:18 Silly. Feb 14 22:38:35 <[g2]> I know, but I'm typing in the boot command anyway Feb 14 22:38:37 Fixed it here. Feb 14 22:38:54 Can you explain the /dev/slug thing? Feb 14 22:38:59 <[g2]> sure Feb 14 22:39:57 <[g2]> iirc if the root !=/dev/ram0 then the linuxrc is run Feb 14 22:40:11 Why not use init=/linuxrc? Feb 14 22:40:18 <[g2]> we could have solved that like that Feb 14 22:40:34 it's a little more clear don't you think? Feb 14 22:40:36 <[g2]> however, whey we first started we didn't have kernel source Feb 14 22:40:46 You don't need the source for that. Feb 14 22:40:51 It's a standard kernel feature Feb 14 22:41:12 <[g2]> ummm remember the kernel isn't reading cmd params ? Feb 14 22:41:27 Then why pass /dev/slug? Feb 14 22:41:35 <[g2]> we did a binary patch on the kernel Feb 14 22:41:36 it isn't reading it anyway? Feb 14 22:41:45 Ah. OK. That explains it. Feb 14 22:41:48 <[g2]> with a hex edited Feb 14 22:42:05 Thanks. That was the piece I hadn't gotten. Feb 14 22:42:43 <[g2]> eventually linksys released the source Feb 14 22:43:08 wasn't this after some kicking and screaming? Feb 14 22:43:13 <[g2]> but things were already in motion and there was so much other stuff going on Feb 14 22:43:47 <[g2]> there was some kicking and screaming Feb 14 22:43:59 <[g2]> more like a little banging and wimpering Feb 14 22:44:10 <[g2]> they still haven't released everything Feb 14 22:44:24 Oh really? Are we missing parts of this project? Feb 14 22:44:46 <[g2]> if you strings busybox from the Linksys code you'll see calls for Set_LED Feb 14 22:45:02 <[g2]> but they never released the source for the Feb 14 22:45:08 <[g2]> s/the/that Feb 14 22:45:15 oops. Feb 14 22:45:15 hmm. Not so serious Feb 14 22:45:29 Still a violation of GPL tjo Feb 14 22:45:31 <[g2]> no, but it is missing and that is GPL Feb 14 22:45:33 Sorry, Did I forget to mention the part about the UBE Binary Fix to the kernel? Feb 14 22:45:43 UBE? Feb 14 22:45:47 <[g2]> ~ube Feb 14 22:45:48 i guess ube is Ugly But Effective. Or sometimes Unorthrodox But Effective Feb 14 22:46:01 Damn. I shouldn't have let that get past me Feb 14 22:46:09 What UBE is that? Feb 14 22:46:13 you figured that one out on your own the other day even. Feb 14 22:46:28 I still haven't gotten the ssa part Feb 14 22:46:29 <[g2]> I like the first one :) Feb 14 22:46:33 Binary sed-ing the kernel just seems kinda Ugly. Feb 14 22:47:01 Is that a GPL violation? Am I missing a step? Feb 14 22:47:06 Ah hell, it doesnt seem ugly, it IS ugly. Feb 14 22:47:15 <[g2]> most definetly Feb 14 22:47:21 <[g2]> busybox is GPL Feb 14 22:47:33 Guess I'm jaded. Patching the kernel isn't so bad to me. Feb 14 22:47:35 <[g2]> if you modify it you need to release the changes if you ship product Feb 14 22:48:12 <[g2]> I think it's a slight omission Feb 14 22:48:22 Oh. I see what happened. I didn't notice that dyoung was talking in his sleep. Feb 14 22:48:33 right. They're 100 wrong. Feb 14 22:49:14 is that feature of busybox used? Feb 14 22:50:15 <[g2]> Ok so, I need to change the initrd to =0x01040010 Feb 14 22:50:15 <[g2]> <[g2]> for the jffs2 block Feb 14 22:50:31 <[g2]> on shutdown Feb 14 22:50:47 Not sure what you mean. Feb 14 22:50:49 <[g2]> that's why OpenSlug doesn't power-off on shutdown Feb 14 22:51:31 <[g2]> The jffs2 partition is 2 erase blocks past switchbox Feb 14 22:51:46 <[g2]> switchbox is copied into memory @ 16M addr Feb 14 22:52:37 <[g2]> so the jffs2 partition starts 16M + 256K + 0x10 for the jff2 length header Feb 14 22:52:45 <[g2]> or 0x01040010 Feb 14 22:52:46 OK. Your original statement is confusing to me. Feb 14 22:52:50 I think you mean this Feb 14 22:53:17 the copy command from flash to RAM needs to start at 0x01040010 to fetch the proper jffs2 image, right? Feb 14 22:53:38 <[g2]> I'm adjusting the current copy comannd Feb 14 22:53:41 Or are you putting two images into RAM? Feb 14 22:53:55 the +x10 skips the header. Feb 14 22:54:07 <[g2]> that's the switchbox header Feb 14 22:54:22 Isn't the switchbox header the 0x40000 part? Feb 14 22:54:39 <[g2]> no you offset it by 0x10 Feb 14 22:55:05 <[g2]> you start coping from the right spot Feb 14 22:55:06 Um. OK. I was skipping the Linksys header. Feb 14 22:55:12 <[g2]> nod. Feb 14 22:55:18 I thought that switchbox was your contraption. Feb 14 22:55:44 <[g2]> no, rwhitby's and dyoungs Feb 14 22:56:01 <[g2]> I discussed the idea with them Feb 14 22:57:33 Fair enough. so those headers aren't from linksys? Feb 14 22:58:02 <[g2]> Redboot requires the header Feb 14 22:58:18 <[g2]> the Linksys modified Redboot Feb 14 22:58:20 isn't that what I said? Feb 14 22:58:48 <[g2]> no you said "aren't form linksys" Feb 14 22:58:54 <[g2]> linksys built the Redboot Feb 14 22:59:07 <[g2]> actually, sercom which was contracted by linksys right ? Feb 14 22:59:20 OK. Where does switchbox come in? Feb 14 23:00:23 <[g2]> Originally, Redboot, Sysconf, Kernel, Rootfs right ? Feb 14 23:00:40 <[g2]> The kernel and rootfs have the header Feb 14 23:00:41 I don't think I knew how sysconf got in there. Feb 14 23:00:44 I know the rest. Feb 14 23:01:07 i thought that redboot loaded the ramdisk and kernel and jumped to the kernel. Feb 14 23:01:19 <[g2]> it does Feb 14 23:01:28 <[g2]> it uses the lenghts Feb 14 23:01:35 <[g2]> and runs some checksums Feb 14 23:01:37 Oh. You're talking about the flash partitions. Feb 14 23:01:42 <[g2]> nod Feb 14 23:01:43 OK. Feb 14 23:01:50 We could still do that. Feb 14 23:02:15 The problem with that sort of behavior is that there isn't a lot we can do if it is bad. Feb 14 23:02:29 <[g2]> well the problem until you came along was that we mostly needed to be Redboot compatible or sercom compatible Feb 14 23:03:16 We still can be, but it isn't a requirement. Feb 14 23:03:50 <[g2]> since Unslung was didn't want to change the boot loader, you either used that first rootfs 128Kb block for something or lost it Feb 14 23:04:12 <[g2]> hmmmm Feb 14 23:04:32 <[g2]> because jffs2 doesn't start that way ..... Feb 14 23:04:39 we can now get back two blocks, the second redboot block and the sysconf block. Feb 14 23:05:02 <[g2]> there's a trailer block at the end Feb 14 23:05:09 <[g2]> 3 block Feb 14 23:05:11 But it isn't that much space, so I think it would be wise to be conservative. Feb 14 23:05:19 Oh yeah. That's a redboot partition block. Feb 14 23:05:27 I think that that's a silly way to partition. Feb 14 23:05:45 I've considered putting a partition structure at the end of the first block. Feb 14 23:05:49 It could do the same thing. Feb 14 23:05:50 <[g2]> and sercom trailer and unslung stuffs the ipx drivers modules compressed in there Feb 14 23:05:53 Take less room Feb 14 23:06:00 nod Feb 14 23:06:08 thats kind of what we're doing. Feb 14 23:06:36 the Redboot partition info is stuff into the last block with a "payload" containing the ixp drivers and whatever else will fit. Feb 14 23:06:46 <[g2]> hmmmm Feb 14 23:06:51