#721869 install appropriate linux-headers

#721869#5
Date:
2013-09-04 21:03:46 UTC
From:
To:
The CD images include linux-headers packages, but d-i does not install
these by default. I think that it should, so that if the user needs
to build out of tree kernel modules they don't need to jump through
the additional hoops of learning that Debian has separated kernel
headers and how to install them. If we begin installing it by default,
users should come to just expect that they can build kernel modules from
source without doing anything more than a make, which will be a good
thing.

#721869#10
Date:
2013-09-04 22:32:33 UTC
From:
To:
Which distributions *don't* do that?

Only if they also install a toolchain (whichever task that is).

This should also be done by installing the matching metapackage
(linux-headers-<flavour>) rather than the ABI-specific package.

Ben.

#721869#15
Date:
2013-09-04 22:48:22 UTC
From:
To:
Which distro does? A normal user does not need to build its own modules.
We also don't install a toolchain, aka build-essential.

Bastian

#721869#20
Date:
2013-09-05 11:28:37 UTC
From:
To:
Joey Hess <joeyh@debian.org> writes:

Really?  I seriously doubt that.  It's about as good as making it easier
for the users to replace the default libc or init system with a non-
Debian package.


Bjørn

#721869#25
Date:
2013-09-05 13:24:57 UTC
From:
To:
Bjørn Mork wrote:

I have never needed to replace libc in order to make my laptop's wifi
work.

#721869#30
Date:
2013-09-05 13:44:01 UTC
From:
To:
I agree with Joey here. Imho gcc & linux-headers should be installed
by default when a desktop-like installation/tasks are chosen.

My latest ultra notebook doesn't have ethernet port and needs
out-of-the-tree wifi drivers compiled.
I fetched the tarball off github on my phone & transferred it to that
notebook over USB and then compiled.
I managed to compiled because I joyfully discovered that default
Ubuntu installations do install gcc and linux-headers unconditionally.
This was my first time experience where drivers didn't work and I
really had no other connectivity options, which I discovered only
after completing the installation.

Regards,

Dmitrijs.

#721869#35
Date:
2013-09-05 13:44:01 UTC
From:
To:
I agree with Joey here. Imho gcc & linux-headers should be installed
by default when a desktop-like installation/tasks are chosen.

My latest ultra notebook doesn't have ethernet port and needs
out-of-the-tree wifi drivers compiled.
I fetched the tarball off github on my phone & transferred it to that
notebook over USB and then compiled.
I managed to compiled because I joyfully discovered that default
Ubuntu installations do install gcc and linux-headers unconditionally.
This was my first time experience where drivers didn't work and I
really had no other connectivity options, which I discovered only
after completing the installation.

Regards,

Dmitrijs.

#721869#40
Date:
2013-09-05 14:07:28 UTC
From:
To:
Dmitrijs Ledkovs <xnox@debian.org> writes:

And this is the preferred solution, which you would recommend to any new
user?  How about having the wifi device support by Debian instead?
Wouldn't that be better?


Bjørn

#721869#45
Date:
2013-09-05 14:29:22 UTC
From:
To:
Dmitrijs Ledkovs wrote:

Noticing a "this laptop worked for me on Ubuntu" page that treated
installing necessary out of kernel modules as (rightly) no big deal, and
comparing it to general experiences with it being a PITA in a similar
situation with Debian was part of my reason for concluding this should
be done.

Note that if the user installed Debian from a USB stick with no network,
they are left with an apt configuration that does not allow apt-get
install to work after the installation even if the USB stick is plugged
in. This would be nice to fix in general, but leaving the user with
everything they are going to need to get a network connection
pre-installed is a reasonable workaround for d-i to make.

It may make sense to only do it if d-i detects there is no network. At
least lack of networking is the most annoying case. This would also give
it a rationalle for installing make and gcc.

(IIRC discover already installs this stuff if it detects hardware
that is supported by out of tree modules packaged in Debian, which it
automatically builds from source.)

#721869#50
Date:
2013-09-05 15:06:28 UTC
From:
To:
Sure, but there will always be hardware which is not supported out of
the box by stable debian release.
My wifi driver is on it's way and will land in either 3.12 or 3.13 kernels.
Of course it's not the preferred solution, but rather a fall-back
resort that Debian thought of, and not simply ignored.

Regards,

Dmitrijs.

#721869#55
Date:
2013-09-05 17:24:07 UTC
From:
To:
Quoting Bjørn Mork (bjorn@mork.no):

I'm sorry to play this game, but have you noticed who sent this bug report?

Then, have you ever looked at the changelog of any D-I package?


In short, if Joey if doing this suggestion, I would be tempted to give
him a bit of credit for having good reasons to do it. Ha gave a few in
the bug report rationale as well as in the thread that happned just
befor ehe reported the bug.

It's quite some time  since I hadn't to build out-of-tree modules for
hardware support but my understanding is that this is made fairly easy
by a few tools *assuming one has a toolchain and the Linux kernel
headers installed*.

So, it's probably less overkill than it may seem at first glance to
imagine that installing headers by default may help in some cases.

#721869#60
Date:
2013-09-05 19:58:32 UTC
From:
To:
Christian PERRIER <bubulle@debian.org> writes:

Yes, which is all the more reason to expect a proper bug report.

Yes, it is easy. But so should installing additional, non-default,
packages be.  If it's not, then that's a real installer bug.  (never
mind lack of networking - the initial install had to use some sort of
medium)

I hope and expect most Linux users never needing kernel headers.  And if
they do need them, then the headers should be pulled in by one of the
-dkms packages.  I do not think it is a good idea to encourage users or
driver authors to keep drivers out of Debian.


Bjørn

#721869#65
Date:
2013-09-06 07:20:35 UTC
From:
To:
How does the dependency look like to get headers for the _currently_
running kernel and not the latest one available/installed?
Considering I can upgrade to the new kernel packages a few times
before rebooting.

Regards,

Dmitrijs.

#721869#70
Date:
2013-09-06 08:58:54 UTC
From:
To:
Dmitrijs Ledkovs <xnox@debian.org> writes:

This is way outside what you can expect to be supported.

Sitting on the outside here, I am puzzled to see this belief that Debian
should support all sorts of user modifications to the kernel package.
Sure, I appreciate the fact that it is easy to modify any package, using
old packages long gone, or installing software from a 3rd party.  I do
all three.  But I don't expect anyone to support these modifications.

And if there is some kernel module missing, then my experience is that
the excellent Debian kernel team is more than happy to add it.  Sending
a bug report with a patch or a list of mainline git commits is actually
easier than remembering to rebuild your out-of-three module on every
kernel upgrade.  This is what Debian users should be pointed to.  Not a
howto telling you to build some strange driver from untrusted sources
yourself.  That's just crazy.

Still, I do appreciate the freedom to do crazy stuff.  But I react on
the demands that it should be easier, because *any* level of support can
be seen as an OK from Debian.  And using random out-of-tree drivers is
definitely not OK in general.


Bjørn

#721869#75
Date:
2013-09-07 19:08:39 UTC
From:
To:
I wouldn't worry about that.  Users likely want to be using the latest
kernel anyway, and if they for some reason aren't and submit a bug
report about modules not working, they can be instructed to either
reboot or install the linux-headers for their specific kernel version.

This isn't at all about modifying the kernel package itself.  It is
about building kernel modules available in many separate packages.

Best wishes,
Mike