IRC log for #maemo-ssu on 20140215

00:31.26*** join/#maemo-ssu trx (ns-team@devbin/founder/trx)
03:01.53*** join/#maemo-ssu silviof1 (~silviof@unaffiliated/silviof)
03:28.01*** join/#maemo-ssu amiconn_ (quassel@rockbox/developer/amiconn)
07:07.53*** join/#maemo-ssu LauRoman (~LauRoman@5-14-92-17.residential.rdsnet.ro)
07:43.46*** join/#maemo-ssu NIN101 (~core@n900.quitesimple.org)
09:01.02*** join/#maemo-ssu joshgillies (~josh@ppp108-14.static.internode.on.net)
10:49.32*** join/#maemo-ssu sunny_s (~sunny_s@business-092-079-020-027.static.arcor-ip.net)
11:33.19*** join/#maemo-ssu arcean (~arcean@aacy67.neoplus.adsl.tpnet.pl)
11:54.42silvioffreemangordon: I have changed the merge-request like we have talked ... https://www.gitorious.org/community-ssu/hildon-desktop/merge_requests/29
11:58.05*** join/#maemo-ssu okias (~okias@berger.cust.centro-net.cz)
12:18.50*** join/#maemo-ssu BCMM (~BCMM@unaffiliated/bcmm)
12:30.48*** join/#maemo-ssu dos1 (~dos@unaffiliated/dos1)
12:37.27*** join/#maemo-ssu joshgillies (~josh@ppp108-14.static.internode.on.net)
13:08.35*** join/#maemo-ssu arcean_ (~arcean@aacy67.neoplus.adsl.tpnet.pl)
13:19.10*** join/#maemo-ssu sunny_s (~sunny_s@business-092-079-020-027.static.arcor-ip.net)
13:35.08*** join/#maemo-ssu arcean_ (~arcean@aact77.neoplus.adsl.tpnet.pl)
13:47.30*** join/#maemo-ssu sunny_s (~sunny_s@business-092-079-020-027.static.arcor-ip.net)
13:51.38*** join/#maemo-ssu sunny_s (~sunny_s@business-092-079-020-027.static.arcor-ip.net)
15:34.12freemangordonsilviof: commented on gitorious
15:44.46*** join/#maemo-ssu javispedro (~javier@Maemo/community/contributor/javispedro)
16:05.22silvioffreemangordon: its seems to me i should programm more glib thingies ^^
16:43.58silviofre
16:46.46silvioffreemangordon: okay, i change the take_screenshot function to use the gconf setting and not the MYDOCSDIR env variable. If gconf is not set (default is empty)) we have talked that we have a fallback to $MYDOCSDIR. Should I fail the complete function if this is not set? No, or?
16:50.18freemangordonsilviof: IMO it should fail only if both are not set ($MYDOCSDIR and gconf key)
16:52.05silvioffreemangordon: yes okay, its my IMO too.
17:17.22*** join/#maemo-ssu arcean (~arcean@aact77.neoplus.adsl.tpnet.pl)
17:38.22*** join/#maemo-ssu Vrm (~Virtual@193.138.153.20)
17:43.00silvioffreemangordon: if you have time v4 of little ugly patch of little small programmer silvio is online ^^ https://www.gitorious.org/community-ssu/hildon-desktop/commit/21febc4497c432167f1ef4f52b4c4e5e81fc157c
17:43.10silviofTHX by the way.
18:16.07*** join/#maemo-ssu M4rtinK (~M4rtinK@mail.melf.eu)
18:31.37silviofCan I test a bootloader without installing ist. I know the imx6 has the ability to boot from a sdcard. Is this able on a n900?
18:31.47silviofs.ist/it/
18:31.52silviofs/ist/it/
18:32.00silviof:-)
18:37.25merlin1991what do you mean by bootloader?
18:37.54merlin1991u-boot can boot a different kernel (and rootfs) from sd but u-boot itsself is already a bootloader
18:51.03silviofmerlin1991: I know, i dont know the bootstrategies by the prozessor. Like the imx6 has a room-boot code which search some places to boot a bootloader.
18:51.43silviofmerlin1991: how can i test a compiled bootloader on a n900?
18:54.08merlin1991hm you can load a kernel for a run once operation, maybe the flag is valid for the bootloader too?
18:56.00silviofhmm, okay, thats may can I test.
18:59.10DocScrutinizer05sure you can load whatever to RAM and execute it
18:59.27silviofDocScrutinizer05: but the bootloader initialize the ram ^^
18:59.33DocScrutinizer05just like NOLO loads uBoot "kernel" to RAM from NAND
18:59.45DocScrutinizer05yes, NOLO does
18:59.48silviofah
18:59.55silviofokay thats information i dont know
19:00.09DocScrutinizer05the boot sequence is ROMBL->NOLO-><kernel>
19:00.30merlin1991isn't x-loader somewhere in there?
19:00.37DocScrutinizer05with coldflash you make ROMBL load NOLO ro RAM
19:00.57DocScrutinizer05xloader is the little sibling of NOLO
19:01.22DocScrutinizer05basically xloader and NOLO are joined, like uBoot and kernel
19:01.34DocScrutinizer05afaik
19:02.10DocScrutinizer05anyway when I said NOLO above, I actually meant xloader
19:02.45DocScrutinizer05the boot sequence is ROMBL->(xloader--->NOLO)-><kernel>
19:03.16silviofwhat does the flasher in here? i can set a flag that he should execute from a ram position?
19:03.27silviofI need to read the flash sources.
19:03.34silviofs/flash/flasher/
19:03.36DocScrutinizer05though actually xloader gets loaded to SoC's humble 64k of RAM, while NOLO gets loaded to true RAM
19:04.07silviofDocScrutinizer05: you mean sram/dram?
19:04.16DocScrutinizer05flasher talks to USB, ROMBL, cloader, and NOLO listen to USB
19:04.25DocScrutinizer05yes
19:05.03DocScrutinizer05xloader executes in SoC's SRAM and loads NOLO to LPDDR DRAM
19:06.50DocScrutinizer05http://www.omappedia.org/wiki/Bootloader_Project
19:07.30DocScrutinizer05pretty useful info there ^^^
19:07.41DocScrutinizer05our 2NOLO" is their uBoot
19:07.46DocScrutinizer05s/2/"/
19:08.11DocScrutinizer05our uBoot is actually what they'd call kernel
19:10.50silviofyes i understood.
19:10.53DocScrutinizer05silviof: watching your PC linux' syslog while attaching a powered down N900 gives away quite some insigt into what's going on
19:11.18silviofgood to know
19:11.21DocScrutinizer05first to say "hello there" is ROMBL
19:11.37DocScrutinizer05then xloader/NOLO
19:11.42DocScrutinizer05then linux kernel
19:14.21DocScrutinizer05ROMBL lives in SoC's ROM
19:14.42DocScrutinizer05xloader & NOLO live in NAND, (partition 0?)
19:15.07DocScrutinizer05yup
19:15.11DocScrutinizer05IroN900:~# cat /proc/mtd
19:15.12DocScrutinizer05dev:    size   erasesize  name
19:15.14DocScrutinizer05mtd0: 00020000 00020000 "bootloader"
19:15.47DocScrutinizer05(our uBoot &) kernel live in mtd3: 00200000 00020000 "kernel"
19:17.02DocScrutinizer05the last factoid explains why you need to take kare about kernel stuff when installing uBoot
19:17.20DocScrutinizer05in fact you're also installing a new kernel when you install uBoot
19:17.53DocScrutinizer05s/kare/care/
19:19.02DocScrutinizer05maybe useful or at least interesting sidenote: mtd4: 00200000 00020000 "initfs" is *unused* on N900
19:19.28DocScrutinizer05you may do with it whatever you like
19:20.31DocScrutinizer05those wo use it to store stealth info will not complain when it gets overwritten ;-)
19:20.53silviof:-)
19:21.29silviofWhy we have a bootloader+kernel combination?
19:21.37silviofis easyer to update?
19:21.45DocScrutinizer05that's the only way to implement uBoot
19:21.59silviofnaa, uboot can load external images
19:22.01DocScrutinizer05stock fremantle doesn't have such thing
19:22.18silviofwhat have fremantle todo with this?
19:22.48DocScrutinizer05err, what does bootloader+kernel have to do with fremantle?
19:23.14DocScrutinizer05are you talking about uBoot? then that's written to work on N900 running fremantle
19:23.26DocScrutinizer05not in stock system
19:24.23DocScrutinizer05stock maemo has xloader+NOLO in mtd0, and a plain kernel in mtd3
19:24.57DocScrutinizer05some cute guy figured we could cram a uBoot into mtd3, just in front of kernel
19:25.16DocScrutinizer05to allow true bootloader menu and true multiboot
19:25.35DocScrutinizer05since nobody been able to RE and replace NOLO
19:26.56DocScrutinizer05so depending on what your homegrown bootloader is actually supposed to do, you want to make sure it gets invoked by correct predecessor bootloader stage
19:28.12DocScrutinizer05for uBoot replacements that would be NOLO as predecessor, for NOLO replacements (something really awesome when you could make that fly) you want to patch the bootloader image to attach your newNOLO at end of xloader
19:29.04DocScrutinizer05so xloader can do what it always did: start at own tail's end to read content from NAND and load it to DDR SDRAM
19:29.27*** join/#maemo-ssu arcean (~arcean@aact77.neoplus.adsl.tpnet.pl)
19:29.32DocScrutinizer05you can't replace xloader, due to signature. See URL I pisted above
19:33.47DocScrutinizer05dang, nothing about HS devices in http://www.omappedia.org/wiki/Bootloader_Project
19:34.30silviofHS?
19:34.55silviofanyway, thx for the answers.
19:35.03DocScrutinizer05so, lemme share it here, in simplified form: afaik ROMBL checks for valid signature of xloader, akainst a hidden public key in SoC's ROM
19:35.12DocScrutinizer05HighSecurity
19:37.13DocScrutinizer05freemangordon knows more about it, but basically it's all about "trusted computing", tivoization, and signed kernels. For N900 afaik xloader is still signed and that signature needed by ROMBL to make xloader execute, but xloader already drops the secure state and loads NOLO into a "tainted2 system where signature doesn't matter anymore
19:38.57DocScrutinizer05evidence (at least fro NOLO not needing signature): you can ninary-patch NOLO, people did that to get rif of the "NOKIA" screen
19:39.04DocScrutinizer05rid*
19:39.32DocScrutinizer05ROMBL however afaik refuses to start an incorrectly signed xloader
19:43.50DocScrutinizer05ooh, another maybe helpful sidenote: though ROMBL would be able in theory to load xloader (then called "MLO") from eMMC or uSD, on N900 the SYSBOOT pins don't support that
19:45.02silviofhey thanks
19:45.09silviofis reading http://www.omappedia.org/wiki/Bootloader_Project
19:47.01DocScrutinizer05IroN900:~# omap34xx-boot-order
19:47.02DocScrutinizer05sys_boot[5:0]: 0x10
19:47.04DocScrutinizer05Boot order: OneNAND USB UART3 MMC1 --
19:48.58DocScrutinizer05so, aiui you even *could* boot from mmc1 (which probably is eMMC) *IF* you had nuked your xloader in /dev/mtd0
19:50.08DocScrutinizer05s/boot/load stage1 xloader (by stage0 ROMBL)/
19:50.14silviofWhat is uart3? serial bootloader with xz-protocol and so on?
19:50.50DocScrutinizer05err, same as USB basically, but via UART3 which seems to be the console testpoints under battery
19:53.40freemangordonsilviof: hmm why is there only one commit? in the MR that is
19:53.45DocScrutinizer05I guess the protocol will be basically same as for flasher-3.5 coldflash via USB
19:54.35*** join/#maemo-ssu nox- (noident@freebsd/developer/nox)
19:56.08freemangordonsilviof: how did you do the merge request? vie git or via gitorious?
19:57.09freemangordonsilviof: and did you push to your repo, according to gitorious your last commit is on 9 of Feb
19:57.43silvioffreemangordon: i work only with git. But push to the merge-request/29-branch
19:57.52silviofnot good?
19:58.36freemangordonsilviof: dunno, I am using gitorious to review, and there is only one commit
19:58.41freemangordonsee https://www.gitorious.org/community-ssu/hildon-desktop/merge_requests/29
20:00.35freemangordonsilviof: I've never used git to do MRs, always did it by using gitorious web iface :)
20:01.38silvioffreemangordon: its right thats only one commit. I have rewritten and now looks simpler and plainer the patch ^^
20:03.44DocScrutinizer05one issue, one ticket, one patch, one MR ;-)
20:04.21DocScrutinizer05no two issues in one ticket etc
20:04.30DocScrutinizer05no two tickets for one issue
20:04.53*** join/#maemo-ssu aap (~drew@cpe-71-64-199-26.cinci.res.rr.com)
20:05.12silviofDocScrutinizer05: whats wrong?
20:05.16freemangordonsilviof: you're missing g_free(mydocsdir) and g_object_unref(cleant) in some "if (time (NULL) - secs < 5)" return path
20:05.23DocScrutinizer05nothing :-)
20:05.26freemangordon*client
20:05.30DocScrutinizer05at least I hope so
20:06.03silvioffreemangordon: uh - i see :-P Never ending story for such a simple task. I'm not in love with glib
20:06.18*** join/#maemo-ssu BCMM_ (~user@unaffiliated/bcmm)
20:06.24freemangordonnothing to do with glib IMO :P
20:06.53freemangordonsilviof: BTW, you'd better call gconf_client_get_default (); after that if()
20:07.01DocScrutinizer05sorry, what's "if (time (NULL) - secs < 5)" ?
20:07.17freemangordonDocScrutinizer05: secs is a static variable
20:07.28freemangordonand it keeps the last function call time
20:07.53freemangordonit is used to limit screenshots rate to 1/5 secs
20:07.54DocScrutinizer05looks totally fishy
20:08.18freemangordonwell, not the prettiest code but could be way worse
20:09.17DocScrutinizer05ok, maybe when time(NULL) is actually meant to be some reasonable call
20:09.19freemangordonsilviof: that way you'll save one g_object_unref and also will not call gconf_client_get_default (); in a row when the key is pressed all the time
20:09.48freemangordonsilviof: you can do the same for mydocsdir
20:10.07freemangordoncall g_strdup(getenv("MYDOCSDIR")); after that time check
20:10.56DocScrutinizer05still I'd rather do a "secs = time(NULL)+5; if [while??] (time(NULL) < secs)"
20:11.35freemangordonDocScrutinizer05: ^^^ this is not the same
20:12.30DocScrutinizer05yeah, obviously. It doesn't do useless computations several times
20:13.55DocScrutinizer05time() - secs < 5   :==:  time() < 5 + secs
20:14.03freemangordona more readable way IMO is to name that secs variable "last_screenshot_time" and change it to if(time(NULL) < last_screenshot_time + 5)
20:14.17freemangordonyep, my point exactly
20:15.54DocScrutinizer05and no, you don't do the calculation at test time. You call the var "next_screenshot_allowd_at" and do =time(NULL)+delay
20:16.40DocScrutinizer05thus doing the calculation only once
20:16.53freemangordonyeah
20:24.25DocScrutinizer05I understand it's not a busy wait but only rejects events that are triggered somewhere else, right?
20:24.54DocScrutinizer05you shouldn't do busy waits like this, ever
20:24.54freemangordonyep
20:25.19freemangordonthe event is "ctr-shift-P" :)
20:25.25DocScrutinizer05:nod:
20:25.34DocScrutinizer05keyrepeat could kick in
20:25.55DocScrutinizer05makes sense
20:27.40silvioffreemangordon: we have under hildon-desktop not the programming-style "variable declaration on start of a function"?
20:27.57silviofthen I can use goto (kernel style) too?
20:29.10silviofIs there a style guide for cssu-thingies?
20:29.20silviofprogramming style I mean ^^
20:43.10*** join/#maemo-ssu LauRoman (~LauRoman@5-14-92-17.residential.rdsnet.ro)
20:48.41freemangordonsilviof: you can (and should) declare the variables in the start of the function, but assign values to them after the "if" in question
20:49.55freemangordonre programming style - you should fillow the programming style of the code you're dealing with, as there are lots of different styles used in packages in CSSU
20:50.00freemangordon*follow
20:50.19silviof:-) allright
20:51.02freemangordonBTW I think there are a couple of places in h-d where goto is used :)
20:51.16freemangordoncould you do "git grep goto"?
20:51.26freemangordonin h-d source dir that is
20:53.44silvioffreemangordon: I'm not on my devputer. It was comming into my brain and i think i ask.
20:54.06freemangordonnp
21:21.14*** join/#maemo-ssu arcean (~arcean@aact77.neoplus.adsl.tpnet.pl)
22:41.03*** part/#maemo-ssu freemangordon (~ivo@46.249.74.23)
22:42.55*** join/#maemo-ssu freemangordon (~ivo@46.249.74.23)
23:02.02*** join/#maemo-ssu LauRoman|Alt (~LauRoman@5-14-194-50.residential.rdsnet.ro)

Generated by irclog2html.pl Modified by Tim Riker to work with infobot.