代码拉取完成,页面将自动刷新
#!/bin/bash
driver_file="/usr/local/xTools/downloads/backport-iwlwifi-master.zip"
driver_file2="/usr/local/xTools/downloads/iwlwifi-ty-59.601f3a66.0.tgz"
#编译必用软件
function set_compile_software() {
while true; do
apt_process_count=$(lsof -t /var/lib/dpkg/lock-frontend)
if [ -n "$apt_process_count" ]; then
echo "apt 正在被其他进程使用。等待它可用..."
sleep 5 # 等待5秒后再次检查
else
break # 跳出循环
fi
done
# 更新软件源
apt-get update
sudo apt-get install -y make gcc build-essential bc dkms flex bison liblocale-hebrew-perl unzip
}
function get_ubuntu_info(){
#获取系统内核版本
ubuntu_kernel=`uname -r`
echo "系统内核版本:$ubuntu_kernel"
#检测当前内核是否含有当前的linux-headers
dpkg -s linux-headers-$ubuntu_kernel > /dev/null
if [ $? -eq 0 ]; then
echo -e "\033[32m内核头文件版本:linux-headers-$ubuntu_kernel\033[0m"
else
# 红色
if [ -d "/usr/src/linux-headers-$kernel_info" ]; then
echo -e "内核头文件版本: $GREEN linux-headers-$kernel_info $GREEN_NC"
elif [ -d "/lib/modules/$kernel_info" ]; then
echo -e "内核头文件版本: $GREEN $kernel_info $GREEN_NC"
else
echo -e "内核头文件缺失:$RED linux-headers-$kernel_info $RED_NC"
# 尝试安装相应的 linux-headers 包
echo "尝试安装 linux-headers-$kernel_info 包..."
sudo apt-get install -y linux-headers-$kernel_info
# 再次检查是否安装成功
dpkg -s linux-headers-$kernel_info > /dev/null
if [ $? -eq 0 ]; then
# 绿色显示
echo -e "\033[32m安装成功:linux-headers-$kernel_info\033[0m"
else
# 红色
echo -e "\033[31m无法安装:linux-headers-$kernel_info\033[0m"
echo "建议手动解决之后再重新执行脚本,否则影响安装..."
exit 1
fi
fi
fi
#判断这个文件夹是否存在 /lib/modules/$ubuntu_kernel-generic/build
if [ -d "/lib/modules/$ubuntu_kernel/build" ]; then
echo -e "\033[32m内核源码目录: /lib/modules/$ubuntu_kernel/build\033[0m"
else
#红色
echo -e "\033[31m内核源码目录不存在: /lib/modules/$ubuntu_kernel/build\033[0m"
#绿色
echo "尝试建立软连接..."
#建立软连接
sudo ln -s /usr/src/linux-headers-$ubuntu_kernel /lib/modules/$ubuntu_kernel/build
if [ $? -eq 0 ]; then
echo -e "\033[32m建立软连接成功: /lib/modules/$ubuntu_kernel/build\033[0m"
else
#红色
echo -e "\033[31m建立软连接失败: /lib/modules/$ubuntu_kernel/build\033[0m"
echo "建议手动解决之后再重新执行脚本,否则影响安装..."
exit 1
fi
fi
if mokutil --sb-state | grep -q "enabled"; then
#黄色警告
echo -e "安全引导:$GREEN 已启用 $GREEN_NC"
echo "建议禁用,如果需要禁用安全引导,请输入:b(进入bios)"
read -p "输入选项: " user_input
if [[ "${user_input,,}" == "b" || "${user_input,,}" == "B" ]]; then
#禁用安全引导
sudo systemctl reboot --firmware-setup
fi
exit 0
fi
}
function install_driver() {
mkdir -p /tmp/driver
# 解压 到tmp目录
unzip -o $driver_file -d /tmp/driver
cd /tmp/driver/backport-iwlwifi*
cd iwlwifi-stack-dev
# 安装依赖
make defconfig-iwlwifi-public
make -j$(nproc)
sudo make install
tar xf $driver_file2 -C /tmp/driver
cd /tmp/driver/iwlwifi-ty-*
mv * /lib/firmware/
update-initramfs -u
rm -rf /tmp/driver
}
function about(){
echo "
+--------------------------------------------------------------------------------------------------
| xTools FOR Linux
+--------------------------------------------------------------------------------------------------
| 任务:安装intel AX211、AX210网卡驱动
+--------------------------------------------------------------------------------------------------
| 项目地址: https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/backport-iwlwifi.git
+--------------------------------------------------------------------------------------------------
| 脚本开源地址: https://gitee.com/Liplay-1/x-tools
+--------------------------------------------------------------------------------------------------
| 关于:安装脚本由振宇i计算编写,欢迎加入QQ群:951733266
+--------------------------------------------------------------------------------------------------
| 🌟 需要重启电脑,如果出现无法使用的情况,请参考开源项目文档解决,以获取帮助和支持。
+--------------------------------------------------------------------------------------------------
"
}
function install() {
get_ubuntu_info
set_compile_software
install_driver
about
}
install
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。