X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fprocd.git;a=blobdiff_plain;f=initd%2Fearly.c;h=5ee49ee3f5e7e6591e6a01a0f52e582fe9aa0a9e;hp=c622aece14c74c6a082e526bf26b3fc854f2cb58;hb=4bccbfa967d756b8c84a62ea4752e936d8545a73;hpb=566ca65a3b2c35de811dbd895e2c024e250c6b28 diff --git a/initd/early.c b/initd/early.c index c622aec..5ee49ee 100644 --- a/initd/early.c +++ b/initd/early.c @@ -21,29 +21,9 @@ #include #include -#include "../log.h" #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 +58,29 @@ 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("none", "/sys/fs/cgroup", "cgroup", 0, 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"); }