00:07:58 | sammy | good Morning ............<^_^>.........!! |
00:54:42 | sammy | hi !! BZFlag <^ 0 ^> |
01:51:32 | | Russ|werk was last seen on #tuxscreen 3 hours, 34 minutes and 32 seconds ago, saying: ie, off/speaker/handset [Mon Jul 23 23:17:00 2001] |
01:51:32 | BZFlag | ibot: seen Russ|werk |
01:51:34 | | Russ was last seen on #blob 11 hours, 48 minutes and 37 seconds ago, saying: leaves [Mon Jul 23 15:02:57 2001] |
01:51:34 | BZFlag | ibot: seen Russ |
03:55:00 | BZFlag | hates ascii uploads!!! didn't blob have a working xmodem at some point? |
04:09:27 | Russ | I'm here |
04:09:43 | Russ | whats bad about ascii uploads? too slow? |
04:13:12 | sammy | ya ...!! I have try uploads kernel to iPAQ but it spend me more then 20 ~ 30 minute |
04:23:03 | sammy | Russ : why is IRC sometimes kick user out , and user must relogin ? |
04:24:04 | Russ | there are a lot of possible reasons |
04:26:04 | sammy | like in #kernelnewbies , lot of people quit and at same time rejoined ? but why ? |
04:27:28 | Russ | server split, likely caused by a DoS |
04:28:35 | sammy | ooo.... |
05:12:57 | BZFlag | Russ: you around now? |
05:13:18 | Russ | hello |
05:13:24 | Russ | working out the ramdisk stuff |
05:13:37 | BZFlag | what's up with the xmodem code in cvs? |
05:13:43 | Russ | dunno |
05:13:50 | BZFlag | It's not called anywhere nor compiled. |
05:13:52 | Russ | I imagine it would go twice as fast |
05:13:58 | BZFlag | at least. |
05:14:02 | Russ | probably just there waiting to be plugged in |
05:14:13 | BZFlag | I really hate speed switching for uploads.... |
05:14:21 | Russ | I don't mind it |
05:14:27 | Russ | alt-P,i,enter |
05:14:46 | BZFlag | I've been hacking on this for an hour now and have yet to get a single upload to work. |
05:15:01 | Russ | uuencode blob blob > /dev/ttyS0 |
05:15:05 | Russ | yes |
05:15:06 | Russ | ? |
05:15:11 | BZFlag | tried that one too. no go. |
05:15:19 | Russ | k, start blob |
05:15:22 | Russ | download kernel |
05:15:28 | Russ | switch to 115200 |
05:15:38 | Russ | uuencode blob blob > /dev/ttyS? |
05:15:46 | Russ | little '.'s apear |
05:16:00 | Russ | then: |
05:16:01 | Russ | (Please switch your terminal emulator back to 9600 baud) |
05:16:01 | Russ | Received 508784 (0x0007C370) bytes. |
05:16:06 | Russ | switch back to 9600 |
05:16:13 | Russ | flash blob |
05:16:15 | BZFlag | no luck. |
05:16:22 | Russ | whats it do? |
05:16:34 | BZFlag | and you said download kernel, you didn't mean that right? |
05:16:47 | Russ | blob, kernel, ramdisk, whatever |
05:16:58 | BZFlag | yeah, that's what I though. |
05:16:59 | Russ | the names in uuencode don't matter to blob |
05:17:19 | BZFlag | I get short file or uudecode abort, or |
05:17:32 | BZFlag | just unrecognised command etc. |
05:17:46 | BZFlag | you name it, I've seen it. |
05:18:08 | BZFlag | but whenever I try flash <foo> I get the no file has been uploaded message. |
05:18:09 | Russ | are you still at 9600 by default? |
05:18:39 | BZFlag | I've tried 9600->115200->9600 and just 9600->9600->9600 with speed 9600 |
05:19:26 | Russ | uuencode - GNU sharutils 4.2.1 |
05:20:11 | BZFlag | timr@localhost:~$ uuencode -v |
05:20:11 | BZFlag | uuencode - GNU sharutils 4.2.1 |
05:20:21 | Russ | uuencode a file |
05:20:26 | Russ | does it look like this: |
05:20:32 | Russ | begin 664 Makefile |
05:20:32 | Russ | M(PHC(&8V@O87)M+TUA:V5F:6QE"B,*(R!4:&ES(&9I;&4@:7,@<W5B:F5C |
05:20:34 | Russ | ... |
05:20:42 | Russ | M(%P*"2`@96-H;R`B*BHJ($YE>'0L('EO=2!M87D@<G5N("=M86ME(&]L9&-O |
05:20:42 | Russ | M;F9I9R<B.R!<"@EE;'-E(%P*"2`@96-H;R`B)"1#1D<@9&]E<R!N;W0@97AI |
05:20:42 | Russ | 1<W0B.R!<"@EF:3L@7`H)*0H` |
05:20:42 | Russ | ` |
05:20:42 | Russ | end |
05:21:01 | BZFlag | begin 644 zImage |
05:21:07 | BZFlag | M``"@X0``H.$``*#A``"@X0``H.$``*#A``"@X0``H.$!``#J&"AO`0"``,`` |
05:21:09 | BZFlag | ... |
05:21:16 | BZFlag | +<FYE;"X*```````` |
05:21:17 | BZFlag | ` |
05:21:17 | BZFlag | end |
05:21:36 | Russ | begin 775 boot/zImage |
05:21:36 | Russ | M``"@X0``H.$``*#A``"@X0``H.$``*#A``"@X0``H.$"``#J&"AO`0"``,#0 |
05:21:40 | Russ | ok |
05:22:02 | Russ | bad serial cable? |
05:22:17 | BZFlag | tried 2 different known working null modem cables. |
05:22:25 | BZFlag | tried 2 different phones |
05:22:31 | Russ | hmm... |
05:22:42 | Russ | is flow control off? |
05:22:55 | BZFlag | basically ascii uploads without handshaking just suck. |
05:23:07 | Russ | *always* worked for me |
05:23:16 | Russ | used it for many months |
05:23:20 | BZFlag | why doesn't ascii-cfr work? |
05:23:26 | BZFlag | er ascii-xfr |
05:23:44 | Russ | do you have software or hardware flow control turned on? |
05:24:21 | BZFlag | neither in minicom, don't know what it defaults to elsewhere. |
05:24:35 | Russ | under "Serial port setup" |
05:24:40 | BZFlag | running 2.4.7 on a dell 5000e laptop. serial.o as a module. |
05:24:43 | Russ | "F - Hardware Flow Control : No" |
05:24:50 | Russ | "G - Software Flow Control : No" |
05:24:54 | BZFlag | yes, I'm not an idiot. ;-) |
05:24:59 | Russ | (defaults t yes on F) |
05:25:02 | Russ | er, to yes |
05:25:49 | BZFlag | blob> flash kernel |
05:25:50 | BZFlag | *** No kernel downloaded |
05:26:00 | Russ | you have to download one first |
05:26:14 | Russ | blob> download kernel |
05:26:14 | Russ | Switching to 115200 baud |
05:26:14 | Russ | You have 60 seconds to switch your terminal emulator to the same speed and |
05:26:14 | Russ | start downloading. After that blob will switch back to 9600 baud. |
05:26:14 | Russ | ......................................................................................... |
05:26:15 | Russ | |
05:26:17 | Russ | (Please switch your terminal emulator back to 9600 baud) |
05:26:19 | Russ | Received 508876 (0x0007C3CC) bytes. |
05:26:21 | Russ | |
05:26:23 | Russ | blob> flash kernel |
05:26:25 | Russ | Saving kernel to flash ....... .... done |
05:27:06 | BZFlag | speed 115200 |
05:27:12 | BZFlag | Download speed set to 115200 baud |
05:27:27 | BZFlag | Switching to 115200 baud |
05:27:27 | BZFlag | You have 60 seconds to switch your terminal emulator to the same speed and |
05:27:27 | BZFlag | start downloading. After that blob will switch back to 9600 baud. |
05:27:30 | BZFlag | exiting minicom |
05:27:43 | Russ | no.... |
05:27:47 | Russ | don't exit minicom |
05:27:57 | BZFlag | uuencode zImage zImage > /dev/ttyS0 |
05:28:09 | BZFlag | don't exit minicom?! |
05:28:14 | Russ | do the uuencode in another term and leave minicom running |
05:28:42 | BZFlag | write to /dev/ttyS0 that minicom has open? surely that is not a good thing. |
05:29:13 | Russ | no, its fine |
05:29:20 | Russ | and you get little dots |
05:30:24 | BZFlag | sure enough. |
05:31:28 | BZFlag | minicom still has the device open, the kernel terminal device (from which ttyS0 etc are derived) is not supposed to support multiple opens... |
05:31:37 | Russ | sure it does |
05:31:39 | BZFlag | blob> flash kernel |
05:31:39 | BZFlag | Saving kernel to flash ....... ... done |
05:31:42 | BZFlag | wow |
05:31:49 | Russ | really confusing when you having two things reading |
05:32:00 | Russ | its random which one gets the byte |
05:32:23 | BZFlag | dcc me your test kernel? |
05:32:29 | BZFlag | mine just hung. |
05:32:36 | Russ | dcc send no work... |
05:32:46 | BZFlag | k. mail? |
05:32:49 | Russ | are you using the 2.4.6-rmk2-np1-tux1? |
05:32:52 | BZFlag | tim@rikers.org |
05:33:06 | BZFlag | no, I was trying an old one that moberg saw boot once. |
05:33:15 | BZFlag | its a 2.4.0 test series |
05:33:17 | Russ | oh, that definately won't do anything |
05:33:24 | Russ | (wrong arch number) |
05:33:24 | BZFlag | used to. |
05:33:32 | BZFlag | ahh. forgot that. |
05:33:36 | Russ | blob is now using the official arch # |
05:33:56 | BZFlag | got a tux1 source patch then? |
05:34:49 | Russ | yah, links on wiki an www.arm.linux.org.ux |
05:34:51 | Russ | er uk |
05:35:02 | Russ | http://russ.dhs.org/tuxscreen.html |
05:35:04 | BZFlag | looking... |
05:35:50 | BZFlag | should root on mtd work? |
05:36:01 | BZFlag | as in no initrd? |
05:36:39 | Russ | possibly |
05:36:48 | Russ | the initrd is indicative of some problem |
05:37:01 | Russ | Creating 3 MTD partitions on "SA1100 flash": |
05:37:02 | Russ | 0x00000000-0x00020000 : "BLOB boot loader" |
05:37:02 | Russ | 0x00020000-0x00100000 : "kernel" |
05:37:02 | Russ | 0x00100000-0x00400000 : "initrd" |
05:38:35 | BZFlag | your initrd is: MTDPART_OFS_APPEND, same as the kernel. |
05:39:02 | Russ | thats a define to continue right after the last partition |
05:39:05 | BZFlag | in shannon_partitions. |
05:39:44 | BZFlag | ok |
05:42:27 | BZFlag | you assume 16M or not? |
05:42:44 | Russ | assuming 16M right now |
05:42:54 | Russ | later, I'll add stuff to look at the mem option |
05:42:58 | BZFlag | guess I better put my SODIMM back then |
05:43:16 | Russ | so no memory card, 8M card, 16M card, and 32M cards should all work |
05:43:37 | Russ | or maybe blob can pass something |
05:43:54 | BZFlag | what about the 64M cards? thoughts? |
05:44:14 | Russ | hmm.... |
05:44:23 | BZFlag | cworth has one. |
05:44:40 | Russ | depending on the addressing |
05:44:41 | BZFlag | does not work with the inferno loader. |
05:44:57 | Russ | the on board dram may have to be dropped to support it |
05:45:20 | BZFlag | hmm, that would probably be ok. |
05:45:31 | BZFlag | rather have 64 than 40. |
05:48:21 | BZFlag | can I talk you into keeping your shannon info in the wiki? |
05:48:48 | Russ | its very easy for me to update my webpages here.... |
05:49:23 | Russ | It will change into an html file, and a patches/ dir with patches and a ChangeLog |
05:53:16 | BZFlag | what can I do to make it easier on the wiki? ;-) |
05:54:33 | Russ | I'll see once stuff is more usable (ie, boots) |
05:55:36 | BZFlag | I just blasted the page up there for now. you want to add your .config as a dl? |
05:57:56 | Russ | soon...first, ramdisk |
05:58:16 | BZFlag | ok. |
05:58:40 | BZFlag | boot log has: RAMDISK: Compressed image found at block 0 |
05:59:03 | Russ | right |
05:59:15 | BZFlag | block 0 in on the ramdisk, yes? |
05:59:21 | Russ | that the last thing it says before calling gunzip |
06:00:48 | BZFlag | hmmm... just flashed the kernel you sent and I still get: |
06:00:54 | BZFlag | Uncompressing Linux....................................... done, booting the ker |
06:00:54 | BZFlag | nel. |
06:01:02 | BZFlag | an nothing more. |
06:01:46 | Russ | oh, oops |
06:01:51 | Russ | one sec |
06:02:07 | Russ | was experimenting.... |
06:06:30 | Russ | there |
06:06:32 | Russ | try that one |
06:09:59 | BZFlag | flashing... |
06:10:12 | BZFlag | woohoo!!! |
06:10:25 | BZFlag | RAMDISK: Couldn't find valid RAM disk image starting at 0. |
06:10:25 | BZFlag | Freeing initrd memory: 3072K |
06:10:25 | BZFlag | Kernel panic: VFS: Unable to mount root fs on 01:00 |
06:10:32 | BZFlag | just as expected. |
06:10:35 | Russ | yah, you need a ramdisk |
06:10:40 | Russ | grab nicos |
06:10:48 | BZFlag | url? |
06:11:00 | Russ | I dunno |
06:11:14 | BZFlag | ok. I'll grab another then... |
06:11:15 | Russ | I go to www.arm.linux.org.uk |
06:11:26 | Russ | then developer, then machine registry |
06:11:36 | Russ | then I click on the first -np link I see |
06:12:47 | Russ | hmm....moved it to 0xd0000000 |
06:12:49 | Russ | no help |
06:13:22 | Russ | the lart one is at 0xc0040000 |
06:13:28 | Russ | but there is a memory hole there |
06:14:09 | Russ | so I try 0xc1000000 |
06:14:11 | Russ | no good |
06:20:18 | BZFlag | I'm building a kernel first... |
06:20:26 | Russ | you want a .config? |
06:21:12 | Russ | hmm...a very small ramdisk worked |
06:21:47 | Russ | VFS: Mounted root (ext2 filesystem). |
06:22:29 | BZFlag | sure .config would help. ;-) |
06:22:39 | BZFlag | sweet! |
06:23:20 | Russ | now...lets see what the breaking point is |
06:29:17 | Russ | 1M ok |
06:30:57 | Russ | 4M ok |
06:31:52 | Russ | (uncompressed size) |
06:31:55 | BZFlag | you kernel has initrd set at 4M |
06:32:02 | Russ | where? |
06:32:04 | Russ | 7M ok |
06:32:08 | BZFlag | default ramdisk size. |
06:32:24 | Russ | RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize |
06:32:37 | BZFlag | I used to set that to 8M, for large images, |
06:32:40 | BZFlag | hmm... |
06:33:11 | BZFlag | CONFIG_BLK_DEV_RAM_SIZE=4096 |
06:33:30 | Russ | doing tests on empty ramdisks right now |
06:33:34 | Russ | and they seem to be ok |
06:34:09 | BZFlag | then it dies looking for init now? |
06:34:28 | Russ | ie, 8465 bytes gzipped, 8M unzipped |
06:34:29 | Russ | yah |
06:34:49 | Russ | now I'm going to try larger gzipped sizes |
06:35:34 | BZFlag | dd /dev/urandom ? ;-) |
06:36:08 | Russ | yah, I need some data, as gzip doesn't have a don't compress mode |
06:36:22 | BZFlag | #TuxScreen? Tangent looking for updates. |
08:30:54 | Russ | ok, so the initrd starts like this: |
08:31:03 | Russ | RAMDISK: Compressed image found at block 0 |
08:31:06 | Russ | Ramdisk read from c833d000 of 1000 bytes |
08:31:06 | Russ | Ramdisk write of 0x8000 bytes at d0030000 |
08:31:06 | Russ | Ramdisk read from c833e000 of 1000 bytes |
08:31:07 | Russ | Ramdisk write of 0x8000 bytes at d0038000 |
08:31:07 | Russ | Ramdisk write of 0x8000 bytes at d0040000 |
08:31:31 | Russ | assuming those are virtual addresses, because the ramdisk is at 0xc8000000 |
08:31:39 | Russ | then stops down here |
08:31:46 | Russ | Ramdisk read from c8442000 of 1000 bytes |
08:31:46 | Russ | Ramdisk read from c8443000 of 1000 bytes |
08:31:46 | Russ | Ramdisk write of 0x8000 bytes at d0308000 |
08:31:46 | Russ | Ramdisk read from c8444000 of 1000 bytes |
08:31:46 | Russ | Ramdisk read from c8445000 of 1000 bytes |
08:32:53 | Russ | the ramdisk is 0x203D78 bytes gziped, and 8M gunzipped |
08:34:32 | Russ | stops at the same point everytime |
08:35:12 | erikm | hmm |
08:36:00 | Russ | (with that ramdisk) |
08:36:24 | Russ | could the kernel be putting stack out there? |
08:36:28 | erikm | could be |
08:36:45 | Russ | empty 8M images work though.... |
08:36:53 | erikm | sure, they are smaller |
08:36:55 | Russ | but thats with a different gzipped size |
08:37:39 | Russ | I can't fit the kernel 3M after the arch like it is on the LART |
08:37:57 | Russ | I have to jump over to the next segment of memory, at 0xc8000000 |
08:38:30 | erikm | so that's where you put the compressed ramdisk image, I suppose |
08:39:02 | Russ | yah |
08:40:48 | Russ | ok, did gzip -9 on the same image |
08:41:03 | Russ | Ramdisk read from c8445000 of 1000 bytes |
08:41:03 | Russ | Ramdisk write of 0x8000 bytes at d0310000 |
08:41:03 | Russ | Ramdisk read from c8446000 of 1000 bytes |
08:41:03 | Russ | Ramdisk read from c8447000 of 1000 bytes |
08:41:03 | Russ | Ramdisk write of 0x8000 bytes at d0318000 |
08:41:10 | erikm | instead of gzip -1? |
08:41:21 | Russ | it seems the failure is writing past 0xd0310000 |
08:41:38 | Russ | instead of straight gzip |
08:41:41 | Russ | lemme try -1 |
08:42:20 | Russ | er, that decompression wasn't much different, just went a bit farther |
08:43:03 | Russ | it came out to the same size |
08:43:13 | erikm | how much flash does the tuxscreen have? |
08:43:21 | BZFlag | 4M |
08:43:42 | erikm | hmm. should be enough for a JFFS2 image |
08:43:51 | BZFlag | agreed |
08:44:01 | BZFlag | 128k block size. |
08:44:07 | Russ | but why don't initrd images work |
08:44:12 | Russ | reliably |
08:44:18 | erikm | I think the funny memory layout |
08:44:30 | Russ | other boards have that memory layout |
08:44:38 | erikm | yes, brutus |
08:44:55 | erikm | but I don't know if they work with large ramdisk |
08:44:57 | erikm | s |
08:45:09 | Russ | for fixup, I have: |
08:45:09 | Russ | SET_BANK( 0, 0xc0000000, 4*1024*1024 ); |
08:45:09 | Russ | SET_BANK( 1, 0xc8000000, 4*1024*1024 ); |
08:45:09 | Russ | SET_BANK( 2, 0xd0000000, 4*1024*1024 ); |
08:45:10 | Russ | SET_BANK( 3, 0xd8000000, 4*1024*1024 ); |
08:45:12 | Russ | mi->nr_banks = 4; |
08:45:17 | Russ | ROOT_DEV = MKDEV(RAMDISK_MAJOR,0); |
08:45:17 | Russ | setup_ramdisk(1, 0, 0, 8192); |
08:45:17 | Russ | setup_initrd(0xc8000000, 3*1024*1024); |
08:45:23 | BZFlag | well. must sleep. erikm I actually got a shell by using a small initrd. |
08:45:23 | BZFlag | thanx Russ! |
08:45:23 | BZFlag | nite all |
08:45:47 | erikm | col |
08:45:54 | Russ | io_desc: |
08:45:54 | Russ | /* virtual physical length domain r w c b */ |
08:45:54 | Russ | { 0xe8000000, 0x00000000, 0x00400000, DOMAIN_IO, 1, 1, 0, 0 }, /* main flash memory */ |
08:45:54 | Russ | LAST_DESC |
08:46:09 | Russ | MACHINE_START |
08:46:10 | Russ | BOOT_MEM(0xc0000000, 0x80000000, 0xf8000000) |
08:46:10 | Russ | FIXUP(fixup_shannon) |
08:46:10 | Russ | MAPIO(shannon_map_io) |
08:46:10 | Russ | INITIRQ(sa1100_init_irq) |
08:46:16 | erikm | not so fast... |
08:46:27 | Russ | wha? |
08:46:41 | erikm | can you load the ramdisk to 0xd8000000 like the brutus does? |
08:46:53 | erikm | setup_initrd( __phys_to_virt(0xd8000000), 3*1024*1024 ); |
08:46:56 | Russ | I tried 0xd0000000 |
08:47:05 | Russ | but not 0xd8000000 |
08:49:28 | Russ | have you thought about blob passing the kernel a mem= paramater? |
08:49:37 | erikm | yes |
08:49:44 | erikm | I'm going to try that today |
08:49:50 | erikm | mem= won't work |
08:49:58 | Russ | what is the mechanism? |
08:50:09 | erikm | because of the many banks the SA11x0 has |
08:50:19 | erikm | that's what I'm going to find out ;) |
08:50:34 | Russ | on shannon I can determine the bank layout by just a mem= param |
08:50:46 | Russ | there is a similar mechanism |
08:50:53 | erikm | impossible for lart |
08:50:54 | Russ | look at the badram patch |
08:51:40 | erikm | tests an mp3 file on LART |
08:53:22 | erikm | friend of mine made a song that might be used royalty free for LART |
08:53:39 | Russ | the lart has theme music now? |
08:54:12 | Russ | now it starts here: |
08:54:18 | Russ | Ramdisk read from c803d000 of 1000 bytes |
08:54:19 | Russ | Ramdisk write of 0x8000 bytes at d0030000 |
08:54:19 | Russ | Ramdisk read from c803e000 of 1000 bytes |
08:54:19 | Russ | Ramdisk write of 0x8000 bytes at d0038000 |
08:54:24 | Russ | and ends here: |
08:54:30 | Russ | Ramdisk read from c8145000 of 1000 bytes |
08:54:30 | Russ | Ramdisk read from c8146000 of 1000 bytes |
08:54:30 | Russ | Ramdisk write of 0x8000 bytes at d0310000 |
08:54:30 | Russ | Ramdisk read from c8147000 of 1000 bytes |
08:54:30 | Russ | Ramdisk read from c8148000 of 1000 bytes |
08:54:46 | Russ | (messages are printk'd before action) |
08:54:50 | erikm | hmm |
08:56:30 | erikm | not too bad |
08:56:35 | erikm | gets author |
08:57:12 | Russ | Memory: 11720KB available (1003K code, 219K data, 44K init) |
08:57:24 | Russ | there looks to be space for the ramdisk |
08:59:30 | Russ | is there anything wrong with the 2.95.2 gcc packages you offer? |
09:00:22 | erikm | nope |
09:00:34 | erikm | gcc-2.95.3 should also be ok |
09:00:46 | erikm | and the C compiler in gcc-3.0 is also ok |
09:00:55 | erikm | siglunch |
09:01:08 | erikm_lunch | points Russ to bed |
09:01:20 | Russ | argghhh... |
09:01:33 | erikm_lunch | Russ: better write it up for linux-arm-kernel and work on it tomorrow |
09:02:58 | Russ | very frustrating |
09:05:30 | Russ | should I use puts instead? |
10:09:10 | sammy | erikm: Please why U do that ? ==> .rept 8 |
10:09:29 | sammy | ldr r0, [r1] |
10:09:50 | sammy | in start.S |
10:10:06 | erikm | read the comment |
10:10:11 | erikm | it is needed by the DRAMs |
10:14:44 | sammy | but it only use in SA1110 right as U write ....? |
10:17:00 | erikm | no, it is for the SA1100 |
10:21:57 | erikm | Russ: ok, your reboot from RAM feature is in. turned out to be very easy |
10:23:12 | erikm | Russ: I'm cleaning up right now |
12:22:53 | erikm | Russ: here you go, it's in CVS |
13:42:27 | erikm | starts coding on command line support |
16:19:24 | erikm | re |
16:20:18 | Russ|werk | re |
16:20:36 | erikm | hrmplf |
16:20:57 | erikm | Russ|werk: cvs update and you have the restart blob from RAM patch |
16:21:22 | Russ|werk | I noticed |
16:21:50 | Russ|werk | probably won't have a chance to test it here at work though |
16:37:00 | erikm | hmm, looks like I hit a fault in blob |
16:37:26 | erikm | I think I need to make blinky take a number of parameters |
16:37:42 | erikm | r1 = number of blinks or so |
16:44:17 | Russ|werk | blink blink blink blink pause pause, repeat |
16:44:23 | Russ|werk | what did you do? |
16:45:01 | erikm | moved the blobStatus struct to .bss segment |
16:52:47 | erikm | hmm |
16:52:50 | erikm | still works |
16:52:52 | erikm | again |
16:53:02 | erikm | somehow the two versions are not compatible |
16:55:20 | erikm | oh well |
17:06:16 | Russ|werk | ? |
17:12:11 | erikm | coding coding coding.... |
17:14:10 | erikm | (song to "Rawhide" from the Blues Brothers) |
17:18:30 | Russ|werk | I've been to rawhide a few times |
17:18:43 | Russ|werk | course, I don't think there is any correlation to the song |
17:23:19 | erikm | hmm. I need a line with "features" in the startup screen to see what version I'm using ;) |
17:23:23 | erikm | adds that |
17:25:28 | erikm | Features: run-from-ram, reboot-from-ram, memory-map |
17:25:39 | erikm | now adds commandline |
17:30:42 | erikm | has a good idea for adding commands without having to muck with help files and large if-else statements |
17:30:51 | erikm | but that's a cleanup thing |
17:31:09 | erikm | here |
17:31:12 | erikm | here's the idea: |
17:31:29 | erikm | make a separate ELF section in which we put the commands |
17:32:43 | erikm | adding a command would be just adding a structure in that section (with __attribute__((section(".rodata.commands"))) ) |
17:33:45 | erikm | now the command line parser just checks every structure in that section for a match and calls the function associated with that structure |
17:36:54 | BZFlag | erikm: xmodem? |
17:37:58 | erikm | BZFlag: that would also be nice |
17:38:24 | BZFlag | there is a .c and .h file in there now, yes? were they ever used? |
17:38:35 | erikm | BZFlag: they were used at the very start |
17:38:36 | BZFlag | I'd prefer zmodem... ;-) |
17:38:51 | erikm | BZFlag: jdb wrote them up after reading some obscure xmodem spec |
17:39:09 | erikm | BZFlag: they never worked, so that why we went for uuencode |
17:40:56 | BZFlag | lrzsz is GPL friendly, so code could get cut from there. |
17:41:54 | erikm | BZFlag: I just apt-get source it ;) |
17:42:10 | erikm | BZFlag: friend of mine asks how fast you can deliver tuxscreens ;) |
17:42:38 | erikm | BZFlag: I'm going to visit him next friday (he lives in NY) |
17:43:01 | BZFlag | well, post office was closed today, so your's didn't ship. but I normally ship on next business day whatever priority the customer wants. |
17:43:17 | BZFlag | I'll be in rochested NY aug 1-5 |
17:43:22 | BZFlag | er Rochester. |
17:43:26 | erikm | looks |
17:43:30 | erikm | on maps.yahoo.com |
17:43:36 | BZFlag | what part of NY for you? |
17:43:42 | erikm | he works at IBM watson |
17:43:46 | erikm | near NY city |
17:44:10 | BZFlag | ahh. yeah, by the city. like a 4-5 hour drive depending on traffic. |
17:44:35 | BZFlag | actually if you do it at 2 AM you can make it in < 4 ;-) |
17:45:29 | erikm | not really close |
17:46:09 | erikm | anyway, he likes lart, but I can't give him one. and a tuxscreen is a nice hacking project as well |
17:46:44 | erikm | (he is actually our webmaster for www.lart.tudelft.nl) |
17:47:16 | erikm | (well, was, cause he did his job that good that it doesn't need any maintenance ;) |
17:47:58 | erikm | I'll ask him to mail you about the tuxscreen |
17:51:46 | Russ|werk | erikm: if xmodem or zmodem worked, wouldn't it be about twice as fast? |
17:52:17 | erikm | Russ|werk: I don't think so |
17:52:36 | Russ|werk | why not? |
17:52:50 | erikm | Russ|werk: both kernel and ramdisk are gzipped, so you can't compress more |
17:53:17 | Russ|werk | I don't mean comprssion |
17:53:27 | erikm | finds out that lrzsz source is GPL. jay! |
17:53:38 | Russ|werk | uuencode is converting all non-ascii characters to ascii |
17:53:54 | Russ|werk | to your sends are becoming twice as large |
17:54:05 | erikm | oh, ok. like that. |
17:54:31 | erikm | uuencode uses only 6 bits, so [xyz]modem will be 25% faster or so |
17:54:46 | Russ|werk | then, if you found a 230kbps serial port for your PC, it could be twice as fast again |
17:55:01 | erikm | yes. but better use ethernet |
17:55:02 | Russ|werk | erikm: 6 bits to 8 bits == 4 times as fast |
17:55:48 | Russ|werk | if going from uuencode to xmodem would be 4 times as fast... |
17:55:57 | erikm | no, I mean that it stuffs 3 bytes into 4 bytes |
17:56:09 | erikm | no, really, only 25% or so |
17:57:37 | Russ|werk | 230kbps would truely double speed though |
18:03:22 | erikm | yes |
18:03:38 | erikm | unfortunately there aren't many PCs that support it |
18:05:35 | Russ|werk | I have an lava card here that does |
18:06:26 | Russ|werk | I would guess the divisor for 230 would be 0 |
18:32:27 | Russ|werk | erikm: for devices like the iPAQ, and tuxscreen |
18:32:58 | Russ|werk | what about a download all / flash all option to restore previous OS (flashing the blob part last) |
18:33:35 | erikm | should be easier with xmodem et. al. |
18:33:36 | BZFlag | 25% faster for sure, but then zmodem sliding window will gain you more |
18:34:13 | erikm | but what I am working on right now is command line support and parameters in flash |
18:34:20 | erikm | if that works I want to make a release |
18:34:53 | Russ|werk | ie, a download target that is 4M, then the flash flashes 0x8000 and on, then comes back and does 0x0000 to 0x8000 (to minimize powerfailure device->brick) |
18:35:12 | erikm | Russ|werk: ah, like that. |
18:37:35 | erikm | anyway: about the release: the LART people have waited long enough for a new release, and this one works really nice on LART |
18:38:17 | Russ|werk | sounds good |
18:38:39 | Russ|werk | merge it, and tag it 1.0.9 |
18:38:57 | Russ|werk | or, 1.1 |
18:39:03 | Russ|werk | 2.0 if you like |
18:39:27 | erikm | I think I go for 2.0.3, like wookey suggested |
18:44:01 | BZFlag | agrees with wookey |
18:44:44 | BZFlag | erikm: are you doing partitioning? will it be like any of the 3 existing methods? redboot, crl, or armdev? |
18:45:16 | BZFlag | or do we get a config "blob partitioning" banner ad? ;-) |
18:45:20 | erikm | BZFlag: I haven't looked at it yet |
18:45:34 | erikm | BZFlag: but using an existing partitioning format would be sane, yes |
18:45:51 | erikm | BZFlag: and having looked at the bootldr source, I think I favor redboot |
18:47:05 | BZFlag | a agree with russ vis the flash all. I'd like a DL and an UL for all. where the flashing saves rounded up blob sized flash chunk till the end and flashes that last. |
18:47:41 | erikm | sounds sane yes |
18:48:14 | erikm | but I think just downloading a complete 4MB file with blob at the start would also work |
18:48:15 | BZFlag | isn't there a partion block in the params block now? Why does the kernel need to see partitioning info at all? The bootloader should just pass that in. |
18:48:38 | erikm | looks if ARM supports passing in partitioning |
18:48:38 | BZFlag | erikm: true, but not if power fails. |
18:48:55 | erikm | BZFlag: if power fails you're toasted anyway |
18:49:05 | BZFlag | not if blob is still ok. |
18:49:20 | BZFlag | then just reboot and do it again. |
18:49:36 | erikm | BZFlag: it really doesn't matter if we flash blob first or last. if power fails during flashing of blob you are toast |
18:50:09 | erikm | the critical phase is the flashing of blob |
18:50:19 | BZFlag | but if you were flashing a different OS image, then you never know which bits you need, so leave the known good blob till the last bit. then power fail is only bad on the very last block erase/flash |
18:51:35 | erikm | BZFlag: it *really* doesn't matter. first we download the complete 4MB. now clear the blob blocks. flash blob. clear second region. flash second region. etc. |
18:52:10 | BZFlag | and if you are flashing an inferno 4M image? |
18:52:11 | erikm | BZFlag: it really doesn't matter *when* you flash blob. if it fails you are toasted |
18:52:41 | erikm | BZFlag: you mean with a blob version booting inferno? |
18:53:16 | BZFlag | I mean blob/linux is on the device now and I want to flash inferno (or another OS) on. |
18:53:44 | BZFlag | If I flash whatever that os has in the boot block, that may or may not be bootable by itself. |
18:53:54 | erikm | BZFlag: ah, ok |
18:53:56 | BZFlag | it may need stuff elsewhere in memory. |
18:54:01 | BZFlag | yeah, you got it. |
19:01:22 | BZFlag | erikm: thought about flash protect/unprotect in blob? |
19:02:01 | Russ|werk | BZFlag: I don't see it as important |
19:04:04 | erikm | BZFlag: no |
19:25:20 | BZFlag | ok |
19:25:56 | erikm | if I vanish from the net it's because the backbone router over here has 54% packet loss |
19:27:18 | Russ|werk | kiddies at work? |
19:27:27 | erikm | dunno |
19:33:29 | erikm | router is ok again |
20:30:03 | erikm | ouch |
20:30:11 | erikm | assabet has the boot parameters in 0xc0000100. that's where the blob .text segment live |
20:30:29 | Russ|werk | its very easily changeable |
20:30:30 | erikm | I think I'm going to move blob to 0xc0000400 or so |
20:30:40 | Russ|werk | (the boot paramater address{ |
20:30:54 | erikm | yes, I know, but that would mean an #ifdef BLOB in the kernel source |
20:31:20 | Russ|werk | oh, yea, if blob is booting assabet |
20:31:23 | Russ|werk | duh |
20:31:32 | erikm | bitsy does the same |
20:31:41 | erikm | also at 0xc0000100 |
20:31:51 | Russ|werk | 0xc0000100 it is |
20:32:45 | erikm | if I move blob to 0xc0000400 it will give us 768 bytes for arguments |
20:33:01 | erikm | "768 bytes should be enough for everyone!" |
20:33:01 | Russ|werk | plenty |
20:33:45 | erikm | I'm using the tagged command structure BTW, much more flexible |
20:34:09 | Russ|werk | not familiar with the kernel paramater passing methods |
20:34:34 | erikm | param_struct is old |
20:34:50 | erikm | struct tag is new |
20:34:53 | Russ|werk | I'm asuming kernel paramaters are just boot> options right now? |
20:35:05 | erikm | see include include/asm/setup.h |
20:35:14 | erikm | I'm also passing the memory setup in |
20:35:33 | Russ|werk | in tagged command? |
20:35:34 | erikm | that's just a couple of ATAG_MEM nodes |
20:36:06 | Russ|werk | maybe automatically pass blob's serial speed as well? |
20:36:18 | Russ|werk | don't know where you'd do that |
20:36:29 | erikm | three is an ATAG_SERIAL node |
20:36:36 | erikm | no speed thing in it |
20:36:43 | Russ|werk | hmm... |
20:36:55 | erikm | can be done with console=ttySA0,<speed> |
20:37:47 | Russ|werk | yah, maybe the person wanted console=tty1, maybe the user should be able to handle serial speeds on their own |
20:57:14 | erikm | goes zzz |