Centos7.3編譯RAID驅動(一)
導讀 | 本次實驗,通過使用安裝了自定義核心4.18.202的 7.3系統在Lenovo SR650伺服器,RAID陣列卡為940-8i中測試相容性,進入安裝介面發現找不到磁碟。 |
我們就需要下載940-8i的驅動,首先查一下lenovo 940-8i的晶片型號,然後在Broadcom官網查詢和哪一個相同,下載晶片相同的RAID驅動。下載地址:
解壓MR_
_DRIVER_7.20-07.720.04.00-1.tgz,然後解壓megaraid_sas_components.tgz,
進入kmod_srpm目錄,yum安裝”Development Tools”組和一些常用工具。
[root@localhost kmod_srpm]# yum groupinstall "Development Tools" [root@localhost kmod_srpm]# yum -y install libelf-dev libelf-devel elfutils-libelf-devel
安裝kernel-headers,注意!kernel-headers儘可能從映象安裝,因為kernel-headers要和kernel版本一致。
[root@localhost kmod_srpm]# yum -y install kernel-headers-`uname -r`
下面開始重新編譯一個和當前系統版本相容的RAID驅動:
[root@localhost kmod_srpm]# rpmbuild --rebuild kmod-megaraid_sas-07.720.04.00-1.src.rpm
進入~/rpmbuild/RPMS/x86_64目錄,
找到這個檔案kmod-megaraid_sas-07.720.04.00-1.x86_64.rpm。找到之後先保留。我們下一步要將該rpm包打包成dd.iso檔案。
[root@localhost ~]# cd ~/rpmbuild/RPMS/x86_64
在官網下載的壓縮包裡面有一些其他作業系統的raid驅動。我們找這個目錄
rhel7_oel7_centos7/disks-1裡面的這個檔案
megaraid_sas-07.720.04.00_el7.7-1.x86_64.iso.gz
首先使用gunzip解壓它,解壓為.iso檔案
[root@localhost generic_srpm]# gunzip /root/rhel7_oel7_centos7/disks-1/megaraid_sas-07.720.04.00_el7.7-1.x86_64.iso.gz
將megaraid_sas-07.720.04.00_el7.7-1.x86_64.iso檔案掛載到目錄,然後將裡面的內容複製到一個新建的資料夾裡面:
[root@localhost ~]# mount rhel7_oel7_centos7/disks-1/megaraid_sas-07.720.04.00_el7.7-1.x86_64.iso /mnt/ [root@localhost ~]# mkdir test && cp -r /mnt/* test/
如下是複製出來的檔案目錄結構:
將test/rpms/x86_64/*下面的東西刪掉。將編譯好的kmod-megaraid_sas-07.720.04.00-1.x86_64.rpm檔案複製到x86_64目錄下。
[root@localhost ~]# rm -rf test/rpms/x86_64/* [root@localhost ~]# cp -p rpmbuild/RPMS/x86_64/kmod-megaraid_sas-07.720.04.00-1.x86_64.rpm test/rpms/x86_64/
安裝createrepo安裝包
[root@localhost ~]# yum -y install createrepo
進入test/rpms/x86_64/目錄
在當前目錄執行createrepo,為該目錄生repo metadata.
[root@localhost x86_64]# createrepo .
然後想辦法將test目錄製作成iso,就可以在Linux dd裡面載入驅動了。
下面是使用mkisofs
來製作iso檔案。
[root@localhost test]# yum -y install genisoimage [root@localhost test]# cd ~/test [root@localhost test]# mkisofs -o dd.iso -r .
進入grub boot option時,選擇Install CentOS Linux 7
按一下tab鍵,在後面加入linux dd選項,回車,就可安裝raid驅動了。(如果是使用58的這個定製映象,不要忘記修改前面LABEL名稱)
下圖第一個紅圈,選擇存放raid驅動的儲存器。第二個紅圈搜尋到dd.iso檔案,是否掛載。三個紅圈選擇對應的rpm包格式的raid驅動。第四個圈輸入c,繼續。
再次輸入c ,並回車,進入安裝介面
安裝介面,可以看到識別硬碟了。
安裝完系統,發現無法進入系統,進入了emerency模式。
啟動到安裝介面時使用的核心版本為3.10.0.514版本:
還是因為沒有載入RAID驅動的問題,因為系統裡面的核心為4.18.202版本,所以需要載入一個4.18.202匹配的raid驅動。
本文原創地址:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2896881/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux驅動開發筆記(一):helloworld驅動原始碼編寫、makefile編寫以及驅動編譯Linux筆記原始碼編譯
- Qt編譯MySQL驅動QT編譯MySql
- CentOS7.3 編譯搭建 lamp 環境CentOS編譯LAMP
- Linux驅動實踐:帶你一步一步編譯核心驅動程式Linux編譯
- 04_Linux下把驅動編譯進核心Linux編譯
- [linux]一個通用驅動Makefile-V2-支援編譯多目錄Linux編譯
- Linux驅動開發筆記(三):基於ubuntu的驅動、makefile編寫以及編譯載入流程Linux筆記Ubuntu編譯
- ubuntu16.04安裝megaraid-9460-16i驅動(raid卡驅動)UbuntuAI
- Linux驅動開發: Ubuntu(PC機)系統上編譯驅動並載入測試LinuxUbuntu編譯
- 如何編寫一個簡單的Linux驅動(三)——完善裝置驅動Linux
- vs2013編譯驅動錯誤-Inf2Cat,signability test failed編譯AI
- WDK10編譯出最適合申請WHQL認證的驅動編譯
- 【譯】理解Node事件驅動架構事件架構
- Linux驅動實踐:如何編寫【 GPIO 】裝置的驅動程式?Linux
- Java動態編譯優化——提升編譯速度(N倍)Java編譯優化
- 編譯lua動態庫編譯
- 自己動手編譯OpenJDK編譯JDK
- Linux RN6752 驅動編寫Linux
- 【C#】C#中使用GDAL3(三):Windows下編譯外掛驅動C#Windows編譯
- Typescript編譯原理(一)TypeScript編譯原理
- CentOS7.3下載,CentOS7.3 iso下載CentOS
- Android Apk反編譯系列教程(一)如何反編譯APKAndroidAPK編譯
- 如何編寫linux下nandflash驅動-4LinuxNaN
- linux裝置驅動編寫入門Linux
- WIN32 手動編譯Win32編譯
- iOS自動化編譯打包iOS編譯
- CentOS7.3搭建FastDFS V5.11(一)CentOSAST
- SPI驅動框架一框架
- [譯]理解 Node.js 事件驅動機制Node.js事件
- 08_第一個相對完整的驅動實踐編寫
- linux 觸控式螢幕驅動編寫Linux
- Centos7.3 升級最新Openssl1.1.0e同時編譯安裝lnmp環境(使用最新openssl1.1.0e)CentOS編譯LNMP
- Dubbo原始碼之動態編譯原始碼編譯
- Java動態編譯和熱更新Java編譯
- Java編譯與反編譯Java編譯
- WebRTC研究 (一) 編譯原始碼Web編譯原始碼
- 有關Linux的可執行程式——動態編譯、靜態編譯、readelfLinux行程編譯
- libusb android ndk編譯--編譯mipsAndroid編譯