Yocto-based non-GUI Raspberry Pi 3 system using systemd and Samba 4. I think these are more systemd questions than Samba questions, though.
My /etc/hostname is symlinked to a file on a different volume, so that I can (eventually) use a readonly rootfs, yet still change the hostname. However, that volume doesn't get mounted in time for the kernel to read it, so I end up with the hostname "localhost". Since I want to use the hostname as the default netbios name, I supplied my own version of nmb.service, which adds the line "RequiresMountsFor=/run/media/mmcblk0p1" to the [Unit] section, and the line "ExecStartPre=/bin/hostname -F /etc/hostname" to the [Service] section. This ensures that nmbd doesn't get started until the hostname file is visible, and forces the hostname to be set first. When I boot up, I get an error starting nmb.service. systemctl status nmb shows: Aug 06 01:59:18 localhost systemd[1]: Starting Samba NMB Daemon... Aug 06 01:59:18 CHROMA3 nmbd[440]: [2017/08/06 01:59:18.576291, 0] ../lib/util/become_daemon.c:135(daemon_status) Aug 06 01:59:18 CHROMA3 nmbd[440]: STATUS=daemon 'nmbd' : No local IPv4 non-loopback interfaces available, waiting for interface ...NOTE: NetBIOS name resolution is not supported for Internet Protocol Version 6 (IPv6). (CHROMA3 is the real hostname I've set.) After five seconds, it tries again, and it works: Aug 06 01:59:23 CHROMA3 nmbd[440]: [2017/08/06 01:59:23.582234, 0] ../lib/util/become_daemon.c:124(daemon_ready) Aug 06 01:59:23 CHROMA3 systemd[1]: Started Samba NMB Daemon. Aug 06 01:59:23 CHROMA3 nmbd[440]: STATUS=daemon 'nmbd' finished starting up and ready to serve connections I can see my shared files across the network. However, if I manually restart the service, I get the following warning in the second line: Aug 06 02:06:45 CHROMA3 systemd[1]: Starting Samba NMB Daemon... Aug 06 02:06:45 CHROMA3 systemd[1]: nmb.service: Supervising process 503 which is not our child. We'll most likely not notice when it exits. Aug 06 02:06:45 CHROMA3 nmbd[503]: [2017/08/06 02:06:45.748754, 0] ../lib/util/become_daemon.c:124(daemon_ready) Aug 06 02:06:45 CHROMA3 nmbd[503]: STATUS=daemon 'nmbd' finished starting up and ready to serve connections Aug 06 02:06:45 CHROMA3 systemd[1]: Started Samba NMB Daemon. If I restart it again, something does indeed "notice", and kill process 503 and give me another one, so it's not really a problem. But there are two things that look like I might be doing something wrong: 1) Why does it initially find "No local IPV4 non-loopback interfaces available", and is there something I can do to change the startup order until the ethernet device is ready, or is this just normal? 2) Why does systemd think it doesn't own the nmbd process, and should I do something about that, or is that normal? -- Ciao, Paul D. DeRocco Paul mailto:pdero...@ix.netcom.com _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/systemd-devel