Commit graph

52 commits

Author SHA1 Message Date
Elliott Hughes
4dca6f12db Add a /bin symlink for consistency.
Bug: http://b/63142920
Test: builds
Change-Id: I1f96935daca4d79f753e172067e07f8e27ea819e
2017-12-06 08:41:50 -08:00
Tom Cherry
c58e03ec23 Merge "init.rc: Remove sys.powerctl action" am: 9848209088 am: 9fcc7c8253
am: 6e575ccd0f

Change-Id: Iec1eb05ea5ec85c035d6ae7e232699ab3a6f6878
2017-04-18 18:33:09 +00:00
Tom Cherry
4608daf0fe init.rc: Remove sys.powerctl action
Init now handles this property change directly.

Bug: 37209359
Bug: 37415192

Test: Init reboots normally.
Change-Id: I9a4925897fb83bed180d12c871d9a71126fa4aa8
2017-04-17 16:55:54 -07:00
Jerry Zhang
a61a672674 Write aliases before ffs mount in recovery
This is necessary to support kernel changes
that allow for multiple ffs functions. Some
kernels require aliases in order to name
function instances before mount time.

Test: Reboot into recovery, verify adb works
Bug: 34070894
Change-Id: I8376304d92af9b3e8c734fdb8cc77f0dc8bc4850
2017-01-04 11:20:19 -08:00
Jerry Zhang
e66f861a7c Write aliases before ffs mount in recovery
This is necessary to support kernel changes
that allow for multiple ffs functions. Some
kernels require aliases in order to name
function instances before mount time.

Test: Reboot into recovery, verify adb works
Bug: 34070894
Change-Id: I8376304d92af9b3e8c734fdb8cc77f0dc8bc4850
2017-01-04 11:16:02 -08:00
Sandeep Patil
c4b381c44b healthd: change how charger is launched in recovery.
This is triggered by changes in healthd which spits out 2 binaries.
Recovery needs to use static binary which is now renamed to 'charger'.
So, change the .rc file to match the rename.

Update the seclable according to new healthd-charger split

Test: Tested recovery on angler using 'reboot recovery' to ensure
healthd is working as before

Change-Id: I9e6018156e677e7224dd2e5894941ed2a7cac1d0
Signed-off-by: Sandeep Patil <sspatil@google.com>
2016-11-01 14:27:23 -07:00
Andriy Naborskyy
544a1562d9 init: move healthd to late-init
Starting healthd in early-init is not needed and can delay coldboot done
Now healthd is starting at boot as usual service.

Test: check kmsg that healthd starting after /dev/.coldboot_done

Bug: 30292927
Change-Id: I367d022f5885122da49181db3db536012e83f564
2016-10-10 17:29:11 -07:00
Elliott Hughes
48ebb07211 init now uses libprocessgroup, so set up /acct.
Change-Id: Iec1492dfaf2ceae6f4d8618dd725d07316ee960b
2016-06-15 15:15:15 -07:00
Elliott Hughes
ad29b10c00 Remove etc/META-INF/com/google/android/update-script.
Bug: http://b/29250988
Change-Id: I61f8c6717b38de2242e4ea8e0913237c1ce5bfea
2016-06-09 18:03:05 -07:00
Alex Deymo
6bcc8af6e5 Restore labels on /postinstall during recovery.
This patch mirrors what was done in the main init.rc to relabel
/postinstall.

Bug: 27178350
Bug: 27177071
Change-Id: I39cd03f3c55a42c03367957e8c259c9a3155203c
2016-03-02 14:35:51 -08:00
Paul Lawrence
a91335aedc am 90c75b0b: Change init sequence to support file level encryption
* commit '90c75b0beb375b8d261e2df92292e9b542470f6e':
  Change init sequence to support file level encryption
2015-07-13 17:53:14 +00:00
Paul Lawrence
90c75b0beb Change init sequence to support file level encryption
File level encryption must get the key between mounting userdata and
calling post_fs_data when the directories are created. This requires
access to keymaster, which in turn is found from a system property.

