|
@@ -42,7 +42,7 @@ static int init_linuxrc(struct subprocess_info *info, struct cred *new)
|
|
ksys_dup(0);
|
|
ksys_dup(0);
|
|
ksys_dup(0);
|
|
ksys_dup(0);
|
|
/* move initrd over / and chdir/chroot in initrd root */
|
|
/* move initrd over / and chdir/chroot in initrd root */
|
|
- sys_chdir("/root");
|
|
|
|
|
|
+ ksys_chdir("/root");
|
|
ksys_mount(".", "/", NULL, MS_MOVE, NULL);
|
|
ksys_mount(".", "/", NULL, MS_MOVE, NULL);
|
|
ksys_chroot(".");
|
|
ksys_chroot(".");
|
|
sys_setsid();
|
|
sys_setsid();
|
|
@@ -61,7 +61,7 @@ static void __init handle_initrd(void)
|
|
/* mount initrd on rootfs' /root */
|
|
/* mount initrd on rootfs' /root */
|
|
mount_block_root("/dev/root.old", root_mountflags & ~MS_RDONLY);
|
|
mount_block_root("/dev/root.old", root_mountflags & ~MS_RDONLY);
|
|
sys_mkdir("/old", 0700);
|
|
sys_mkdir("/old", 0700);
|
|
- sys_chdir("/old");
|
|
|
|
|
|
+ ksys_chdir("/old");
|
|
|
|
|
|
/* try loading default modules from initrd */
|
|
/* try loading default modules from initrd */
|
|
load_default_modules();
|
|
load_default_modules();
|
|
@@ -86,11 +86,11 @@ static void __init handle_initrd(void)
|
|
ksys_chroot("..");
|
|
ksys_chroot("..");
|
|
|
|
|
|
if (new_decode_dev(real_root_dev) == Root_RAM0) {
|
|
if (new_decode_dev(real_root_dev) == Root_RAM0) {
|
|
- sys_chdir("/old");
|
|
|
|
|
|
+ ksys_chdir("/old");
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
- sys_chdir("/");
|
|
|
|
|
|
+ ksys_chdir("/");
|
|
ROOT_DEV = new_decode_dev(real_root_dev);
|
|
ROOT_DEV = new_decode_dev(real_root_dev);
|
|
mount_root();
|
|
mount_root();
|
|
|
|
|