Ok, so Oleg and I were looking at a solution, and figured we'd give the "maybe it just works" path a try. I installed a system, it installed onto /dev/sda (as this bug shows). I then 'apt-get install multipath-tools-boot'
I rebooted, with the 'root=LABEL=cloudimg-rootfs' on the cmdline (as normal). It died in initramfs unable to find root. The full bootlog at http://paste.ubuntu.com/11547135/ . The multipath-tools-boot package puts some code into the initramfs (/usr/share/initramfs-tools/scripts/local-top/multipath) that does this: | if [ -x /sbin/kpartx -a -x /sbin/dmsetup ]; then | /sbin/dmsetup ls --target multipath --exec "/sbin/kpartx -a -p -part" >/dev/null | fi That looks all well and good. In the initramfs I did some debugging: (initramfs) /sbin/dmsetup ls --target multipath 1IBM IPR-0 5EC2A900000000A0 (252, 1) 1IBM IPR-0 5EC2A90000000020 (252, 2) 1IBM IPR-0 5EC2A90000000080 (252, 5) 1IBM IPR-0 5EC2A90000000060 (252, 3) 1IBM IPR-0 5EC2A900000000C0 (252, 4) 1IBM IPR-0 5EC2A90000000040 (252, 0) And then further debug, I find that dmsetup is calling kpartx seemingly correctly, but kpartx is I think messing up. I was able to fix this by booting with: root=UUID=f7c3b31d-3411-420e-a57d-9318e43248ba ro console=hvc0 break=post-multipath Then doing: (initramfs) cat /tmp/myprog #!/bin/sh tgt="$1" fixed=$(echo "$tgt" | sed 's, ,\\x20,g') { echo "input: '$tgt'" echo "fixed: '$fixed'" echo /sbin/kpartx -a -v -p -part "$fixed" /sbin/kpartx -a -v -p -part "$fixed" ret=$? echo $ret } >> /tmp/log 2>&1 exit $ret (initramfs) rm /tmp/log (initramfs) /sbin/dmsetup ls --target multipath --exec "/bin/myprog" (initramfs) cat /tmp/log input: '/dev/mapper/1IBM IPR-0 5EC2A900000000A0' fixed: '/dev/mapper/1IBM\x20\x20\x20\x20\x20IPR-0\x20\x20\x205EC2A900000000A0' /sbin/kpartx -a -v -p -part /dev/mapper/1IBM\x20\x20\x20\x20\x20IPR-0\x20\x20\x205EC2A900000000A0 0 input: '/dev/mapper/1IBM IPR-0 5EC2A90000000020' fixed: '/dev/mapper/1IBM\x20\x20\x20\x20\x20IPR-0\x20\x20\x205EC2A90000000020' /sbin/kpartx -a -v -p -part /dev/mapper/1IBM\x20\x20\x20\x20\x20IPR-0\x20\x20\x205EC2A90000000020 0 input: '/dev/mapper/1IBM IPR-0 5EC2A90000000080' fixed: '/dev/mapper/1IBM\x20\x20\x20\x20\x20IPR-0\x20\x20\x205EC2A90000000080' /sbin/kpartx -a -v -p -part /dev/mapper/1IBM\x20\x20\x20\x20\x20IPR-0\x20\x20\x205EC2A90000000080 add map 1IBM IPR-0 5EC2A90000000080-part1 (252:6): 0 16384 linear /dev/mapper/1IBM\x20\x20\x20\x20\x20IPR-0\x20\x20\x205EC2A90000000080 2048 add map 1IBM IPR-0 5EC2A90000000080-part2 (252:7): 0 554268639 linear /dev/mapper/1IBM\x20\x20\x20\x20\x20IPR-0\x20\x20\x205EC2A90000000080 18432 0 input: '/dev/mapper/1IBM IPR-0 5EC2A90000000060' fixed: '/dev/mapper/1IBM\x20\x20\x20\x20\x20IPR-0\x20\x20\x205EC2A90000000060' /sbin/kpartx -a -v -p -part /dev/mapper/1IBM\x20\x20\x20\x20\x20IPR-0\x20\x20\x205EC2A90000000060 0 input: '/dev/mapper/1IBM IPR-0 5EC2A900000000C0' fixed: '/dev/mapper/1IBM\x20\x20\x20\x20\x20IPR-0\x20\x20\x205EC2A900000000C0' /sbin/kpartx -a -v -p -part /dev/mapper/1IBM\x20\x20\x20\x20\x20IPR-0\x20\x20\x205EC2A900000000C0 0 input: '/dev/mapper/1IBM IPR-0 5EC2A90000000040' fixed: '/dev/mapper/1IBM\x20\x20\x20\x20\x20IPR-0\x20\x20\x205EC2A90000000040' /sbin/kpartx -a -v -p -part /dev/mapper/1IBM\x20\x20\x20\x20\x20IPR-0\x20\x20\x205EC2A90000000040 Then ... after that, I have the devices I needed: (initramfs) blkid /dev/sda2: LABEL="cloudimg-rootfs" UUID="f7c3b31d-3411-420e-a57d-9318e43248ba" TYPE="ext4" /dev/sdg2: LABEL="cloudimg-rootfs" UUID="f7c3b31d-3411-420e-a57d-9318e43248ba" TYPE="ext4" /dev/mapper/1IBM\x20\x20\x20\x20\x20IPR-0\x20\x20\x205EC2A90000000080-part2: LABEL="cloudimg-rootfs" UUID="f7c3b31d-3411-420e-a57d-9318e43248ba" TYPE="ext4" I exited from there, the remaining boot took over, and mounted the device mapper device as /. All happy. So, if there weren't a bug in kpartx we'd have a very easy solution in just installing the multipath-tools-boot package. That said, it looks like user_friendly_names in /etc/multipath.conf might be relevant. -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1371634 Title: block devices appear twice Status in curtin package in Ubuntu: Confirmed Status in linux package in Ubuntu: Invalid Status in multipath-tools package in Ubuntu: Confirmed Bug description: $ sudo blkid /dev/sr0: LABEL="Ubuntu-Server 14.04 LTS ppc64el" TYPE="iso9660" /dev/sda2: UUID="795a6e14-ea4e-4718-9e98-c6df3696920c" TYPE="ext4" /dev/sda3: UUID="0a91d81f-6a16-4b96-a92c-11ca8bdc4bf4" TYPE="swap" /dev/sdb2: UUID="1d14c1f3-716f-4fb8-9070-d321b39ffcb3" TYPE="ext4" /dev/sdb3: UUID="9c228177-d65c-4d19-a462-db1891e9781e" TYPE="swap" /dev/sdg2: UUID="795a6e14-ea4e-4718-9e98-c6df3696920c" TYPE="ext4" /dev/sdg3: UUID="0a91d81f-6a16-4b96-a92c-11ca8bdc4bf4" TYPE="swap" /dev/sdh2: UUID="1d14c1f3-716f-4fb8-9070-d321b39ffcb3" TYPE="ext4" /dev/sdh3: UUID="9c228177-d65c-4d19-a462-db1891e9781e" TYPE="swap" I'm not sure what exactly those block devices are (as in if they're raided in hardware or they actually represent physical spinning disks). But I do know that writing data to sda causes that data to be readable from sdg. The same is true: sda -> sdg sdb -> sdh That is what causes those UUIDs to be similar. Everything is functional, you just have to know that if your root device is /dev/sdg that you should probably not write data to /dev/sda thinking you can use it as a disk. ProblemType: Bug DistroRelease: Ubuntu 14.04 Package: linux-image-3.13.0-35-generic 3.13.0-35.62 ProcVersionSignature: Ubuntu 3.13.0-35.62-generic 3.13.11.6 Uname: Linux 3.13.0-35-generic ppc64le AlsaDevices: Error: command ['ls', '-l', '/dev/snd/'] failed with exit code 2: ls: cannot access /dev/snd/: No such file or directory AplayDevices: Error: [Errno 2] No such file or directory: 'aplay' ApportVersion: 2.14.1-0ubuntu3.4 Architecture: ppc64el ArecordDevices: Error: [Errno 2] No such file or directory: 'arecord' CRDA: Error: [Errno 2] No such file or directory: 'iw' CurrentDmesg: [ 88.736220] init: plymouth-upstart-bridge main process ended, respawning Date: Fri Sep 19 14:31:20 2014 HibernationDevice: RESUME=UUID=9c228177-d65c-4d19-a462-db1891e9781e Lsusb: Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub ProcEnviron: TERM=screen PATH=(custom, no user) XDG_RUNTIME_DIR=<set> LANG=en_US.UTF-8 SHELL=/bin/bash ProcFB: 0 radeondrmfb ProcKernelCmdLine: root=UUID=1d14c1f3-716f-4fb8-9070-d321b39ffcb3 ro console=hvc0 BOOTIF=01-6c-ae-8b-6a-a0-88 quiet RelatedPackageVersions: linux-restricted-modules-3.13.0-35-generic N/A linux-backports-modules-3.13.0-35-generic N/A linux-firmware 1.127.6 RfKill: Error: [Errno 2] No such file or directory: 'rfkill' SourcePackage: linux UpgradeStatus: No upgrade log present (probably fresh install) To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/curtin/+bug/1371634/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp