[sf-lug] Subject: Re: debian base system (initially without X11) install progress (or lack there of!) report

Rick Moen rick at linuxmafia.com
Tue Dec 11 17:43:50 PST 2018


Quoting Alex Kleider (akleider at sonic.net):

> I've discovered how to make connectivity work during installation of
> Debian Stretch but upon reboot 'all is lost.' (i.e. neither ethernet
> or wifi work) I have searched the Debian Documentation and have not
> found anything that addresses this problem. For example,
> /etc/network/interfaces contains an entry only for 'lo', none for
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> ethernet or wifi.  By making additions I've managed to get ethernet
> working but wifi needs more work!

First, I wanted to commend you for doing one important thing, the thing
I called treating diagnosticians as if they were from Missouri, the
Show-Me State.  Until I reached the underlined passage, I was feeling
familiar frustration I always feel when I'd love to help a querent but
he/she is still stuck on useless non-raw-data descriptions like '[X]
doesn't work' that leave one impossible to proceed.

But happily, I'm pretty sure the above-underlined datum confirms a
suspicion I had last night, but was too tired and occupied to get to.
Let's review what happens with hardware recognition:

All modern Linux systems including distro installers do quite a lot of
automatic hardware recognition.  This starts with a chip such as the
PCI controller chip registering the existence of a hardware component
(such as circuitry driving your ethernet interface or your wireless
interface).  From memory, so details may be a little shakey:  Some
hotplug handler process is running (a file named in
/proc/sys/kernel/hotplug, that is traditionally /sbin/hotplug but
doesn't need to be) that picks up kevents (kernel events) like the
kernel suddenly being told by the PCI controller chip that 'Hey, 
I just noticed PCI device [vendor#]:[device#].'  The hotplug handler
looks up the vendor#device# combination in the local cached copy of the
standard PCI IDs lookup table (https://pci-ids.ucw.cz), to detrmine what
the new thing is and what Linux driver will be required for it.  It then
does the equivalent of 'modprobe [drivername]', where modprobe is theis
thing for loading modules and any dependency modules into the running
kernel: https://wiki.debian.org/modprobe

As mentioned, some driver software comes with built-in information that,
e.g., 'I'll need a binary firmware blob at filesystem location
/lib/firmware/iwlwifi-5000-[X].ucode before I can initialise my
hardware'.  The hotplug handler or (maybe?) the driver itself tries to
load the BLOB at the time modprobe is attempted.  If the BLOB is missing
or invalid, modprobe fails.  If not, modprobe succeeds.  Either way, the
modprobe event gets recorded into /var/log/messages.

This process of loading a driver module (and BLOB, if needed) into the
running kernel results, in the case of network interface drivers, in the
kernel now adding a valid network interface to the ones it knows about.
It would be included in the output of 'ip a' or '/sbin/ifconfig -a'.
_But_, this doesn't configure the interface, i.e., assign an IP address
to it.  In that sense, the interface will be initially 'down'.

I'm willing to bet that your Debian system will show at least two more
valid network interfaces in the 'ip a' output, beyond the built-in
'lo'=loopback virtual network interface that's internal to all TCP/IP
hosts.  They're just unconfigured.

Why, you ask?  Ah, that's the lineus bottomus:  Because you didn't
_revisit_ the distro installer screen that does network interface
recognition after supplying the missing firmware files.  D'oh!

Every distro installer program I can think of, at least the Debian
d-i installer, the RHEL/CentOS/Fedora anaconda installer, and such lot,
has a screen that autoprobes network interfaces (doing the modprobe
thing behind the scenes).  The screen reports results, and you are then
done with finding network interfaces.   If the report says 'Hey, dude,
the following two interfaces can't be initialised for lack of firmware
files', and you then go fetch those, you've done a good and necessary
thing _but_ you really ought to, aat that point, go backwards a screen
in the installer and do network detection and configuration again.
Otherwise, you'll end up with a valid and known, but unconfigured
('down') network interface.  Which is what you have.

Because the network detection and configuration screen, on the only time
you ran through it during installation, didn't (yet) see the ethernet
and wireless interfaces as usable, for lack of firmware at that moment,
it write a /etc/network/interfaces file on the installed system that
didn't use them.

You _could_ fix up your installed system after the fact.  Debian recommends
this: https://www.debian.org/doc/manuals/debian-reference/ch05.en.html#_the_modern_network_configuration_without_gui

Or you could re-run the installer, and this time make sure you do the
network detection and configuration screen at least once _after_ the
installation system has the firmware files where modprobe needs them to
be.

> The following comment from Rick caught my eye:
> """
> ... I also wouldn't send a Linux novice to
> Debian in the first place.
> """
> Perhaps I am simply out of my depths.  Where would you send 'a Linux
> novice?'
> This whole project was motivated by your (Rick's) advice to custom
> install only what is needed (rather than do a "forehead install".)

One, you're definitely not a Linux novice.

That having been said, two, I keep the answer to that question here, but
the Web site is still extremeley sluggish because I've only barely put a
dent in the being-clobbered-by-crawler-bots problem:  
http://linuxmafia.com/~rick/faq/kicking.html#distro  Quoting, in part
(and in ASCII):

   I _personally_ strongly prefer the Devuan (and formerly Debian)
   distribution, especially for servers.  However, newcomers should consider
   starting with Bodhi Linux, Linux Mint, Ultimate Edition, MEPIS Linux, or
   PCLinuxOS, for desktop Linux machines (not Devuan/Debian).

Internet Archive's latest snapshot of that page is from 2017, before I
changed 'Debian' to 'Devuan (formerly Debian)', but otherwise I  think
it's about the same and loads a whole lot more rapidly than my site does
at the moment.
https://web.archive.org/web/20170911170234/http://linuxmafia.com/~rick/faq/kicking.html#distro



More information about the sf-lug mailing list