0 Utenti e 3 Visitatori stanno visualizzando questo topic.
root@OpenWrt:~# cat /proc/1/cmdlineinitroot@OpenWrt:~#
cat /proc/1/cmdlinelsof /dev/watchdog
# cat /proc/1/cmdlineinit# lsof /dev/watchdog# # vuoto, oppure bla bla bla ... init
# cat /proc/1/cmdlineinit# lsof /dev/watchdogbla bla bla ... watchdog-tch#
# cat /proc/1/cmdlineprocd# lsof /dev/watchdogbla bla bla ... procd#
root@OpenWrt:~# cat /proc/1/cmdlineinitroot@OpenWrt:~# lsof /dev/watchdogCOMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEwatchdog- 1993 root 1w CHR 10,130 0t0 418 /dev/watchdogroot@OpenWrt:~# initinit: must be run as PID 1root@OpenWrt:~# dfFilesystem 1K-blocks Used Available Use% Mounted onrootfs 47488 11416 36072 24% //dev/root 22528 22528 0 100% /rom/dev/mtdblock2 31872 1136 30736 4% /overlayoverlayfs:/overlay/bank_2 31872 1136 30736 4% /saferoot/dev/mtdblock3 47488 11416 36072 24% /modoverlayoverlayfs:/modoverlay/bank_mod 47488 11416 36072 24% /root@OpenWrt:~#
1 dovrebbe dirci siamo in preinit
{echo lsof /dev/watchdog:lsof /dev/watchdogecho cat /proc/1/cmdlinecat /proc/1/cmdlineecho pgrep init : wc -lecho $(pgrep init | wc -l)} >> /tmp/test_preinit
if [[ "$bootedbank" != "$activebank" && "$bootedbank" == "bank_2" && $(pgrep init | wc -l) == "1" ]]; then [ -d /tmp/modoverlay ] || mount_rootfi
(if [[ "$bootedbank" != "$activebank" && "$bootedbank" == "bank_2" && ! -d /proc/1 ]]; then [ -d /tmp/modoverlay ] || mount_root [ -d /tmp/modoverlay ] || mount_root fi)
root@OpenWrt:/overlay/bank_2/usr/sbin# cat mount_modoverlay #!/bin/sh[ -f "/rom/$(command -v $0)" ] && /rom/$(command -v $0) $@hooked_ret=$?mount_root() { if [ -x /sbin/mount_root-mod ]; then /sbin/mount_root-mod else echo "****************************************************" echo "* NO mount_root-mod program found *" echo "* can not mount the modroot filesystem *" echo "****************************************************" fi}bootedbank=$(cat /proc/banktable/booted)activebank=$(cat /proc/banktable/active)#only if OBP is applied try to mount#mount will fail if coming from a failboot from bank1 (=mtd3 have a valid firmware)#also check that we are in preinit to avoid "hot" mount{echo lsof /dev/watchdog:lsof /dev/watchdogecho cat /proc/1/cmdlinecat /proc/1/cmdlineecho pgrep init : wc -lecho $(pgrep init | wc -l)} >> /tmp/test_preinitif [[ "$bootedbank" != "$activebank" && "$bootedbank" == "bank_2" && $(pgrep init | wc -l) == "1" ]]; then [ -d /tmp/modoverlay ] || mount_rootfireturn $hooked_ret
root@OpenWrt:/tmp# cat test_preinitlsof /dev/watchdog:cat /proc/1/cmdline/bin/sh/etc/preinitpgrep init : wc -l0