Article 9483 [SOLVED] How to provide non-free firmware files to the Debian Jessie Installer.

[SOLVED] How to provide non-free firmware files to the Debian Jessie Installer.

by
luvr
from LinuxQuestions.org on (#9483)
When I attempted to install Debian 8 (jessie) on my laptop, I could not get a network connection, because the installer told me that it was missing the required firmware files for my network interfaces:
Code:Some of your hardware needs non-free firmware files to operate. The firmware can be loaded from
removable media, such as a USB stick or floppy.

The missing firmware files are: iwlwifi-7260-9.ucode iwlwifi-7260-8.ucode

If you have such media available now, insert it, and continue.
Load missing firmware from removable media?Initially, I assumed that this was just a minor issue: Instead of the wireless interface, I could use wired ethernet to get a network connection, and get the wireless interface in an operational state after installation was completed.

However, when I continued, I got another, similar message about another firmware file:
Code:The missing firmware files are: rtl_nic/rtl8411-2.fwThat was a bigger problem: Even the wired ethernet interface required firmware files that the installer could not find.

I tried to provide the required firmware files to the installer, but it kept complaining that it could not find them. It seems to me that the exact procedure to provide the firmware files to the installer, is not particularly well documented (at least, not at a place where I could find it), so quite a bit of experimentation was required for me to overcome this issue. In this post, I will explain what worked for me.

First, of course, I had to actually find the required firmware files. To that end:
  • I went to the Debian site.
  • I clicked the Debian Packages link, to continue to the Debian Packages page.
  • Under the Packages header, I selected the Search the contents of packages link.
  • In the Keyword: field, I entered: iwlwifi.
  • Under Display:, I selected the option labelled packages that contain files whose names contain the keyword.
  • I left the Distribution: value unchanged at stable.
  • I changed the Architecture: value to 64-bit PC (amd64).
  • I clicked the Search button.
  • In the list of search results that appeared next, I looked for the two files that I needed: iwlwifi-7260-8.ucode and iwlwifi-7260-9.ucode. Both files were present in the firmware-iwlwifi package.
  • I clicked one of the firmware-iwlwifi links, to move on to the Binary firmware for Intel Wireless cards page.
  • Under the Download firmware-iwlwifi header, I clicked the all architecture link to continue.
  • On the next page, I clicked the link to the site from which I wanted to download the file.

    The Debian package firmware-iwlwifi_0.43_all.deb got downloaded for me.
  • I repeated the above procedure, to search the contents of packages by keyword rtl8411.

    As a result, package firmware-realtek_0.43_all.deb was downloaded.
Next, it was time to extract the contents of the downloaded packages:
  • I opened a command-line terminal window, and went to the directory where the packages were downloadedwhich, in my case, was my personal download directory:
    Code:cd ~/Downloads
  • I extracted the contents of both packages into the current directory:
    Code:dpkg-deb --extract firmware-iwlwifi_0.43_all.deb .
    dpkg-deb --extract firmware-realtek_0.43_all.deb .This step created two new subdirectories: lib and usr.

    The lib directory, in turn, contained a further subdirectory, firmware, that held all firmware files extracted from both packagesincluded, but not limited to, the files that I (or, rather, the Debian installer) was looking for.
  • I copied the entire contents of the firmware subdirectory to a USB stick that was formatted with a FAT filesystem.
The directory listing of the USB stick, then, looked like this:
Code:total 13424
drwx------ 2 luvr luvr 16384 May 15 13:58 intel
-rw-r--r-- 1 luvr luvr 337520 Jun 16 2014 iwlwifi-1000-5.ucode
-rw-r--r-- 1 luvr luvr 337572 Jun 16 2014 iwlwifi-100-5.ucode
-rw-r--r-- 1 luvr luvr 689680 Jun 16 2014 iwlwifi-105-6.ucode
-rw-r--r-- 1 luvr luvr 701228 Jun 16 2014 iwlwifi-135-6.ucode
-rw-r--r-- 1 luvr luvr 695876 Jun 16 2014 iwlwifi-2000-6.ucode
-rw-r--r-- 1 luvr luvr 707392 Jun 16 2014 iwlwifi-2030-6.ucode
-rw-r--r-- 1 luvr luvr 670484 Jun 16 2014 iwlwifi-3160-7.ucode
-rw-r--r-- 1 luvr luvr 667284 Jun 16 2014 iwlwifi-3160-8.ucode
-rw-r--r-- 1 luvr luvr 666792 Jun 16 2014 iwlwifi-3160-9.ucode
-rw-r--r-- 1 luvr luvr 150100 Jun 16 2014 iwlwifi-3945-2.ucode
-rw-r--r-- 1 luvr luvr 187972 Jun 16 2014 iwlwifi-4965-2.ucode
-rw-r--r-- 1 luvr luvr 353240 Jun 16 2014 iwlwifi-5000-2.ucode
-rw-r--r-- 1 luvr luvr 340696 Jun 16 2014 iwlwifi-5000-5.ucode
-rw-r--r-- 1 luvr luvr 337400 Jun 16 2014 iwlwifi-5150-2.ucode
-rw-r--r-- 1 luvr luvr 454608 Jun 16 2014 iwlwifi-6000-4.ucode
-rw-r--r-- 1 luvr luvr 444128 Jun 16 2014 iwlwifi-6000g2a-5.ucode
-rw-r--r-- 1 luvr luvr 677296 Jun 16 2014 iwlwifi-6000g2a-6.ucode
-rw-r--r-- 1 luvr luvr 679436 Jun 16 2014 iwlwifi-6000g2b-6.ucode
-rw-r--r-- 1 luvr luvr 463692 Jun 16 2014 iwlwifi-6050-4.ucode
-rw-r--r-- 1 luvr luvr 469780 Jun 16 2014 iwlwifi-6050-5.ucode
-rw-r--r-- 1 luvr luvr 683236 Jun 16 2014 iwlwifi-7260-7.ucode
-rw-r--r-- 1 luvr luvr 679780 Jun 16 2014 iwlwifi-7260-8.ucode
-rw-r--r-- 1 luvr luvr 679380 Jun 16 2014 iwlwifi-7260-9.ucode
-rw-r--r-- 1 luvr luvr 690452 Jun 16 2014 iwlwifi-7265-8.ucode
-rw-r--r-- 1 luvr luvr 691960 Jun 16 2014 iwlwifi-7265-9.ucode
drwx------ 2 luvr luvr 16384 May 15 13:58 RTL8192E
drwx------ 2 luvr luvr 16384 May 15 13:58 RTL8192SU
drwx------ 2 luvr luvr 16384 May 15 13:58 rtl_nic
drwx------ 2 luvr luvr 16384 May 15 13:58 rtlwifiNote, in particular, that the USB stick included the contents of the firmware directory, not the directory itself!

Finally, the time had come to retry the Debian installation. I simply booted the computer off the Debian 8.0.0 medium, and when it complained again about the missing firmware files, I took the following steps:
  • I inserted the USB stick.
  • I pressed the <CTRL>+<Alt>+<F2> key combination, to switch to the second virtual terminal.
  • I ran the blkid command, to find out under which device name the USB stick was known: /dev/sdc. Its FAT filesystem, which contained the firmware files, then, was /dev/sdc1.
  • I mounted the FAT filesystem under the /lib/firmware mountpointwhich, however, I had to create first:
    Code:mkdir /lib/firmware
    mount /dev/sdc1 /lib/firmware
  • I pressed <CTRL>+<Alt>+<F5> to continue the installation process.
    The firmware files were successfully loaded, and I got prompted for my wireless networking parameters.
The remainder of the installation went flawlessly.latest?d=yIl2AUoC8zA latest?i=jCBq9ACQD7g:i-YwG6YXu9A:F7zBnMy latest?i=jCBq9ACQD7g:i-YwG6YXu9A:V_sGLiP latest?d=qj6IDK7rITs latest?i=jCBq9ACQD7g:i-YwG6YXu9A:gIN9vFwjCBq9ACQD7g
External Content
Source RSS or Atom Feed
Feed Location https://feeds.feedburner.com/linuxquestions/latest
Feed Title LinuxQuestions.org
Feed Link https://www.linuxquestions.org/questions/
Reply 2 comments

Thanks! (Score: 0)

by Anonymous Coward on 2015-12-17 09:39 (#XZBG)

Hey, I was installing Debian in a Dell Laptop and this was very useful for me.
Thank you.

Thanks! (Score: 0)

by Anonymous Coward on 2016-04-07 04:29 (#19MHH)

Thanks for your detailed information, worked for me too (jessie).