Introduce Invincible Mode: Self recover service

This commit is contained in:
topjohnwu
2017-10-08 22:00:22 +08:00
parent 60181c4fcb
commit 03c8d716cc
10 changed files with 88 additions and 107 deletions

View File

@ -54,11 +54,11 @@ static void usage() {
" --resizeimg IMG SIZE resize ext4 image. SIZE is interpreted in MB\n"
" --mountimg IMG PATH mount IMG to PATH and prints the loop device\n"
" --umountimg PATH LOOP unmount PATH and delete LOOP device\n"
" --[boot stage] start boot stage service\n"
" --[init service] start init service\n"
" --unlock-blocks set BLKROSET flag to OFF for all block devices\n"
"\n"
"Supported boot stages:\n"
" post-fs, post-fs-data, service\n"
"Supported init services:\n"
" daemon post-fs, post-fs-data, service\n"
"\n"
"Supported applets:\n"
, argv0, argv0);
@ -146,6 +146,9 @@ int main(int argc, char *argv[]) {
} else if (strcmp(argv[1], "--unlock-blocks") == 0) {
unlock_blocks();
return 0;
} else if (strcmp(argv[1], "--daemon") == 0) {
// Start daemon, this process won't return
start_daemon();
} else if (strcmp(argv[1], "--post-fs") == 0) {
int fd = connect_daemon();
write_int(fd, POST_FS);