Re: "don't know how to make /usr/main-src/sys/contrib/dev/iwm/iwm-3160-17.fw.uu. Stop"
Date: Sun, 26 Jan 2025 18:04:23 UTC
On Jan 25, 2025, at 02:24, Mark Millard <marklmi@yahoo.com> wrote:
> On Jan 25, 2025, at 02:10, Stefan Esser <se@FreeBSD.org> wrote:
>
>> Am 25.01.25 um 10:54 schrieb Mark Millard:
>>> Unfortunately, for now my reporting is based on my personal build environment,
>>> not on anofficial FreeBSD build.
>>> Context doing the building:
>>
>> Hi Mark,
>>
>> probably an issue due to commit af0a81b6470 from 2024-12-12:
>>
>> commit af0a81b6470aba4af4a24ae9804053722846ded4
>> Author: Emmanuel Vadot <manu@FreeBSD.org>
>> Date: Thu Dec 12 17:13:58 2024 +0100
>>
>> iwm: Stop shipping firmware as kernel module
>>
>> Since we can load raw firmware start shipping them as is.
>> This also remove the uuencode format that don't add any value and garbage
>> collect old firmwares version.
>> For pkgbase users they are now in the FreeBSD-firmware-iwm package.
>>
>> Sponsored by: Beckhoff Automation GmbH & Co. KG
>>
>> Maybe your sources are out of sync with regard to that commit?
>
> https://cgit.freebsd.org/src/blame/sys/conf/files shows the lines that
> I quoted that indicate dependencies on various *.fw.uu files.
>
> It is true that a pre 2024-Dec-12 installation is attempting to
> build what I reported: 2025-01-25 00:07:01 +0000 ( i.e., n275030
> 46a9fb7287f41eedf321d81a68a826f231d11bfe ). I had not updated
> at all between those times and was finally trying to update.
>
It appears that the following is enough to have the build
failures:
# grep -r iwm /usr/main-src/sys/*/conf*/
/usr/main-src/sys/amd64/conf/GENERIC-NODBG:device iwm
/usr/main-src/sys/amd64/conf/GENERIC-NODBG:device iwmfw
/usr/main-src/sys/amd64/conf/GENERIC-DBG:device iwm
/usr/main-src/sys/amd64/conf/GENERIC-DBG:device iwmfw
/usr/main-src/sys/amd64/conf/GENERIC-NODBG-NONUMA:device iwm
/usr/main-src/sys/amd64/conf/GENERIC-NODBG-NONUMA:device iwmfw
Commenting out the "device iwmfw" lines allowed the build to
complete --but based on my /usr/main-src/ source tree for
what was being built, not on building an official tree.
To my knowledge, the builds shown by the likes of:
https://pkg-status.freebsd.org/builds?type=package&all=1
do not involve "device iwmfw" --and so do not make for
a valid comparison to my context. (I normally check if
I'm getting unusual results vs. official builds.)
Those GENERIC-*DBG* files are based on GENERIC . For example:
# more /usr/main-src/sys/amd64/conf/GENERIC-NODBG
#
# GENERIC -- Custom configuration for the amd64/amd64
#
include "GENERIC"
ident GENERIC-NODBG
makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
makeoptions WITH_CTF=1 # Run ctfconvert(1) for DTrace support
options NUMA
#options ALT_BREAK_TO_DEBUGGER
options KDB # Enable kernel debugger support
# For minimum debugger support (stable branch) use:
options KDB_TRACE # Print a stack trace for a panic
options DDB # Enable the kernel debugger
# Extra stuff:
#options VERBOSE_SYSINIT=0 # Enable verbose sysinit messages
#options BOOTVERBOSE=1
#options BOOTHOWTO=RB_VERBOSE
#options KTR
#options KTR_MASK=KTR_TRAP
##options KTR_CPUMASK=0xF
#options KTR_VERBOSE
#options ACPI_DEBUG
# Disable any extra checking for. . .
nooptions DEADLKRES # Would enable the deadlock resolver
nooptions INVARIANTS # Would enable calls of extra sanity checking
nooptions INVARIANT_SUPPORT # Would enable extra sanity checks of internal structures, required by INVARIANTS
nooptions WITNESS # Would enable checks to detect deadlocks and cycles
nooptions WITNESS_SKIPSPIN # Would enable running witness on spinlocks for speed
nooptions DIAGNOSTIC
nooptions MALLOC_DEBUG_MAXZONES
# Kernel Sanitizers
nooptions COVERAGE # Would enable generic kernel coverage. Used by KCOV
nooptions KCOV # Would enable Kernel Coverage Sanitizer
# Warning: KUBSAN can result in a kernel too large for loader to load
nooptions KUBSAN # Would enable Kernel Undefined Behavior Sanitizer
device iwm
device iwmfw
Maybe the IWM(4) man page is out of date and the above need to be
changed in some way and so I should follow updated instructions?
IWM(4) FreeBSD Kernel Interfaces Manual IWM(4)
NAME
iwm – Intel IEEE 802.11ac wireless network driver
SYNOPSIS
To compile this driver into the kernel, include the following lines in
your kernel configuration file:
device iwm
device pci
device wlan
device firmware
You also need to select a firmware for your device. Choose one from:
device iwm3160fw
device iwm3168fw
device iwm7260fw
device iwm7265fw
device iwm7265Dfw
device iwm8000Cfw
device iwm8265fw
device iwm9000fw
device iwm9260fw
Or you can use
device iwmfw
to include them all.
. . .
Below is an investigative sequence that I did before
reaching the conclusion above. It all predates
commenting out the "device iwmfw" lines indicated
above. I've not adjusted any of it for the above.
The above was based on the new:
/usr/obj/BUILDs/main-amd64-*dbg-clang/usr/
that resulted in the below.
To start to isolate what might be going on, I used
PkgBase to established the context as not running
my personal build any more (both kernel and world):
# uname -apKU
FreeBSD 7950X3D-ZFS 15.0-CURRENT FreeBSD 15.0-CURRENT main-n275036-faa845aab611 GENERIC-NODEBUG amd64 amd64 1500030 1500030
I then retied the build ( such that it depends on META_MODE
behavior still and still uses the same source code as
before: my /usr/main-src/ ). It still got the same failures.
That suggested that META_MODE might be reusing something(s)
that need(s) to be rebuilt.
So I've gotten my old builds out of the way via renaming:
# ls -lodT /usr/obj/BUILDs/main-amd64-*dbg-clang/usr-**
drwxrwxr-x 3 root wheel uarch 3 Oct 8 23:57:37 2021 /usr/obj/BUILDs/main-amd64-dbg-clang/usr-OLDER
drwxrwxr-x 3 root wheel uarch 3 Aug 19 02:43:35 2021 /usr/obj/BUILDs/main-amd64-nodbg-clang/usr-OLDER
and started builds that will produce from-scratch:
/usr/obj/BUILDs/main-amd64-dbg-clang/usr/
/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/
For now, this is using the same source code (my /usr/main-src/
tree) as was compiled before: not the source from/for the PkgBase
that is installed or any other update. I'm intending a META_MODE
test for this experiment.
We will see what happens for that. . . .
And it still gets the error. So I'll be coming up with
some other test.
===
Mark Millard
marklmi at yahoo.com