Re: [Server-devel] Upgrade many machines

2014-01-09 Thread James Cameron
On Thu, Jan 09, 2014 at 02:40:31PM -0500, Adam Gordon wrote:
 The problem is usb key supply. Is there any way to update firmware
 without them?

Sure.  But it is not a good way.  It is complex and time consuming,
with higher possibility of error, and doesn't scale up.

You don't say what the problem is with USB drive supply.  If you can
supply SD cards instead of USB drive, then the operating system can be
updated from them.  Let me know if this is possible.

For upgrading to an unsigned custom build with only a server, the
general sequence, which you should test and refine further, is:

- configure an open access point, DHCP server, and BIND server, (this
  you may already have),

- configure the server to hold latest firmware and operating system,
  for each model of laptop to be supported, for example at
  http://server/path/ (this you may already have),

- quieten the wireless network, removing as many clients from it as
  possible,

- position the laptop close to the access point,

- lock the battery into the laptop,

- connect external power to the laptop,

- boot the laptop to the ok prompt, which is the firmware of the laptop,

- associate with the access point, for example by typing:

  ok essid mynetworkname

- download the latest firmware and reflash (Q3C16 for XO-1.5, Q4D34
  for XO-1.75), for example by typing:

  ok flash http:\\server\path\q3c16.rom

- wait for the firmware to be updated,

- boot the laptop to the ok prompt again, and verify the firmware
  version is current,

- download the latest operating system, for example:

  ok fs-update http:\\server\path\32013o2.zd

- reboot the laptop, for example by typing:

  ok bye

- repeat from the second step on the next laptop,

- avoid having more than one laptop doing fs-update at the same time
  as another laptop, or experiment until you find a point of failure.

Note that the firmware uses the reverse slash character \ instead of /
as normally used in operating systems.

CC: as before.

-- 
James Cameron
http://quozl.linux.org.au/
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: [Server-devel] Upgrade many machines

2014-01-09 Thread Martin Langhoff
On Tue, Dec 31, 2013 at 2:06 AM, James Cameron qu...@laptop.org wrote:
 Summary: use a few USB drives or NANDblaster, not the server.

Note that if preserving user data and apps is desired, USB drives /
NANDBlaster isn't that good.

Any reason you are not mentioning the olpc-update path?



m
-- 
 martin.langh...@gmail.com
 -  ask interesting questions
 - don't get distracted with shiny stuff  - working code first
 ~ http://docs.moodle.org/en/User:Martin_Langhoff
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: [Server-devel] Upgrade many machines

2014-01-09 Thread Martin Langhoff
On Thu, Jan 9, 2014 at 7:33 PM, James Cameron qu...@laptop.org wrote:
 No reason, thanks for reminding me.  I guess xs-rsync on the local
 server?

yep

 - oatslite to send the upgrade msg
 - XOs need to be registered
 - xs-rsync to host the new img

There are several possible gotchas I have not thought through, and I
no longer remember in clear enough detail. Signed vs unsigned, OATs
keys (master or delegated), whether olpc-update has any showstopper
bugs in this specific configuration, etc.

So it might not be feasible with the given configuration. However, it
might be worthwhile to upgrade to a state where the next upgrade can
be handled with this mechanism...



m
-- 
 martin.langh...@gmail.com
 -  ask interesting questions
 - don't get distracted with shiny stuff  - working code first
 ~ http://docs.moodle.org/en/User:Martin_Langhoff
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


Re: [Server-devel] Upgrade many machines

2014-01-09 Thread Martin Langhoff
On Thu, Jan 9, 2014 at 7:33 PM, James Cameron qu...@laptop.org wrote:
 No reason, thanks for reminding me.  I guess xs-rsync on the local
 server?

yep

 - oatslite to send the upgrade msg
 - XOs need to be registered
 - xs-rsync to host the new img

