Hey, I have this test.service unit: [Unit]
[Install] WantedBy=multi-user.target [Service] Type=oneshot ExecStart=/bin/ls -lR RootImage=/fs MountAPIVFS=no The file /fs has a MBR partition table: Disk /dev/loop0: 1.1 MiB, 1192960 bytes, 2330 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x3990f3e6 Device Boot Start End Sectors Size Id Type /dev/loop0p1 * 34 2329 2296 1.1M 83 Linux In the only partition a squashfs file system containing: bin bin/ls boot dev etc etc/group etc/nsswitch.conf etc/passwd home lib lib64 lib64/ld-linux-x86-64.so.2 lib/libc.so.6 lib/libdl.so.2 lib/libpcre.so.3 lib/libpthread.so.0 lib/libselinux.so.1 media opt proc root run sbin srv sys tmp usr usr/bin usr/lib usr/lib64 usr/lib/x86_64-linux-gnu usr/sbin var var/tmp However, starting the service fails with abort: Jul 30 13:25:42 machine systemd[1]: Starting test.service... Jul 30 13:25:42 machine kernel: loop0: p1 Jul 30 13:25:42 machine systemd[1]: test.service: Main process exited, code=killed, status=6/ABRT Jul 30 13:25:42 machine systemd[1]: Failed to start test.service. Jul 30 13:25:42 machine systemd[1]: test.service: Unit entered failed state. Jul 30 13:25:42 machine systemd[1]: test.service: Failed with result 'signal'. It looks like systemd successfully mounts the file system, but then suddenly aborts before even looking inside the file system: 2761 mount("/dev/loop1p1", "/run/systemd/unit-root", "squashfs", MS_NODEV, NULL <unfinished ...> 2761 <... mount resumed> ) = 0 2761 rt_sigprocmask(SIG_UNBLOCK, [ABRT], <unfinished ...> 2761 <... rt_sigprocmask resumed> NULL, 8) = 0 2761 rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1], [], 8) = 0 2761 getpid( <unfinished ...> 2761 <... getpid resumed> ) = 2761 2761 gettid( <unfinished ...> 2761 <... gettid resumed> ) = 2761 2761 tgkill(2761, 2761, SIGABRT <unfinished ...> 2761 <... tgkill resumed> ) = 0 2761 rt_sigprocmask(SIG_SETMASK, [], <unfinished ...> 2761 <... rt_sigprocmask resumed> NULL, 8) = 0 2761 --- SIGABRT {si_signo=SIGABRT, si_code=SI_TKILL, si_pid=2761, si_uid=0} --- 2761 +++ killed by SIGABRT +++ The file system can be mounted by hand with losetup and mount, and /bin/ls can be run from chroot. So I think everything should be OK but RootImage still does not work and the error messages are useless. Perhaps I miss some RootImage requirements? What exactly they are? The same file system image without any partition table does not work either. This is with Debian systemd version 234-2. -Topi _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/systemd-devel