Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 13d86ad6 authored by Kevin Brodsky's avatar Kevin Brodsky
Browse files

init.rc: start tombstoned before switching mount namespace

Unlike apexd, tombstoned uses the regular dynamic linker path
(/system/bin/linker64). As a result, starting it after we have
switched to the default mount namespace but before APEXes have been
activated fails, because /system/bin/linker64 does not exist between
those two events. Fix that by starting tombstoned even earlier,
before we have switched mount namespace.

To avoid reintroducing the bug fixed by 2c9c8eb5 ("init.rc:
create /data/vendor* earlier"), also make sure that /data/vendor* is
still created before /data/vendor/tombstones.

While at it, move the creation of /data/anr before starting
tombstoned, because tombstoned assumes that /data/anr exists.

Fixes: 81c94cdc ("Start tombstoned early in post-fs-data.")
Test: boot fvp-eng and fvp_mini-eng, check that tombstoned starts
      succesfully on the first attempt
Change-Id: Ic52383c35fb39c61c2f0e0665fd10e795895d50d
parent cf110de8
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -635,20 +635,21 @@ on post-fs-data
    mkdir /data/bootchart 0755 shell shell encryption=Require
    bootchart start

    # Make sure that apexd is started in the default namespace
    enter_default_mount_ns

    mkdir /data/vendor 0771 root root encryption=Require
    mkdir /data/vendor_ce 0771 root root encryption=None
    mkdir /data/vendor_de 0771 root root encryption=None
    mkdir /data/vendor/hardware 0771 root root

    # Start tombstoned early to be able to store tombstones.
    mkdir /data/anr 0775 system system encryption=Require
    mkdir /data/tombstones 0771 system system encryption=Require
    mkdir /data/vendor/tombstones 0771 root root
    mkdir /data/vendor/tombstones/wifi 0771 wifi wifi
    start tombstoned

    # Make sure that apexd is started in the default namespace
    enter_default_mount_ns

    # /data/apex is now available. Start apexd to scan and activate APEXes.
    mkdir /data/apex 0755 root system encryption=None
    mkdir /data/apex/active 0755 root system
@@ -781,8 +782,6 @@ on post-fs-data
    # the following directory.
    mkdir /data/mediadrm 0770 mediadrm mediadrm encryption=Require

    mkdir /data/anr 0775 system system encryption=Require

    # NFC: create data/nfc for nv storage
    mkdir /data/nfc 0770 nfc nfc encryption=Require
    mkdir /data/nfc/param 0770 nfc nfc