[Trac #967] XO can't self-host an upgrade of its EC, boot firmware, or OS image

Zarro Boogs per Child bugtracker at laptop.org
Fri Mar 2 12:13:27 EST 2007


#967: XO can't self-host an upgrade of its EC, boot firmware, or OS image
--------------------+-------------------------------------------------------
 Reporter:  gnu     |       Owner:  blizzard       
     Type:  defect  |      Status:  new            
 Priority:  normal  |   Milestone:  Untriaged      
Component:  distro  |    Keywords:  flash usb unzip
--------------------+-------------------------------------------------------
 Currently the instructions for upgrading to a new release of anything
 http://wiki.laptop.org/go/Autoreinstallation_image 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,
 http://wiki.laptop.org/go/OLPC_Firmware_Q2B73
 <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
 }}}

-- 
Ticket URL: <http://dev.laptop.org/ticket/967>
One Laptop Per Child <http://laptop.org/>



More information about the Bugs mailing list