← Back to team overview

touch-packages team mailing list archive

[Bug 1508766] Re: /etc/machine-id not created if missing

 

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


References