Migrating XO-1.75 to device tree - upgrade considerations
mikus at bga.com
Tue Aug 21 16:24:31 EDT 2012
I do not have an XO-1.75. But with other XO models, I update firmware
INDEPENDENTLY of updating the distribution, and update the kernel
INDEPENDENTLY of updating the firmware or the distribution. Surely I am
not alone in the world in doing so.
If stable (old) kernels will not boot with development (new) firmware, I
suggest adding two warnings to the new firmware:
1. Whenever the new firmware is flashed INDEPENDENTLY of the
distribution, somehow insert a new "emit" step into the
installation process, to emit the following message:
"WARNING: This ROM q4z00 will not allow 12.0.0 or earlier
releases to boot".
Then the person doing the install will at least have been warned.
2. Add a new flag to every distribution that requires the new
firmware. Whenever the new firmware is used to flash a
distribution, if that distribution does not have that flag,
refuse to perform that install, and have the new firmware emit:
"ERROR: Install of File 21099o2 not supported."
3. Whenever a new distribution (requiring the new firmware) is
flashed INDEPENDENTLY with the old firmware, the person doing the
install would be left to recover on his own.
The release notes for the new distribution should document what
the person doing the installer would see (given such a situation)
when he tries to boot the system - and should explain that the
new firmware must be installed.
Optionally the new distribution could have code added to it, so
that when the boot process fails for lack of the DT - to tell the
person doing the install that a new firmware must be installed in
order to run that distribution.
[If you are adding code to the new distribution, you might instead
include a "basic" DT to allow the new distribution to boot anyway.]
4. Whenever someone installs a new kernel INDEPENDENTLY of the
firmware and of the distribution, and the system subsequently
does not boot -- TOO BAD. [The new release notes should warn
that a "mismatch" __WILL__ render the system non-bootable.]
More information about the Devel