param: hand arguments after -- straight to init
The kernel passes any args it doesn't need through to init, except it
assumes anything containing '.' belongs to the kernel (for a module).
This change means all users can clearly distinguish which arguments
are for init.
For example, the kernel uses debug ("dee-bug") to mean log everything to
the console, where systemd uses the debug from the Scandinavian "day-boog"
meaning "fail to boot". If a future versions uses argv[] instead of
reading /proc/cmdline, this confusion will be avoided.
eg: test 'FOO="this is --foo"' -- 'systemd.debug="true true true"'
Gives:
argv[0] = '/debug-init'
argv[1] = 'test'
argv[2] = 'systemd.debug=true true true'
envp[0] = 'HOME=/'
envp[1] = 'TERM=linux'
envp[2] = 'FOO=this is --foo'
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
parent
2ee41e62ba
commit
51e158c12a
4 changed files with 53 additions and 19 deletions
|
|
@ -321,7 +321,7 @@ extern bool parameq(const char *name1, const char *name2);
|
|||
extern bool parameqn(const char *name1, const char *name2, size_t n);
|
||||
|
||||
/* Called on module insert or kernel boot */
|
||||
extern int parse_args(const char *name,
|
||||
extern char *parse_args(const char *name,
|
||||
char *args,
|
||||
const struct kernel_param *params,
|
||||
unsigned num,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue