==== Linux Firmware Install ==== 한번 만들면 다음부터는 ''# sudo install-linux-firmware.sh''만 실행하면 됩니다. sudo -s cat > /usr/local/bin/install-linux-firmware.sh <<"EOF" #!/usr/bin/env bash ## Linux firmware install script v.0.2 WORK_DIR=/usr/src ## install type select (zst, xz, flat) if zgrep -q "CONFIG_FW_LOADER_COMPRESS_ZSTD=y" /proc/config.gz; then read -p "Kernel supports ZSTD. Use 'make install-zst'? (y/n): " ans [ "$ans" == "y" ] && INSTALL_CMD="make install-zst" elif zgrep -q "CONFIG_FW_LOADER_COMPRESS_XZ=y" /proc/config.gz; then read -p "Kernel supports XZ. Use 'make install-xz'? (y/n): " ans [ "$ans" == "y" ] && INSTALL_CMD="make install-xz" else INSTALL_CMD="make install" fi cd $WORK_DIR # necessary tool check if ! command -v rdfind; then echo "rbfind not found. Download and install from source..." TW_DIR="${HOME}/temp-workbench" mkdir -pv "${TW_DIR}" wget -P "${TW_DIR}" https://github.com/pauldreik/rdfind/releases/download/releases%2F1.8.0/rdfind-1.8.0.tar.gz tar -xf "${TW_DIR}/rdfind-1.8.0.tar.gz" -C "${TW_DIR}" pushd "${TW_DIR}/rdfind-1.8.0" || exit 1 ./configure --prefix=/usr && make && sudo make install popd rm -rf "${TW_DIR} fi command -v pre-commit || sudo pip3 install pre-commit # check local git repository if [ -d "linux-firmware/.git" ]; then echo "Updating existing repository..." cd linux-firmware && git pull else echo "Cloning new repository..." git clone https://git.kernel.org cd linux-firmware fi ## Black version issue fix (Temporary) sed -i '/github.com\/ambv\/black/{s|ambv/black|psf/black|; n; s/rev: .*/rev: 24.1.1/;}' .pre-commit-config.yaml ## firmware install make check $INSTALL_CMD make dedup ## update initramfs #if command -v update-initramfs > /dev/null; then # sudo update-initramfs -u #elif command -v dracut > /dev/null; then # sudo dracut -f #fi echo "Firmware installation complete!" EOF chmod +x /usr/local/bin/install-linux-firmware.sh ./install-linux-firmware.sh