Split property loaded into system and data, and load in right order.

Bug: 22233063
Change-Id: I409c12e3f4a8cef474eb48818e96760fe292cc49
2015-07-07 13:26:17 -07:00
Paul Lawrence
b6b31549df am 10cf0942: Merge "Revert "Change init sequence to support file level encryption"" into mnc-dev
* commit '10cf0942a7f4b2bfd539416e4767aaaf866a6527':
  Revert "Change init sequence to support file level encryption"
2015-07-07 18:20:23 +00:00
Paul Lawrence
392879eec0 Revert "Change init sequence to support file level encryption"
This reverts commit 98c1a3de23.

Change-Id: I524060418de18f97c3865ebc4435f501015e92ee
2015-07-07 17:05:39 +00:00
Paul Lawrence
3cc5148007 am d6b2b65d: Merge "Change init sequence to support file level encryption" into mnc-dev
* commit 'd6b2b65dc40c5af7feecf634b8ae55bf14fe8e6c':
  Change init sequence to support file level encryption
2015-07-06 20:22:20 +00:00
Paul Lawrence
98c1a3de23 Change init sequence to support file level encryption
File level encryption must get the key between mounting userdata and
calling post_fs_data when the directories are created. This requires
access to keymaster, which in turn is found from a system property.

Split property loaded into system and data, and load in right order.

Bug: 22233063
Change-Id: I409c12e3f4a8cef474eb48818e96760fe292cc49
2015-07-06 10:44:33 -07:00
Elliott Hughes
4fd3446b4e init sets the default PATH itself, better.
This fixes 'su' and 'strace' in the recovery image.

Change-Id: I83c2664d32a15da92bb6092fbdfc772184013c88
2015-05-12 14:35:31 -07:00
Elliott Hughes
6f76dd58f4 Revert "Revert "init re-execs to set its security context now.""
This reverts commit c819dbe95b.

Bug: http://b/19702273
Change-Id: I5c75b148a12e644dd247a4df4f67dc9b4b9ff8cf
2015-04-24 12:42:46 -07:00
Nick Kralevich
c819dbe95b Revert "init re-execs to set its security context now."
shamu isn't booting now

This reverts commit c57453d537.

Change-Id: I8efbf6260f5fcf983e5056fac6d03916415b944e
2015-04-24 16:58:33 +00:00
Elliott Hughes
c57453d537 init re-execs to set its security context now.
Change-Id: I0a014f8dddfe775159903b5d6fa632733fef692c
2015-04-23 20:26:56 -07:00
Jesse Zhao
5bf74b238b Bump up max_map_count value.
Change-Id: Id3e2c0795b817db9a85bc84cba2aa05d20179d39
Bug: 18503789
2015-01-08 16:02:46 -08:00
JP Abgrall
9eb8c8bdbe init.rc: Inidicate that booting is complete wrt firwmare requests
ueventd will wait for /dev/.booting to go away before giving up
on loading firmware.
The issue was introduced in Ifdd5dd1e95d7e064dde5c80b70198882d949a710
which forgot to update recovery's init.rc

Bug: 17993625
Change-Id: I91205fe6eea50aaef9b401d650ec8d6843a92a57
2014-10-20 20:02:57 -07:00
Doug Zongker
075ad800c5 sideload without holding the whole package in RAM
Implement a new method of sideloading over ADB that does not require
the entire package to be held in RAM (useful for low-RAM devices and
devices using block OTA where we'd rather have more RAM available for
binary patching).

We communicate with the host using a new adb service called
"sideload-host", which makes the host act as a server, sending us
different parts of the package file on request.

We create a FUSE filesystem that creates a virtual file
"/sideload/package.zip" that is backed by the ADB connection -- users
see a normal file, but when they read from the file we're actually
fetching the data from the adb host.  This file is then passed to the
verification and installation systems like any other.

To prevent a malicious adb host implementation from serving different
data to the verification and installation phases of sideloading, the
FUSE filesystem verifies that the contents of the file don't change
between reads -- every time we fetch a block from the host we compare
its hash to the previous hash for that block (if it was read before)
and cause the read to fail if it changes.

