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 2c9c8eb5ffc1 ("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: 81c94cdce6ba ("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
1 file changed