溫馨提示×

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

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

怎樣將3B系統(tǒng)升級(jí)到兼容3B+樹莓派

發(fā)布時(shí)間:2021-11-19 18:22:34 來(lái)源:億速云 閱讀:208 作者:柒染 欄目:大數(shù)據(jù)

本篇文章為大家展示了怎樣將3B系統(tǒng)升級(jí)到兼容3B+樹莓派,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

一、前言

樹莓派使用的鏡像比較舊了,可以通過三種方式進(jìn)行升級(jí)。一種是本地下載編譯升級(jí),即Local build,還有一種采用交叉編譯,第三種最簡(jiǎn)單,輸入一條命令就可以升級(jí)。 

下面主要講第一種方式。

二、升級(jí)過程

1、目前的內(nèi)核版本,使用 uname -a 查看 

2、使用 sudo apt-get install git bc 安裝必備軟件

3、使用 git clone --depth=1 https://github.com/raspberrypi/linux 下載最新內(nèi)核

4、使用如下命令進(jìn)行編譯前配置

cd linux

KERNEL=kernel7

make bcm2709_defconfig

5、make,共有三個(gè)東西需要make,這個(gè)過程會(huì)花費(fèi)很少時(shí)間,同時(shí)為了避免出錯(cuò),可以分別make.

1.make -j4 zImage

2.make -j4 modules

3.make -j4 dtbs

- 6、執(zhí)行 sudo make modules_install 進(jìn)行安裝 

- 7、依次使用如下命令拷貝

1.sudo cp arch/arm/boot/dts/*.dtb /boot/

2.sudo cp arch/arm/boot/dts/overlays/*.dtb* /boot/overlays/

3.sudo cp arch/arm/boot/dts/overlays/README /boot/overlays/

4.sudo cp arch/arm/boot/zImage /boot/$KERNEL.img

8、執(zhí)行完上述步驟,不出錯(cuò)的話,重啟后,內(nèi)核應(yīng)該就升級(jí)成功了。

三、升級(jí)情況

make的過程非常舊,如果不加參數(shù) -j4 的話,編譯需要好幾個(gè)小時(shí),加上參數(shù)使用 4核同時(shí)編譯,編譯速度明顯加快。時(shí)間如下:

1.make -j4 zImage      34min

2.make -j4 modules     66min 

3.make -j4 dtbs        <1min  

除去兩個(gè)編譯過程特別耗時(shí)外,其他的指令都很快完成。

四、錯(cuò)誤及解決方法

可能出現(xiàn)的錯(cuò)誤

如上執(zhí)行完了所有步驟,并沒有那一步出現(xiàn)錯(cuò)誤。執(zhí)行完步驟后查看版本號(hào)是沒有變化的,重啟后就無(wú)法網(wǎng)卡燈不閃爍,路由器看不到樹莓派連接,SSH自然登陸不上。沒有顯示器,因此看不出系統(tǒng)是否啟動(dòng),感覺應(yīng)該是沒有。

目前不知道是什么原因?qū)е碌摹I?jí)完成后,/boot目錄下多了幾個(gè).dts文件,刪除后試了不行。最新版的樹莓派官方系統(tǒng)默認(rèn)不開啟SSH,需要在/boot目錄下手動(dòng)添加一個(gè)名為ssh的空白文件,添加了也不行。

拷貝升級(jí)前的/boot文件夾內(nèi)容進(jìn)行替換后,可以連上樹莓派,查看版本號(hào)并沒有更新。

解決方法

出現(xiàn)上面這個(gè)情況的原因是樹莓派無(wú)法boot,bootbin和升級(jí)后的內(nèi)核并不兼容,也就是說(shuō)原有的舊的bootbin不能boot新的內(nèi)核。

可以使用新版本的固件文件替換。代碼在樹莓派github倉(cāng)庫(kù)的firmware項(xiàng)目下。具體的替換有三個(gè),如下:

1bootcode.bin

2fixup.dat

3start.elf

將新版本的這三個(gè)文件拷貝到/boot目錄下替換掉原有的文件,便可以啟動(dòng)了。

五、第二種方式

第二種方式是使用的交叉編譯,宿主機(jī)是搭建在VM虛擬機(jī)里的一個(gè)ubuntu。具體的步驟可以看官網(wǎng)的文檔,交叉編譯的工具在樹莓派github倉(cāng)庫(kù)tools項(xiàng)目中。

編譯的原理都差不多,也可以使用menuconfig來(lái)自定義編譯的內(nèi)核。由于虛擬機(jī)的ubuntu也僅僅只分配了一個(gè)CPU核,實(shí)際的編譯效果和樹莓派四核編譯時(shí)間雖有減少,但也不是很多。

編譯完成之后見內(nèi)存卡插入電腦,掛載進(jìn)ubuntu里,拷貝新編譯好的內(nèi)核和模塊進(jìn)去,便可。若出現(xiàn)不開機(jī)的情況,和上面提到的錯(cuò)誤類型是一致的。也就是固件和內(nèi)核不兼容,比如說(shuō)我這里使用內(nèi)核4.1,升級(jí)到最新的內(nèi)核4.9之后就出現(xiàn)這個(gè)問題,同時(shí)升級(jí)固件就不會(huì)。

六、第三種方式

使用命令升級(jí),最簡(jiǎn)單也不會(huì)出錯(cuò)。

sudo apt-get install --reinstall raspberrypi-bootloader raspberrypi-kernel

上述內(nèi)容就是怎樣將3B系統(tǒng)升級(jí)到兼容3B+樹莓派,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

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

AI