welchen Kernel nehmen?
Überblick der Kernel-features auf github
4.4.70 auf GitHub
sudo apt-get install git make gcc-arm-linux-gnueabihf u-boot-tools git clone https://github.com/BPI-SINOVOIP/BPI-R2-bsp.git bpi-r2 cd bpi-r2 ./build.sh
siehe auch Patch für build.sh
wenn alles durchlaufen ist, ist der Kernel im Ordner SD/BPI-BOOT und die Module in SD/BPI-ROOT
der Kernel kann direkt auf die Boot-Partition geschrieben werden (Pfad beachten, vorher Backup!) die Module müssen als Root rüberkopiert werden
cp SD/BPI-BOOT/bananapi/bpi-r2/linux/uImage /media/$USER/BPI-BOOT/bananapi/bpi-r2/linux/ sudo cp -r SD/BPI-ROOT/lib/modules/4.4.70-BPI-R2-Kernel /media/$USER/BPI-ROOT/lib/modules/
4.4.x auf GitHub
sudo apt-get install git make gcc-arm-linux-gnueabihf u-boot-tools git clone https://github.com/frank-w/BPI-R2-4.4.git bpi-r2 cd bpi-r2 ./build.sh
Installation wie beim offiziellen Kernel
v1.2.1 (23. Nov 2017),incl. mt76x2/x3 WLAN-Treiber
Bootloader (u-boot): https://drive.google.com/file/d/11XQ4n6WYSj7gGPtMwug4SITtYn0GZxOb/view?usp=sharing
https://drive.google.com/drive/folders/1kkFyxeHoskszI7CpSsL6Wi6ROjDrBLOB?usp=sharing
das 4.4-Archiv (Kernelversion-BPI-R2-Kernel_boot+root.tgz) enthält 2 Ordner, deren Inhalt auf die SD/MMC mit dem selben Namen kopiert werden müssen.
http://forum.banana-pi.org/t/what-s-the-best-practice-to-build-own-kernel/3937
Patches, die noch nicht im Mainline-Kernel sind: https://patchwork.kernel.org/project/linux-mediatek/list/
für Ramdisk-version: config from user RyderLee Ramdisk
pcie.patch damit der PCIe-Slot (wenn CONFIG_PCIEPORTBUS,CONFIG_PCIEPORTBUS,CONFIG_PCIEPORTBUS aktiviert)
Script zum kompilieren/kopieren angepasste defconfig
da beim 4.4.70 mmc0=sd-karte und mmc1=emmc habe ich dieses auch beim 4.14er Kernel durchgeführt (sonst muss man u-boot und ggf. die Mount-Points im System permanent ändern)
einfach in der arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts und der arch/arm/boot/dts/mt7623.dtsi den mmc1-Block über den mmc0-Block setzen mmc-swap.diff
patch -p1 < ../mmc_pcie.patch ./build.sh importconfig #mt7623n_evb_fwu_defconfig (.txt entfernt) muss in übergeordnetem Verzeichnis existieren ./build.sh config #starte menuconfig ./build.sh #starte make & Kopiervorgang
https://drive.google.com/drive/folders/1EGN1TvqCpDHdOAS-mjRg9ipi0kahnOUV?usp=sharing
das 4.14-Archiv (bpi-r2_kernelversion_gitbranch.tar.gz) enthält 2 Ordner, deren Inhalt auf die SD/MMC mit dem selben Namen kopiert werden müssen.
dts(i)-Definition aus neuerem Kernel (arch/arm/boot/dts/) in älteren einbauen