Linux核心編譯和替換核心

2021-10-18 04:14:00 字數 1829 閱讀 2165

linux核心支援多種架構。該篇小記是筆者第一次針對已有的核心配置檔案來編譯核心的,比如arm系列的博通bcm,海思hisi,恩智浦i.mx6ull…本次是針對博通bcm2709_defconfig來編譯核心的。

本次是針對博通bcm2709_defconfig來編譯核心

安裝交叉編譯工具鏈

安裝ncurses庫

sudo

apt-get

install libncurses5-dev libncursesw5-dev

arch=arm cross_compile=arm-linux-gnueabihf- kernel=kernel7 make bcm2709_defconfig
arch=arm cross_compile=arm-linux-gnueabihf- kernel=kernel7 make -j4 zimage modules dtbs
編譯時間較長,編譯成功之後:

在編譯的當前目錄下會生成vmlinux和vmlinux.o檔案

在arch/arm/boot目錄下生成zimage檔案

這些都是linux核心編譯成功的標誌。

插入sd卡,將sd卡掛載到ubuntu

(1)檢視sd卡掛載點

sudo

fdisk -l

會檢視到兩個掛載點sd1和sd2

(2)在工作目錄下建立兩個資料夾

mkdir data1 data2
(2)分別將sd卡的兩個分割槽掛載到建立的目錄下

sudo

mount /dev/sdb1 ./data1

sudo

mount /dev/sdb2 ./data2

sdb1一般為fat檔案系統

sdb2一般為ext4檔案系統

掛載之後就可以檢視到分割槽的內容了

2. 向對應分割槽載入必要的裝置驅動模組modules,核心映象,裝置樹等

2.1 安裝modules

sudo arch=arm cross_compile=arm-linux-gnueabihf- kernel=kernel7 make

install_mod_path=./data2 modules_install 操作ext4分割槽,需要root許可權。

2.2 更新 kernel.img 檔案

前面已經用 mkknlimg 工具打包了kernel_new.img檔案了,把它複製到boot分割槽並配置使用即可:

cp kernel_new.img [fat]/

編輯 [fat]/config.txt 檔案,在最後加入一行:

kernel=kernel_new.img

2.3 複製其他相關檔案

cp arch/arm/boot/dts/.dtb [fat]/

cp arch/arm/boot/dts/overlays/.dtb* ./data1/overlays/

cp arch/arm/boot/dts/overlays/readme ./data1/overlays/

更新完成後插回開發板即可開機,開機後可以用 uname -a 命令檢視kernel資訊已經改變。

編譯核心並替換核心

以5.3.8 最新 linux 核心為例 wget安裝核心編譯所需的環境 sudo apt get install git fakeroot build essential ncurses dev xz utils libssl dev bc flex libelf dev bison解壓核心原始碼...

Linux核心編譯安裝和解除安裝核心

linux開行版的自帶核心不一定能滿足linux學習和某些特殊的要求,這時我們就不得不根據自己的需求重新安裝核心。這裡我介紹一些常用編譯核心的步驟。核心編譯安裝 p.s.學習最新的核心,可以轉殖linus在github的 二 選擇核心配置 p.s.選擇預設選項的話 make defconfig。p....

Linux核心操作 核心編譯

本文基於ubuntu14.04系統進行操作的。本文會後續更新,這裡給出乙個簡單的流程。本人屬於初學者,等進一步深入的時候會進行細節描寫。方法一 sudo apt get install linux source使用該辦法可以一鍵獲取核心。在我的系統環境下,獲取的是 linux source 3.13...