base-files: sanitize and unify $PATH
[openwrt/staging/mkresin.git] / package / base-files / files / etc / preinit
index eff382af3db19d3d6d17d98b6d34755f3a449aa7..31f861edf9f8552c7648d87e2627f3f6c9df784c 100755 (executable)
@@ -2,14 +2,9 @@
 # Copyright (C) 2006 OpenWrt.org
 # Copyright (C) 2010 Vertical Communications
 
-export PATH=/bin:/sbin:/usr/bin:/usr/sbin
-. /etc/diag.sh
+[ -z "$PREINIT" ] && exec /sbin/init
 
-preinit_essential_hook=
-preinit_main_hook=
-failsafe_hook=
-initramfs_hook=
-preinit_mount_root=
+export PATH=/usr/sbin:/usr/bin:/sbin:/bin
 
 pi_ifname=
 pi_ip=192.168.1.1
@@ -25,14 +20,21 @@ fs_failsafe_wait_timeout=2
 
 pi_suppress_stderr="y"
 pi_init_suppress_stderr="y"
-pi_init_path="/bin:/sbin:/usr/bin:/usr/sbin"
+pi_init_path="/usr/sbin:/usr/bin:/sbin:/bin"
 pi_init_cmd="/sbin/init"
 
-. /lib/functions/boot.sh
+. /lib/functions.sh
+. /lib/functions/preinit.sh
+. /lib/functions/system.sh
 
+boot_hook_init preinit_essential
+boot_hook_init preinit_main
+boot_hook_init failsafe
+boot_hook_init initramfs
+boot_hook_init preinit_mount_root
 
 for pi_source_file in /lib/preinit/*; do
-    . $pi_source_file
+       . $pi_source_file
 done
 
 boot_run_hook preinit_essential
@@ -42,4 +44,3 @@ pi_jffs2_mount_success=false
 pi_failsafe_net_message=false
 
 boot_run_hook preinit_main
-