溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

樹莓派如何編譯操作系統(tǒng)的源碼

發(fā)布時間:2021-11-20 09:34:11 來源:億速云 閱讀:339 作者:小新 欄目:互聯(lián)網(wǎng)科技

這篇文章主要為大家展示了“樹莓派如何編譯操作系統(tǒng)的源碼”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“樹莓派如何編譯操作系統(tǒng)的源碼”這篇文章吧。

1、獲取升級所需源碼

1)下載地址:
官方網(wǎng)址:
上面列出了樹莓派所有的開源軟件:

firmware:樹莓派的交叉編譯好的二進制內(nèi)核、模塊、庫、bootloader
linux:內(nèi)核源碼
tools:編譯內(nèi)核和其他源碼所需的工具——交叉編譯器等

我們只需要以上三個文件即可,下面的工程可以了解一下

documentation:樹莓派離線幫助文檔,教你如何使用、部署樹莓派(樹莓派官方使用教程)
userland:arm端用戶空間的一些應(yīng)用庫的源碼——vc視頻硬浮點、EGL、mmal、openVG等
hats:Hardware Attached on Top,樹莓派 B+型板子的擴展板資料
maynard:一個gtk寫成的桌面環(huán)境
scratch:一個簡易、可視化編程環(huán)境
noobs:一個樹莓派鏡像管理工具,他可以讓你在一個樹莓派上部署多個鏡像
weston:一個應(yīng)用程序
target_fs:樹莓派最小文件系統(tǒng),使用busybox制作
quake3:雷神之錘3有線開發(fā)源碼firmwareb

2)下載方法:
a、網(wǎng)頁直接下載:
點到所需要下載的工程,左上角選版本,右方有一個download ZIP按鈕可直接下載(筆者下載完成后,在linux中解壓提示出錯,windows又非常慢切內(nèi)核建議不要在windows環(huán)境解壓,所以筆者不建議使用這種辦法)
b、使用git下載

$ mkdir raspeberrypi_src
$ cd raspberrypi_src
$ git clone git://github.com/raspberrypi/firmware.git
$ git clone git://github.com/raspberrypi/linux.git
$ git clone git://github.com/raspberrypi/tools.git

會得到三個文件夾:firmware、linux、tools。

2、編譯、提取內(nèi)核及其模塊

1)獲得內(nèi)核配置文件
在運行的樹莓派中運行:

$ls /proc/

可看到一個叫config.gz的文件,他是當(dāng)前的樹莓派配置選項記錄文件,我們將他拷出,放入我們的內(nèi)核源碼目錄樹下

$cp /proc/config /home/pi

我們這里使用前面交過的samba拷出并拷入內(nèi)核源碼目錄下,不熟悉的人可參考前面文章

在linux內(nèi)核源碼下執(zhí)行:

$zcat config.gz > .config

2)配置、編譯內(nèi)核
a、修改內(nèi)核源碼makefile ARCH類型和編譯器路徑

$vi Makefile +195

找到以上類似代碼,改為如圖所示

b、查看、修改配置選項

$make menuconfig

可出現(xiàn)以下界面

如果不做修改,直接選中exit即可(注意使用鍵盤操作)

c、編譯內(nèi)核鏡像

$make

在arch/arm/boot目錄下可以看到一個叫zImage的文件,就是我們新的內(nèi)核

但是樹莓派需要另外一種格式的鏡像,需要進行處理一下,執(zhí)行以下命令

$cd tools/mkimage
$./imagetool-uncompressed.py ../../linux/arch/arm/boot/zImage

即可在當(dāng)前文件夾下看到一個叫:kernel.img的文件,就是我們需要的新內(nèi)核了

d、提取modules
上一步其實不但編譯出來了內(nèi)核的源碼,一些模塊文件也編譯出來了,這里我們提取一下

$cd raspberrypi_src
$mkdir modules
$cd linux
$ make modules_install INSTALL_MOD_PATH=../modules

即可在modules得到我們需要的模塊文件

2、升級RPi的kernel、Firmware、lib

將SD卡拔下插在電腦上(可使用讀卡器)
1)升級內(nèi)核
將新編好的內(nèi)核拷入SD卡,改名為:kernel_new.img
打開boot目錄下
找到config.txt文件,加入:kernel=kernel_new.img這一行

2)升級boot
將firmware/boot/目錄下 以下文件拷入SD卡boot目錄:fbootcode.bin fixup.dat fixup_cd.dat start.elf

3)更新vc庫及內(nèi)核modules
將第3步d步中編譯出來的modules/lib/modules拷入樹莓派文件系統(tǒng)/lib下

以上是“樹莓派如何編譯操作系統(tǒng)的源碼”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI