I'm surprised the root filesystem is read-only at the point where systemd starts. Isn't it remounted rw by the initramfs? (It is in Debian.)
>From context on lp:1508697 you're using some sort of "golden image" creation process: install once, delete unique IDs and other transient state, then dd the image onto multiple machines and let the boot process re-populate those unique IDs. If your image creation process truncated /etc/machine-id to 0 bytes instead of deleting it altogether, then systemd would be able to do tricks with bind-mounts to populate it; that's what Debian Live does. However, I'm not sure how/whether the newly generated ID gets written to the filesystem when it becomes rw. -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to systemd in Ubuntu. https://bugs.launchpad.net/bugs/1508766 Title: /etc/machine-id not created if missing Status in systemd package in Ubuntu: New Bug description: If /etc/machine-id is missing at boot, systemd does not create it. I came across lp:1387090 in which Martin Pitt mentions that it should be created if missing, but is unsure why this doesn't work. I'm likewise unsure why it doesn't work, but this bit from dmesg makes me think it *might* be because systemd is trying to do so while the rootfs is still mounted read-only, before it gets remounted read- write: [ 19.240451] systemd[1]: System cannot boot: Missing /etc/machine-id and /etc is mounted read-only. [ 19.240464] systemd[1]: Booting up is supported only when: [ 19.240466] systemd[1]: 1) /etc/machine-id exists and is populated. [ 19.240467] systemd[1]: 2) /etc/machine-id exists and is empty. [ 19.240468] systemd[1]: 3) /etc/machine-id is missing and /etc is writable. A missing /etc/machine-id file has broad consequences for the boot process. As one example, the Journal Service doesn't get started. This problem appears to have greater impact now that on Wily (desktop) /var/lib/dbus/machine-id is a symlink to /etc/machine-id. Previously the system dbus instance would generate the machine-id with dbus- uidgen if the file was missing, but on Wily desktop it wont. Note that on Wily server /var/lib/dbus/machine-id is a regular file, is not a symlink to /etc/machine-id. I filed lp:1508697 about this separate issue as it seems strange for this to be different between Wily desktop and server. Thanks! ProblemType: Bug DistroRelease: Ubuntu 15.10 Package: systemd 225-1ubuntu9 ProcVersionSignature: Ubuntu 4.2.0-16.19-generic 4.2.3 Uname: Linux 4.2.0-16-generic x86_64 ApportVersion: 2.19.1-0ubuntu3 Architecture: amd64 CurrentDesktop: Unity Date: Wed Oct 21 19:57:58 2015 JournalErrors: No journal files were found. -- No entries -- MachineType: System76, Inc. Gazelle Professional ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.2.0-16-generic root=UUID=424ed0f3-306d-4302-b58c-6b1e7adb7c74 ro quiet splash vt.handoff=7 SourcePackage: systemd UdevLog: Error: [Errno 2] No such file or directory: '/var/log/udev' UpgradeStatus: No upgrade log present (probably fresh install) dmi.bios.date: 05/16/2012 dmi.bios.vendor: American Megatrends Inc. dmi.bios.version: 4.6.5 dmi.board.asset.tag: Tag 12345 dmi.board.name: Gazelle Professional dmi.board.vendor: System76, Inc. dmi.board.version: gazp7 dmi.chassis.asset.tag: No Asset Tag dmi.chassis.type: 9 dmi.chassis.vendor: No Enclosure dmi.chassis.version: N/A dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvr4.6.5:bd05/16/2012:svnSystem76,Inc.:pnGazelleProfessional:pvrgazp7:rvnSystem76,Inc.:rnGazelleProfessional:rvrgazp7:cvnNoEnclosure:ct9:cvrN/A: dmi.product.name: Gazelle Professional dmi.product.version: gazp7 dmi.sys.vendor: System76, Inc. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1508766/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp