[OpenWrt-Devel] [LEDE-DEV] Observing procd progress

Philip Prindeville philipp_subx at redfish-solutions.com
Tue Feb 14 15:10:54 EST 2017


> On Feb 14, 2017, at 2:45 AM, Petr Štetiar <ynezz at true.cz> wrote:
> 
> Philip Prindeville <philipp_subx at redfish-solutions.com> [2017-02-12 12:57:19]:
> 
> Hi,
> 
>> One thing I was wondering about was, on a headless system, but that does
>> have an LCD display, is maybe capturing the progress of procd as it runs and
>> displaying it on that LCD.
> 
> BTW, what kind of platform and LCD is that?


It’s a Lanner network appliance FW-8771 with an ST-7066U LCD module.

The module is hd44780 compatible, but with LCM-162-like wiring (at least that’s the interface type I select in lcdproc).


> I would probably get the total number of scripts planned to be run, the total
> count, 100% on progress bar from glob() as it's used in rcS.c/_rc(). Then I
> would probably update the position of the progress bar, the current % position
> in q_initd_complete() callback.


I’m more interested in knowing the name of a particular script should it cause the boot process to hang…  but maybe both could be done.


> 
>> Maybe in q_initd_run() where the DEBUG(2, “start %s %s \n”…) happens, and in
> 
> Look at libubox/runqueue.c, search for '->run(' callback.
> 
>> q_initd_complete() where the DEBUG(2, “stop %s %s \n”, …) happens?
> 
> Look at libubox/runqueue.c, search for '->complete(' callback.


Thanks.


> 
>> Hmm… for that matter, I also don’t know where procd does a wait() or wait3()
>> or waitpid() on the rc.d/ scripts...
> 
> procd is using runqueue task helper, which in turn uses uloop_process_*
> functions, so look at libubox at runqueue.c and uloop.c for details.
> 
> — ynezz


Will do!

-Philip
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list