On Sat, 9 Jul 2016 19:47:07 +0300 =?utf-8?B?0JvRjtCx0LXQvSDQmtCw0YDQsNCy0LXQu9C+0LI=?= <[email protected]> wrote: > Hi, > > The problem I am trying to solve is that my laptop (ASUS Zenbook UX301LAA) is > using Intel RAID0 setup: > > 00:1f.2 RAID bus controller: Intel Corporation 82801 Mobile SATA Controller > [RAID mode] (rev 04) > > But it stopped working 5-6 months ago (3.3.2-5 was the last version that was > working out of the box). My understanding is that for some reason mdadm is > not recognizing the setup as being a IMSM RAID and I was forcing the RAID > assembly to bypass this check with the envvars until this was also broken by > the last mdadm update. > > BTW, I also tried another workaround but it does not work also for me with > the last debian mdadm package: > https://bbs.archlinux.org/viewtopic.php?id=202597 > > For the moment I downgraded the mdadm and put it on hold. > > Any other suggestions are welcome. >
You mentioned you tried the workaround from the arch forum, I suspect you meant https://bbs.archlinux.org/viewtopic.php?pid=1565988#p1565988 specifically. Keep in mind, that you need to rebuild the initramfs (via update-initramfs -u) after changing the udev rule. # lsinitramfs /boot/initrd.img-$(uname -r) | grep env shows that the initramfs installs the env utility under /bin/env and not /usr/bin/env. So this would need to be considered when changing 64-md-raid-assembly.rules. Maybe it's better to use --force instead, as upstream suggests. The attached rules files should do that (please double check). Please copy that to /etc/udev/rules.d/, update your initramfs via update-initramfs -u and try again. Regards, Michael *) It's usually also better to copy the file to /etc/udev/rules.d/ and edit it there, so the file is not overwritten on upgrades. -- Why is it that all of the instruments seeking intelligent life in the universe are pointed away from Earth?
# do not edit this file, it will be overwritten on update
# Don't process any events if anaconda is running as anaconda brings up
# raid devices manually
ENV{ANACONDA}=="?*", GOTO="md_inc_end"
# assemble md arrays
SUBSYSTEM!="block", GOTO="md_inc_end"
# handle potential components of arrays (the ones supported by md)
ENV{ID_FS_TYPE}=="linux_raid_member", GOTO="md_inc"
# "noiswmd" on kernel command line stops mdadm from handling
# "isw" (aka IMSM - Intel RAID).
# "nodmraid" on kernel command line stops mdadm from handling
# "isw" or "ddf".
IMPORT{cmdline}="noiswmd"
IMPORT{cmdline}="nodmraid"
ENV{nodmraid}=="?*", GOTO="md_inc_end"
ENV{ID_FS_TYPE}=="ddf_raid_member", GOTO="md_inc"
ENV{noiswmd}=="?*", GOTO="md_inc_end"
ENV{ID_FS_TYPE}=="isw_raid_member", GOTO="md_inc"
GOTO="md_inc_end"
LABEL="md_inc"
# remember you can limit what gets auto/incrementally assembled by
# mdadm.conf(5)'s 'AUTO' and selectively whitelist using 'ARRAY'
ACTION=="add|change", IMPORT{program}="/sbin/mdadm --force --incremental
--export $devnode --offroot ${DEVLINKS}"
ACTION=="add|change", ENV{MD_STARTED}=="*unsafe*", ENV{MD_FOREIGN}=="no",
ENV{SYSTEMD_WANTS}+="mdadm-last-resort@$env{MD_DEVICE}.timer"
ACTION=="remove", ENV{ID_PATH}=="?*", RUN+="/sbin/mdadm -If $name --path
$env{ID_PATH}"
ACTION=="remove", ENV{ID_PATH}!="?*", RUN+="/sbin/mdadm -If $name"
LABEL="md_inc_end"
signature.asc
Description: OpenPGP digital signature

