Skip to content
This repository has been archived by the owner. It is now read-only.

Fix reinstall brick #15

Merged
merged 2 commits into from Aug 25, 2018
Merged

Fix reinstall brick #15

merged 2 commits into from Aug 25, 2018

Conversation

@xyzz
Copy link
Contributor

@xyzz xyzz commented Jul 1, 2018

Don't run this unless you can recover from a brick.

Situation: user installs enso, then reinstalls 3.60 (which uninstalls enso but not the backup MBR), then runs enso app and selects uninstall. Result: brick.

This fixes it by always overwriting block 0 with a copy of block 0 which when enso is installed would redirect the reads to block 1 but not writes, and when enso is not installed would not do anything.

Tests:

  • Without the patch: Install enso, reboot, uninstall enso
  • Without the patch: Install enso, flash 3.60, make nand backup !!, uninstall enso; confirm this bricks
  • With the patch: Install enso, flash 3.60, make nand backup !!, uninstall enso; confirm this does not brick anymore
  • With the patch: Install enso, reboot, uninstall enso
  • With the patch: Install enso, reboot, uninstall enso, reboot, uninstall enso
  • Run all tests from the old google forms

make a nand backup every time you reflash 3.60!

@DaveeFTW DaveeFTW self-assigned this Jul 1, 2018
@yifanlu yifanlu assigned yifanlu and unassigned DaveeFTW Aug 25, 2018
@yifanlu
Copy link
Contributor

@yifanlu yifanlu commented Aug 25, 2018

Confirmed that original enso bricks with indicated steps. Confirmed patch fixes the problem. Because the mbr.bin payload is exactly the same, I did not feel the need to run the old tests.

@yifanlu yifanlu merged commit 40dd470 into master Aug 25, 2018
@yifanlu yifanlu deleted the fix-reinstall-brick branch Aug 25, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

3 participants