make sure that /linuxrc has std{in,out,err}
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Родитель
b2ddedcd21
Коммит
43b1682024
|
@ -36,6 +36,10 @@ __setup("noinitrd", no_initrd);
|
||||||
static int init_linuxrc(struct subprocess_info *info, struct cred *new)
|
static int init_linuxrc(struct subprocess_info *info, struct cred *new)
|
||||||
{
|
{
|
||||||
sys_unshare(CLONE_FS | CLONE_FILES);
|
sys_unshare(CLONE_FS | CLONE_FILES);
|
||||||
|
/* stdin/stdout/stderr for /linuxrc */
|
||||||
|
sys_open("/dev/console", O_RDWR, 0);
|
||||||
|
sys_dup(0);
|
||||||
|
sys_dup(0);
|
||||||
/* move initrd over / and chdir/chroot in initrd root */
|
/* move initrd over / and chdir/chroot in initrd root */
|
||||||
sys_chdir("/root");
|
sys_chdir("/root");
|
||||||
sys_mount(".", "/", NULL, MS_MOVE, NULL);
|
sys_mount(".", "/", NULL, MS_MOVE, NULL);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче