Which file contains list of H/W supported by a specific Distro/Release?

The assumption is that the install will be performed while disconnected from the Internet.

Is there a file contained in a Distro/Release ISO image that reports all hardware which is recognized/supported by that Distro/Release?

And ...

  • is that file plain text?
  • or some binary format like SQLite?

Or ...

  • if need to look in source code for the Distro/Release, which file(s) is/are those?

I'm tempted to see if I can build a tool using results of lshw, hwinfo, hw-probe to compare.

2 Likes

No.

Such a list is kernelbound, not distro-bound.*

(*except for nVidia)

Contrary to UNIX, GNU/Linux is not created as a single product.

Every distro is a Frankenstein creation of a Linux kernel, GNU userland, either one of the three X11 graphical servers or one of the many Wayland graphical servers and some random windowmanager or desktop suite.

And every kernelchange can potentially change the list of supported hardware,
so it is undoable for a distro to keep track of that.

You can search this directorytree to find out what the newest kernel supports:

Those tools get 100% of their info from /proc and /sys so they get it directly from the running kernel and combine that info with this vendor list:
'/usr/share/hwdata/pci.ids'

The pci.ids file is generated from the PCI ID database, which is maintained at https://pci-ids.ucw.cz/

EDIT:
There is also a '/usr/share/hwdata/usb.ids' and a '/usr/share/hwdata/pnp.ids'

4 Likes

Thank you, Thom, for those good leads and feedback. I will "dig in" and see what I can come up with.

I may be walking "blindly" into a dark alley but hopefully Frankenstein will be the timid innocent who won't make me lose my mind! :slight_smile:

1 Like

Not adding any value to this threads, but I'm curious if your interest is to determine pre-installation compatibility, or post-installation?

Pre-installation compatibility. :slight_smile:

Intent: Determine which path:

  • use existing H/W as-is, or
  • need to upgrade/replace existing hardware (anticipate cost of implementation, i.e. if need to buy complete new PC)

I'm very much into personal use continuity! :slight_smile:

With need for medical follow-ups, cannot afford to have downtime that would extend beyond a few (3-6) hours.

Can all the reports of "loop" files under "/sys" be deemed non-hardware specific, only OS facilitation tools (i.e. buffers, etc)?

Yes, those are virtual blockdevices used for things like mounting ISOs and stuff
like that. It is also used to mount (the read-only filesystems of) snaps.

3 Likes

IMHO: if live CD/USB installation media runs smoothly in trial mode and recognizes internal HDD, then hardware compatibility test has been passed OK. Has not it?

1 Like

Thank you, Thom (@tkn ), for that confirmation.

You are correct, Eugene. The issue is if the live doesn't work, as far as I know, there is no logic that will report:

Sorry, the ISO Live Distro for UbuntuMATE 24.04.1 did not work because

  • support for this component is discontinued;
  • this component (#2) is not found in the database of recognized and supported components.

So, I am trying to pinpoint the specifics of non-support, pro-actively, in order to address them in detail, by hopefully,

  • (best case scenario) only requiring a component upgrade, or
  • (worst case scenario) being forced to buy a new computer. :frowning:

The latter is not a good prospect for people with low disposable income.

----- edit -----

Work-in-progress (early stages) ...

Next step, identifying the "key index" mechanism for hardware lookup. :slight_smile:


Log of session (--mapping):

 ==========================================================================
	 Bus Devices

/sys/bus/acpi/devices/ATK0110:00|/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A03:00/device:16/ATK0110:00
/sys/bus/acpi/devices/AWY0001:00|/sys/devices/LNXSYSTM:00/AWY0001:00
/sys/bus/acpi/devices/device:00|/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A03:00/device:00
/sys/bus/acpi/devices/device:01|/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A03:00/device:01
/sys/bus/acpi/devices/device:02|/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A03:00/device:01/device:02
/sys/bus/acpi/devices/device:03|/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A03:00/device:03

...(snip)...

/sys/bus/usb/devices/usb7|/sys/devices/pci0000:00/0000:00:14.5/usb7
/sys/bus/wmi/devices/05901221-D566-11D1-B2F0-00A0C9062910|/sys/devices/platform/PNP0C14:00/wmi_bus/wmi_bus-PNP0C14:00/05901221-D566-11D1-B2F0-00A0C9062910
/sys/bus/wmi/devices/ABBC0F6A-8EA1-11D1-00A0-C90629100000|/sys/devices/platform/PNP0C14:00/wmi_bus/wmi_bus-PNP0C14:00/ABBC0F6A-8EA1-11D1-00A0-C90629100000

Log of session (default):

root:~# Devices__ProbeAndReport_ActualHardware.sh --bus

 ==========================================================================
	 Bus Devices

drwxr-xr-x 4 root root 0 Oct 17 12:38 /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A03:00/device:16/ATK0110:00
drwxr-xr-x 3 root root 0 Oct 17 13:59 /sys/devices/LNXSYSTM:00/AWY0001:00
drwxr-xr-x 5 root root 0 Oct 17 13:59 /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A03:00/device:00

...(snip)...

drwxr-xr-x 3 root root 0 Oct 17 12:38 /sys/devices/platform/PNP0C14:00/wmi_bus/wmi_bus-PNP0C14:00/05901221-D566-11D1-B2F0-00A0C9062910
drwxr-xr-x 3 root root 0 Oct 17 12:38 /sys/devices/platform/PNP0C14:00/wmi_bus/wmi_bus-PNP0C14:00/ABBC0F6A-8EA1-11D1-00A0-C90629100000

Well, there are two scenarios:

First is that live CD won't launch at all. The only clue to a problem will be transient terminal output.

Second is the case that live CD will start and won't work as expected. Now there is a chance to find out the problem in kernel and boot logs/messages on RAM drive.

IMHO, HW compatibility testing using live CD is much simpler and more reliable than a priori analysis.

Thank you, Eugene. I very much appreciate you perspectives and opinions.

While I am often reactive to things that arise during coding, when it comes to "installation", I much prefer to be pro-active and anticipatory, rather discover the install failed after hours when I can't rush to a store to get the missing component or, worse yet, have to order it and wait for days/weeks, before being able to recover.

Once I start, I don't want to "roll-back", don't want to reinstall what I had before.

We'll see how far I can get with my work in progress.


----- edit -----

Rewinding my thought process ...

I've "dumped" my earlier response because I realized that I was not immune to "brain-farts" which us old folks are prone to have.

I just realized that I should build on the cumulative wealth of knowledge and experience that is already documented in the source code for those tools (lshw, lspci, lsusb, hwinfo).

After all, that is what open-source is all about, right ? :slight_smile:

After digging into the source code offerings on Launchpad (looked at each of lshw, lsusb, lspci, hw-probe and hwinfo), I am forced to accept the fact that I am completely out of my depth, in terms of knowledge required to rebuild tools, so I am categorically abandoning the project I outlined and will submit to what everyone seems to offer as the "go-to process", namely "subject" myself to a Live distro test, and react to the outcome, in the hopes that I never encounter issues. :frowning:

1 Like