1. 20 Dec, 2013 1 commit
  2. 19 Dec, 2013 1 commit
    • Doug Zongker's avatar
      fix unnecessarily slow writing of EMMC partitions · 168724c3
      Doug Zongker authored
      These were attempts to write partitions "conservatively" in hopes of
      fixing the problems with writing the radio partition on Nexus 4.  They
      didn't work (a kernel patch was needed), but got left in.  They make
      writing of partitions unnecessarily slow (ie, we really shouldn't need
      to sync() after every 4kb).  Roll back most of them, but leave the
      verification read-back in.
      
      Change-Id: I94badc0979e88816c5aa0485f6316c02be69173c
      168724c3
  3. 14 Dec, 2013 1 commit
  4. 26 Nov, 2013 1 commit
    • Doug Zongker's avatar
      add the functions for multi-stage packages to updater · c87bab10
      Doug Zongker authored
      In order to support multi-stage recovery packages, we add the
      set_stage() and get_stage() functions, which store a short string
      somewhere it can be accessed across invocations of recovery.  We also
      add reboot_now() which updater can invoke to immediately reboot the
      device, without doing normal recovery cleanup.  (It can also choose
      whether to boot off the boot or recovery partition.)
      
      If the stage string is of the form "#/#", recovery's UI will be
      augmented with a simple indicator of what stage you're in, so it
      doesn't look like a reboot loop.
      
      Change-Id: I62f7ff0bc802b549c9bcf3cc154a6bad99f94603
      c87bab10
  5. 07 Nov, 2013 2 commits
  6. 17 Oct, 2013 1 commit
  7. 08 Oct, 2013 1 commit
  8. 03 Oct, 2013 1 commit
  9. 02 Oct, 2013 1 commit
  10. 12 Sep, 2013 1 commit
  11. 11 Sep, 2013 2 commits
    • Doug Zongker's avatar
      fix secure adb in recovery · cc2958fd
      Doug Zongker authored
      Recovery's init.rc was missing a line (added to the main system's
      init.rc in change Ic97fd464440ff4a29fc9da7ad15949ac5215ade3) is
      required for secure adb to work.
      
      Change-Id: Id79b94d2abb4cbe3cca7cabeb4bc5faf7205e56b
      cc2958fd
    • Nick Kralevich's avatar
      Don't apply permission changes to symlink. · d456944f
      Nick Kralevich authored
      Bug: 10183961
      Bug: 10186213
      Bug: 8985290
      Change-Id: I57cb14af59682c5f25f1e091564548bdbf20f74e
      d456944f
  12. 10 Sep, 2013 3 commits
    • Nick Kralevich's avatar
      Don't apply permission changes to symlink. · e461251e
      Nick Kralevich authored
      Bug: 10183961
      Bug: 10186213
      Bug: 8985290
      Change-Id: I57cb14af59682c5f25f1e091564548bdbf20f74e
      e461251e
    • The Android Automerger's avatar
    • Nick Kralevich's avatar
      updater: introduce and set_metadata and set_metadata_recursive · 5dbdef0e
      Nick Kralevich authored
      Introduce two new updater functions:
      
      * set_metadata
      * set_metadata_recursive
      
      Long term, these functions are intended to be more flexible replacements
      for the following methods:
      
      * set_perm
      * set_perm_recursive
      
      Usage:
      
        set_metadata("filename", "key1", "value1", "key2", "value2", ...)
        set_metadata_recursive("dirname", "key1", "value1", "key2", "value2", ...)
      
      Description:
      
      set_metadata() and set_metadata_recursive() set the attributes on a file/directory
      according to the key/value pairs provided. Today, the following keys are
      supported:
      
      * uid
      * gid
      * mode (set_perm_extd only)
      * fmode (set_perm_extd_recursive only)
      * dmode (set_perm_extd_recursive only)
      * selabel
      * capabilities
      
      Unknown keys are logged as warnings, but are not fatal errors.
      
      Examples:
      
      * set_metadata("/system/bin/netcfg", "selabel", "u:object_r:system_file:s0");
      
      This sets the SELinux label of /system/bin/netcfg to u:object_r:system_file:s0.
      No other changes occur.
      
      * set_metadata("/system/bin/netcfg", "uid", 0, "gid", 3003, "mode", 02750, "selabel", "u:object_r:system_file:s0", "capabilities", 0x0);
      
      This sets /system/bin/netcfg to uid=0, gid=3003, mode=02750,
      selinux label=u:object_r:system_file:s0, and clears the capabilities
      associated with the file.
      
      * set_metadata_recursive("/system", "uid", 0, "gid", 0, "fmode", 0644, "dmode", 0755, "selabel", "u:object_r:system_file:s0", "capabilities", 0x0);
      
      All files and directories under /system are set to uid=0, gid=0,
      and selinux label=u:object_r:system_file:s0. Directories are set to
      mode=0755.  Files are set to mode=0644 and all capabilities are cleared.
      
      Bug: 10183961
      Bug: 10186213
      Bug: 8985290
      Change-Id: Ifdcf186a7ed45265511dc493c4036e1ac5e3d0af
      5dbdef0e
  13. 09 Sep, 2013 1 commit
  14. 03 Sep, 2013 2 commits
  15. 30 Aug, 2013 1 commit
    • Doug Zongker's avatar
      recovery: fix rebooting · 77ea71d6
      Doug Zongker authored
      Change I84c0513acb549720cb0e8c9fcbda0050f5c396f5 moved reboot
      functionality into init but did not update the recovery partition; so
      "adb reboot" and /system/bin/reboot in recovery are both broken.
      
      Change-Id: Ie2d14627a686ffb5064256b6c399723636dff116
      77ea71d6
  16. 21 Aug, 2013 1 commit
    • Doug Zongker's avatar
      recovery: install packages in a known mount environment · 239ac6ab
      Doug Zongker authored
      When installing a package, we should have /tmp and /cache mounted and
      nothing else.  Ensure this is true by explicitly mounting them and
      unmounting everything else as the first step of every install.
      
      Also fix an error in the progress bar that crops up when you do
      multiple package installs in one instance of recovery.
      
      Change-Id: I4837ed707cb419ddd3d9f6188b6355ba1bcfe2b2
      239ac6ab
  17. 31 Jul, 2013 1 commit
    • Doug Zongker's avatar
      notify about pending long press · c0441d17
      Doug Zongker authored
      Recovery changes:
      
      - add a method to the UI class that is called when a key is held down
        long enough to be a "long press" (but before it is released).
        Device-specific subclasses can override this to indicate a long
        press.
      
      - do color selection for ScreenRecoveryUI's menu-and-log drawing
        function.  Subclasses can override this to customize the colors they
        use for various elements.
      
      - Include the value of ro.build.display.id in the menu headers, so you
        can see on the screen what version of recovery you are running.
      
      Change-Id: I426a6daf892b9011638e2035aebfa2831d4f596d
      c0441d17
  18. 26 Jul, 2013 1 commit
  19. 18 Jul, 2013 1 commit
    • Nick Kralevich's avatar
      Update OTA installer to understand SELinux filesystem labels · 627eb30f
      Nick Kralevich authored
      Modify the OTA installer to understand SELinux filesystem labels.
      
      We do this by introducing new set_perm2 / set_perm2_recursive
      calls, which understand SELinux filesystem labels. These filesystem
      labels are applied at the same time that we apply the
      UID / GID / permission changes.
      
      For compatibility, we preserve the behavior of the existing
      set_perm / set_perm_recursive calls.
      
      If the destination kernel doesn't support security labels, don't
      fail. SELinux isn't enabled on all kernels.
      
      Bug: 8985290
      Change-Id: I99800499f01784199e4918a82e3e2db1089cf25b
      627eb30f
  20. 11 Jul, 2013 12 commits
  21. 10 Jul, 2013 3 commits
  22. 09 Jul, 2013 1 commit
    • Doug Zongker's avatar
      recovery: write partitions more conservatively · c6ab95e9
      Doug Zongker authored
      Write and verify partitions using write(2) and read(2) rather than the
      stdio functions.  Read and write in 4kb blocks.  When writing, fsync()
      every 1MB.
      
      Bug: 9602014
      Change-Id: Ie98ce38e857786fc0f4ebf36bb5ffc93b41bc96f
      c6ab95e9