One necessary change is that the minadbd started by recovery in
sideload mode no longer drops its root privileges (they're needed to
mount the FUSE filesystem).  We rely on SELinux enforcement to
restrict the set of things that can be accessed.

Change-Id: Ida7dbd3b04c1d4e27a2779d88c1da0c7c81fb114
2014-07-02 12:16:36 -07:00
Riley Andrews
e8d7dd4ed1 am 3e0fc39e: am 974fe112: Merge "Fix recovery mode."
* commit '3e0fc39ec27c0ed96ffd2a617f1841fe3bf3c8f6':
  Fix recovery mode.
2014-06-25 00:44:02 +00:00
Colin Cross
22bcf97a59 recovery: enable panic_on_oops
Set panic_on_oops=1 to reboot if the kernel panics.

Change-Id: Id9e8689a570229db2ea2a3d72b52784f8a1ed107
2014-06-24 13:43:39 -07:00
Riley Andrews
e739d7e6cd Fix recovery mode.
Duplicate changes made to init.rc for https://android-review.googlesource.com/98852
in the init.rc used for recovery mode.

Bug 15849856

Change-Id: Ia376ddf6373a28718653f7fb1435bf7ecb33d813
2014-06-24 17:11:10 -07:00
Benoit Goby
0d372a553e am ed75be6d: am ac189bf6: Merge "recovery: Fix adb with linux 3.10"
* commit 'ed75be6de9d883a2524065940d732593fa26ac19':
  recovery: Fix adb with linux 3.10
2014-02-21 04:21:03 +00:00
Benoit Goby
1b9641127c recovery: Fix adb with linux 3.10
In kernel 3.10, f_adb has been removed and adbd can use functionfs
instead. Mount functionfs on boot for adbd. On older kernels, mount
will fail silently and adbd will revert to f_adb.

Change-Id: I5db57aaf35b35859ea88c7d0e0661d8c553e5811
2014-02-19 17:48:49 -08:00
Nick Kralevich
4d1b0903ff am f4641299: am 295e74aa: Merge "adbd: switch to su domain when running as root"
* commit 'f464129950eaea49b1234fdcfd04ec8723e3c672':
  adbd: switch to su domain when running as root
2014-01-24 18:14:50 +00:00
Nick Kralevich
c52c5b8e3d adbd: switch to su domain when running as root
When adbd runs as root, it should transition into the
su domain. This is needed to run the adbd and shell
domains in enforcing on userdebug / eng devices without
breaking developer workflows.

Use the new device_banner command line option.

Change-Id: Ib33c0dd2dd6172035230514ac84fcaed2ecf44d6
2014-01-18 09:22:50 -08:00
Doug Zongker
0708239c00 am a01b6467: am 772f6e2a: Merge "correctly mount tmpfs as /tmp in recovery"
* commit 'a01b646794fc207da657d7b8ef779c9d842acfde':
  correctly mount tmpfs as /tmp in recovery
2014-01-14 18:28:35 +00:00
Doug Zongker
075ef327d4 correctly mount tmpfs as /tmp in recovery
The syntax of init's mount command changed in April 2008 but
recovery's init.rc was never updated, so recovery's /tmp has been on
the root fs all this time.  Fix.

Also add /system/bin to the PATH in recovery, which is handy for
debugging.

Change-Id: I39f7ae435a8ce3bad691e4b7c307db0bd8de1302
2014-01-14 09:50:35 -08:00
Nick Kralevich
c22a444cdd am 7e0d3066: am fc729512: Merge "Set SELinux security contexts correctly for init and services."
* commit '7e0d30667cf53a182525f87dd0c8cb0e2628a1ed':
  Set SELinux security contexts correctly for init and services.
2014-01-13 19:59:15 +00:00
Stephen Smalley
2c9d5b2839 Set SELinux security contexts correctly for init and services.
Otherwise everything is left running in the kernel domain when
booting recovery.

