Comment 0 for bug 1508766

Revision history for this message
Jason Gerard DeRose (jderose) wrote :

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 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.