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 make2.2 更新 kernel.img 檔案install_mod_path=./data2 modules_install 操作ext4分割槽,需要root許可權。
前面已經用 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...