linux installer os的驱动更新

installer os的驱动更新

linux系统可以简单的分为installer OS与运行时的OS,安装阶段识别不到硬件设备大概率因为installers OS版本较低,没有驱动来识别新的硬件,可以尝试更新驱动。

安装installer OS对应的linux-headers

在系统界面进入Rescue a broken system或者在系统开始安装的时候中断,进入命令行模式,

~ # uname -r
3.2.0-23-generic

拿到版本后

apt-get install linux-headers-3.2.0-23-generic

安装完成后检查

dpkg -l|grep linux-headers
# 输出中含有下面两项即可
ii  linux-headers-3.2.0-23 3.2.0-23.36 Header files related to Linux kernel version 3.2.0
ii  linux-headers-3.2.0-23-generic 3.2.0-23.36 Linux kernel headers for version 3.2.0 on 64 bit x86 SMP

编译新的驱动

去 http://www.broadcom.com/site-search 搜索需要的驱动,这里使用MR Linux Driver - 07.703.05.00,下载到root目录下。

在root下创建megaraid_sas_07.703文件夹之后

tar -xf ../MR_LINUX_DRIVER_7.3-07.703.05.00.tgz
cd src
rpm2cpio ../generic_srpm/megaraid_sas-07.703.05.00-1.src.rpm | cpio -i

此时src目录下生成文件如下

drwxr-xr-x 2 root root 4096 Jan 2 15:40 ./
drwxr-xr-x 16 root root 4096 Jan 2 15:36 ../
-rw-r--r-- 1 root root 142594 Jan 2 15:40 megaraid_sas-07.703.05.00.tar.gz
-rw-r--r-- 1 root root 8049 Jan 2 15:40 megaraid_sas.spec
-rwxr-xr-x 1 root root 25 Jan 2 15:40 Module.supported*
tar -xf megaraid_sas-07.703.05.00.tar.gz

进入解压后的目录drivers/scsi/megaraid_sas,这里就是我们要编译出.ko文件的地方,在该目录下执行

make -j4 CONFIG_DEBUG_INFO=1 -C /usr/src/linux-headers-3.2.0-23-generic M=${PWD} modules

修改initrd.gz文件

首先挂载我们的iso,此时可以看到iso中的内容,但是只读的,所以将整个挂载目录复制到root下

cp -a galen/. /root/copy_mount_is/

root目录下

[email protected]:~# mkdir initrd.dir
[email protected]:~# cd initrd.dir/
# 将initrd.gz解压出来到initrd.dir文件夹下
[email protected]:~/initrd.dir# gzip -d -c < /root/copy_mount_is/install/initrd.gz | cpio -i
# 替换.ko文件
[email protected]:~# cp megaraid_sas_07.703/src/drivers/scsi/megaraid_sas/megaraid_sas.ko initrd.dir/lib/modules/3.2.0-23-generic/kernel/drivers/scsi/megaraid_sas.ko
# 将initrd.dir文件压缩回去
[email protected]:~/initrd.dir# find . | cpio --create --format='newc' | gzip > ../copy_mount_is/install/initrd.gz

替换完initrd.gz之后要修改copy_mount_is目录下md5sum.txt中的校验码,先获取当前的md5校验码

md5sum initrd.gz

然后替换下图中的校验码

重新打包ISO

以上操作全部完成后,将我们的文件重新合为iso就可以了。

mkisofs -joliet-long -J -l -b isolinux/isolinux.bin -no-emul-boot    -boot-load-size 4 -boot-info-table -z -iso-level 4    -c isolinux/isolinux.cat   -eltorito-alt-boot -e boot/grub/efi.img -no-emul-boot -o 6.1-scaler-galen-test.iso copy_mount_is

原文地址:https://www.cnblogs.com/tongh/p/12158977.html

时间: 2024-08-01 22:59:29

linux installer os的驱动更新的相关文章

Linux Integration Services 4.1 更新发布

关于linux的学习,请参考书籍<linux就该这么学> 微软已经正式发布了 LIS 4.1,此次更新的新功能特性如下:新增对 Red Hat Enterprise Linux.CentOS 和 Oracle Linux 的 5.2.5.3.5.4 及 7.2 版本的支持支持 Hyper-V Sockets支持内存热插拔支持SCSI WNNlsvmbus 更新增加 LIS 卸载脚本 安装之后,Linux Integration Services 提供 驱动程序支持:LIS 支持 Hyper-V

