On Fri, 07.10.11 17:24, Cliff Brake ([email protected]) wrote: > Hi, > > I'm trying to customize systemd to start/stop network interfaces in an > embedded system (OpenEmbedded/Angstrom). Angstrom has some support > for systemd and its working fairly well so far. Are there any > examples I can start with? Basically, when a network device is > installed (USB), I'd like to run "ifup eth0", etc.
Debian has a service file for that which pulls in ifup from the udev device via a template which I believe is quite pretty. Might be worth looking into that. We are actually contemplating moving something like a default [email protected] file into systemd upstream proper. > > this is what I have so far: > > [Unit] > Description=Start networking services > After=syslog.target Please drop After=syslog.target. It's not necessary anymore. > > [Service] > ExecStart=/sbin/ifup eth0 > Type=oneshot > ExecStop=/sbin/ifdown eth0 > StandardOutput=syslog+console Note that all services default to sylog logging anyway these days, so i'd recommend removing StandardOutput= here. > > [Install] > WantedBy=multi-user.target > > but its not working: > > systemctl start network.service > asix 1-2:1.0: eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1 > ifup[756]: udhcpc (v1.18.5) started > ifup[756]: Sending discover... > ifup[756]: Sending select for 192.168.1.100... > ifup[756]: Lease of 192.168.1.100 obtained, lease time 3600 > ifup[756]: adding dns 192.168.1.1 > > This all looks good, but then when I do ifconfig, the network devices > is not configured: > > root@cm-x270:/lib/systemd/system# ifconfig > lo Link encap:Local Loopback > inet addr:127.0.0.1 Mask:255.0.0.0 > inet6 addr: ::1/128 Scope:Host > UP LOOPBACK RUNNING MTU:16436 Metric:1 > RX packets:4 errors:0 dropped:0 overruns:0 frame:0 > TX packets:4 errors:0 dropped:0 overruns:0 carrier:0 > collisions:0 txqueuelen:0 > RX bytes:268 (268.0 B) TX bytes:268 (268.0 B) > > running ifup eth0 manually works fine. Hmm, my guess is that $PATH is set differently here and the dhcp callouts fail with the shorter default $PATH of systemd? > > Beyond this, it would be nice to somehow trigger on when a USB NIC is > installed and automatically run ifup. Any pointers would be > appreciated. Pull in [email protected] from the udev rules by setting SYSTEMD_WANTS as udev property on the them. Check the DEbian patch how to do that. Lennart -- Lennart Poettering - Red Hat, Inc. _______________________________________________ systemd-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/systemd-devel
