zoukankan      html  css  js  c++  java
  • 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目录下

    root@g6:~# mkdir initrd.dir
    root@g6:~# cd initrd.dir/
    # 将initrd.gz解压出来到initrd.dir文件夹下
    root@g6:~/initrd.dir# gzip -d -c < /root/copy_mount_is/install/initrd.gz | cpio -i
    # 替换.ko文件
    root@g6:~# 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文件压缩回去
    root@g6:~/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
    
  • 相关阅读:
    hdu 5082
    Codeforces Round #265 (Div. 2) E. Substitutes in Number
    Codeforces Round #265 (Div. 2) D. Restore Cube 立方体判断
    机器学习算法概述第五章——CART算法
    机器学习算法代码实现——线性回归
    机器学习算法概述第一章——线性回归
    机器学习之线性回归模板超详注释
    How to create a on-demand AWR snapshot?
    Emptying the buffers cache
    java/groovy 计算时间
  • 原文地址:https://www.cnblogs.com/tongh/p/12158977.html
Copyright © 2011-2022 走看看