Changes for page Openwrt Notes
Last modified by Leon Poon on 2019/11/02 17:53
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 -Openwrt BootNotes1 +Openwrt Notes - Content
-
... ... @@ -6,15 +6,45 @@ 6 6 7 7 /init is a script which sets INITRAMFS=1 and then execs /sbin/init. 8 8 9 -/sbin/init is ELF comes from procd package. What it does: 9 +/sbin/init is ELF comes from procd package. What it does (as pid=1): 10 10 11 -* early: 11 +* early (different from procd early): 12 12 ** mount /proc, /sysfs, and create /dev nodes, create /tmp subdirs etc 13 13 ** set PATH 14 -* kmodloader in subprocess 14 +* kmodloader in subprocess (waits until done) 15 15 * preinit 16 16 ** plugd in subprocess (seem to deal with firmware) 17 17 ** /etc/preinit in subprocess 18 -* when /etc/preinit is done then it exec s and replaces itself withthe "real" /sbin/procd18 +* when /etc/preinit is done then it execvp the "real" /sbin/procd 19 19 20 + 21 +procd states: 22 + 23 +* early (first state): 24 +** coldplug (remount /dev, etc) 25 +*** start udevtrigger in subproc 26 +*** when udevtrigger completes, hotplug 27 +*** when hotplug completes, next state (ubus) 28 +* ubus: 29 +** start attempts to connect to ubs 30 +** start ubus as service 31 +** once connection's done then next state (init) 32 +* init - read /etc/inittab and run: 33 +** respawn - things that need to keep rerunning once quitted 34 +** askconsole 35 +** askfirst - the "Press Enter to activate this console" message 36 +** sysinit - (usually /etc/init.d/rcS with S) and then next state (running) 37 +* running - waits for shutdown signal (usr1/usr2) or reboot (int/term) 38 +* shutdown 39 +** runs shutdown command per inittab (also /etc/init.d/rcS but with K) 40 +** when done next state (halt) 41 +* halt - kill everything and either enter sleep loop or reboots 42 + 43 + 44 + 45 + 46 += Debian = 47 + 48 +Needs devtmpfs in kernel (this seem to be first thing that /sbin/init does. 49 + 20 20