(fakeraid) root device not activated during boot
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
dmraid (Ubuntu) |
Fix Released
|
Critical
|
Phillip Susi | ||
multipath-tools (Ubuntu) |
Fix Released
|
Critical
|
Phillip Susi |
Bug Description
I have installed Precise Pangolin Alpha 2 to a fakeraid stripe, but ubuntu fails to boot after install. When choosing recovery option, the boot process times out waiting for root device and drops to busybox shell. Running "dmraid -ay" and exiting busybox resumes boot and it continues normally.
---
The problems are:
* There are no initramfs hooks for kpartx, so kpartx is not available during boot.
the following files are needed:
/sbin/kpartx
/lib/udev/kpartx_id
/lib/udev/
/lib/udev/
* The hook for dmraid udev rules is wrong:
The script /usr/share/
tries to add:
/lib/udev/
but the existing file is called:
/lib/udev/
After fixing the above two issues, system boots normally.
* dmraid-activate is sometimes called with full device name
dmraid-activate expecte device name withouth "/dev/", e.g. "sda" not "/dev/sda". However the script
/usr/share/
calls dmraid-activate using the full device name and path.
* There might also be antoher bug on line 100 in dmraid-activate (in the awk script):
# Heximal to decimal conversion array
for (i = 0; i <= 9; i++) hex2dec[i] = i
hex2dec["a"] = 10; hex2dec["b"] = 11; hex2dec["c"] = 12
hex2dec["e"] = 13; hex2dec["d"] = 14; hex2dec["f"] = 15;
Element "e" and "d" appears to have been switched. I'm not entirely sure what the script is trying to do though, and that part of the script does not affect my system.
---
ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: dmraid 1.0.0.rc16-
ProcVersionSign
Uname: Linux 3.2.0-17-generic x86_64
NonfreeKernelMo
ApportVersion: 1.93-0ubuntu2
Architecture: amd64
Date: Mon Feb 27 12:59:55 2012
InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Alpha amd64 (20120201.2)
ProcEnviron:
PATH=(custom, user)
LANG=sv_SE.UTF-8
SHELL=/bin/bash
SourcePackage: dmraid
UpgradeStatus: Upgraded to precise on 2012-02-21 (5 days ago)
Related branches
- Serge Hallyn: Approve
- Ubuntu branches: Pending requested
-
Diff: 26 lines (+7/-1)2 files modifieddebian/changelog (+6/-0)
debian/control (+1/-1)
- Phillip Susi (community): Needs Resubmitting
- Serge Hallyn: Needs Fixing
- Ubuntu branches: Pending requested
-
Diff: 185 lines (+114/-6)7 files modifieddebian/changelog (+6/-0)
debian/control (+7/-1)
debian/initramfs/hooks (+1/-5)
debian/initramfs/kpartx.hook (+20/-0)
debian/kpartx-boot.postinst (+34/-0)
debian/kpartx-boot.postrm (+45/-0)
debian/rules (+1/-0)
summary: |
- dmraid-activate fails to activate (fakeraid) root device during boot + (fakeraid) root device not activated during boot |
description: | updated |
Changed in dmraid (Ubuntu): | |
status: | Triaged → In Progress |
assignee: | nobody → Phillip Susi (psusi) |
Changed in multipath-tools (Ubuntu): | |
status: | New → Triaged |
importance: | Undecided → High |
assignee: | nobody → Phillip Susi (psusi) |
Changed in dmraid (Ubuntu): | |
importance: | High → Critical |
Changed in multipath-tools (Ubuntu): | |
importance: | High → Critical |
Changed in dmraid (Ubuntu): | |
milestone: | none → ubuntu-12.04 |
Changed in multipath-tools (Ubuntu): | |
milestone: | none → ubuntu-12.04 |
The activate_array function works, it's just that it runs "dmraid -ay -i -p -Z" and the -p option prevents partitions to be activated. Changing that doesn't work either though, since it looks like dmraid-activate is never called. I'm not sure how dmraid is supposed to activate the root device during boot in that case?