Red Hat核心升級過程記錄
專案中因為要用到一些新的系統呼叫,需要升級當前所用的Red Hat5.2,於是就從Linux核心官方網站上下載原始碼進行編譯。
準備工作
1.確認核心及版本資訊
2.安裝軟體
編譯安裝新核心,依賴於開發環境和開發庫
# yum grouplist // 檢視已經安裝的和未安裝的軟體包組,來判斷我們是否安裝了相應的開發環境和開發庫;
# yum groupinstall "Development Tools" // 一般是安裝這兩個軟體包組,這樣做會確定你擁有編譯時所需的一切工具
# yum install ncurses-devel // 你必須這樣才能讓 make *config 這個指令正確地執行
# yum install qt-devel // 如果你沒有 X 環境(圖形介面),這一條可以不用
# yum install hmaccalc zlib-devel binutils-devel elfutils-libelf-devel // 建立 CentOS-6 核心時需要它們
編譯核心
1.獲取並解壓核心原始碼,配置編譯項
本次我選擇的升級核心版本是2.6.32.23。
我們在系統原有的核心配置檔案的基礎上建立新的編譯選項,所以複製一份原配置檔案到當前目錄下,命名為.config。
[root@src ~]# tar -jxvf linux-2.6.32.23.tar.bz2 -C /usr/src/
[root@src ~]# cd /usr/src/linux-2.6.32.23/
[root@src linux-2.6.32.23]# cp /boot/config-2.6.18-92.el5 .config
接下來繼續配置:
[root@src linux-2.6.32.23]# sh -c 'yes "" | make oldconfig'
make oldconfig會讀取當前目錄下的.config檔案,在.config檔案裡沒有找到的選項則提示使用者填寫。make oldconfig會在生成新的.config之前備份為.config.old,並生成新的.config檔案。
有的文件裡介紹使用make memuconfig(系統中必須安裝有ncurses庫),它是以選單的方式,選擇編譯核心需要的模組,類似介面如下:
2.開始編譯
[root@src linux-2.6.32.23]# make bzImage // 生成核心檔案
[root@src linux-2.6.32.23]# make modules // 編譯模組
[root@src linux-2.6.32.23]# make modules_install // 編譯安裝模組
生成核心檔案
編譯模組
編譯安裝模組
3.安裝
[root@src linux-2.6.32.23]# make install
4.修改grub引導,重啟
安裝完成後,需要修改Grub引導順序,讓新安裝的核心作為預設核心。
# vim /etc/grub.conf
數一下剛剛新安裝的核心在哪個位置,從0開始,然後設定default為那個數字,一般新安裝的核心在第一個位置,所以設定default=0。
然後,重啟後確認當前核心版本
[root@src ~]# shutdown -r now
[root@src ~]# uname -r
顯示核心版本為2.6.32.23,則表示升級核心成功。
異常
1.在升級編譯完核心,重啟後無法進入系統,提示如下錯誤資訊:
解決方法:編譯時修改.config檔案中的“CONFIG_SYSFS_DEPRECATED_V2”,預設該選項是被註釋掉的,為not set,將其改為y,即修改為“CONFIG_SYSFS_DEPRECATED_V2=y”,修改後,再編譯,重啟即正常了。
2.如果編譯失敗(如缺少依賴包),可以先清除,再重新編譯
[root@src ~]# cd /usr/src/linux-2.6.32.23
[root@src linux-2.6.32.23]# make mrproper // 完成或者安裝過程出錯,可以清理上次編譯的現場
[root@src linux-2.6.32.23]# make clean
相關文章
- 升級 PHP7 過程記錄PHP
- 從 Red Hat Enterprise Linux 2.1 AS升級到 Red Hat Enterprise Linux 3Linux
- Linux red hat 核心版下安裝NginxLinuxNginx
- 升級RH9.0到2.6.5核心全過程(轉)
- synchronized升級過程synchronized
- Red Hat5忘記root密碼密碼
- Oracle ASMLib & Red Hat Linux & Linux核心版本資訊OracleASMLinux
- 打怪(githug)升級過程Git
- Migrating Red Hat Linux 2.1 or 3.0 to Red Hat Linux 4.0Linux
- 攻略 - 自建 Red Hat 企業級系統 Vagrant Box
- Red Hat Magazine釋出
- 老vue專案webpack3升級到webpack5全過程記錄(一)VueWeb
- Apache DolphinScheduler 1.3.4升級至3.1.2版本過程中的踩坑記錄Apache
- Linus Torvalds封殺了一名Red Hat的核心開發者
- RED HAT 7.3裝Oracle8.1.7配置什麼核心引數(轉)Oracle
- 升級核心
- 記一次uboot升級過程的兩個坑boot
- 記升級 macOS Mojave 過程中的一件小事Mac
- linux AS4 核心升級並安裝oracleasm的過程總結LinuxOracleASM
- openssl版本升級操作記錄
- AIX系統升級記錄AI
- springboot升級過程中踩坑定位分析記錄 | 京東雲技術團隊Spring Boot
- 在Red Hat Enterprise Linux中有什麼型別的核心?Linux型別
- Red Hat Enterprise LinuxLinux
- 升級Linux核心奮鬥記(轉)Linux
- ubuntu核心升級Ubuntu
- 麒麟核心升級
- vue-cli3.0 升級記錄Vue
- Red Hat Linux 7.0安裝使用手記(六則) (轉)Linux
- Red Hat Enterprise Linux 7.4Linux
- Red Hat 紅帽中文知識庫
- Red Hat Linux 入門指南!(轉)Linux
- 詳細瞭解 synchronized 鎖升級過程synchronized
- 一次系統升級的過程
- oracle小版本升級patch過程和分析Oracle
- java併發筆記四之synchronized 鎖的膨脹過程(鎖的升級過程)深入剖析Java筆記synchronized
- linux 核心升級步驟,kernel升級Linux
- Linux核心升級Linux