日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Buildroot构建指南——Linux内核

發布時間:2023/12/15 linux 91 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Buildroot构建指南——Linux内核 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Buildroot可以從Linux Kernel的官網(kernel.org)下載并編譯內核,也可以使用用戶自己的定制化內核。
使用官方內核

使用官方的內核構建系統非常簡單,事實上,mini2440_defconfig就是采用官方的內核進行構建的。

make menuconfig --> Kernel --> KernelVersion中,你可以選擇Latest Version也就是最新版本的內核進行構建(目前是4.5.4),也可以選擇Customer Version也就是以前的穩定版進行構建。

一般會選擇一個Customer Version的穩定版本。mini2440選擇的是3.0.4這個比較舊的版本。

注意圖2中的Defconfig name選項,這里填寫了mini2440,這是因為mini2440實際上是在Linux官方的源代碼樹中被維護的,Linuxkernel官方的源代碼里就有mini2440的配置文件,所以這里選上mini2440,內核編譯時,會直接使用mini2440在Linux Kernel源碼樹中的配置文件進行編譯。

Figure1? 配置Linux Kernel的來源

Figure2 mini2440的官方內核版本配置參數

配置完成后,保存退出。直接make linux ,buildroot就能從Linux kernel官網下載編譯你所需的內核就好。
構建定制化的內核

很多時候,我們需要持續維護和開發自己的Linux內核定制版本,而不是直接到官網下一個內核來用。像友善Tiny4412開發板提供的定制版Linux-3.5內核,經過了大量的補丁和修改,兼容Linux和Android兩套系統,部分源代碼也不公開,接下來就以tiny4412定制化的Linux-3.5內核為例,介紹如何在Buildroot中構建定制化的內核。

我使用的是linux-3.5-20151029.tgz這個官方提供的Linux 內核壓縮包。構建步驟如下:

1.????? 在make menuconfig --> Kernel中,Kernel Version選擇Custom Gitrepository,即采用git倉庫來維護管理定制化的Linux Kernel源代碼。當然,這個方法默認你懂得如何使用git工具。如果不想用git的方法來維護,你也可以選擇Local Directory等方法,這樣應該是用file的方法把Linux Kernl源代碼cp到Buildroot中,具體可以自己嘗試。

采用git倉庫的方法,url of custome repository即git倉庫的鏈接地址自然要選上,圖中是我本地git倉庫的地址,這個讀者根據需要進行修改。

Version由你要構建的定制化Linux內核的git? tag號決定,我這里填master,則表示buildroot會去本地LinuxKernel的git倉庫master分支取最新版本的源代碼進行編譯。

Configuration file path即Buildroot中保存的一份LinuxKernel配置文件的存放位置,因為Buidroot在上層可以在編譯時把這份配置文件傳遞給Linux Kernel,Linux Kernel目錄下的.config文件進行配置。一般這份配置文件我們都放在Buildroot的board/文件夾里面,tiny4412是arm架構的,因而需要在board/arm/文件夾下面創建tiny4412文件夾,然后將友善官方在Linux內核目錄中保存的tiny4412_linux_defconfig這份配置文件存放在board/arm/tiny4412/文件夾下。編譯的時候,Buildroot會去這里取配置文件,我們也可以在這里作為上層修改維護內核的配置。

Figure3 定制化Linux Kernel 的menuconfig --> Kernel配置

2.????? 盡然采用的是git倉庫的方法管理定制化Linux Kernel的源代碼,則需要在本地創建git倉庫保存和管理真正的源代碼。

a)?????? git? init--bare /mnt/sdb/git_repo/linux-3.5-tiny4412創建本地的git 倉庫

b). 然后在一個空文件夾中,gitclone /mnt/sdb/git_repo/linux-3.5-tiny4412

?c). 再把官方給的linux-3.5-20151029.tgz中的源代碼,解壓到空文件夾中

d). 然后git add –A ,gitcommit? -m ”add code”, git push origin master.

這樣就可以把Linux Kernel源代碼備份到本地的git 倉庫中來維護,buildroot也可以在這里拿到Linux源代碼

3.????? 修改配置文件和構建腳本。實際上Linux內核Config變量選項已經默認選上了,不需要修改了,如果你還要定制化一些配置選項,可以慢慢學習修改linux/linux.mk的構建腳本。

經過以上修改,make linux就能 編譯構建你的定制化Linux內核了。

原文鏈接:https://blog.csdn.net/zhou_chenz/article/details/52348217

總結

以上是生活随笔為你收集整理的Buildroot构建指南——Linux内核的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。