Scheduled Maintenance: We are aware of an issue with Google, AOL, and Yahoo services as email providers which are blocking new registrations. We are trying to fix the issue and we have several internal and external support tickets in process to resolve the issue. Please see: viewtopic.php?t=158230

 

 

 

[Solved] firmware=never doesn't seem to prevent firmware from being loaded in the Debian 12.1 Xfce Live Installer

Ask for help with issues regarding the Installations of the Debian O/S.
Post Reply
Message
Author
User avatar
s3a
Posts: 831
Joined: 2008-07-17 22:13
Has thanked: 6 times
Been thanked: 2 times

[Solved] firmware=never doesn't seem to prevent firmware from being loaded in the Debian 12.1 Xfce Live Installer

#1 Post by s3a »

https://wiki.debian.org/Firmware#How_to ... e_firmware

https://www.debian.org/releases/bookwor ... 02.en.html

I load the live ISO (in a virtual machine), highlight "Live system (amd64)", press TAB (to edit the menu entry), append the firmware=never boot parameter to the end of the existing boot parameters.

Then, when I load the live OS, dmesg | grep -i firmware=never does seem to show that the firmware=never boot parameter was loaded and cat /proc/cmdline shows it added too, but apt-cache policy firmware-linux-nonfree shows that the package is installed and that the non-free-firmware part of the repositories is enabled.

As a confirmation, I observed that the /etc/apt/sources.list file also shows that the non-free-firmware part of the repositories is enabled.

Is this a bug or am I misunderstanding something?

If I'm misunderstanding, could someone please help clarify the situation for me?

Any input would be greatly appreciated!
Last edited by s3a on 2023-12-17 21:35, edited 1 time in total.
Use Mnemosyne to Study for School!

Aki
Global Moderator
Global Moderator
Posts: 3079
Joined: 2014-07-20 18:12
Location: Europe
Has thanked: 76 times
Been thanked: 416 times

Re: firmware=never doesn't seem to prevent firmware from being loaded in the Debian 12.1 Xfce Live Installer

#2 Post by Aki »

s3a wrote: 2023-10-11 10:34 I load the live ISO (in a virtual machine), highlight "Live system (amd64)", press TAB (to edit the menu entry), append the firmware=never boot parameter to the end of the existing boot parameters.

Then, when I load the live OS, dmesg | grep -i firmware=never does seem to show that the firmware=never boot parameter was loaded and cat /proc/cmdline shows it added too, but apt-cache policy firmware-linux-nonfree shows that the package is installed and that the non-free-firmware part of the repositories is enabled.
I suppose you need to select the menu item named "Start Installer" and then add the firmware=never boot parameter (see attached image).
Screenshot_Debian_Live_2023-10-11.jpg
⢀⣴⠾⠻⢶⣦⠀
⣾⠁⢠⠒⠀⣿⡁ Debian - The universal operating system
⢿⡄⠘⠷⠚⠋⠀ https://www.debian.org
⠈⠳⣄⠀

User avatar
s3a
Posts: 831
Joined: 2008-07-17 22:13
Has thanked: 6 times
Been thanked: 2 times

Re: firmware=never doesn't seem to prevent firmware from being loaded in the Debian 12.1 Xfce Live Installer

#3 Post by s3a »

Thanks for the response!

I'll check that out later tonight, but before then, sorry if this is a stupid question, but I just wanted to ask:
Can the firmware=never be anywhere after the vmlinuz and before the initrd or what?Also, what is the ---? Is there some Debian wiki or something for learning more about that?

Edit:
Wait, are those all arguments to .linux, meaning that the firmware=never could be between any of those arguments, as long as it's after .linux?

Edit #2:
Having installed the OS twice in a virtual machine, it seems to have worked when firmware=never was before ---, but not when it was at the end. Why is that?

Edit #3:
Actually the sources.list doesn't seem to have non-free-firmware, but the /lib/firmware folder has what seems to me to be a very large amount of firmware.

Edit #4:
I don't remember if it worked with the live installer, but it seems to have worked with the regular installer.

