您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“樹莓派如何編譯操作系統(tǒng)的源碼”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“樹莓派如何編譯操作系統(tǒng)的源碼”這篇文章吧。
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。
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得到我們需要的模塊文件
將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è)資訊頻道!
免責(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)容。