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
- Window下 Qt 編譯MySQL驅動QT編譯MySql
- mongodb c++ 驅動庫編譯MongoDBC++編譯
- Linux驅動實踐:帶你一步一步編譯核心驅動程式Linux編譯
- CentOS7.3編譯安裝Nginx1.10.1CentOS編譯Nginx
- Qt5.4 MSVC mysql驅動編譯;QTMySql編譯
- [Windows驅動開發](一)VS2008搭建windows驅動編譯環境Windows編譯
- 04_Linux下把驅動編譯進核心Linux編譯
- Linux驅動開發筆記(三):基於ubuntu的驅動、makefile編寫以及編譯載入流程Linux筆記Ubuntu編譯
- [linux]一個通用驅動Makefile-V2-支援編譯多目錄Linux編譯
- 在一個系統上編譯多個核心版本的驅動模組(轉)編譯
- WDM驅動程式設計之編譯安裝篇 (轉)程式設計編譯
- Linux驅動開發: Ubuntu(PC機)系統上編譯驅動並載入測試LinuxUbuntu編譯
- raid驅動不用插軟盤的方法(轉)AI
- linux網路卡驅動程式的編譯與安裝(轉)Linux編譯
- ubuntu16.04安裝megaraid-9460-16i驅動(raid卡驅動)UbuntuAI
- 如何編寫一個簡單的Linux驅動(三)——完善裝置驅動Linux
- Linux網路驅動程式編寫(一)(轉)Linux
- 前端開發模式:被動編譯和主動編譯前端模式編譯
- 一張圖解析 編譯器編譯流程圖解編譯
- usb驅動程式初步編寫
- apache動態編譯/靜態編譯區別Apache編譯
- java動態編譯Java編譯
- 【譯】理解Node事件驅動架構事件架構
- WDK10編譯出最適合申請WHQL認證的驅動編譯
- 系統安裝到用raid做成的邏輯驅動器上不能啟動的一個原因!AI
- 自己動手編譯OpenJDK編譯JDK
- 編譯lua動態庫編譯
- ubuntu手動編譯lampUbuntu編譯LAMP
- 動態編譯JAVA程式編譯Java
- 整合raid驅動下CentOS 5.5系統盤的定製薦AICentOS
- 【C#】C#中使用GDAL3(三):Windows下編譯外掛驅動C#Windows編譯
- Java動態編譯優化——提升編譯速度(N倍)Java編譯優化
- Linux驅動實踐:如何編寫【 GPIO 】裝置的驅動程式?Linux
- Typescript編譯原理(一)TypeScript編譯原理
- SPI驅動框架一框架