← Back to team overview

ubuntu-phone team mailing list archive

binary diff update (was: Bootloop after installing OTA4)

 

El día Wednesday, June 17, 2015 a las 11:02:03AM +0200, Oliver Grawert escribió:

> > (could you please explain a bit, how these binary diffs are produced and
> > loaded into the device later, i.e. how the update works; thanks)
> 
> i think that is described in the client section of 
> https://wiki.ubuntu.com/ImageBasedUpgrades

Hi,

Please, do all note that I have changed the Subject: to splitt away this
technical question about 'binary diff update' from the other thread.

I have read the above Wiki page, esp. the linked "client" page. It says
among other stuff that: 

    ...
    The client does the following:

    Grab https://server/channels.json and lookup the index for the
    current channel. If present, also grab the device GPG keyring.

    Grab https://server/<channel>/<model>/index.json
    Read the current version number of the device
    Look for the most recent version available for the specified channel
    on the current device
    Calculate the candidate upgrade paths, minimizing download size,
    number of reboots, and other factors (including Phased Updates)
    Score the candidate paths (lowest score wins), yielding the images
    to effect the upgrade
    Download any file needed up until the next reboot
    Validate all the files
    Write them to the cache partition
    Write the commands for upgrading the device to a file
    Apply the update (in-place "B" partition unpacking for snappy,
    reboot into recovery for touch) 
    ...

This reads for me that the logic is "change known files directly in the
file system" and not some kind of "binary overlay blocks/pages in the file
system partition". Do I understand this correctly? 

If so, this would mean:

a) that if someone adds new files to the readonly
   partition, for example a root's crontab file, this would not harm;
b) that changes in know files would be reset on update of this
   particulary file;
c) will cause conflicts, if changed files (scripts) depend of unchanged other
   files, but which the user has changed;
d) ...

	matthias


-- 
Matthias Apitz, guru@xxxxxxxxxxx, http://www.unixarea.de/ +49-170-4527211    +49-176-38902045
"Wenn der Mensch von den Umständen gebildet wird, so muß man die Umstände menschlich bilden."
"Si el hombre es formado por las circunstancias entonces es necesario formar humanamente
las circunstancias", Karl Marx in Die heilige Familie / La sagrada familia (MEW 2, 138)


References