Trying to make a small image - How can I remove unused firmware?

I’m trying to make a smallish image for an embedded system.
I start with a kickstart file, where I start with @^minimal-environment and add a couple of packages that I need (tar, jq, sqliteand some others). Then I add out proprietary software, and end up with an image that compresses down to about 600-800Mb, depending on software. For various reasons, I’d really like to reduce this size, so I was looking into the filesystem to see if there’s anything that can be removed.

I found that the /lib/firmware/ contains a lot of different firmware stuff that I probably don’t need. (We’re running on well-defined hardware, so it’s not like we need to have drivers for any and all kind of wifi chip that someone might plug in.)

I noticed that the iwlxxx-firmware packages were quite substantial, and removed them, which saved me quite a bit of space. But there’s still 300MB of firmware files on the target, and I’m pretty certain that I don’t need all of them. The files are already compressed, so they take up roughly the same amount in my compressed images.

Is there a way to figure out what firmware files are actually used, and remove the unnecessary ones?

I went in with a sledgehammer, and added -linux-firmware as well as -iwl<xxx>-firmware (for all the different packages installed by default) in the packages section of the kickstart file.

To my great surprise the resulting image works just as well, and weighs in at almost 300Mb less than before!

… At least, it appears to work just as well.

Is it possible that I may have lost something without realizing? I seem to have networking as before, and I don’t care about graphics. Is there anything else that I may have destroyed?