Package: initramfs-tools
Version: 0.120
Severity: normal
Tags: d-i patch

Dear Maintainer,

while trying installing debian 8.2 onto a PCIe SSD (NVMe device) the
creation of the initrd is failing.

root@holodeck10:~# apt-get install -f.                                          
 
Reading package lists... Done                                                   
 
Building dependency tree.......                                                 
 
Reading state information... Done                                               
 
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.                  
 
3 not fully installed or removed.                                               
 
After this operation, 0 B of additional disk space will be used.                
 
Setting up linux-image-3.16.0-4-amd64 (3.16.7-ckt20-1+deb8u2) ...               
 
/etc/kernel/postinst.d/initramfs-tools:                                         
 
update-initramfs: Generating /boot/initrd.img-3.16.0-4-amd64                    
 
mkinitramfs: for device /dev/dm-0 missing nvme /sys/block/ entry                
 
mkinitramfs: workaround is MODULES=most                                         
 
mkinitramfs: Error please report the bug                                        
 
update-initramfs: failed for /boot/initrd.img-3.16.0-4-amd64 with 1.            
 
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1     
 
Failed to process /etc/kernel/postinst.d at 
/var/lib/dpkg/info/linux-image-3.16.0-4-amd64.postinst line 634.
dpkg: error processing package linux-image-3.16.0-4-amd64 (--configure):        
 
 subprocess installed post-installation script returned error exit status 1     
 

i found the missing support in /usr/share/initramfs-tools/hook-functions

This patch fixes the problem:

--- /usr/share/initramfs-tools/hook-functions   2016-01-12 14:36:21.471588490 
+0100
+++ hook-functions.orig 2016-01-12 14:28:29.675566666 +0100                     
 
@@ -364,10 +364,9 @@                                                            
 
        if [ "${block#md}" != "${block}" ]; then                                
 
            block=$(sed -ne 's/multipath/[/' -e 's/linear/[/' -e 
's/raid[0-9][0-9]*/[/' -e 's/\([hs]d[a-z][a-z]*\)[0-9][0-9]*/\1/g' -e 
'/^'${block}'
:/s/^[^[]*\[ \([^\[]*\)\[.*$/\1/p' </proc/mdstat)
        fi                                                                      
 
-       # luks or lvm on cciss or ida or nvme                                   
 
+       # luks or lvm on cciss or ida                                           
 
        if [ "${block#cciss}" != "${block}" ] \                                 
 
-       || [ "${block#ida}" != "${block}" ] \                                   
 
-       || [ "${block#nvme}" != "${block}" ] ; then                             
 
+       || [ "${block#ida}" != "${block}" ]; then                               
 
            block="${block%p*}"                                                 
 
        else                                                                    
 
            block=${block%%[0-9]*}                                            

Reply via email to