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内核的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Buildroot构建指南——根文件系统
- 下一篇: 3dmax怎么制作超酷的机器蜘蛛