Opened 10 years ago

Closed 10 years ago

Last modified 18 months ago

#967 closed defect (fixed)

XO can't self-host an upgrade of its EC, boot firmware, or OS image

Reported by: gnu Owned by: J5
Priority: high Milestone:
Component: distro Version:
Keywords: flash usb unzip Cc:
Blocked By: Blocking:
Deployments affected: Action Needed:
Verified: no


Currently the instructions for upgrading to a new release of anything require the use of some additional computer to download the zip file, unpack it, and move the contents onto a USB key. The XO laptop can't do that itself.

The Sugar-based web browser appears to be able to download images (at least if they have a file type it doesn't recognize). When one is clicked, nothing happens visibly, but if you raise the "frame", suddenly something interesting is happening in the left margin,
and if you put the cursor on it, you can see the % downloaded gradually creep up.

But once the image has been downloaded, there's no obvious way to do anything at all with it. Not even look at its size. What directory is it in?

And when I insert a USB key while it's downloading, the whole screen freezes. (Oops, that's an OOM.) But supposing it didn't freeze, the software would have to mount the key somewhere. And we'd have to figure out where. All doable, just not documented.

I'd have to find a terminal program under alt-= (or one of four or five other keys depending what OS build I'm running?), find the location in the filesystem where the USB key has been mounted, and manually unpack the zip file into the USB key's top level directory.

And if I want to unzip it, I need unzip, which is reportedly only in the devl image.

(Then if I want to change which version of which pieces are going to get flashed, there's probably some manual fiddling, overwriting of files with other files, and hand-editing of numbers in scripts.)

Then I can sync (should I?), press the power button to shut down, wait, press it again to boot,
and the install should happen.

There's supposedly a wireless install procedure that's intended to sing, dance, and make grown kids weep. #673 may mention it. Maybe if that's coming along soon, it can obviate documenting and fixing the process described above. A clear design goal for that wireless procedure would be to figure out how to upgrade a machine that has no USB key nor any extra storage. Without bricking or corrupting the OS if you lose network connectivity halfway thru the upgrade -- and lose all battery power shortly thereafter.

Here's some IRC discussion:

<gnu_> Mitch_Bradley:  I see lots of pages in the wiki describing firmware releases, but none of them seem to have a pointer to instructions on how to install one in your system.
<gnu_> Mitch_Bradley:  They say "DO NOT use olpcflash to write new firmware images."  But they don't say what tool to DO use.
<gnu_> Mitch_Bradley:  For example,
<gnu_> Mitch_Bradley:  I was wondering whether to install it -- then I wondered HOW to install it!
<smithbone> gnu_: I tweaked the page a bit.  See the section that talks about the Autoreinstallation image.
<smithbone> gnu_: I'll put together some sort verbage on how to for installation.
<gnu_> smithbone, thanks for adding "or B2".  But the installation instructions are:
<gnu_> smithbone:  "First do Auto reinstall, which will not install this new firmware.  THEN don't use olpcflash."
<gnu_> smithbone:  In following those instructions I don't see how this firmware gets into the unit.
<smithbone> gnu_: I'm working on a manual install page.
<smithbone> gnu_: Our recommened install method is to use the auto install image.
<smithbone> gnu_: I can walk you through a manual install now if you would like.
<smithbone> gnu_: And really what I was trying to get at was for you to _look_ at the Autoinstall page.
<smithbone> gnu_: Please look at the page again and tell me if thats better.
<smithbone> gnu_: Never mind... I see that I need to rewrite it again.
<smithbone> Duh.. My instructions only work when the auto image is newer.
<smithbone> ok..
<gnu_> smithbone:  I was trying to figure out how to say the same thing for the third time, in a different way, but you beat me to it. :-(
<smithbone> gnu_: Persistence is the key.. :)
<gnu_> smithbone:  I have a further exercise for the reader.  Try to do the AutoInstall using just two objects:  an XO and a USB key.  Last time I tried, I discovered there was no (documented) way to find, move, or unpack the image file...
<gnu_> smithbone:  that the crippled web browser had downloaded for me.
<gnu_> smithbone:  i.e. don't use a separate laptop or PC to fill the USB key.  Self-hosted upgrades, what a concept.
<smithbone> gnu_: unzip is not in the image?
<smithbone> gnu_:  or on the fileystem I mean?
<smithbone> J5: No unzip in the image?
<smithbone> image == build
<J5> smithbone: only in the devel image
<gnu_> There might be an unzip, but first you have to find the terminal!  Which isn't doc'd in the Autoinstall page.
<smithbone> gnu_: Self-hosted upgrades.. What a concept...
<smithbone> J5: Ideas?
<smithbone> J5: Basically just a small activity that wgets the auto install image and unzips it to a usb key.
<J5> alt-= gives you the devel console
<smithbone> J5: Most of the people who are about to get B2 (and will need upgrades) are not developers.
<J5> smithbone: gona have to wait a bit
<J5> smithbone: right now we need a stable image for the country meetings
<J5> but I think a script to do that should be made
<J5> not an activity though
<smithbone> J5: nod.. Just an thought... We should post a note on devel.  that would be a great project for someone wanting to get thier feet wet with activities.
<J5> of course the goal is to create an update system

Change History (4)

comment:1 Changed 10 years ago by jg

  • Milestone changed from Untriaged to CTest

interesting point.

We first need to get USB sticks automounting: that will get done sometime soon.

unzip probably needs to be in all images.

We are working on network boot and installation in the firmware as well.

comment:2 Changed 10 years ago by jg

  • Milestone changed from CTest to Trial-2
  • Owner changed from blizzard to J5
  • Priority changed from normal to high
  • Verified unset

It seems like we should include zip anyway in the builds.

I suspect we should just go ahead and add it.

comment:3 Changed 10 years ago by kimquirk

  • Resolution set to fixed
  • Status changed from new to closed

unzip is in the build. Automount will come someday...

comment:4 Changed 18 months ago by Quozl

  • Milestone Trial-2 deleted

Milestone Trial-2 deleted

Note: See TracTickets for help on using tickets.