Processed: Re: Bug#1029962: check-missing-firmware fails to find firmware file or package on partitioned removable media
Processing control commands: > tags -1 patch Bug #1029962 [hw-detect] check-missing-firmware fails to find firmware file or package on partitioned removable media Added tag(s) patch. -- 1029962: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1029962 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems
Bug#1029962: check-missing-firmware fails to find firmware file or package on partitioned removable media
Control: tags -1 patch On 29/01/2023 at 17:27, I wrote: Observed behaviour: - When looking for a loose firmware file, check-missing-firmware calls "mountmedia" which returns after mounting the first device which can be mounted. - When looking for a firmware package, check-missing-firmware calls "mountmedia driver" which returns after mounting the first device which can be mounted and contains {,/firmware}/*.{deb,udeb,ude} files. mountmedia tries to mount whole drives first, then partitions, in alphanumerical order. In either case, the lookup fails if the mounted device is not the one which contains the requested firmware, next devices are not tried. IMO the correct behaviour is: for each drive or partition if device not mounted try to mount device if mount succeeds look for missing loose firmware files look for missing firmware in deb package files But I do not see how this can be achieved by still using mountmedia... Please find attached a patch for mountmedia 0.27 and two patches for hw-detect 1.155 implementing a possible solution. The first one adds subcommands into mountmedia to list and mount any media. The second one uses the subcommands in check-missing-firmware to implement the above desired behaviour. The third one is an optimization to reduce the search time: it updates the missing file list after installing a loose file or package and stops scanning remaining media and packages if the missing file list is empty. I chose to add subcommands to mountmedia in order to reuse existing code and keep media management in one place (mountmedia) instead of duplicating some code in hw-detect. Any feedback (comments and tests) appreciated.From 2d6463e03e4d388b6b3893b2761fea8aa1921098 Mon Sep 17 00:00:00 2001 From: Pascal Hambourg Date: Sat, 1 Apr 2023 00:07:47 +0200 Subject: [PATCH 1/2] check-missing-firmware: improve firmware file lookup The current algorithm mounts only one device or partition. If it mounts the wrong one, firmware files are not found. This patch uses new subcommands in mountmedia in order to search firmware files or packages on all available disks and partitions. --- check-missing-firmware.sh | 27 +++ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/check-missing-firmware.sh b/check-missing-firmware.sh index 0c71c243..041e7e17 100755 --- a/check-missing-firmware.sh +++ b/check-missing-firmware.sh @@ -456,19 +456,22 @@ while check_missing && ask_load_firmware; do # Whether we should keep both mountmedia calls, and whether mountmedia # is doing a good job is discussed in #1029543: if [ "$loop" -gt 1 ]; then - # second, look for loose firmware files on the media device. - if mountmedia; then - for file in $files; do -try_copy "$file" - done - umount /media || true - fi - - # last, look for firmware debs on the media device - if mountmedia driver; then - check_for_firmware /media /media/firmware - umount /media || true + devices="$(mountmedia list)" + if mountmedia mounted; then + # use currently mounted device first + devices="mounted $devices" fi + for dev in $devices; do + if [ $dev = mounted ] || mountmedia mount $dev; then +# second, look for loose firmware files on the media device. +for file in $files; do + try_copy "$file" +done +# last, look for firmware debs on the media device +check_for_firmware /media /media/firmware +umount /media || true + fi + done fi # remove and reload modules so they see the new firmware -- 2.30.2 From 7c931fbb82b27e9d288a75e66198c24e06e33c08 Mon Sep 17 00:00:00 2001 From: Pascal Hambourg Date: Sat, 1 Apr 2023 14:07:10 +0200 Subject: [PATCH 2/2] check-missing-firmware: stop scanning if all missing files are present Update the list of missing firmware files after installing loose files or packages, and stop scanning media and packages if the list is empty. --- check-missing-firmware.sh | 33 +++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/check-missing-firmware.sh b/check-missing-firmware.sh index 041e7e17..a5be8d3b 100755 --- a/check-missing-firmware.sh +++ b/check-missing-firmware.sh @@ -385,6 +385,19 @@ install_firmware_pkg () { fi } +# update missing firmware files list after installing package or loose files +update_missing_firmware_files () { + local new_files file + + new_files= + for file in $files; do + if [ ! -f /lib/firmware/$file ]; then + new_files="${new_files:+$new_files }$file" + fi + files="$new_files" + done +} + # Try to load debs that contain the missing firmware. # This does not use anna because debs can have arbitrary # dependencies, which anna might try to install. @@ -403,6 +416,11 @@ check_for_firmware() { if check_deb_arch "$dir/$fw_pkg_file"; then log "installing firmware package $dir/$fw_pkg_file ($component)" install_firmware_pkg "$dir/$fw_pkg_file" "
Bug#1033524: Simplify the instructions for making bootable media
Hi, Steve McIntyre wrote (Sun, 26 Mar 2023 22:41:10 +0100): > On Sun, Mar 26, 2023 at 11:06:56PM +0200, Holger Wansing wrote: > > > > > >Am 26. März 2023 19:48:09 MESZ schrieb Steve McIntyre : > >>If anybody *does* want to keep the rest of the text, please put it in > >>an appendix called "extra USB options that nobody needs" or similar. > > > >We could add such info to the wiki, and point there from this guide, if it's > >wanted to keep it (somewhere). > > Yes, that sounds like a good idea. :-) I have added such wiki page under https://wiki.debian.org/DebianInstaller/CreateUSBMedia and overworked my patch a bit, to include a link to this page (amongst some more minor things). I will apply it shortly, if noone objects. Holger -- Holger Wansing PGP-Fingerprint: 496A C6E8 1442 4B34 8508 3529 59F1 87CA 156E B076 diff --git a/build/entities/installation-images.ent b/build/entities/installation-images.ent index 02c102845..b23590d4f 100644 --- a/build/entities/installation-images.ent +++ b/build/entities/installation-images.ent @@ -13,6 +13,7 @@ url="&url-debian-installer;images/hd-media/initrd.gz">hd-media/initrd.gz hd-media/vmlinuz'> + mini.iso'> diff --git a/build/templates/docstruct.ent b/build/templates/docstruct.ent index 8ef8fb2af..1a434e588 100644 --- a/build/templates/docstruct.ent +++ b/build/templates/docstruct.ent @@ -55,8 +55,6 @@ - - diff --git a/en/boot-installer/graphical.xml b/en/boot-installer/graphical.xml index 2d0987c42..d71cd6185 100644 --- a/en/boot-installer/graphical.xml +++ b/en/boot-installer/graphical.xml @@ -33,16 +33,7 @@ still be used from the boot prompt which is shown after selecting the -There is also a graphical installer image that can be netbooted. And there -is a special mini ISO image - - -The mini ISO image can be downloaded from a &debian; mirror as described -in . -Look for netboot/gtk/mini.iso. - - -, which is mainly useful for testing. +There is also a graphical installer image that can be netbooted. diff --git a/en/boot-installer/x86.xml b/en/boot-installer/x86.xml index 9761ebbc0..fbc2b0275 100644 --- a/en/boot-installer/x86.xml +++ b/en/boot-installer/x86.xml @@ -51,46 +51,6 @@ After the program has been started, a few preliminary questions will be asked and the system will be prepared to reboot into the &debian-gnu; installer. - - - - - Booting from DOS using loadlin - - -Boot into DOS (not Windows). To do this, you can for instance boot from a -recovery or diagnostic disk. - - - -If you can access the installation CD, change the current drive to the CD-ROM -drive, e.g. - - -d: - - -else make sure you have first prepared your hard disk as explained in -, and change the current drive to it if needed. - - - -Enter the subdirectory for the flavor you chose, e.g., - - -cd \&x86-install-dir; - - -If you prefer using the graphical installer, enter the gtk -sub-directory. - - -cd gtk - - -Next, execute install.bat. -The kernel will load and launch the installer system. - diff --git a/en/install-methods/boot-drive-files.xml b/en/install-methods/boot-drive-files.xml index 59741e5a6..8d5242a26 100644 --- a/en/install-methods/boot-drive-files.xml +++ b/en/install-methods/boot-drive-files.xml @@ -96,35 +96,6 @@ and install from the installation image, without needing the network. Finally, to configure the bootloader proceed to . - - - - - - Hard disk installer booting from DOS using loadlin - - -This section explains how to prepare your hard drive for booting the installer -from DOS using loadlin. - - - -Copy the following directories from a &debian; installation image to c:\. - - - - -/&x86-install-dir; (kernel binary and ramdisk image) - - - - -/tools (loadlin tool) - - - - - diff --git a/en/install-methods/boot-usb-files.xml b/en/install-methods/boot-usb-files.xml index 9815ac2eb..a0087d5f8 100644 --- a/en/install-methods/boot-usb-files.xml +++ b/en/install-methods/boot-usb-files.xml @@ -42,13 +42,6 @@ on your USB stick. See -Alternatively, -for very small USB sticks, only a few megabytes in size, you can download -the &netboot-mini-iso; image from the netboot -directory (at the location mentioned in ). - - - The installation image you choose should be written directly to the USB stick, overwriting its current contents. For example, when using an existing GNU/Linux system, the image file can be written to a USB stick @@ -59,6 +52,12 @@ as follows, after having made sure that the stick is unmounted: # sync +Simply writing the installation image to USB like this should work fine +for most users. For special needs there is this +https://wiki.debian.org/DebianInstaller/CreateUSBMedia";>wiki page. + + + Information about how to do this on other operating systems can be found in the Debian CD FAQ. @@ -68,145 +67,8 @@ The image must be written to the whole-disk device and not a partition, e.g. /dev/sdb and not /dev/sdb1. Do not use tools like unetbootin which alter
Re: Bug#1026845: bullseye-pu: package systemd/247.3-7+deb11u2
Control: tags -1 + confirmed d-i On Thu, 2022-12-22 at 12:13 +, Luca Boccassi wrote: > We'd like to upload several bug fixes, including security fixes, for > systemd to bullseye. > The fixes come from the upstream stable branches which are covered by > CI and confirmed by reporters. > Please go ahead; sorry for the delay. Regards, Adam