中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

如何為樹莓派編譯官方版本Linux內核

發布時間:2021-10-22 09:13:26 來源:億速云 閱讀:244 作者:柒染 欄目:互聯網科技

這篇文章將為大家詳細講解有關如何為樹莓派編譯官方版本Linux內核,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

為樹莓派編譯Linux內核的文章在網上面有很多,但是大部分文章中記錄的是直接從GitHub上面拉取官方的repository,然后用官方的一整套工具鏈編譯生成Linux內核,沒有人嘗試過直接從Linux Kernel官網下載源碼然后編譯生成Linux內核的。自己花了點時間編譯了kernel官網上的Linux內核源碼,并且也成功了,特此來記錄一下研究的過程。

下面所有的操作全部在/home/test/RPI/目錄下,所用的樹莓派硬件版本為3B。

首先,從這里下載交叉編譯工具鏈,然后解壓:

wget -c http://releases.linaro.org/components/toolchain/binaries/7.3-2018.05/arm-linux-gnueabihf/gcc-linaro-7.3.1-2018.05-i686_arm-linux-gnueabihf.tar.xz
xz -d gcc-linaro-7.3.1-2018.05-i686_arm-linux-gnueabihf.tar.xz
tar xvf gcc-linaro-7.3.1-2018.05-i686_arm-linux-gnueabihf.tar

然后配置交叉編譯環境:

sudo apt-get install libncurses-dev build-essential
export PATH=$PATH:/home/test/RPI/gcc-linaro-7.3.1-2018.05-i686_arm-linux-gnueabihf/bin/

其中,ncurses是終端下的界面庫,是編譯menuconfig階段的依賴項;build-essential主要用來提供編譯時的make命令。

然后,下載內核源碼并解壓:

wget -c https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.19.104.tar.xz
xz -d linux-4.19.104.tar.xz
tar xvf linux-4.19.104.tar

然后進入源碼目錄開始配置內核:

cd linux-4.19.104/
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2835_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig

這里主要使用了內核源碼中自帶的bcm2835_defconfig配置,這個是編譯官方內核源碼的關鍵。

在編譯menuconfig階段,會彈出內核配置窗口,在這里可以對內核進行相關的配置:

如何為樹莓派編譯官方版本Linux內核

這里為了演示,直接采用默認配置,選擇"Exit"后按回車保存并退出。

接下來就可以開始編譯內核了:

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 zImage modules dtbs

為了加快內核編譯的速度,這里加上了-j參數,具體編譯時間取決于電腦配置。
待內核編譯完成之后,就可以對zImage文件進行處理,最終生成樹莓派可直接引導的文件:

cd arch/arm/boot/
wget -c https://raw.githubusercontent.com/raspberrypi/linux/rpi-4.19.y/scripts/mkknlimg
chmod +x mkknlimg
./mkknlimg zImage kernel.img

開始執行安裝過程:

cd ../../../
mkdir install
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules_install INSTALL_MOD_PATH=/home/test/RPI/linux-4.19.104/install/

這一步主要用來創建lib目錄,方便后面直接將里面的modules目錄拷貝到內存卡系統目錄。

拔下樹莓派上的內存卡,插上電腦,開始復制文件:

mv /media/test/boot/kernel7.img /media/test/boot/kernel7.img.1
cp /home/test/RPI/linux-4.19.104/arch/arm/boot/kernel.img /media/test/boot/kernel7.img
cp /home/test/RPI/linux-4.19.104/arch/arm/boot/dts/*.dtb /media/test/boot/
sudo cp -r /home/test/RPI/linux-4.19.104/install/lib/ /media/test/aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa/

復制完成后,拔下內存卡,再插到樹莓派上面,然后開機啟動,ssh連上樹莓派,使用如下命令查看內核版本信息:

uname -a

這是之前系統的內核版本信息:

如何為樹莓派編譯官方版本Linux內核

這是使用新的內核后的版本信息:

如何為樹莓派編譯官方版本Linux內核

可以明顯看到,內核被替換成了新編譯的內核,內核替換成功。

經實際測試,樹莓派在替換新內核后也能夠正常的啟動,至于具體哪些板載功能收到了影響,具體也沒有測試過。另外,這次的測試僅在3B上面進行,對于本方法在其他硬件版本上面是否可行,可能還需要進一步的測試。

關于如何為樹莓派編譯官方版本Linux內核就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

张家界市| 西青区| 东辽县| 台南县| 沾化县| 宝兴县| 大渡口区| 德江县| 海口市| 岳池县| 长岭县| 吉林市| 毕节市| 九龙城区| 三门县| 石渠县| 宣武区| 桦川县| 五指山市| 红河县| 叙永县| 拉萨市| 航空| 高平市| 平遥县| 三河市| 奎屯市| 广河县| 马关县| 岳阳县| 富锦市| 太保市| 巫山县| 佛学| 新安县| 天长市| 西和县| 鹤壁市| 军事| 青阳县| 德庆县|