All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot]  [Jan Kundrát]  [PATCH 1/3] systemd: Ensure /run and /var/run are the same on R/O rootfs
       [not found] <87k1vfz2m4.fsf@paral.in>
@ 2018-02-14 23:13 ` Christian Stewart
  2018-02-15 12:42   ` Jan Kundrát
  0 siblings, 1 reply; 3+ messages in thread
From: Christian Stewart @ 2018-02-14 23:13 UTC (permalink / raw)
  To: buildroot

Hi Jan, all,

> From: Jan Kundr?t <jan.kundrat@cesnet.cz>
> I'm leaving that one to someone who is more familiar with systemd and
> buildroot conventions. My box now boots again, so I'm happy :).
>
> [1] https://bugs.freedesktop.org/show_bug.cgi?id=101628
>
> Signed-off-by: Jan Kundr?t <jan.kundrat@cesnet.cz>
> ---
>  package/skeleton-init-systemd/skeleton-init-systemd.mk | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/package/skeleton-init-systemd/skeleton-init-systemd.mk b/package/skeleton-init-systemd/skeleton-init-systemd.mk
> index a2d4e8c4b3..95142904f5 100644
> --- a/package/skeleton-init-systemd/skeleton-init-systemd.mk
> +++ b/package/skeleton-init-systemd/skeleton-init-systemd.mk
> @@ -42,7 +42,9 @@ define SKELETON_INIT_SYSTEMD_PRE_ROOTFS_VAR
>  	mkdir $(TARGET_DIR)/var
>  	for i in $(TARGET_DIR)/usr/share/factory/var/*; do \
>  		j="$${i#$(TARGET_DIR)/usr/share/factory}"; \
> -		if [ -L "$${i}" ]; then \
> +		if [ "$${j}" = "/var/run" ]; then \
> +			echo "# $${j} is being handled by systemd"
> +		elif [ -L "$${i}" ]; then \
>  			printf "L+! %s - - - - %s\n" \
>  				"$${j}" "../usr/share/factory/$${j}" \
>  			|| exit 1; \
> -- 
> 2.14.3
>

I applied this patch, thanks. Unfortunately, it seems the problem is
still occurring. Maybe it's a different problem?


[   16.650294] systemd[1]: System is tainted: var-run-bad
[   16.680724] systemd[1]: Starting Network Connectivity...
[   16.710421] systemd[1]: Started D-Bus System Message Bus.
[   16.740678] systemd[1]: Failed to connect to system bus: No such file or directory
[   16.770425] systemd[1]: Failed to initialize D-Bus connection: No such file or directory
[   16.800386] systemd[1]: Starting Network Manager...


[1518648890.7497] hostname: hostname: hostnamed not used as proxy creation failed

[   39.020736] dbus-daemon[314]: [system] Failed to activate service 'org.freedesktop.systemd1': timed out
[   39.100451] dbus-daemon[314]: [system] Activating systemd to hand-off: service name='org.freedesktop.nm
_dispatcher' unit='dbus-org.freedesktop.nm-dispatcher.service' requested by ':1.0' (uid=0 pid=315 comm="/u
sr/sbin/NetworkManager --no-daemon ")                                                                    
[   39.150403] NetworkManager[315]: <info>  [1518648890.7540] manager[0x20ac030]: rfkill: WWAN hardware ra

It seems that systemd still cannot talk to the system bus.

I can also see this happening if I try to execute systemd-hostnamed:

# ./systemd-hostnamed 
Failed to get system bus connection: No such file or directory

# ls /var/run/
NetworkManager  dhcpcd.pid          docker       ifstate   utmp
dbus            dhcpcd.sock         docker.pid   sepermit
dhcpcd          dhcpcd.unpriv.sock  docker.sock  sshd.pid

# ls /var/run/dbus
system_bus_socket

# ls /run/
blkid   lock  mount     systemd  user  xtables.lock
docker  log   ntpd.pid  udev     utmp

If I link dbus like so:

# ln -s /var/run/dbus/ /run/dbus

It seems then that everything works fine.

~ Christian

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Buildroot]  [Jan Kundrát]  [PATCH 1/3] systemd: Ensure /run and /var/run are the same on R/O rootfs
  2018-02-14 23:13 ` [Buildroot] [Jan Kundrát] [PATCH 1/3] systemd: Ensure /run and /var/run are the same on R/O rootfs Christian Stewart
@ 2018-02-15 12:42   ` Jan Kundrát
  2018-02-21 22:30     ` Christian Stewart
  0 siblings, 1 reply; 3+ messages in thread
From: Jan Kundrát @ 2018-02-15 12:42 UTC (permalink / raw)
  To: buildroot

On ?tvrtek 15. ?nora 2018 0:13:37 CET, Christian Stewart wrote:
>> From: Jan Kundr?t <jan.kundrat@cesnet.cz>
>> I'm leaving that one to someone who is more familiar with systemd and
>> buildroot conventions. My box now boots again, so I'm happy :).
>> 
>> [1] https://bugs.freedesktop.org/show_bug.cgi?id=101628
>> 
>> Signed-off-by: Jan Kundr?t <jan.kundrat@cesnet.cz> ...
>
> I applied this patch, thanks. Unfortunately, it seems the problem is
> still occurring. Maybe it's a different problem?
>
>
> [   16.650294] systemd[1]: System is tainted: var-run-bad

Systemd reports that your /var/run is "bad". From what you wrote later, 
that's indeed the root cause which should be fixed.

Now, my patch fixed it only for a read-only rootfs. I assumed that 
everything worked well on a regular, r/w rootfs.

Can you please:

- state whether you're using a read-only or read-write rootfs 
(BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW config option),
- confirm that you completely nuked your build dir after applying this 
patch,
- check which packages actually provide your /var/run and /run, and how 
your setup looks like, i.e.:
  - grep ,./run build/packages-file-list.txt
  - grep ,./var build/packages-file-list.txt
  - grep dbus build/packages-file-list.txt | grep run
- how is your /etc/fstab?

> # ls /var/run/

These are not sufficient as they do not show the type of the individual 
items. `ls -al` should be better.

> If I link dbus like so:
>
> # ln -s /var/run/dbus/ /run/dbus
>
> It seems then that everything works fine.

Yeah, that's it. Based on how I read the code, though, this should already 
happen on a regular installation without a r/o rootfs...

Cheers,
Jan

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Buildroot]  [Jan Kundrát]  [PATCH 1/3] systemd: Ensure /run and /var/run are the same on R/O rootfs
  2018-02-15 12:42   ` Jan Kundrát
@ 2018-02-21 22:30     ` Christian Stewart
  0 siblings, 0 replies; 3+ messages in thread
From: Christian Stewart @ 2018-02-21 22:30 UTC (permalink / raw)
  To: buildroot

Hi Jan,

To preface this note, it seems OK against the new release RC.

Jan Kundr?t <jan.kundrat@cesnet.cz> writes:
>> [   16.650294] systemd[1]: System is tainted: var-run-bad
>
> Systemd reports that your /var/run is "bad". From what you wrote later, 
> that's indeed the root cause which should be fixed.

From what I've seen a lot of things can cause this taint, but I actually
have not yet been able to find a single place where it's listed what
this error actually means. The directory tree is there, and I haven't
really modified it.

> Now, my patch fixed it only for a read-only rootfs. I assumed that 
> everything worked well on a regular, r/w rootfs.

The system I'm running is a bit non-standard, I basically execute an
initramfs and then mount a ramfs to make the rootfs read/write.

> Can you please:
>
> - state whether you're using a read-only or read-write rootfs 
> (BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW config option),

BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW=y

> - confirm that you completely nuked your build dir after applying this 
> patch,

Yes.

> - check which packages actually provide your /var/run and /run, and how 
> your setup looks like, i.e.:
>   - grep ,./run build/packages-file-list.txt
>   - grep ,./var build/packages-file-list.txt
>   - 
> - how is your /etc/fstab?

% grep ,./run build/packages-file-list.txt
skeleton-init-common,./run

% grep ,./var build/packages-file-list.txt
skeleton-init-systemd,./var
linux-pam,./var/run
linux-pam,./var/run/sepermit
systemd,./var/log/README
systemd,./var/lib
systemd,./var/lib/systemd
systemd,./var/log
systemd,./var/log/journal
dbus,./var/lib/dbus/machine-id
dbus,./var/lib/dbus
dbus,./var/run/dbus
dhcpcd,./var/db
network-manager,./var/lib/NetworkManager
openssh,./var/empty

% grep dbus build/packages-file-list.txt | grep run
dbus,./usr/bin/dbus-run-session
dbus,./var/run/dbus

% cat target/etc/fstab
# <file system> <mount pt>      <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
devpts          /dev/pts        devpts  defaults,gid=5,mode=620 0       0
tmpfs           /dev/shm        tmpfs   mode=0777       0       0
tmpfs           /tmp            tmpfs   mode=1777       0       0
tmpfs           /run            tmpfs   mode=0755,nosuid,nodev  0       0
sysfs           /sys            sysfs   defaults        0       0

>> # ls /var/run/
>
> These are not sufficient as they do not show the type of the individual 
> items. `ls -al` should be better.

my mistake, I usually use -lah.

# ls -lah /var/run/
total 20K
drwxr-xr-x  7 root root     0 Feb 21 22:18 .
drwxr-xr-x 11 root root     0 Feb 21 22:18 ..
drwxr-xr-x  3 root root     0 Feb 21 22:18 NetworkManager
drwxr-xr-x  2 dbus dbus     0 Feb 21 22:18 dbus
drwxr-xr-x  3 root root     0 Feb 21 22:18 dhcpcd
-rw-r--r--  1 root root     4 Feb 21 22:18 dhcpcd.pid
srw-rw----  1 root root     0 Feb 21 22:18 dhcpcd.sock
srw-rw-rw-  1 root root     0 Feb 21 22:18 dhcpcd.unpriv.sock
drwx------  5 root root     0 Feb 21 22:18 docker
-rw-r--r--  1 root root     3 Feb 21 22:18 docker.pid
srw-rw----  1 root docker   0 Feb 21 22:18 docker.sock
-rw-r--r--  1 root root     6 Feb 21 22:18 ifstate
drwxr-xr-x  2 root root     0 Feb 16 11:48 sepermit
-rw-r--r--  1 root root     4 Feb 21 22:18 sshd.pid
-rw-r--r--  1 root root   384 Feb 21 22:24 utmp

>> If I link dbus like so:
>>
>> # ln -s /var/run/dbus/ /run/dbus
>>
>> It seems then that everything works fine.
>
> Yeah, that's it. Based on how I read the code, though, this should already 
> happen on a regular installation without a r/o rootfs...

I upgraded Docker to the new RC and it seems OK now. I do have your
patch applied:

4aaada448b * docker-engine: bump to v17.12.1-ce-rc1
4ff748f908 * docker-containerd: bump to v1.0.1
35e27a785d * runc: bump to 9f9c96235cc
cdf17f32a2 * docker-engine: add dependency on docker-proxy
aa01038df2 * docker-proxy: new package
f642b99974 * docker-engine: select static for tini and dumb-init
011a49093a * docker-engine: add support for init processes
4bbf8495d1 * dumb-init: new package
da2b6103ec * tini: new package
72024b7e5a * generate-ipv6-address: new package
b00d9c9711 * rtl8192cu: new package
8f6e68358e * rtl8821au: bump to latest
7c4f49d4d9 * go: bump to 1.10
15e767672f * systemd: Ensure /run and /var/run are the same on R/O rootfs
5f6e1c0d61 * support/dependencies: recognize C.UTF-8 as a utf8 locale
44cec6431c * 2018.02-rc2 Update for 2018.02-rc2
5e66d15646 * libcpprestsdk: needs host-pkgconf

Best,
Christian

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-02-21 22:30 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <87k1vfz2m4.fsf@paral.in>
2018-02-14 23:13 ` [Buildroot] [Jan Kundrát] [PATCH 1/3] systemd: Ensure /run and /var/run are the same on R/O rootfs Christian Stewart
2018-02-15 12:42   ` Jan Kundrát
2018-02-21 22:30     ` Christian Stewart

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.