[Bug 1582899] Re: in-target: mkinitramfs: failed to determine device for /

TJ ubuntu at iam.tj
Wed May 18 02:11:52 UTC 2016

I mis-read the code in the previous comment; the condition is fine. To
figure it out I added some lines that do each test independently so as
to identify which of the three fails. That reveals the problem is the
block-device test:

Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.4.0-21-generic /boot/vmlinuz-4.4.0-21-generic
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.4.0-21-generic /boot/vmlinuz-4.4.0-21-generic
update-initramfs: Generating /boot/initrd.img-4.4.0-21-generic
+ local dir dev_node FSTYPE
+ local modules=
+ dir=/
+ [ ! -d /sys/devices/ ]
+ read dev mp fs opts rest
+ [ / = / ]
+ [ ext4 != rootfs ]
+ printf dev_node=/dev/sda3\nFSTYPE=ext4
+ break
+ eval dev_node=/dev/sda3
+ dev_node=/dev/sda3
+ FSTYPE=ext4
+ [ / != / ]
+ [ ext4 = ubifs ]
+ [ / = / ]
+ [ /dev/sda3 = /dev/root ]
+ [ -z /dev/sda3 ]
+ echo good dev_node
good dev_node
+ readlink -f /dev/sda3
+ dev_node2=/dev/sda3
+ echo readlink returned 0 dev_node2=/dev/sda3
readlink returned 0 dev_node2=/dev/sda3
+ [ -b /dev/sda3 ]
+ echo not a block device: /dev/sda3
not a block device: /dev/sda3
+ [ -z /dev/sda3 ]
+ readlink -f /dev/sda3
+ dev_node=/dev/sda3
+ [ -b /dev/sda3 ]
+ echo mkinitramfs: failed to determine device for /
mkinitramfs: failed to determine device for /
+ echo mkinitramfs: workaround is MODULES=most, check:
mkinitramfs: workaround is MODULES=most, check:
+ echo grep -r MODULES /etc/initramfs-tools/
grep -r MODULES /etc/initramfs-tools/
+ echo 

+ echo Error please report bug on initramfs-tools

The problem is the /dev/sda* nodes do not exist in the /target,
presumably because the host hasn't mounted devtmpfs to /target/dev.

That should be done by a call to hook-functions::setup_dev_linux()
before dep_add_modules_mount()

There's a waypoint for it in debian/bootstrap-base.postinst before the
install_kernel stage.

You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to base-installer in Ubuntu.

  in-target: mkinitramfs: failed to determine device for /

Status in base-installer package in Ubuntu:
Status in initramfs-tools package in Ubuntu:

Bug description:
  Sysadmin reported in #ubuntu (later #ubuntu-kernel) the 16.04 ubuntu-
  server failed due to being unable to configure linux-

  Lots of diagnostics and one SSH remote session later we seem to have
  narrowed it down to the installer.

  The cause of the error message appears to be that the symlink names in
  /dev/disk/by-uuid/  haven't been updated after the partitioning stage
  if there were pre-existing partitions and file-systems on the install
  device, *and* the sysadmin chose to format the existing partitions
  when selecting mountpoints.

  In this case a hardware RAID device presents:

  /dev/sda1 (/boot/)
  /dev/sda2 (swap)
  /dev/sda3 (/)

  From the shell I noticed:

  root at tmpstorage:/# ll /dev/disk/by-uuid/
  total 0
  lrwxrwxrwx 1 root root  10 May 17 19:39 130e4419-4bfd-46d2-87f9-62e5379bf591 -> ../../sda1
  lrwxrwxrwx 1 root root  10 May 17 19:39 127d3fa1-c07c-48e4-9e26-1b926d37625c -> ../../sda3
  lrwxrwxrwx 1 root root  10 May 17 19:39 78b88456-2b0b-4265-9ed2-5db61522d887 -> ../../sda2
  lrwxrwxrwx 1 root root   9 May 17 19:39 2016-04-20-22-45-29-00 -> ../../sr1
  drwxr-xr-x 6 root root 120 May 17 19:39 ..
  drwxr-xr-x 2 root root 120 May 17 19:39 .

  root at tmpstorage:/# blkid /dev/sda*
  /dev/sda: PTUUID="a84e60fd" PTTYPE="dos"
  /dev/sda1: UUID="61365714-8ff7-47a2-8035-8aed9e3191a6" TYPE="ext4" PARTUUID="a84e60fd-01"
  /dev/sda2: UUID="78b88456-2b0b-4265-9ed2-5db61522d887" TYPE="swap" PARTUUID="a84e60fd-02"
  /dev/sda3: UUID="75f68451-9472-47c7-9efc-ed032bfa9987" TYPE="ext4" PARTUUID="a84e60fd-03"

  More details to follow.

To manage notifications about this bug go to:

More information about the foundations-bugs mailing list