With the regular installer, firmware-linux-nonfree was not installed and the /etc/apt/sources.list did not have non-free-firmware (or non-free or contrib).
Use Mnemosyne to Study for School!

Aki
Global Moderator
Global Moderator
Posts: 3079
Joined: 2014-07-20 18:12
Location: Europe
Has thanked: 76 times
Been thanked: 416 times

Re: firmware=never doesn't seem to prevent firmware from being loaded in the Debian 12.1 Xfce Live Installer

#4 Post by Aki »

Hello,
s3a wrote: 2023-10-11 19:14 Thanks for the response! I just wanted to ask: Can the firmware=never be anywhere after the vmlinuz and before the initrd or what?Also, what is the ---? Is there some Debian wiki or something for learning more about that?
That's an interesting question. You are offering the opportunity to explore the inner workings of the Debian installer. :D

The changelog of the hw-detect package [1][2][3] (used by the Debian installer) documents the change that introduced the new feature:

Code: Select all

hw-detect (1.154) unstable; urgency=medium
  * Implement support for the hw-detect/firmware-lookup=never setting
    (Closes: #1029848):
     - It can be set on the kernel command line or via preseed.
     - It can be set via the firmware=never alias.
     - It changes check-missing-firmware's behaviour:
        + It will still scan kernel logs for missing firmware files, and
          generate log lines accordingly.
        + It will not try to load firmware packages from the installation
          image, even if firmware packages are included (as that's the
          case for official installation images starting with Bookworm).
        + It will not ask whether to load firmware from removable media.
     - It changes install-firmware's behaviour:
        + It will not copy any firmware files into the installed system.
        + It will not try to install firmware packages based on modalias
          information.
In the Debian GNU/Linux Installation Guide for Bookworm (B.2.2. Using boot parameters to preseed questions) is reported:
[..] you can pass preseed values on the command line when booting the installer. [..] A “---” in the boot options has special meaning. Kernel parameters that appear after the last “---” may be copied into the bootloader configuration for the installed system (if supported by the installer for the bootloader). The installer will automatically filter out any options (like preconfiguration options) that it recognizes.
[Note]
Therefore, the "firmware=never" command line parameter is effective both before and after the '---' separator (in the boot loader command line of the Debian Installer).

This is a very brief sample summary of the boot process for the Debian Installer for the "firmware=never" parameter (many other activities are performed for the installation process as a whole) as I saw it in source code and logs:
  • 1) the boot loader is started from the ISO image by the computer's BIOS
  • 2) the boot loader shows the installer boot menu and allows you to edit the command line for the "Install" menu
  • 3) the "firmware=never" is manually added by you to the boot loader command line
  • 4) the boot loader loads and starts the linux kernel after the enter key is pressed in the boot loader command line
  • 5) the boot loader passes the "firmware=never" parameter to the linux kernel command line (as a kernel parameter)
  • 6) the linux kernel does not recognize "firmware=never" parameter as a kernel parameter (it is not, indeed):
  • 7) the linux kernel passes the "firmware=never" parameter to the user space environment through the init process; from the debian installer logs:

    Code: Select all

    Command line: BOOT_IMAGE=/install.amd/vmlinuz vga=788 initrd=/install.amd/initrd.gz --- quiet firmware=never
    [..]
    kernel: [    0.127294] Kernel command line: BOOT_IMAGE=/install.amd/vmlinuz vga=788 initrd=/install.amd/initrd.gz --- quiet firmware=never
    kernel: [    0.127455] Unknown kernel command line parameters "--- BOOT_IMAGE=/install.amd/vmlinuz vga=788 firmware=never", will be passed to user space.
    [..]
    kernel: [    1.615058] Run /init as init process
    kernel: [    1.615086]   with arguments:
    kernel: [    1.615089]     /init
    kernel: [    1.615091]     ---
    kernel: [    1.615092]   with environment:
    kernel: [    1.615093]     HOME=/
    kernel: [    1.615094]     TERM=linux
    kernel: [    1.615096]     BOOT_IMAGE=/install.amd/vmlinuz
    kernel: [    1.615097]     vga=788
    kernel: [    1.615098]     firmware=never
    
  • 8) the "anna" component of the debian installer installs the required udeb packages (installer's components): among them there are:
    • hw-detect
    • env-preseed
  • 9) the env2debconf script (from the the env-preseed package) recognize the environment variable "firmware” as an alias of the "hw-detect/firmware-lookup" preseed parameter [6]: the "hw-detect/firmware-lookup" debconf variable is configured with the value “never” of the "firmware" parameter
  • 10) the script named "check-missing-firmware.sh" (from 50install-firmware post-inst script in package named "hw-detect" [5]) is called by the Debian Installer:

    Code: Select all

    	[..]
    	if [ "$firmware_lookup" = "never" ]; then
    		log "firmware lookup disabled (=$firmware_lookup), exiting"
    		exit 0
    	fi
    	[..]
    
