[systemd-devel] systemd blocks update kernel partition table

Eberhard Stoll e-stl at gmx.de
Thu Nov 22 10:39:06 UTC 2018


Thanks for your reply!

> systemd creates .device for any partition it finds, but that doesn't 
> mean the partition is mounted.
> 
> You should trust "mount" in this case. Your partition is not mounted and 
> I don't think this is a systemd problem. People on the yocto side are 
> probably more able to help

After booting my device over NFS the dmesg log says:

     [   16.226801] EXT4-fs (mmcblk1p1): mounted filesystem with ordered 
data mode. Opts: (null)
     [   16.227246] EXT4-fs (mmcblk1p2): mounted filesystem with ordered 
data mode. Opts: (null)
     [   16.370595] EXT4-fs (mmcblk1p3): mounted filesystem with ordered 
data mode. Opts: (null)

which is my already partitionned emmc device.
When i do a 'mount' command no emmc device is printed out:

	root at t1000-multi:~# mount
	192.168.1.240:/nfs/t1000-multi-qt on / type nfs 
(rw,relatime,vers=2,rsize=4096,wsize=4096,namlen=255,hard,nolock,proto=udp,timeo=11,retrans=3,sec=sys,mountaddr=192.168.1.240,mountvers=1,mountproto=udp,local_lock=all,addr=192.168.1.240)
	devtmpfs on /dev type devtmpfs 
(rw,relatime,size=153016k,nr_inodes=38254,mode=755)
	sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
	proc on /proc type proc (rw,relatime)
	tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
	devpts on /dev/pts type devpts (rw,relatime,gid=5,mode=620,ptmxmode=000)
	tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
	tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
	cgroup on /sys/fs/cgroup/unified type cgroup2 
(rw,nosuid,nodev,noexec,relatime)
	cgroup on /sys/fs/cgroup/systemd type cgroup 
(rw,nosuid,nodev,noexec,relatime,xattr,name=systemd)
	pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
	cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup 
(rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
	cgroup on /sys/fs/cgroup/devices type cgroup 
(rw,nosuid,nodev,noexec,relatime,devices)
	cgroup on /sys/fs/cgroup/blkio type cgroup 
(rw,nosuid,nodev,noexec,relatime,blkio)
	cgroup on /sys/fs/cgroup/memory type cgroup 
(rw,nosuid,nodev,noexec,relatime,memory)
	cgroup on /sys/fs/cgroup/freezer type cgroup 
(rw,nosuid,nodev,noexec,relatime,freezer)
	cgroup on /sys/fs/cgroup/debug type cgroup 
(rw,nosuid,nodev,noexec,relatime,debug)
	cgroup on /sys/fs/cgroup/cpuset type cgroup 
(rw,nosuid,nodev,noexec,relatime,cpuset)
	mqueue on /dev/mqueue type mqueue (rw,relatime)
	debugfs on /sys/kernel/debug type debugfs (rw,relatime)
	tmpfs on /tmp type tmpfs (rw,nosuid,nodev)
	configfs on /sys/kernel/config type configfs (rw,relatime)
	fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
	tmpfs on /var/volatile type tmpfs (rw,relatime)
	tmpfs on /run/user/0 type tmpfs 
(rw,nosuid,nodev,relatime,size=43812k,mode=700)


> now, that being said, I am not sure what "the kernel partition table" is 
> in this context. I assume parted is trying to refresh the way the kernel 
> sees the partitions on the eMMC and fails, which would be a pure kernel 
> problem.

Parted gives this error message when i reset the partition table:
	root at t1000-multi:~# parted /dev/mmcblk1 --script mklabel gpt
	Error: Partition(s) 1, 2, 3 on /dev/mmcblk1 have been written, but we 
have been unable to inform the kernel of the change, probably because 
it/they are in use.  As a result, the old partition(s) will remain in 
use.  You should reboot now before making further changes.

Running 'fuser /dev/mmcblkp1' doesn't give any process which occupies my 
partitions. In '/sys/fs/ext4' my partitions are recognized:

	root at t1000-multi:~# ls /sys/fs/ext4/
	features   mmcblk1p1  mmcblk1p2  mmcblk1p3

> 
> If you repartition your eMMC and then reboot on the sd-card, does your 
> kernel see the partitions correctly ?
yes

It seems nothing from userspace holds the partitions. Is there a 
possibility for a 'hidden' mount or ext4 fs driver occupies the device 
nodes?

Thanks
Eberhard


More information about the systemd-devel mailing list