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.42 | silviof | freemangordon: 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.12 | freemangordon | silviof: commented on gitorious |
15:44.46 | *** join/#maemo-ssu javispedro (~javier@Maemo/community/contributor/javispedro) |
16:05.22 | silviof | freemangordon: its seems to me i should programm more glib thingies ^^ |
16:43.58 | silviof | re |
16:46.46 | silviof | freemangordon: 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.18 | freemangordon | silviof: IMO it should fail only if both are not set ($MYDOCSDIR and gconf key) |
16:52.05 | silviof | freemangordon: 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.00 | silviof | freemangordon: 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.10 | silviof | THX by the way. |
18:16.07 | *** join/#maemo-ssu M4rtinK (~M4rtinK@mail.melf.eu) |
18:31.37 | silviof | Can 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.47 | silviof | s.ist/it/ |
18:31.52 | silviof | s/ist/it/ |
18:32.00 | silviof | :-) |
18:37.25 | merlin1991 | what do you mean by bootloader? |
18:37.54 | merlin1991 | u-boot can boot a different kernel (and rootfs) from sd but u-boot itsself is already a bootloader |
18:51.03 | silviof | merlin1991: 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.43 | silviof | merlin1991: how can i test a compiled bootloader on a n900? |
18:54.08 | merlin1991 | hm you can load a kernel for a run once operation, maybe the flag is valid for the bootloader too? |
18:56.00 | silviof | hmm, okay, thats may can I test. |
18:59.10 | DocScrutinizer05 | sure you can load whatever to RAM and execute it |
18:59.27 | silviof | DocScrutinizer05: but the bootloader initialize the ram ^^ |
18:59.33 | DocScrutinizer05 | just like NOLO loads uBoot "kernel" to RAM from NAND |
18:59.45 | DocScrutinizer05 | yes, NOLO does |
18:59.48 | silviof | ah |
18:59.55 | silviof | okay thats information i dont know |
19:00.09 | DocScrutinizer05 | the boot sequence is ROMBL->NOLO-><kernel> |
19:00.30 | merlin1991 | isn't x-loader somewhere in there? |
19:00.37 | DocScrutinizer05 | with coldflash you make ROMBL load NOLO ro RAM |
19:00.57 | DocScrutinizer05 | xloader is the little sibling of NOLO |
19:01.22 | DocScrutinizer05 | basically xloader and NOLO are joined, like uBoot and kernel |
19:01.34 | DocScrutinizer05 | afaik |
19:02.10 | DocScrutinizer05 | anyway when I said NOLO above, I actually meant xloader |
19:02.45 | DocScrutinizer05 | the boot sequence is ROMBL->(xloader--->NOLO)-><kernel> |
19:03.16 | silviof | what does the flasher in here? i can set a flag that he should execute from a ram position? |
19:03.27 | silviof | I need to read the flash sources. |
19:03.34 | silviof | s/flash/flasher/ |
19:03.36 | DocScrutinizer05 | though actually xloader gets loaded to SoC's humble 64k of RAM, while NOLO gets loaded to true RAM |
19:04.07 | silviof | DocScrutinizer05: you mean sram/dram? |
19:04.16 | DocScrutinizer05 | flasher talks to USB, ROMBL, cloader, and NOLO listen to USB |
19:04.25 | DocScrutinizer05 | yes |
19:05.03 | DocScrutinizer05 | xloader executes in SoC's SRAM and loads NOLO to LPDDR DRAM |
19:06.50 | DocScrutinizer05 | http://www.omappedia.org/wiki/Bootloader_Project |
19:07.30 | DocScrutinizer05 | pretty useful info there ^^^ |
19:07.41 | DocScrutinizer05 | our 2NOLO" is their uBoot |
19:07.46 | DocScrutinizer05 | s/2/"/ |
19:08.11 | DocScrutinizer05 | our uBoot is actually what they'd call kernel |
19:10.50 | silviof | yes i understood. |
19:10.53 | DocScrutinizer05 | silviof: watching your PC linux' syslog while attaching a powered down N900 gives away quite some insigt into what's going on |
19:11.18 | silviof | good to know |
19:11.21 | DocScrutinizer05 | first to say "hello there" is ROMBL |
19:11.37 | DocScrutinizer05 | then xloader/NOLO |
19:11.42 | DocScrutinizer05 | then linux kernel |
19:14.21 | DocScrutinizer05 | ROMBL lives in SoC's ROM |
19:14.42 | DocScrutinizer05 | xloader & NOLO live in NAND, (partition 0?) |
19:15.07 | DocScrutinizer05 | yup |
19:15.11 | DocScrutinizer05 | IroN900:~# cat /proc/mtd |
19:15.12 | DocScrutinizer05 | dev: size erasesize name |
19:15.14 | DocScrutinizer05 | mtd0: 00020000 00020000 "bootloader" |
19:15.47 | DocScrutinizer05 | (our uBoot &) kernel live in mtd3: 00200000 00020000 "kernel" |
19:17.02 | DocScrutinizer05 | the last factoid explains why you need to take kare about kernel stuff when installing uBoot |
19:17.20 | DocScrutinizer05 | in fact you're also installing a new kernel when you install uBoot |
19:17.53 | DocScrutinizer05 | s/kare/care/ |
19:19.02 | DocScrutinizer05 | maybe useful or at least interesting sidenote: mtd4: 00200000 00020000 "initfs" is *unused* on N900 |
19:19.28 | DocScrutinizer05 | you may do with it whatever you like |
19:20.31 | DocScrutinizer05 | those wo use it to store stealth info will not complain when it gets overwritten ;-) |
19:20.53 | silviof | :-) |
19:21.29 | silviof | Why we have a bootloader+kernel combination? |
19:21.37 | silviof | is easyer to update? |
19:21.45 | DocScrutinizer05 | that's the only way to implement uBoot |
19:21.59 | silviof | naa, uboot can load external images |
19:22.01 | DocScrutinizer05 | stock fremantle doesn't have such thing |
19:22.18 | silviof | what have fremantle todo with this? |
19:22.48 | DocScrutinizer05 | err, what does bootloader+kernel have to do with fremantle? |
19:23.14 | DocScrutinizer05 | are you talking about uBoot? then that's written to work on N900 running fremantle |
19:23.26 | DocScrutinizer05 | not in stock system |
19:24.23 | DocScrutinizer05 | stock maemo has xloader+NOLO in mtd0, and a plain kernel in mtd3 |
19:24.57 | DocScrutinizer05 | some cute guy figured we could cram a uBoot into mtd3, just in front of kernel |
19:25.16 | DocScrutinizer05 | to allow true bootloader menu and true multiboot |
19:25.35 | DocScrutinizer05 | since nobody been able to RE and replace NOLO |
19:26.56 | DocScrutinizer05 | so 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.12 | DocScrutinizer05 | for 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.04 | DocScrutinizer05 | so 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.32 | DocScrutinizer05 | you can't replace xloader, due to signature. See URL I pisted above |
19:33.47 | DocScrutinizer05 | dang, nothing about HS devices in http://www.omappedia.org/wiki/Bootloader_Project |
19:34.30 | silviof | HS? |
19:34.55 | silviof | anyway, thx for the answers. |
19:35.03 | DocScrutinizer05 | so, 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.12 | DocScrutinizer05 | HighSecurity |
19:37.13 | DocScrutinizer05 | freemangordon 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.57 | DocScrutinizer05 | evidence (at least fro NOLO not needing signature): you can ninary-patch NOLO, people did that to get rif of the "NOKIA" screen |
19:39.04 | DocScrutinizer05 | rid* |
19:39.32 | DocScrutinizer05 | ROMBL however afaik refuses to start an incorrectly signed xloader |
19:43.50 | DocScrutinizer05 | ooh, 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.02 | silviof | hey thanks |
19:45.09 | silviof | is reading http://www.omappedia.org/wiki/Bootloader_Project |
19:47.01 | DocScrutinizer05 | IroN900:~# omap34xx-boot-order |
19:47.02 | DocScrutinizer05 | sys_boot[5:0]: 0x10 |
19:47.04 | DocScrutinizer05 | Boot order: OneNAND USB UART3 MMC1 -- |
19:48.58 | DocScrutinizer05 | so, aiui you even *could* boot from mmc1 (which probably is eMMC) *IF* you had nuked your xloader in /dev/mtd0 |
19:50.08 | DocScrutinizer05 | s/boot/load stage1 xloader (by stage0 ROMBL)/ |
19:50.14 | silviof | What is uart3? serial bootloader with xz-protocol and so on? |
19:50.50 | DocScrutinizer05 | err, same as USB basically, but via UART3 which seems to be the console testpoints under battery |
19:53.40 | freemangordon | silviof: hmm why is there only one commit? in the MR that is |
19:53.45 | DocScrutinizer05 | I 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.08 | freemangordon | silviof: how did you do the merge request? vie git or via gitorious? |
19:57.09 | freemangordon | silviof: and did you push to your repo, according to gitorious your last commit is on 9 of Feb |
19:57.43 | silviof | freemangordon: i work only with git. But push to the merge-request/29-branch |
19:57.52 | silviof | not good? |
19:58.36 | freemangordon | silviof: dunno, I am using gitorious to review, and there is only one commit |
19:58.41 | freemangordon | see https://www.gitorious.org/community-ssu/hildon-desktop/merge_requests/29 |
20:00.35 | freemangordon | silviof: I've never used git to do MRs, always did it by using gitorious web iface :) |
20:01.38 | silviof | freemangordon: its right thats only one commit. I have rewritten and now looks simpler and plainer the patch ^^ |
20:03.44 | DocScrutinizer05 | one issue, one ticket, one patch, one MR ;-) |
20:04.21 | DocScrutinizer05 | no two issues in one ticket etc |
20:04.30 | DocScrutinizer05 | no two tickets for one issue |
20:04.53 | *** join/#maemo-ssu aap (~drew@cpe-71-64-199-26.cinci.res.rr.com) |
20:05.12 | silviof | DocScrutinizer05: whats wrong? |
20:05.16 | freemangordon | silviof: you're missing g_free(mydocsdir) and g_object_unref(cleant) in some "if (time (NULL) - secs < 5)" return path |
20:05.23 | DocScrutinizer05 | nothing :-) |
20:05.26 | freemangordon | *client |
20:05.30 | DocScrutinizer05 | at least I hope so |
20:06.03 | silviof | freemangordon: 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.24 | freemangordon | nothing to do with glib IMO :P |
20:06.53 | freemangordon | silviof: BTW, you'd better call gconf_client_get_default (); after that if() |
20:07.01 | DocScrutinizer05 | sorry, what's "if (time (NULL) - secs < 5)" ? |
20:07.17 | freemangordon | DocScrutinizer05: secs is a static variable |
20:07.28 | freemangordon | and it keeps the last function call time |
20:07.53 | freemangordon | it is used to limit screenshots rate to 1/5 secs |
20:07.54 | DocScrutinizer05 | looks totally fishy |
20:08.18 | freemangordon | well, not the prettiest code but could be way worse |
20:09.17 | DocScrutinizer05 | ok, maybe when time(NULL) is actually meant to be some reasonable call |
20:09.19 | freemangordon | silviof: 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.48 | freemangordon | silviof: you can do the same for mydocsdir |
20:10.07 | freemangordon | call g_strdup(getenv("MYDOCSDIR")); after that time check |
20:10.56 | DocScrutinizer05 | still I'd rather do a "secs = time(NULL)+5; if [while??] (time(NULL) < secs)" |
20:11.35 | freemangordon | DocScrutinizer05: ^^^ this is not the same |
20:12.30 | DocScrutinizer05 | yeah, obviously. It doesn't do useless computations several times |
20:13.55 | DocScrutinizer05 | time() - secs < 5 :==: time() < 5 + secs |
20:14.03 | freemangordon | a 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.17 | freemangordon | yep, my point exactly |
20:15.54 | DocScrutinizer05 | and 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.40 | DocScrutinizer05 | thus doing the calculation only once |
20:16.53 | freemangordon | yeah |
20:24.25 | DocScrutinizer05 | I understand it's not a busy wait but only rejects events that are triggered somewhere else, right? |
20:24.54 | DocScrutinizer05 | you shouldn't do busy waits like this, ever |
20:24.54 | freemangordon | yep |
20:25.19 | freemangordon | the event is "ctr-shift-P" :) |
20:25.25 | DocScrutinizer05 | :nod: |
20:25.34 | DocScrutinizer05 | keyrepeat could kick in |
20:25.55 | DocScrutinizer05 | makes sense |
20:27.40 | silviof | freemangordon: we have under hildon-desktop not the programming-style "variable declaration on start of a function"? |
20:27.57 | silviof | then I can use goto (kernel style) too? |
20:29.10 | silviof | Is there a style guide for cssu-thingies? |
20:29.20 | silviof | programming style I mean ^^ |
20:43.10 | *** join/#maemo-ssu LauRoman (~LauRoman@5-14-92-17.residential.rdsnet.ro) |
20:48.41 | freemangordon | silviof: 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.55 | freemangordon | re 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.00 | freemangordon | *follow |
20:50.19 | silviof | :-) allright |
20:51.02 | freemangordon | BTW I think there are a couple of places in h-d where goto is used :) |
20:51.16 | freemangordon | could you do "git grep goto"? |
20:51.26 | freemangordon | in h-d source dir that is |
20:53.44 | silviof | freemangordon: I'm not on my devputer. It was comming into my brain and i think i ask. |
20:54.06 | freemangordon | np |
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) |