Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.kernel > #53641 > unrolled thread

initramfs-tools support for nvme in Linux 4.4+

Started byBen Hutchings <ben@decadent.org.uk>
First post2016-04-17 02:20 +0200
Last post2016-04-17 19:20 +0200
Articles 3 — 2 participants

Back to article view | Back to linux.debian.kernel


Contents

  initramfs-tools support for nvme in Linux 4.4+ Ben Hutchings <ben@decadent.org.uk> - 2016-04-17 02:20 +0200
    Re: initramfs-tools support for nvme in Linux 4.4+ Philipp Kern <pkern@debian.org> - 2016-04-17 17:50 +0200
      Re: initramfs-tools support for nvme in Linux 4.4+ Ben Hutchings <ben@decadent.org.uk> - 2016-04-17 19:20 +0200

#53641 — initramfs-tools support for nvme in Linux 4.4+

FromBen Hutchings <ben@decadent.org.uk>
Date2016-04-17 02:20 +0200
Subjectinitramfs-tools support for nvme in Linux 4.4+
Message-ID<roIBs-3Bd-5@gated-at.bofh.it>

[Multipart message — attachments visible in raw view] — view raw

By default, initramfs-tools includes various classes of driver modules
in the initramfs based on the directory they are installed in.  In
particular, most block drivers that don't belong to another subsystem
such as SCSI are installed in
/lib/modules/<kversion>/kernel/drivers/block.  That installation
directory is derived from the subdirectory in the Linux source tree
that contains the driver source.

Unfortunately the nvme driver moved from drivers/block to drivers/nvme
in Linux 4.4, and initramfs-tools only knows about this since v0.121.
So long as you install the kernel and initramfs-tools from the same
suite, everything is fine, but if you use jessie and install a newer
kernel from jessie-backports or build your own custom kernel, nvme will
be missing.

The obvious approach of adding initramfs-tools to jessie-backports
won't work, as the current version requires upgrading busybox,
e2fsprogs, klibc and (for those that still use it) sysvinit.

The fix is a one-liner and works for old and new kernels.  Does this
seem suitable for inclusion in the next jessie point release?

Ben.

-- 
Ben Hutchings
Make three consecutive correct guesses and you will be considered an expert.

[toc] | [next] | [standalone]


#53657

FromPhilipp Kern <pkern@debian.org>
Date2016-04-17 17:50 +0200
Message-ID<roX7t-6DU-5@gated-at.bofh.it>
In reply to#53641
On Sun, Apr 17, 2016 at 01:16:42AM +0100, Ben Hutchings wrote:
> By default, initramfs-tools includes various classes of driver modules
> in the initramfs based on the directory they are installed in.  In
> particular, most block drivers that don't belong to another subsystem
> such as SCSI are installed in
> /lib/modules/<kversion>/kernel/drivers/block.  That installation
> directory is derived from the subdirectory in the Linux source tree
> that contains the driver source.
> 
> Unfortunately the nvme driver moved from drivers/block to drivers/nvme
> in Linux 4.4, and initramfs-tools only knows about this since v0.121.
> So long as you install the kernel and initramfs-tools from the same
> suite, everything is fine, but if you use jessie and install a newer
> kernel from jessie-backports or build your own custom kernel, nvme will
> be missing.
> 
> The obvious approach of adding initramfs-tools to jessie-backports
> won't work, as the current version requires upgrading busybox,
> e2fsprogs, klibc and (for those that still use it) sysvinit.
> 
> The fix is a one-liner and works for old and new kernels.  Does this
> seem suitable for inclusion in the next jessie point release?

Just considering nvme in addition to block and gracefully coping with it
not existing seems fine to me.

Kind regards
Philipp Kern

[toc] | [prev] | [next] | [standalone]


#53661

FromBen Hutchings <ben@decadent.org.uk>
Date2016-04-17 19:20 +0200
Message-ID<roYwy-7T4-1@gated-at.bofh.it>
In reply to#53657

[Multipart message — attachments visible in raw view] — view raw

On Sun, 2016-04-17 at 17:48 +0200, Philipp Kern wrote:
> On Sun, Apr 17, 2016 at 01:16:42AM +0100, Ben Hutchings wrote:
> > 
> > By default, initramfs-tools includes various classes of driver modules
> > in the initramfs based on the directory they are installed in.  In
> > particular, most block drivers that don't belong to another subsystem
> > such as SCSI are installed in
> > /lib/modules//kernel/drivers/block.  That installation
> > directory is derived from the subdirectory in the Linux source tree
> > that contains the driver source.
> > 
> > Unfortunately the nvme driver moved from drivers/block to drivers/nvme
> > in Linux 4.4, and initramfs-tools only knows about this since v0.121.
> > So long as you install the kernel and initramfs-tools from the same
> > suite, everything is fine, but if you use jessie and install a newer
> > kernel from jessie-backports or build your own custom kernel, nvme will
> > be missing.
> > 
> > The obvious approach of adding initramfs-tools to jessie-backports
> > won't work, as the current version requires upgrading busybox,
> > e2fsprogs, klibc and (for those that still use it) sysvinit.
> > 
> > The fix is a one-liner and works for old and new kernels.  Does this
> > seem suitable for inclusion in the next jessie point release?
> Just considering nvme in addition to block and gracefully coping with it
> not existing seems fine to me.

Thanks.  I'll prepare an update fixing this (#807000).  I'll also fix
bug #814965 - the underlying bug is old but it was harmless until a
change in version 0.119 ("Always generate ORDER files in mkinitramfs").

Ben.

-- 
Ben Hutchings
Make three consecutive correct guesses and you will be considered an expert.

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.kernel


csiph-web