樹莓派3內核下載及編譯替換 raspberry3 kernel 4.19

#!/bin/bash
echo =========================================
echo 樹莓派3內核下載及編譯替換 raspberry3 kernel 4.19
echo =========================================

echo ======如果在windows下編譯執行出現‘損壞的編譯器’ sed -i 's/\r$//' filename.sh即可恢復正常======
echo ======.sh文件在哪個目錄下執行,樹莓派內核下載也在該目錄下進行======

echo 1.下載樹莓派linux 內核
git clone https://github.com/raspberrypi/linux.git

echo 2.配置編譯環境
sudo apt-get install bc
sudo apt-get arm-bcm2708hardfp-linux-gnueabi
sudo apt-get arm-bcm2708-linux-gnueabi
sudo apt-get arm-rpi-4.9.3-linux-gnueabihf
sudo apt-get gcc-linaro-arm-linux-gnueabihf-raspbian
sudo apt-get gcc-linaro-arm-linux-gnueabihf-raspbian-x64

echo 3.安裝工具鏈(可能和步驟2有重複)
git clone https://github.com/raspberrypi/tools
cp -a tools /

echo 4.將交叉編譯工具加入臨時環境變量(32bit/64bit),只在當前窗口有效,如果想設定永久變量 vim /etc/profile 進行設定
export PATH=$PATH:/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin
export PATH=$PATH:/tools/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi/bin
export PATH=$PATH:/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin
export PATH=$PATH:/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin
export PATH=$PATH:/tools/arm-bcm2708/arm-bcm2708-linux-gnueabi/bin

echo 5.在Makefile 中配置ARCH 以及編譯工具
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2709_defconfig

echo 6.Kernel Configuration 生成.config 文件(這個步驟需要手動配置,不能直接通過.sh 執行)
make menuconfig

 

echo 7.編譯內核鏡像
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 zImage modules dtbs

echo 8.創建兩個掛載文件夾
mkdir /mnt/fat32
mkdir /mnt/ext4

echo 9.將能夠正常啓動的,含有樹莓派img 的SD 插入主機,df -lk 獲取掛載分區(假設掛載在sda1 sda2)
sudo mount /dev/sda1 /mnt/fat32
sudo mount /dev/sda2 /mnt/ext4

echo 10.安裝內核模塊
sudo make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_MOD_PATH=mnt/ext4 modules_install

echo 11.將編譯好的內核和設備樹文件替換到SD 卡中(先將原本SD 卡中的img 複製保存一份)
sudo cp /mnt/fat32/kernel7.img ./
sudo scripts/mkknlimg arch/arm/boot/zImage /mnt/fat32/kernel7.img
sudo cp arch/arm/boot/dts/*.dtb /mnt/fat32/
sudo cp arch/arm/boot/dts/overlays/*.dtb* /mnt/fat32/overlays/
sudo cp arch/arm/boot/dts/overlays/README /mnt/fat32/overlays/

echo 12.卸載SD卡的掛載
sudo umount mnt/fat32
sudo umount mnt/ext4

將SD 卡插入樹莓派,上電啓動,進入控制終端:$uname -a  查看內核是否已經替換成4.19

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章