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

歡迎訪問 生活随笔!

生活随笔

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

linux

linux内核打印前有buildroot,buildroot-linux内核

發(fā)布時間:2023/12/10 linux 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux内核打印前有buildroot,buildroot-linux内核 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

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

使用官方內(nèi)核

使用官方的內(nèi)核構(gòu)建系統(tǒng)非常簡單,事實上,mini2440_defconfig就是采用官方的內(nèi)核進行構(gòu)建的。

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

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

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

Figure1??配置Linux Kernel的來源

Figure2 mini2440的官方內(nèi)核版本配置參數(shù)

配置完成后,保存退出。直接make linux ,buildroot就能從Linux kernel官網(wǎng)下載編譯你所需的內(nèi)核就好。

構(gòu)建定制化的內(nèi)核

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

我使用的是linux-3.5-20151029.tgz這個官方提供的Linux 內(nèi)核壓縮包。構(gòu)建步驟如下:

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倉庫的地址,這個讀者根據(jù)需要進行修改。

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

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

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

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

a)???????git ?init--bare /mnt/sdb/git_repo/linux-3.5-tiny4412創(chuàng)建本地的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.??????修改配置文件和構(gòu)建腳本。實際上Linux內(nèi)核Config變量選項已經(jīng)默認選上了,不需要修改了,如果你還要定制化一些配置選項,可以慢慢學習修改linux/linux.mk的構(gòu)建腳本。

經(jīng)過以上修改,make linux就能 編譯構(gòu)建你的定制化Linux內(nèi)核了。

---------------------

作者:zhou_chenz

來源:CSDN

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

版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請附上博文鏈接!

總結(jié)

以上是生活随笔為你收集整理的linux内核打印前有buildroot,buildroot-linux内核的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。