X-Git-Url: http://git.archive.openwrt.org/?a=blobdiff_plain;f=initd%2Fearly.c;h=5a83d2cadb384afc7f18faee1f66fd5c177d9037;hb=e1a27d486c2374f46abd264f3fd6561815155ebd;hp=c622aece14c74c6a082e526bf26b3fc854f2cb58;hpb=02e1a4eac725aaae10c119ec2ec20d0da4a2c958;p=project%2Fprocd.git diff --git a/initd/early.c b/initd/early.c index c622aec..5a83d2c 100644 --- a/initd/early.c +++ b/initd/early.c @@ -25,25 +25,6 @@ #include "init.h" static void -early_mounts(void) -{ - mount("proc", "/proc", "proc", MS_NOATIME, 0); - mount("sysfs", "/sys", "sysfs", MS_NOATIME, 0); - mount("none", "/sys/fs/cgroup", "cgroup", 0, 0); - - mount("tmpfs", "/tmp", "tmpfs", MS_NOSUID | MS_NODEV | MS_NOATIME, NULL); - mkdir("/tmp/run", 0777); - mkdir("/tmp/lock", 0777); - mkdir("/tmp/state", 0777); - symlink("/tmp", "/var"); - - mount("tmpfs", "/dev", "tmpfs", MS_NOATIME, "mode=0755,size=512K"); - mkdir("/dev/shm", 0755); - mkdir("/dev/pts", 0755); - mount("devpts", "/dev/pts", "devpts", MS_NOATIME, "mode=600"); -} - -static void early_dev(void) { mkdev("*", 0600); @@ -78,6 +59,28 @@ early_console(const char *dev) } static void +early_mounts(void) +{ + mount("proc", "/proc", "proc", MS_NOATIME, 0); + mount("sysfs", "/sys", "sysfs", MS_NOATIME, 0); + mount("tmpfs", "/dev", "tmpfs", MS_NOATIME, "mode=0755,size=512K"); + mkdir("/dev/shm", 0755); + mkdir("/dev/pts", 0755); + mount("devpts", "/dev/pts", "devpts", MS_NOATIME, "mode=600"); + early_dev(); + + early_console("/dev/console"); + if (mount_zram_on_tmp()) + mount("tmpfs", "/tmp", "tmpfs", MS_NOSUID | MS_NODEV | MS_NOATIME, NULL); + else + mkdev("*", 0600); + mkdir("/tmp/run", 0777); + mkdir("/tmp/lock", 0777); + mkdir("/tmp/state", 0777); + symlink("/tmp", "/var"); +} + +static void early_env(void) { setenv("PATH", "/bin:/sbin:/usr/bin:/usr/sbin", 1); @@ -90,9 +93,7 @@ early(void) return; early_mounts(); - early_dev(); early_env(); - early_console("/dev/console"); LOG("Console is alive\n"); }