Change-Id: Ie3d86547d5be0b68dd1875a97afe1e00fc3e4da1
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2014-01-13 14:00:36 -05:00
Todd Poynor
be96809d18 start healthd in recovery mode
Change-Id: I431ece69b6856fd1ea6079c38cdeb593c15d7385
2013-09-13 16:34:12 -07:00
Doug Zongker
cc2958fd7f fix secure adb in recovery
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
2013-09-11 13:24:32 -07:00
Doug Zongker
77ea71d6a8 recovery: fix rebooting
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
2013-08-30 12:20:16 -07:00
Todd Poynor
2f2c98869b start healthd in recovery
Change-Id: I16e3e0ddb8ca062431deb4be83c5be5eb786d76f
2013-06-18 17:51:13 -07:00
Colin Cross
f510f069fd recovery: import init.recovery.${ro.hardware}.rc
Some devices need hardware specific services started in recovery, for
example watchdogd.  Import init.recovery.${ro.hardware}.rc from the
recovery init.rc.

Bug: 6953625
Change-Id: I4a4cee210238150ffaabe774a44340ec3c8ff78c
2012-08-08 13:06:26 -07:00
Doug Zongker
703ed15214 run minadbd as shell user
Make minadbd drop its root privileges after initializing.  We need to
make the /tmp directory writable by the shell group so that it can
drop the sideloaded file there.

Change-Id: I67b292cf769383f0f67fb934e5a80d408a4c131d
2012-03-19 16:24:28 -07:00
Doug Zongker
6639248d02 always initialize usb product, vendor, etc. for adb in recovery
Set these values even on non-debuggable builds, so that the mini-adb
now in recovery can work.

Change-Id: If4c915403e6f43bfe922aa347e350a8982443106
2012-01-10 12:16:04 -08:00
Dima Zavin
0a7b45acd1 recovery: convert all usages of $prop to ${prop}
Change-Id: I9451b8350d33806097598fb9e575b28fd8b292ad
Signed-off-by: Dima Zavin <dima@android.com>
2012-01-10 09:44:29 -08:00
Michael Ward
933487868f Add missing commands to recovery init.rc
Wrote some missing items in recovery, most notably the serial number so that it shows up correctly on adb.

Change-Id: If430c0b78191c8d77f781aa605b5081571451775
2011-07-07 13:29:43 -07:00
Mike Lockwood
718a2f7872 init.rc: Simplify logic for starting adbd in recovery
Always start adbd if ro.debuggable=1 rather than basing it on user preference
in persistent system properties.

Use new D001 product ID, which I just allocated for "android recovery mode"

Change-Id: I6f1eac5257eaad2e538c0a8dd549ad89219efa3e
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-06-29 10:22:04 -04:00
Doug Zongker
fb04b87002 fix adb root in recovery
recovery's init.rc was missing lines that made adb root work.

Change-Id: I300e6997e3b5cb9c7b542b2012eed61deb2550f1
2011-06-23 15:30:34 -07:00
Mike Lockwood
7e58b65efb Fix starting adb in recovery mode
Change-Id: I8444f44d3194ff16ce54121633d5b255231393f5
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-06-19 02:52:01 -04:00
Kenny Root
c78a9698dd am ecc76ba5: Set adbd to be disabled by default in recovery
Merge commit 'ecc76ba5516d62a886f9c290906e0ca50702c9ab' into gingerbread

* commit 'ecc76ba5516d62a886f9c290906e0ca50702c9ab':
  Set adbd to be disabled by default in recovery
2010-06-28 12:24:16 -07:00
Kenny Root
ecc76ba551 Set adbd to be disabled by default in recovery
Change-Id: I74fa6edc4b001247b20be52e8301d18407fede2c
2010-06-28 09:01:22 -07:00
Colin Cross
dd6a0412b5 recovery: Add ueventd service
Change-Id: Iad448bc1608f88c5db2108475f35b88ea2877b07
2010-05-14 13:44:13 -07:00
The Android Open Source Project
c24a8e688a auto import from //depot/cupcake/@135843 2009-03-03 19:28:42 -08:00