Hope this helps. Let me know. :-)

---
[1] https://packages.debian.org/bookworm/hw-detect
[2] Debian Bug report logs - #1029848 hw-detect: decide how to configure firmware support
[3] Implement support for hw-detect/firmware-lookup=never (Closes: #1029848).
[4] Debian GNU/Linux Installation Guide - B.2.2. Using boot parameters to preseed questions
[5] https://packages.debian.org/bookworm/env-preseed
[6] Debian GNU/Linux Installation Guide - B.2.4. Aliases useful with preseeding
[7] Debian Installer internals - http://meetings-archive.debian.net/pub/ ... #id2535182
⢀⣴⠾⠻⢶⣦⠀
⣾⠁⢠⠒⠀⣿⡁ Debian - The universal operating system
⢿⡄⠘⠷⠚⠋⠀ https://www.debian.org
⠈⠳⣄⠀

User avatar
s3a
Posts: 831
Joined: 2008-07-17 22:13
Has thanked: 6 times
Been thanked: 2 times

Re: firmware=never doesn't seem to prevent firmware from being loaded in the Debian 12.1 Xfce Live Installer

#5 Post by s3a »

I know this is a very late answer, but thanks!
Use Mnemosyne to Study for School!

Aki
Global Moderator
Global Moderator
Posts: 3079
Joined: 2014-07-20 18:12
Location: Europe
Has thanked: 76 times
Been thanked: 416 times

Re: firmware=never doesn't seem to prevent firmware from being loaded in the Debian 12.1 Xfce Live Installer

#6 Post by Aki »

Thanks :) Please, mark the discussion as "solved" manually adding the text tag "[Solved]" at the beginning of the subject of the first message (after other tags, if any); for example:
[Solved] firmware=never doesn't seem to prevent firmware from being loaded in the Debian 12.1 Xfce Live Installer
Happy Debian ! :)
⢀⣴⠾⠻⢶⣦⠀
⣾⠁⢠⠒⠀⣿⡁ Debian - The universal operating system
⢿⡄⠘⠷⠚⠋⠀ https://www.debian.org
⠈⠳⣄⠀

User avatar
s3a
Posts: 831
Joined: 2008-07-17 22:13
Has thanked: 6 times
Been thanked: 2 times

Re: [Solved] firmware=never doesn't seem to prevent firmware from being loaded in the Debian 12.1 Xfce Live Installer

#7 Post by s3a »

Done. :) (Again, sorry for the delay. :P)
Use Mnemosyne to Study for School!

baptx
Posts: 18
Joined: 2023-10-19 12:24
Has thanked: 8 times

Re: [Solved] firmware=never doesn't seem to prevent firmware from being loaded in the Debian 12.1 Xfce Live Installer

#8 Post by baptx »

This issue seems to be still present, at least on the LXQt ISO:
viewtopic.php?t=159027

User avatar
pbear
Posts: 384
Joined: 2023-08-27 15:05
Location: San Francisco
Has thanked: 2 times
Been thanked: 63 times

Re: firmware=never doesn't seem to prevent firmware from being loaded in the Debian 12.1 Xfce Live Installer

#9 Post by pbear »

... you need to select the menu item named "Start Installer" and then add the firmware=never boot parameter (see attached image).
I'm sure @Aki knows this, but others may not. That option opens the standard installer, not a live session or its installer (Calamares), which was the original question.

Post Reply