#!/bin/bash # Scan the /lib/firmware directory of the target and delete any firmware # binaries that are not in our whitelist # A whitelist of entire directories or specific binary files. The trailing # slash is required. whitelist=() if [ -z "${TARGET_DIR}" ] ; then echo "TARGET_DIR not defined, setting to $1" TARGET_DIR=$1 fi files=$(find ${TARGET_DIR}/lib/firmware/*) for file in ${files}; do if [ -d $file ] ; then continue fi found=0 for item in ${whitelist[@]}; do if [ "${file/${item}}" != "${file}" ] ; then found=1 break fi done if [ "${found}" -ne "1" ] ; then rm -v ${file} fi done