irclog2html for blob on 2001.09.27

00:27:08Sammymorning
08:10:20seletzHello? Im new to IRC :) and wondering if i'm connected or not ...
08:12:28erikmhi *
08:12:29seletz
08:12:45seletzHi, finally mad it to irc :)
08:12:51erikmhehe
08:13:12seletzWondering if i'n now to be called "nerd" :))
08:13:48erikmdepends on how you use IRC
08:14:11seletzwell *this* is my fourth post, anyway .... it works.
08:16:10Sammyhi all :-)
08:17:27erikmgets coffee
08:17:48seletzdid anyone read my post about SA1110 power-up on linux-arm-kernel?
08:23:34Sammyabout what ?
08:24:34seletzWell, I'm trying to understand the power-up procedure for an SA 1110, and kook BLOB/CVS as an example.
08:25:07seletzWondered why Section 10.7.1 of SA1110 dev manual is not performed
08:25:15seletzin BLOB i mean
08:41:26erikmseletz: sorry, not yet
08:42:24erikmreads
08:43:35erikmseletz: the answer is simple: not yet done :)
08:44:28erikmseletz: last weekend I did the necessary steps to make the memory setup even more modular
08:45:07erikmseletz: but I couldn't get the assabet up
08:45:21erikmseletz: I think it will work right now with the serial port fix
08:45:55erikmseletz: last weekend I was stuck because I thought it was a memory problem
08:48:20seletzerikm: well, as you probably know, i have problems with my board, probably due to HW errors (which i have to proove first go get my HW guru blamed :^/ )
08:49:14seletzerikm: now i try to get evrything properly configured during startup and this i _think_ i need
08:49:59seletzerikm: this startup procedure. So i coded a little but my CPU just gave me a no-go :(, perhaps due to my
08:50:17seletzerikm: limited arm asm knowledge ....
08:50:18erikmseletz: no go as in what?
08:50:51seletzerikm: as in "nothing happens", no startup, just _nothing_. No led either.
08:51:51seletzerikm: i _got_ blob/CVS to start and i could see the autoboot starting via serial line (after your patch yesterday)
08:53:19seletzerikm: but when i chage memsetup-sa1110.S to perform power up reset procedure as in 10.7.1 it does not work anymore.
08:54:34seletzerikm: Maybe i'm _completely_ wrong and this procedure is not needed at all?
08:59:03erikmseletz: possible
08:59:16erikmseletz: the sa1110 is a bit cryptic on points
08:59:21erikmsa1100 manual
08:59:28erikmehm sa1110 manual
08:59:38seletzerikm: yes. :(
08:59:58erikmthe tip I got from rmk is to get a micron SDRAM data sheet
09:00:44seletzerikm: sorry, but what for? To verify the state diagram (_yuck_) or what?
09:01:00erikmit explains the states and transitions better, so it makes it easier to understand the sa1110 manual
09:01:37seletzericm: hrmpf, i'll google it. Lets see if they have some PDF ...
09:01:49erikmand micron is the only sdram supplier I know that has data sheets in proper english
09:01:54erikmwww.micron.com
09:02:15erikmI can dcc you the data sheet
09:03:58seletzwell, dcc. Hmm. Sorry, i'm new to irc. What's that?
09:04:25erikmoh, sorry. send files via IRC
09:04:57seletzOK, lets see if my client can handle this.... give it a try, please.
09:05:06erikmI offer the file to you with /dcc send <nick> <file>, you can accept it with /dcc get <nick>
09:06:06seletzwell, i'rather read a  irq FAQ  _quickly_. Ok, do i get som info msgs when yoe offer the file?
09:06:27erikmI'll send you the file, you just type /dcc get erikm
09:07:58Sammyis setting his DNS server
09:08:10seletzWoha! Worked!
09:08:21seletzThak you!
09:08:26erikmnp
09:10:37seletzNow i have something to dig through.... 52p phew.
09:13:46Sammyerikm : I do something that you say , do you get it ?
09:23:08erikmyes, but I was on the phone
09:23:52erikmlunch time
09:23:54erikmbbl
09:26:12Sammyis dcc a file to erikm...
10:07:55erikmreturns
10:10:08Sammyerikm : do you get my file ?
10:10:36erikmno
10:12:25Sammydo you type /dcc get <sammy>
10:24:50erikmno, because I was on the phone again
11:14:08erikmis soldering some PCBs
11:14:47erikmI switched my laptop to wavelan, let's hope I can still reach the base station
12:22:04GiuseppeOttavianoHi
12:23:59erikm_solderinghello
12:24:55GiuseppeOttavianowill ever be supported by blob the loading of a kernel on a JFFS2 partition?
12:26:37erikm_solderingGiuseppeOttaviano: yes, Russ has patches for that.
12:26:43erikm_solderingGiuseppeOttaviano: it's just a matter of time before we start integrating
12:27:12erikm_solderingGiuseppeOttaviano: the most important issues right now are proper sa1110 support
12:27:17erikm_solderingand parameter support
12:28:01GiuseppeOttavianook, thanks; i noted on the lart mailinglist that were released patches for that for the 1.0.8 version, so I thought there already was 2.0.4 support...
12:28:18GiuseppeOttavianoaren't already tag parameters supported in 2.0.4?
12:28:28erikm_solderingthat are kernel parameter tags
12:28:37erikm_solderingwhich were already in 2.0.3
12:28:48erikm_solderingI'm talking about blob parameters
12:29:10erikm_solderinglike set default-cmdline="root=/dev/ram"
12:29:24erikm_solderingand set timeout=2
12:30:27GiuseppeOttavianook, I understood
12:30:29GiuseppeOttavianothanks
12:30:32erikm_solderingGiuseppeOttaviano: but if you want to port Russ 1.0.8 patch to 2.0.4, be my guest
12:30:44prpplaguemorning all
12:30:53erikm_solderinghu prpplague
12:30:55erikm_solderingehm, hi
12:31:53prpplagueerikm_soldering: hmmm, nothing like the smell of hot solder in the morning....
12:32:05GiuseppeOttavianoerikm_soldering: unfortunately lately my linux box has some problems (i can't manage to connect with my modem :-( so i haven't yet an arm toolchain... and I have no time to solve it (ah, the school...)
12:32:07GiuseppeOttaviano:-((
12:32:13GiuseppeOttavianowhat are you soldering?
12:32:28erikm_solderinggyroscopes
12:32:33erikm_soldering2.5x2.5 cm
12:32:43erikm_solderingand a KSB
12:33:27GiuseppeOttavianowhat's the status of CreditLART? I would be much interested about it
12:34:00erikm_solderingwe have two prototypes, which don't work with sa1111
12:34:13SammyAmm ,,, what is gyroscopes
12:34:18erikm_solderingso we removed the sa1111, and then jdb got ill
12:34:24erikm_solderingso no testing yet
12:34:44erikm_solderingSammy: used to measure rotation
12:34:58erikm_solderingSammy: or actually, speed of rotation
12:35:16GiuseppeOttavianowhat gyroscopes do you use?
12:35:30Sammyya...
12:35:42erikm_solderingSammy: so you get a voltage out of it which is linear with the speed of rotation (xx degrees/second)
12:35:44Sammythat's what I ask ...
12:35:58GiuseppeOttavianoerikm_soldering: ehm, not so linear :-))
12:36:13erikm_solderingGiuseppeOttaviano: murata 03JA
12:36:47erikm_solderingGiuseppeOttaviano: linear enough for the range we use them in
12:37:44prpplagueerikm_soldering: have you seen this mornings post on the linux-arm mailing list subject:AXF-bootload?
12:37:56GiuseppeOttavianoerikm_soldering: do you use some kind of filtering for very-low frequency noise?
12:38:42erikm_solderingprpplague: I haven't read linux-arm yet
12:39:19erikm_solderingGiuseppeOttaviano: could you specify very-low-frequency noise?
12:39:27prpplagueerikm_soldering: ahh, just wanted your $.02 on that, maybe later...
12:40:56GiuseppeOttavianoIf I'm not wrong, gyroscopes (and accelerometers) suffer of a very-low frequency noise (IIRC in the order of millihertz), that could affect the measurements. But I'm not sure
12:40:57erikm_solderingprpplague: oh, that post. ignore it. probably some kind of propriatary linux system
12:41:58erikm_solderingGiuseppeOttaviano: oh, ok. yeah, we just did a 8388608 points FFT on our 100 Hz sample data
12:42:15erikm_soldering(that's almost a day of data). we could see it
12:42:31GiuseppeOttavianoah, ok
12:42:43GiuseppeOttavianoI wanted to know that :-)
12:43:19GiuseppeOttaviano8388608 points? quite many :-)
12:43:26prpplagueerikm_soldering: those guys are working on the same board i am, rather than make the bootloader linux friendly, they are trying to patch/modify the kernel
12:43:27erikm_solderingbut the guys who are going to use it can't be bothered with it
12:43:46erikm_soldering(sorry, that was for GiuseppeOttaviano)
12:44:23Sammyabout the Russ jffs2 patches , where can find it with some howto ?
12:44:58erikm_solderingGiuseppeOttaviano: because we compensate the noise with input from accelerometer, magneto or inclinometer and GPS
12:45:28erikm_solderingprpplague: well, just tell him to use a standard kernel and use your blob modifications
12:45:33GiuseppeOttavianowell, 100*3600*24 is 8640000, am I missing something?
12:46:08erikm_solderingGiuseppeOttaviano: yes. but for speed up FFT wants the number of samples a power of 2
12:46:21erikm_solderingGiuseppeOttaviano: so that's 2^23
12:46:52GiuseppeOttavianoIf you have a gps and an inclinometer why don't you use an electronic compass? You have a complete knowledge of the position and everything else
12:47:12GiuseppeOttavianoerikm_soldering ok, I understood
12:47:31erikm_solderingGiuseppeOttaviano: because an eletronic compass gets distorted by other electric equipment
12:47:47erikm_solderingGiuseppeOttaviano: electronic compass == magnetometer
12:48:07Sammyohh... so deep ...
12:48:33erikm_solderingSammy: IIRC Russ posted it to the lart list, and there is no howto
12:48:40GiuseppeOttavianoright, I didn't think about it
12:49:06erikm_solderingSammy: but his patch is not necessary to use JFFS2 with the kernel, it only allows blob to pick up a kernel image from a JFFS2 filesystem in flash
12:49:27prpplagueerikm_soldering: they've been less than friendly, anyway it is a dead issue, the manufacture of the board is making changes to the default bootload to support linux properly, AND adding support for blob as a secondary bootloader
12:50:32erikm_solderingprpplague: so they're going to help you?
12:50:46GiuseppeOttavianoerikm_soldering: and it's better to have the kernel in the jffs2 partition :-) it's more pc-like
12:50:55Sammyneed's to get more knowledge in study this (kernel , jffs2 ,ramdisk )
12:51:19erikm_solderingGiuseppeOttaviano: well, it's not better per se. it saves flash space, which may or may not be a good thing
12:51:45erikm_solderingGiuseppeOttaviano: and pc-like is also not always a good thing. see the ACPI crap the PC world just got into
12:52:11erikm_solderingGiuseppeOttaviano: (300k of code only to detect the state of a single power switch is NOT the way to do it)
12:52:12GiuseppeOttavianoerikm_soldering: ok, you're right :-))
12:52:43prpplagueerikm_soldering: ya InHand( board manufacture) has said "we consider the fact that or bootloader doesn't support linux properly, a design flaw. we will make any nessary changes needed to support linux properly."
12:53:39erikm_solderingprpplague: that's the *last* thing we want
12:53:45erikm_solderingprpplague: another boot loader
12:54:25GiuseppeOttavianoHow is redboot?
12:54:41erikm_solderingprpplague: in case I didn't tell you, Russ, BZflag and I have a secret goal: to make blob so good that it obsoletes redboot and bootldr
12:54:42prpplagueerikm_soldering: true, but the fact they are willing to work with us is a big plus in my book
12:54:52GiuseppeOttavianowhat are the advantages/disadvantages vs blob?
12:54:53erikm_solderingprpplague: but: sssssshh :)
12:55:23prpplagueerikm_soldering: i main not be guru like you guys, but i plan on adding my support for that goal
12:55:40prpplagues/main/may (not enough coffee yet)
12:55:44erikm_solderingGiuseppeOttaviano: advantage: boots from network. disadvantages: supports less architectures, very complicated setup, bloated
12:56:31erikm_solderingGiuseppeOttaviano: oh, and redboot supports parameters
12:56:41GiuseppeOttavianoDoes it mean that I can load kernel/ramdisk via ethernet? I can't tolerate the slowness of serial port :-)
12:56:54erikm_solderingGiuseppeOttaviano: if you can get it to work, yes it does
12:57:33erikm_solderingGiuseppeOttaviano: but that's also on the to do list. I already have dhcp and tftp code from busybox, only have to write a simple networking layer
12:58:02GiuseppeOttavianouhm, this implies ethernet nic support, tcp/ip stack, other stuff... how is big redboot (sources and compiled code)?
12:59:05erikm_solderingGiuseppeOttaviano: problem is that redboot needs ecos to run and ecos source is...
12:59:08erikm_solderingdoes du -hs
12:59:12erikm_soldering61MB
12:59:37erikm_solderingGiuseppeOttaviano: redboot is actually an ecos application
12:59:40GiuseppeOttavianoredboot runs over ecos or it takes source parts from ecos?
12:59:46erikm_solderingGiuseppeOttaviano: yes
12:59:59GiuseppeOttavianoah, it would be like blob running over linux :-))
12:59:59erikm_solderingGiuseppeOttaviano: so that's why I consider it bloated
13:00:04erikm_solderingGiuseppeOttaviano: yes
13:00:20erikm_solderingGiuseppeOttaviano: so adding dhcp and tftp to ecos was quite easy
13:00:28GiuseppeOttavianowe could even do loading and root over an hard disk using it :-))
13:00:30erikm_solderings/ecos/redboot/
13:01:16GiuseppeOttavianoso if you don't configure properly ecos.... :-)
13:02:00GiuseppeOttavianolet me understand, if i want to load linux: s/ecos/redboot/linux?
13:02:50GiuseppeOttavianoa kernel supersedes another? :-)
13:04:25erikm_solderingGiuseppeOttaviano: possible in theory, but you forget about the blob paradigm: Keep It Simple, Stupid!
13:04:58erikm_solderingGiuseppeOttaviano: here is my favorite quote about it:
13:04:59prpplaguei'm interested in being able to pull kernel/initrd from a fs on a cf/pcmcia card
13:05:04erikm_solderingYou know you've achieved perfection in design, not when you have
13:05:04erikm_solderingnothing more to add, but when you have nothing more to take away.
13:05:04erikm_soldering  -- Antoine de Saint-Exupery
13:05:54erikm_solderingprpplague: BZFlag plans to work on that
13:05:58GiuseppeOttavianoI think this applies very well to coding :-)
13:06:14erikm_solderingGiuseppeOttaviano: no, it's the golden rule of engineering
13:06:31erikm_solderingGiuseppeOttaviano: but so often people forget about it
13:07:11GiuseppeOttavianoprpplague: it would be very useful if you have a lot of boards to load kern/rd in...
13:08:25erikm_solderinganyway, I was soldering....
13:08:46seletzhi everyone. Just about RedBoot: heve you ever tried to compile it?
13:09:36GiuseppeOttavianook, keep soldering :-))
13:09:43GiuseppeOttavianobye, i go
13:12:21Sammy, about reboot ....so reboot it ....
13:13:17seletzredboot is a mess. 1) no makefile 2) arm-elf toolchain 3) they use macros instead of #include
13:14:05Sammyno I say I am reboot now ...
13:15:01seletzis someone here who can answer a question about blob memory layout?
13:16:32seletzi need to know where blob resides & where the stack grows. i believe its  @ 0xc0000000 - 0xc0100000 with stack grows top->bottom, right?
13:16:54erikm_solderingseletz: *nod*
13:18:48prpplagueseletz: hows the documentation on redboot?
13:20:24erikm_solderingseletz: even russell king couldn't get redboot compiled
13:20:47Sammyis back
13:20:59Sammybut need to go home...
13:21:14sammy_night all...
13:21:48erikm_solderingnight sammy
13:22:07sammy_erikm : wish you have a good soldering ...
13:22:34sammy_.......^_^
13:26:00seletzericm: yuck. i needed a weekend.
13:26:33seletzwell, what i did: followed it _exactly_ about 100 times. _sigh_
13:26:42seletzthe docs, i mean.
13:28:14seletzericm: well, if you *nod* to me, then i _believe_ my memory test command at las found an error.
13:29:58erikm_solderingseletz: send me the patch with your code and I'll test it tonight on a LART
13:30:47seletzerikm_soldering: ok, mail | sourceforge. patches to config.in also?
13:32:07erikm_solderingseletz: mail would be a little faster. patches to configure.in would be nice as well
13:32:22erikm_solderingseletz: and be sure to do diff -u, that's a lot easier to read
13:32:30seletzerikm_soldering: ok.
13:35:51prpplagueerikm_soldering: i've got my yopy, the tuxscreen, the ELF board, a series 700 from intermec, and a viewpad100 from viewsonic
13:38:06erikm_solderingprpplague: right, I have a LART (doh), a pleb, an intel assabet, a compaq ipaq, and a tuxscreen
13:38:58erikm_solderingprpplague: I still need the jtag dongle for the pleb, a proper 220 --> 110V converter for the tuxscreen, and the schematics for the ipaq
13:39:54prpplagueerikm_soldering: i'd like to get a LART, just haven't had time to get one on order
13:40:12erikm_solderingprpplague: I do have some code for an ADS thinclient, but it's too ugly to use
13:40:43erikm_solderingprpplague: the thinclient needs chain loading as well
13:41:10erikm_solderinghmm, I have to bug jim gettys and jamey hicks about the ipaq schematics
13:41:32erikm_solderingI expect to have to sign an NDA for that, but that's no problem
13:43:04prpplagueerikm_soldering: lol, you the man!
13:46:24erikm_solderingprpplague: the NDA is only needed to solder a jtag connector to the ipaq. I'm sure I *will* make a brick out of an ipaq
13:48:00seletzerikm_soldering: mail sent.
13:48:59erikm_solderingseletz: mail received
13:49:49seletzerikm_soldering: i used test method 0 and 1. Method 2 not yet implemeted :^) 2 found an error.
13:50:08seletzerikm_soldering: ehh. 1 found it.
13:54:19erikm_solderingseletz: ok, will look after soldering
14:09:45seletzshlashdoting
14:10:18seletzreading irc fac :)
14:11:03erikm_solderingseletz: openprojects.net also hosts #kernelnewbies, which is very nice if you have kernel questions
14:11:20prpplagueerikm_soldering: arm related too?
14:11:52erikm_solderingprpplague: well, if rmk or me are there to answer them: yes
14:13:58erikm_solderingseletz: at first sight your code looks OK
14:14:15erikm_solderingseletz: do you object if I add it to the blob CVS version?
14:16:36seletzerikm_soldering: would be a honour to me :^)
14:22:30erikm_solderingseletz: I just got this memory test URL from ralph siemsen (who wrote the netwinder firmware): http://www.qcc.sk.ca/~charlesc/software/memtester/
14:27:38seletzerikm_soldering: link dead
14:28:27erikm_solderingseletz: oh? I'm reading it right now
14:29:57seletzericm: hmmm. using cut&paste. Securirty? Permissions?
14:30:19seletzerikm_soldering: get 404
14:33:14erikm_solderingseletz: and what about this page: http://www.qcc.sk.ca/~charlesc/software/
14:38:01seletzerikm_soldering: nada. 404
14:39:07seletzerikm_soldering: i reach the main page, but neither harlesc nor harlesc/software
14:40:35erikm_solderingnot harlesc, charlesc
14:44:55seletzerikm_soldering: ahh.
14:47:49erikm_solderinggot the pages?
14:48:06seletzerikm: i tried charles/software charlesc/software no way. 404. feeling quite deaf now :^(
14:48:41erikmhttp://www.qcc.sk.ca/~charlesc/software/ doesn't work for you???
14:49:00erikmI mean: if I can get it, I don't see why you can't
14:49:54seletzericm: no. "harlesc" or "charlesc". i use cut&paste in X.
14:50:25seletzerikm: i'll try another machine.
14:50:41seletzbugging a co-worker
15:07:41erikmseletz: I think your strtol is basically the same as GetHexValue in src/clock.c, right?
15:09:26erikmseletz: so if it's all the same to you, I want to move that into a single function
15:10:35seletzerikm: yes. sorry, i did not search hard enough. i hate re-implement the wheel :(
15:11:17seletzerikm: btw: supplied url does not work. period. :^)
15:13:48erikmlet me just dcc you the source
15:14:08erikmdon't know how good it is, though
15:14:37seletzIll check it out
15:15:53erikmanyway, dinner time
15:15:58seletzerikm: you want to s/1024/(1<<14)/gc in chkmem.c :^) gets faster
15:16:19seletzerikm: dinner? yum!
15:16:36erikmI'll make it a define
15:16:43erikmeven easier
15:16:51seletzerikm: :^)
15:17:10erikmor even better: an option to the command
15:17:59seletzerikm: :D
15:18:13seletzerikm: I'll send a patch
15:20:17erikmalso ok
15:37:30seletzOk, folks, thats it for today. I'll try if i can get my mac@home to IRC.
15:41:44prpplagueseletz: later
16:16:35prpplagueBZFlag: what are the top three reasons that blob would show that it moved the kernel image to ram, however will not boot the kernel?
16:17:57BZFlag1) bad kernel image 2) bad blob 3) bad upload
16:22:06erikmreturns
16:24:33erikmhey, didn't know blob was a member of the linux kernel foundry on sourceforge
16:28:20prpplaguewhoo, making progress...
16:29:18prpplagueerikm: do you think when i'm done i need to document this and create patches? i mean how many other people do you think are going to use blob as a secondary bootloader?
16:29:43erikmprpplague: I think it will be useful
16:30:10erikmprpplague: the ADS boards also have an evil bootloader
16:31:36erikmprpplague: so if blob supports chain loading, it will make it easier to assimilate other sa11x0 boards
16:34:24prpplagueerikm: right, then when i get things stable and docs (next week i hope) i'll forward them to you
16:34:51erikmprpplague: good
17:00:08erikmhi BZFlag
17:00:23prpplaguethe __phys_to_virt(value) takes the value as the physical memory address and returns the virtual address as paged by the mmu, right?
17:00:31erikmBZFlag: yes
17:00:36erikmsorry, prpplague: yes
17:00:52erikmBZFlag: jamey didn't really like me porting blob to ipaq
17:01:00BZFlagwhy not?
17:01:06erikm<jamey> wouldn't you rather work on bootldr?
17:01:11erikm<jamey> I have no desire for us to have different firmware on the ipaq
17:01:19BZFlag<BZFlag> if you GPL it, sure.
17:01:29erikmthat's what I said
17:01:36erikmand jim gettys already OK'ed it
17:01:43BZFlagyou mentioned the bad licensing issues they have now?
17:01:48erikmno
17:02:04BZFlagIMHO they are GPLed they just don't know it.
17:02:12erikmyes, they use GPL code
17:02:24erikmdon't they also use Russ' GPL code?
17:03:01erikmif so, the only one with a legal right to complain is Russ
17:03:42BZFlagHave not checked the latest, but I thought they added jffs2 support no?
17:03:47erikmBZFlag: btw, I'm just merging blob supported architecture #8 :)
17:04:01BZFlagwhich is?
17:04:04erikmBZFlag: IIRC yes. and IIRC that's RUss' code
17:04:23BZFlagslaps Russ|werk and Russ
17:04:26erikmPT system3, seletz send me the patch
17:04:38BZFlagnice.
17:04:49erikmBZFlag: now see what you do, you missed Russ and slapped sammy out :)
17:05:27erikmoh, and prpplague will send me architecture #9 somewhere next week
17:05:48prpplagueerikm: hopefully
17:06:07erikmprpplague: send it when you feel it's ready
17:06:48erikmROFL, brilliant post on the linux-kernel list: [PATCH] Linux 0.01 disk lockup
17:06:50erikm:)))
17:06:58prpplagueerikm: i'm going to have to clean it up, i don't you guys making fun of my nasty hacks
17:07:57erikmBZFlag: and I'm also merging seletz' memory tester right now
17:11:28BZFlagso when are we going to stop considering ourselves LARTed? ;-)
17:11:49erikmBZFlag: never :)
17:12:01BZFlagfeels blobbed
17:13:01prpplaguebrb
17:37:30erikmah, hi seletz_athome
17:38:13prpplagueseletz_athome: you got you mac aworkin?
17:38:32seletz_athomeerikm: hi. phew. got it to run on my iMAC :)
17:39:32seletz_athomeyes, download & install. then get confused by whacky UI. :)
17:40:12seletz_athomeericm: hows my code doing? got my update?
17:40:41seletz_athomedamn. always misspell "erik" as "eric". Sorry.
17:40:58erikmseletz_athome: yes, got your update
17:41:04erikmI'm integrating right now
17:41:30seletz_athomeerikm: always working, eh?
17:41:48erikmseletz_athome: I just start late in the morning
17:42:00Russerikm: I see what you mean by the init/exit section, and the tags that set values
17:42:23erikmRuss: sorry, return from subroutine... :)
17:42:27Russerikm: but in that system, how would you use a different command line based on whether or not the kernel came from flash or tftp
17:42:45erikmRuss: oh, but that could still be used
17:42:55erikmRuss: that == the parameter tags
17:43:04erikmRuss: it can be used together
17:43:23Russwhat would be the prefered method of accomplishing "variable/smart booting"
17:43:45erikmRuss: well, first of all every subsystem that has to be initialised should be initialised
17:43:55erikmRuss: so that's where the init section is for
17:44:16Russok
17:44:32erikmRuss: (serial port setup, i-cache, etc)
17:44:48Russala __init?
17:44:50erikmRuss: next we run the parameter list
17:44:52erikmexactly
17:45:01erikmthat's where I got the idea from
17:45:32erikmonly difference is that I want to add a parameter in which you can set the level
17:45:45Russ"the level"?
17:45:56erikmyou can select that the serial code has to be initialised first, so it gets level 0
17:46:08erikmnext comes level 1 (the i-cache, for example)
17:46:08Russoh, right
17:46:18Russ__init0, __init1, etc?
17:46:31erikmfor example, or just __init(function, level)
17:47:44erikmsome subsystems don't need an exit function (like serial), but others do (like i-cache)
17:47:51Russbut again, what would the mechanism be for implementing boot policy
17:48:57erikmstill your parameter list, which will run after the init functions. and if that somehow fails, we'll fall back to the command line
17:49:16Russlike, maybe I want to have one kernel/command line if a gpio is set, a different one if it is clear
17:51:43erikmthat should still be possible. I've thought about it, and on second thought it isn't as evil as I thought :)
17:52:15Russor an attempt to boot to CF, then stock flash
17:52:32erikmit == your parameter list
17:53:02Russmaybe just a minimal set of 2 or three paramater lists
17:53:24erikmthat means three ways to boot, right?
17:53:30Russright
17:53:49Russits just, how do you decide that, and what do you do when you switch (clear all paramaters)?
17:54:14Russbecause by the time you are loading a kernel from CF, you're already done parsing the paramater list
17:54:32erikmhmm
17:54:33Russ(unless tags actually do things, as if they were macros)
17:54:39erikmok, what about this:
17:54:58erikmfirst list contains the command "boot from CF"
17:55:19erikmwe try to do that, if it fails, we fall back to the second command list
17:55:33Russright
17:55:40Russmaybe a sort of reblob'ing
17:55:45erikmnot necessary
17:55:59Russwhy not start over?
17:56:01erikmwe just start at the second command list, boot from network (for example)
17:56:26erikmwhy should we start over? in that case you'll find out that booting from CF still doesn't work
17:56:51Russmaybe a register, like r0 would hold the action
17:56:57Russstart.S would clear it
17:57:29Russalso, paramaters could be split into two types, global blob defaults, and boot stuff
17:57:47Russblob defaults would be things like  the partition table, serial number, and baud rates
17:58:12erikmRuss, that was also my idea, yes
17:58:33erikmbut I don't think we need to reboot in case the first boot method doesn't work
17:58:49prpplagueRuss: would these defaults be store as a seperate flash block?
17:59:12erikmprpplague: yes. or we could put them in the same flash block as blob itself, we have plenty of room
17:59:42Russso blob paramater parsing is level 0
17:59:56Russserial init, etc is level 1
18:00:12Russboot parsing might be level 2
18:00:31seletz_athomewhat do you do when two functions are on the same level?
18:00:55prpplagueerikm: on new flash of blob the defaults would not exist and they'd be writen clean, then on later boots they'd be read from the block?
18:01:10erikmprpplague: yes
18:01:43erikmRuss: for example
18:02:05erikmRuss: but in my opinion you should see the init different from the parameter parsing
18:02:43erikmRuss: IOW: don't put too many things into the parameters
18:03:19Russ<Russ> so blob paramater parsing is level 0
18:03:19Russ<Russ> serial init, etc is level 1
18:03:19Russ<Russ> boot parsing might be level 2
18:03:45erikmyes, you said that :)
18:03:45Russand then the carrying out of these boot paramaters would be level >=3
18:03:54RussI timed out
18:03:55erikmyou lost me there
18:04:17Russwhich part
18:04:30erikmthe "and then carrying" part
18:04:37Russlike if there is a boot paramater to load a kernel from jffs2
18:04:49Russthere would be something __init level3 that would try to do that
18:05:05Russor the command line would be used in __init level 9 when it booted the kernel
18:05:25Russor maybe a gpio would be tested in __init level 3
18:05:27erikmI think I made you confused. in my opinion we should have three tables: the __init, __exit, and __param tables
18:05:52Russdidn't you want various init steps?
18:06:58erikmRuss: ahh, *now* I see what you mean
18:07:13Russlike, kernel paramater block stuffing, and the actual booting of the kernel would be done in the last steps
18:07:38erikmthat's pretty kinky, isn't it?
18:07:47Russheh
18:08:15Russa lot of the kernel paramater blocks come directly from blob paramater blocks (cmdline, serial, rev, ramdisk)
18:08:22Russso I just consider it stuffing
18:09:27erikmRuss: I'm not sure if we really want the parameter list also be started from the init list
18:09:43prpplaguei'm heading out to lunch, have a good evening erikm
18:09:56erikmprpplague: heh, we're going too fast for you? :)
18:09:57Russsuppose I might be extending this init thing too far
18:10:29Russmaking everything that blob does at some boot level, suppose I'm a little attached to sysvinit
18:10:38prpplagueerikm: no i follow what you want to do, i've create something similiar in concept for my thinclient
18:11:05erikmRuss: I think so, because the parameter list parsing is not really initialising the system
18:11:24erikmRuss: but the parallels with sysvinit are clear indeed
18:12:30RussI don't know, I would think blob parameters, basic hardware init, parse first paramaters, hardware init (restart if failure), autoboot (blob> prompt if interrupted), load kernel/ramdisk, stuff tags, boot kernel
18:13:24erikmbasic hardware init should go first, no question about that
18:13:45Russbut you don't know what baud rate (or maybe even serial port) until you've parsed the blob tags
18:14:04erikmhmm
18:14:17erikmso we want some kind of hardware parameter tags
18:14:28Russwhich would be the blob tags
18:14:38prpplagueRuss: how are you going to get the blob tags if the ram hardware hasn't been initialized?
18:14:49Russprpplague: this is after start.S
18:14:59Russso blob is running from ram at this point
18:14:59erikmprpplague: this is second stage bootloader, so the ram is initialised
18:15:05prpplagueRuss: ahh, i'll shutup now
18:16:05erikmgets something to drink, brb
18:16:47prpplagueis away: lunch
18:17:08seletz_athomeeven if its not running from ram, bank0 should be configured right after HW reset.
18:19:26BZFlagblob initial serial rate is decided at compile time. if a new rate is to be set, it just needs to happen before the autoboot.
18:20:13BZFlagblob parameters cannot be saved to the blob flash block. defaults can be read from there though.
18:20:37BZFlagblob parameters _should_ be able to be saved right on the jffs2 rootfs
18:20:53erikmreturns
18:21:02BZFlagso part of boot decisions needs to be looking for jffs2 partition
18:21:13RussBZFlag: I don't know about the jffs2 partition
18:21:34BZFlagthis allows boxes with large flash blocks (ipaq for example) to have 2 256k blob block and then the rest for jffs2 root.
18:21:45BZFlager 1 256k....
18:21:57Russhmm...I think that would be a future extension
18:22:04Russloading a paramater block from a location
18:22:20BZFlagTux and others with small start blocks will have 64k blob 64k parameter and then 128k rootfs blocks.
18:22:21RussI don't even want to really think about that right now
18:22:23erikmBZFlag: we could very easily put blob and the parameters in the same flash block
18:22:46Russerikm: do you really want to erase blob to write paramaters?
18:22:53BZFlagerikm: the defaults, yes. but I do not want to be rewriting blob when we save parameters.
18:23:11erikmRuss: it *is* dangerous, yes :)
18:23:20BZFlagto dangerous IMHO.
18:23:24RussI see what you mean though
18:23:34BZFlags/to/too/  eep.
18:23:47Russthere would be enough paramaters to tell blob the basic flash layout, what baud to use, etc and to load a paramater block from jffs2
18:23:50erikmbut getting them from a jffs2 partition would also be nice
18:24:01Russthis would be some future extension I would think
18:24:18erikmbut you had jffs2 code, right?
18:24:26Russright, to load any file from jffs2
18:24:42erikmwell, just look for the file /blobparams, for example
18:24:54Russcould be /boot/parms too
18:25:05BZFlagor /boot/blobrc
18:25:06erikmwhatever turns you on :)
18:25:24Russever think about putting the arch number in a tag?
18:25:34BZFlagwhy?
18:25:50BZFlagyou expect a user to change it? ;-)
18:25:51erikmoverkill
18:25:53Russfor someone developing a new board
18:26:05BZFlagthey best have a compiler too. ;-)
18:26:15erikmsomeone developing a new board would have to change the memory setup as well
18:26:25Russtrue enough
18:26:56BZFlagI do think a peek/poke/dump option would be nice.
18:27:02erikmBZFlag: ah!
18:27:11Russnap
18:27:31erikmBZFlag: you're in luck, seletz memory tester contains that kind of functions :)
18:27:44erikmBZFlag: peek and poke at least
18:28:16BZFlagnice!
18:28:28BZFlagpeek/poke wil suffice.
18:29:04erikmlet me finish the merge, and I'll cvs commit it
18:35:25seletz_athomeWell, getting some sleep, then. Bye, and happy hacking...
19:06:18prpplagueis back (gone 00:49:30)
19:08:01prpplagueok guys, i've got problem with my initrd...
19:08:08prpplagueRAMDISK: Couldn't find valid RAM disk image starting at 0.
19:08:08prpplagueFreeing initrd memory: 4096K
19:08:08prpplagueMSDOS: Hardware sector size is 1024
19:08:08prpplaguefatfs: bogus logical sector size 65535
19:08:08prpplagueKernel panic: VFS: Unable to mount root fs on 01:00
19:08:27prpplagueany ideas on what i'm missing?
19:09:12erikmtry ext2fs
19:09:25BZFlagwhy not use jffs2 root instead without an initrd?
19:09:46BZFlagor perhaps it's minixfs?
19:09:58erikmthat's also a possibility, but in that case you need MTD support for your architecture first
19:10:08BZFlagtrue, true.
19:10:55prpplaguethats what is confusing, i created my ramdisk using ext2
19:11:11prpplaguewhere's this MSDOS stuff coming from?
19:11:11erikmyes, but it looks like your kernel doesn't have ext2fs support
19:11:20prpplaguehmm
19:11:39erikmyou virtually never need msdos fs support for arm
19:12:22prpplagueya, i've got ext2fs in the config
19:12:41erikmhmm, try to get rid of msdos fs and fatfs
19:12:51prpplagueok i'll start there
19:12:53prpplaguethanks
19:13:44erikmit could be possible that the msdos fs corrupts the ramdisk image so ext2 can't work with it anymore
19:14:58prpplaguei'll re-make without msdos fs and re-test
19:34:14prpplaguesetup_initrd( __phys_to_virt(0xc0400000), 4*1024*1024 );
19:34:19BZFlaguses msdos (well, vfat) on arm to read CF cards from cameras.
19:35:00erikmBZFlag: I *knew* you had some kind of use for vfat on arm :)
19:35:29BZFlagheh
19:35:39prpplaguethat line setups up an initrd, pulling the image from physical 0xc0400000 and assumes the image is a 4096k in size, right?
19:36:32erikmskip the __phys_to_virt() stuff
19:36:53prpplaguesetup_initrd(0xc0400000, 4*1024*1024 );
19:36:57erikmyes
19:37:02erikmbut it is misleading
19:37:20erikmsetup_initrd() is actually point_kernel_to_compressed_ramdisk_image()
19:37:46erikmthe first parameter is the physical start address, the second one the compressed size
19:38:04erikmyou also want to have a call to setup_ramdisk to it
19:38:22erikmsetup_ramdisk(1, 0, 0, uncompressed_ramdisk_size);
19:38:33erikmand ROOT_DEV = MKDEV(RAMDISK_MAJOR, 0);
19:39:59prpplaguethe compressed size doesn't have to exact, just as long as it doesn't excede the allocated size?
19:40:20erikmyes
19:41:45erikmprpplague: but be careful if your kernel also picks up BOOT_PARAMS
19:42:25erikmprpplague: because in that case the BOOT_PARAMS will overwrite the values from the the fixup function
19:43:30prpplagueso the ROOT_DEV would be overiden by a ROOT= in the BOOT_PARAMS ?
19:44:05prpplagueas well as other options...
19:45:01erikmyes
19:45:54erikmand if your fixup also contains SET_BANK() calls, your kernel will also pick up the ATAG_MEM nodes from blob, in which case every memory bank will be accounted twice
19:47:18erikmcleans up the memory check code
19:47:23prpplagueerikm: thanks for your patience, its all sinking in a little at a time...
19:51:34erikmgrmbl
19:51:41erikmctrl-alt-backspace is *not* the way to undo in emacs
20:08:29prpplaguewhoo, success
20:09:17prpplaguebrb, need fresh cup of coffee to celebrate!
20:09:47erikmcool
20:21:26prpplagueahh, the smell of success, or is that my powersupply...
20:22:17erikmhehe :)
20:22:38erikmfixes the last obvious bugs in the memory tester
20:22:46erikmit just needed a couple of memory barriers
20:29:58erikmstarts commiting sources
20:39:03erikmBZFlag: the memory tester is in CVS
20:43:56BZFlagsweet. I might try it out tonight.
20:47:57erikmspots an obsious bug
20:57:42erikmgoes zzz
22:15:47prpplaguewell guys, i'm blobed out for today
22:16:26prpplaguesee ya'll later

Generated by irclog2html.pl by Jeff Waugh - find it at freshmeat.net! Modified by Tim Riker to work with infobot logs, split per channel and by date, etc.