00:20.13 | *** join/#elinux mcgrof (n=mcgrof@ruslug.rutgers.edu) |
01:14.59 | *** join/#elinux CIA-27 (n=CIA@208.69.182.149.simpli.biz) |
04:20.47 | *** join/#elinux landley (n=landley@rrcs-71-42-137-189.sw.biz.rr.com) |
04:58.01 | *** join/#elinux landley (n=landley@cpe-70-116-30-223.austin.res.rr.com) |
07:35.41 | *** join/#elinux lyakh (n=lyakh@p57BD1F4F.dip0.t-ipconnect.de) |
08:11.35 | *** join/#elinux VK4FSJL (n=vk4fsjl@203.94.56.252) |
09:19.36 | *** join/#elinux CIA-28 (n=CIA@208.69.182.149.simpli.biz) |
09:57.40 | *** join/#elinux garfield (n=simon@port939.ds1-abc.adsl.cybercity.dk) |
10:23.32 | *** join/#elinux TestMonkey (n=TestMonk@81-178-20-70.dsl.pipex.com) |
10:33.20 | TestMonkey | morning all, what is the best update/upgrade method for an embedded device ? |
10:34.07 | TestMonkey | currently I have ipkg and roll out new ipkgs to a primary server then get the embedded device to upgrade against that. |
10:35.10 | TestMonkey | unfortunately work has decided that it wants to upgrade via releasing partition images |
10:35.57 | TestMonkey | I have never been able to dd the rootfs partition correctly whilst the device is running |
11:05.57 | zoobab | best upgrade method is JTAG |
11:11.08 | mnemoc | life is easier when you have room for storing the image and apply it on reboot, before mounting the roofs |
11:23.30 | TestMonkey | mnomoc the device will have to be updatable on the fly as it will be inaccessible when installed in the wild. |
11:23.59 | TestMonkey | zoobab, dont think jtag is an option for us |
11:26.24 | mnemoc | TestMonkey: without rebooting? ow .... never tried linux-vserver in embedded, but it may help i think |
11:31.57 | TestMonkey | mnemoc, rebooting is an option after installing updates, or to install an update if it can be scripted in... |
11:33.21 | TestMonkey | our device is all jffs2 |
11:33.44 | TestMonkey | currently we don't load the rootfs into ram |
11:34.27 | pb_ | TestMonkey: we used to upgrade using ipkg but we could never get it to work completely reliably. |
11:34.55 | pb_ | every so often one of the devices in the field would get into some weird state from which it was difficult to get it back on track. we switched to doing full-partition upgrades and this works much better for us. |
11:36.35 | pb_ | also, now that we reflash the whole filesystem on every upgrade, we no longer need it to be writeable on-line during operation, which means we might potentially be able to move away from jffs2 to something faster. |
11:36.56 | pb_ | admittedly this hypothetical faster, read-only filesystem has yet to be identified, but we can hope. :-} |
11:44.51 | pb_ | I guess the downside of a full-image upgrade is that you need to reboot, but in practice almost all of our upgrades used to involve a kernel change which would require a reboot anyway. |
11:46.29 | TestMonkey | pb_ how do you persist user configurations across ? |
11:46.41 | pb_ | TestMonkey: we store those in a separate partition which doesn't get reflashed |
11:48.08 | pb_ | even when we used to do upgrades via ipkg, the main rootfs image was mounted read-only during normal operation to avoid any accidental corruption. we have a small (~1MB) partition which is mounted read/write with jffs2, and all user settings go there. |
11:48.13 | *** join/#elinux zoobab (i=zoobab@vic.ffii.org) |
11:49.17 | TestMonkey | ok |
11:49.28 | pb_ | this also means that we can just erase that one partition if we want to restore the device to factory settings, no need to keep track of what files are user-modified. |
11:50.54 | TestMonkey | the problem I have experienced is; dd imaged a live devices rootfs partition, took image and dd it onto another device |
11:51.37 | TestMonkey | when I rebooted, got some Erm, errors about inodes not existing and some data got deleted |
11:53.17 | pb_ | you probably need to remount the source partition read-only before you try to take the image, or otherwise make sure jffs2 isn't doing any writing. |
11:53.31 | TestMonkey | pb_ do you unionfs in the jffs2 partition ? |
11:53.37 | pb_ | if it decides to flush its buffers while you are in the middle of copying, you will get an inconsistent state. |
11:53.44 | pb_ | TestMonkey: no |
11:55.10 | TestMonkey | pb_ understood, need to have a rethink about our layout, at the moment everything except kernel is rw and jffs2 (some 9 is partitions) |
11:55.53 | TestMonkey | sorry was meant to say some 9 partitions |
11:57.51 | TestMonkey | pb_ do you reflash remotely ? as in push an update through a webpage and get the device to dd that onto the flash ? |
12:12.38 | *** join/#elinux CIA-28 (n=CIA@208.69.182.149.simpli.biz) |
12:15.23 | *** join/#elinux linac (n=lin@121.41.49.13) |
12:28.24 | pb_ | TestMonkey: yes, exactly |
13:10.44 | *** join/#elinux GPSFan (n=kenm@12.10.255.246) |
13:45.52 | *** join/#elinux garfield (n=simon@port939.ds1-abc.adsl.cybercity.dk) |
13:54.44 | *** join/#elinux ChanServ (ChanServ@services.) |
13:54.44 | *** mode/#elinux [+o ChanServ] by irc.freenode.net |
14:14.57 | *** join/#elinux bzzbzz (n=franco@modemcable006.84-58-74.mc.videotron.ca) |
14:43.34 | ses | quit |
15:03.38 | *** join/#elinux garfield (n=simon@port939.ds1-abc.adsl.cybercity.dk) |
15:11.25 | *** join/#elinux ChanServ (ChanServ@services.) |
15:11.25 | *** mode/#elinux [+o ChanServ] by irc.freenode.net |
15:22.38 | *** join/#elinux garfield (n=simon@port939.ds1-abc.adsl.cybercity.dk) |
16:12.26 | *** join/#elinux garfield (n=simon@port939.ds1-abc.adsl.cybercity.dk) |
17:34.02 | *** join/#elinux Dr_Who (n=tgall@gentoo/developer/dr-who) |
17:41.46 | *** join/#elinux ico2 (n=ico2@modem-472.gazelle.dialup.pol.co.uk) |
18:42.34 | *** join/#elinux ccjoe (n=joeg@75-169-39-184.slkc.qwest.net) |
20:17.09 | *** join/#elinux landley (n=landley@cpe-70-116-30-223.austin.res.rr.com) |
21:43.42 | *** join/#elinux file (n=file@asterisk/developer-and-muffin-lover/file) |
21:43.42 | *** mode/#elinux [+v file] by ChanServ |
21:46.12 | *** join/#elinux thraxisp (n=thraxisp@24.139.16.154) |
22:28.08 | *** join/#elinux Dr_Who (n=tgall@gentoo/developer/dr-who) |