There are several possible gotchas I have not thought through, and I
no longer remember in clear enough detail. Signed vs unsigned, OATs
keys (master or delegated), whether olpc-update has any showstopper
bugs in this specific configuration, etc.

So it might not be feasible with the given configuration. However, it
might be worthwhile to upgrade to a state where the next upgrade can
be handled with this mechanism...



m
-- 
 martin.langh...@gmail.com
 -  ask interesting questions
 - don't get distracted with shiny stuff  - working code first
 ~ http://docs.moodle.org/en/User:Martin_Langhoff
___
Server-devel mailing list
Server-devel@lists.laptop.org
http://lists.laptop.org/listinfo/server-devel


Re: [Server-devel] Upgrade many machines

2013-12-30 Thread James Cameron
Summary: use a few USB drives or NANDblaster, not the server.

On Tue, Dec 31, 2013 at 01:18:16AM -0500, Adam Gordon wrote:
 Is there a good way to upgrade allot of XO's (1.5 + 1.75) from a
 custom unsigned 12.1 to an unsigned custom 13.2 using the server?

No, not really.  Using the server is very slow, because of the
bandwidth limitations.

The transfer speed from the media to the internal storage is the
critical factor.  The fastest is USB drive (~5min).  The next fastest
is NANDblaster (~25min).  The slowest is a server and a wireless
access point (~45min).

Consider the simplest child driven upgrade trigger: the four game key
power up method.  It searches for signed builds on USB drive, SD card,
a school server over wireless, and then NANDblaster.

You asked about using the server, so that suggests the second last
step.  But this step is broken in current firmware (XO-1.5, XO-1.75),
due to #12740, and so you would have to upgrade the firmware first,
which would bring you to using a USB drive anyway.

Next, your builds are unsigned.  Unsigned builds don't benefit from
the four game key method used by the signed builds, when using USB
drives.  They do work with NANDblaster.

If the number of laptops is large enough, injecting deployment keys
into them, and signing the build, will restore the use of the four
game key method when using USB.

It is not necessary to secure the laptops; the four game key method
enables the security mode temporarily on unsecured laptops.

This again brings you to having to use USB drives to inject deployment
keys, so you may as well use the USB drive for the build as well.

The next best options are either a collection of USB drives or
the NANDblaster feature, depending on what you have most of; USB
drives or XOs.

Unsecured laptops will boot from a USB drive.  You can use that
feature to craft a boot script for an unsigned build [3].  The boot
script can pick a build file that matches the hardware.  The Tiny Core
Linux boot script has an example where it uses bundle-suffix$ [4].

NANDblaster is the simplest overall solution, but it is way slower
than USB drives, and you have to do the XO-1.5's separate from the
XO-1.75's.  Separate by time or large enough distance.  See [1] and
[2].

Eventually, there's the hybrid method being used by HaitiOS, which
is a four game key method trigger to load the signed build, followed
by a Tiny Core Linux boot script to customise it.  Since you are using
an unsigned build, this method is not applicable.

CC: devel@

References:

1.  http://wiki.laptop.org/go/Nandblaster_for_XO-1.5

2.  http://wiki.laptop.org/go/Nandblaster_for_XO-1.75

3.  
http://wiki.laptop.org/go/Firmware/Storage#How_to_automatically_install_an_unsigned_build

4.  http://dev.laptop.org/~quozl/mktinycorexo/mktinycorexo

-- 
James Cameron
http://quozl.linux.org.au/
___
Devel mailing list
Devel@lists.laptop.org
http://lists.laptop.org/listinfo/devel


[Server-devel] Upgrade many machines

2013-12-30 Thread Adam Gordon
Is there a good way to upgrade allot of XO's (1.5 + 1.75) from a custom
unsigned 12.1 to an unsigned custom 13.2 using the server? If so:
- What do I need from oob?
- What do I do on the server?
- What do the kids do on the laptops?
___
Server-devel mailing list
Server-devel@lists.laptop.org
http://lists.laptop.org/listinfo/server-devel