編譯linux核心原始碼,安裝 刪除核心

2021-08-30 19:51:08 字數 2506 閱讀 3420

linux作業系統:ubuntu16.04

核心版本:4.15.0-29-generic

需要編譯和安裝的核心原始碼版本:4.19

官網大致是這個樣子,大家關注我標出的位置就ok了

第一列:

mainline當前在開發的核心新版本

stable 穩定的核心版本

longterm 長期維護的核心版本

第二列:

版本號以小數點分割

第乙個位置主版本號一般有重大改變時會修改的版本號(具有里程碑意義)

第二個位置次版本號偶數代表穩定版本(可商用),奇數代表開發板不穩定(不可商用)

第三個位置這個號碼代表當前版本修改次數(每次可能修改一些bug)

第三列:

當前版本最後一次修改**時間

第四列:

tarball:完整的**

pgp:驗證簽名

patch:基於上乙個版本的補丁(一般商用的系統不會頻繁的編譯核心,所以可以打補丁上去方便)

登入ubuntu16.04

切換到root許可權:su - root

檢視當前作業系統安裝了哪些核心(注意:當前作業系統可以安裝許多核心,但是當前執行的核心只能有乙個)

dpkg --list | grep linux-image

檢視當前執行的核心版本

uname –r

為了防止後面安裝的時候報錯首先執行下面命令安裝軟體

sudo apt-get install libncurses5-dev libssl-dev -y

sudo apt-get install build-essential openssl -y

sudo apt-get install zlibc minizip -y

sudo apt-get install libidn11-dev libidn11 -y

sudo apt-get install bison -y

sudo apt-get install flex -y

sudo apt-get install libelf-dev -y

sudo apt-get install libelf-devel -y

sudo apt-get install elfutils-libelf-devel –y

sudo apt-get install flex –y

sudo apt-get install bison -y

將核心原始碼解壓到/usr/src/目錄下

tar xvf 原始碼包

將解壓後的原始碼包建立新鏈結

ln –s 解壓後原始碼包名 linux

make mrproper   清空一些配置資訊檢查原始碼是否完整

make clean       清空一些編譯資訊

cd /usr/src/linux

make menuconfig

這裡選擇核心中哪些模組參與編譯(簡單的說就是哪些編譯好的核心有哪些功能,具體的功能在下一節部落格中會給大家詳細介紹),這裡打下按向右的箭頭,選擇退出,彈出對話方塊口選擇yes,這裡的意思是選擇預設的配置。

在當前目錄下執行

make(相當於make bzimage加make modules)另外make可以加-j 20  意思啟動20個執行緒編譯

make modules          生成相應的模組

make modules_install    將相應的模組拷貝到對應的目錄下

make install            該命令的作用是將.config,vmlinuz,initrd.img,system.map檔案到/boot/目錄、更新grub。預設啟動新核心

檢視當前安裝的核心

如上圖所示,在該圖列表中含image部分是已經安裝過的核心

執行apt-get remove linux-image-****-generic

或者sudo apt-get purge linux-image-****-generic

(移除後啟動選項中還會有解除安裝的核心選項)

update-grub  更新grub這樣在系統啟動的時候就不會有解除安裝掉的核心了這樣就徹底的解除安裝了

問題dpkg --get-selections|grep linux

有時候這個命令找不到剛才安裝的核心

這個時候用一下方法

刪除boot下面和要刪除的核心版本相關的檔案 rm –rf rm -f *3.19.8*

刪除/usr/src/目錄下的核心原始碼

update-grub 更新grub

通過原始碼編譯linux核心

tar xvf linux 5.2.11.tar.xz c usr src kernels3 進入 usr src kernels目錄,配置核心編譯引數。注意要先安裝配置圖形化介面的軟體包 ncurses devel。make menuconfig或者直接將當前系統的核心配置檔案 boot conf...

linux 原始碼編譯安裝

tar.gz tar.bz2 的是源 包,需要編譯之後才能安裝,在編譯過程中你可以指定各種引數以適應你的系統需求,比如安裝位置,優化引數,要哪些功能不要哪些功能等等。這類源 包需要解壓後 tar.gz 的用tar zxvf 解壓,tar.bz2 的用tar jxvf 解壓 進入解壓目錄,一般都有乙個...

linux原始碼編譯安裝redis

系統環境 ubuntu 14.04.1 lts x64 tar xvf redis 3.0.0 rc1.tar.gz c usr local 進入到 usr local redis 3.0.0 rc1 目錄,執行 make 修改daemonize 改為 yes 使其能在後台執行服務 bind 改為 ...