Linux下hp打印机驱动hplip分析

Hplip分析 版本是2.14,源码位置:http://hplipopensource.com.图的来源:http://hplipopensource.com/node/128. 1.D-Bus初始化流程 D-Bus的初始化同样是在ui4/devmgr5.py开始的. ui4/devmgr5.py 01 class DevMgr5(QMainWindow,  Ui_MainWindow): 02     ...... 03     # TODO: Make sbus init mandatory

【详解】如何编写Linux下Nand Flash驱动

From: http://www.crifan.com/files/doc/docbook/linux_nand_driver/release/html/linux_nand_driver.html 版本:v2.2 Crifan Li 摘要 本文先解释了Nand Flash相关的一些名词,再从Flash硬件机制开始,介绍到Nand Flash的常见的物理特性,且深入介绍了Nand Flash的一些高级功能,然后开始介绍Linux下面和Nand Flash相关的软件架构MTD的相关知识,最后介绍了

超赞的Linux软件分享(持续更新)

开发 Android studio - Android 的官方 IDE:Android Studio 提供在各种类型的安卓设备上构建应用最快的工具. Aptana - Aptana Studio 利用了 Eclipse 的灵活性并且专注于让它成为强大的web 开发引擎. Arduino IDE - 开源的 Arduino 软件(IDE)让编写代码和上传代码到开发板变得简单. BlueJ - 一款为新手设计的免费 Java 开发环境,世界范围内数百万人使用. Clion - 一款强大的跨平台 C 

Linux下的硬件驱动——USB设备(转载)

usb_bulk_msg函数 当对usb设备进行一次读或者写时,usb_bulk_msg 函数是非常有用的; 然而, 当你需要连续地对设备进行读/写时,建议你建立一个自己的urbs,同时将urbs 提交给usb子系统. 转载于此http://os.chinaunix.net/a2003/0630/1056/000001056933.shtml Linux下的硬件驱动——USB设备(上)(驱动配置部分) USB设备越来越多,而Linux在硬件配置上仍然没有做到完全即插即用,对于Linux怎样配置和

利用 PlxSdk 工具包开发 Linux 下 PCI 设备驱动

最近实验室需要做一个 Linux 与 FPGA 之间的快速接口,考虑高速的特性,选择了 PCI 接口实现. FPGA 选择 altera 的 EP2C20F484C8 PCI 接口芯片选择 PLX8311 操作系统选择 ubuntu10.04 1.Linux 检测 PCI 将板卡插入到主机 PCI 插槽内,开机,通过 lspci 命令可以检测到当前系统下所有的 PCI 设备. 02:00.0 PCI bridge: PLX Technology, Inc. PEX 8111 PCI Expres

不依赖驱动更新blob字段

不依赖驱动更新blob字段,场景如下: tomcat发布到weblogic上,使用weblogic的连接池,就抛错了,如下: java.lang.ClassCastException: weblogic.jdbc.wrapper.Blob_oracle_sql_BLOB 开发代码如下: oracle.sql.BLOB blob = (oracle.sql.BLOB) rs.getBlob("TRANSFERDATA"); BufferedOutputStream bos = new B

VMware ESXi 6.5 的一个小bug-原有Linux中VMware Tools无法更新

测试过程中已经发现个小bug: 单台的ESXi 6.5上,如果是旧有的Linux机器,无法顺利更新VMware Tools,会报错,但如果VMware Tools不更新,在Web client段调整Linux桌面的分辨率就会造成VM无法访问,无法通过console控制,桌面端和网页端都不行,虚拟机会卡死而无法访问.于是在vCenter下又尝试下 Web client方式在vCenter下升级旧有Linux 虽然是提醒Outdated,但选项直接提供的就是Install VMware Tools-

linux下USB设备驱动

本文以USB鼠标讲解USB设备驱动. 驱动程序中调用usb_register(struct usb_driver *)函数时,先判断USB总线驱动程序是否支持usb_driver里定义的id_table,若支持,调用usb_driver的probe函数. 所以首先要定义并初始化usb_driver结构体: static struct usb_driver usbmouse_as_key_driver = { .name = "usbmouse_as_key", .probe = usb