Merge pull request #1744 from evverx/fix-debug-generator

debug-generator: respect kernel parameters for default unit setting
This commit is contained in:
Lennart Poettering
2015-11-03 13:04:06 +01:00
5 changed files with 69 additions and 19 deletions
+29
View File
@@ -26,6 +26,7 @@
#include "parse-util.h"
#include "proc-cmdline.h"
#include "process-util.h"
#include "special.h"
#include "string-util.h"
#include "util.h"
#include "virt.h"
@@ -143,3 +144,31 @@ int shall_restore_state(void) {
return parse_boolean(value);
}
static const char * const rlmap[] = {
"emergency", SPECIAL_EMERGENCY_TARGET,
"-b", SPECIAL_EMERGENCY_TARGET,
"rescue", SPECIAL_RESCUE_TARGET,
"single", SPECIAL_RESCUE_TARGET,
"-s", SPECIAL_RESCUE_TARGET,
"s", SPECIAL_RESCUE_TARGET,
"S", SPECIAL_RESCUE_TARGET,
"1", SPECIAL_RESCUE_TARGET,
"2", SPECIAL_MULTI_USER_TARGET,
"3", SPECIAL_MULTI_USER_TARGET,
"4", SPECIAL_MULTI_USER_TARGET,
"5", SPECIAL_GRAPHICAL_TARGET,
};
const char* runlevel_to_target(const char *word) {
size_t i;
if (!word)
return NULL;
for (i = 0; i < ELEMENTSOF(rlmap); i += 2)
if (streq(word, rlmap[i]))
return rlmap[i+1];
return NULL;
}
+1
View File
@@ -26,3 +26,4 @@ int parse_proc_cmdline(int (*parse_word)(const char *key, const char *value));
int get_proc_cmdline_key(const char *parameter, char **value);
int shall_restore_state(void);
const char* runlevel_to_target(const char *rl);