Backup proper magiskinit in A-only 2SI

This commit is contained in:
topjohnwu
2020-01-22 05:12:04 +08:00
parent 0a2c99f1dc
commit ba55e2bc32
3 changed files with 22 additions and 18 deletions

View File

@ -407,20 +407,24 @@ static void patch_fstab(const string &fstab) {
#define FSR "/first_stage_ramdisk"
void ABFirstStageInit::prepare() {
auto dir = xopen_dir(FSR);
if (!dir)
return;
string fstab(FSR "/");
for (dirent *de; (de = xreaddir(dir.get()));) {
if (strstr(de->d_name, "fstab")) {
fstab += de->d_name;
break;
}
}
if (fstab.length() == sizeof(FSR))
return;
// It is actually possible to NOT have FSR, create it just in case
xmkdir(FSR, 0755);
patch_fstab(fstab);
if (auto dir = xopen_dir(FSR); dir) {
string fstab(FSR "/");
for (dirent *de; (de = xreaddir(dir.get()));) {
if (strstr(de->d_name, "fstab")) {
fstab += de->d_name;
break;
}
}
if (fstab.length() == sizeof(FSR))
return;
patch_fstab(fstab);
} else {
return;
}
// Move stuffs for next stage
xmkdir(FSR "/system", 0755);