[OpenWrt-Devel] Q: procd: re-evaluation of inittab entries

Michael Heimpold mhei at heimpold.de
Wed Dec 5 01:42:19 EST 2018


Am Mittwoch, 5. Dezember 2018, 03:52:20 CET schrieb Yousong Zhou:
> On Wed, 5 Dec 2018 at 06:00, Michael Heimpold <mhei at heimpold.de> wrote:
> > Hi,
> > 
> > I'm currently playing with USB gadget stuff. The goal is to run an
> > Ethernet
> > link and a console over the USB link. I already selected the relevant
> > kernel modules and ACM device and RNDIS device is created on the USB host
> > system - all fine so far.
> > The ACM device on the USB gadget side is created as /dev/ttyGS0, and
> > when I use "echo foobar > /dev/ttyGS0" or "cat /dev/ttyGS0" on USB device
> > side with corresponding counterparts on USB host side, then it already
> > works like a charme.
> > My problem is the inittab: I think the right approach is to add an entry
> > to
> > inittab when I want to provide a login console on this tty, so I added:
> > ttyGS0::askfirst:/usr/libexec/login.sh
> > at the end of my inittab.
> > However, during boot ttyGS0 is not yet available - it takes until the
> > USB gadget is setup. procd skips this line at boot time.
> > 
> > So my question is: is this the correct approach, or should I use a
> > hotplug script to start such a console?
> I think we should make it possible to use serial console directly in
> inittab.
> In this case, could it be that the kernel module was only loaded after
> parsing inittab and askfirst quitted because it couldn't find the
> device?  Please check if that is the case by grepping module name in
> /etc/modules-boot.d/ .  Setting boot flag when calling AutoProbe
> should fix the issue.

No, the order is this one:
1. modules are loaded (device does not appear yet)
2. inittab is parsed
3. entry is skipped because device does not exists yet
4. configuration of USB gadget with shell script and/or init script
5. device appears
6. hotplug-call tty is being called and running hotplug scripts

So it seems that we need a feedback from hotplug script to
procd to rescan inittab for formerly skipped items and re-trigger
start in case of device is present now.


openwrt-devel mailing list
openwrt-devel at lists.openwrt.org

More information about the openwrt-devel mailing list