bpi-r2:kernel
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
bpi-r2:kernel [2018/03/06 11:34] – [Übersicht] frank | bpi-r2:kernel [2023/06/08 17:06] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Kernel ====== | ||
+ | ===== Übersicht ===== | ||
+ | welchen Kernel nehmen? | ||
+ | Überblick der Kernel-features auf [[https:// | ||
+ | ===== offiziellen Kernel kompilieren ===== | ||
+ | 4.4.70 auf [[https:// | ||
+ | |||
+ | sudo apt-get install git make gcc-arm-linux-gnueabihf u-boot-tools | ||
+ | git clone https:// | ||
+ | cd bpi-r2 | ||
+ | ./ | ||
+ | |||
+ | siehe auch [[https:// | ||
+ | |||
+ | * Option 4 für Einstellungen am Kernel, | ||
+ | * 1 um alles zu kompilieren, | ||
+ | * 3 um nur den Kernel zu kompilieren, | ||
+ | |||
+ | 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/ | ||
+ | sudo cp -r SD/ | ||
+ | |||
+ | ===== meinen 4.4er Kernel kompilieren ===== | ||
+ | 4.4.x auf [[https:// | ||
+ | |||
+ | sudo apt-get install git make gcc-arm-linux-gnueabihf u-boot-tools | ||
+ | git clone https:// | ||
+ | cd bpi-r2 | ||
+ | ./build.sh | ||
+ | | ||
+ | Installation wie beim offiziellen Kernel | ||
+ | ==== kompilierter Kernel 4.4.x ==== | ||
+ | |||
+ | v1.2.1 (23. Nov 2017),incl. mt76x2/x3 WLAN-Treiber | ||
+ | |||
+ | Bootloader (u-boot): https:// | ||
+ | |||
+ | https:// | ||
+ | |||
+ | 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. | ||
+ | |||
+ | * BPI-BOOT => boot-Partition, | ||
+ | * BPI-ROOT => partition mit dem Betriebssystem, | ||
+ | ===== eigenen (neueren) Kernel verwenden ===== | ||
+ | http:// | ||
+ | |||
+ | Patches, die noch nicht im Mainline-Kernel sind: https:// | ||
+ | |||
+ | ==== mein github-repo verwenden ==== | ||
+ | |||
+ | https:// | ||
+ | |||
+ | ==== standard-kernel-Repo verwenden + patches ==== | ||
+ | |||
+ | < | ||
+ | defconfig von [[https:// | ||
+ | |||
+ | defconfig von GitHub importiert und angepasst {{ : | ||
+ | <code bash> | ||
+ | sudo apt-get install git make gcc-arm-linux-gnueabihf u-boot-tools | ||
+ | git clone https:// | ||
+ | cd bpi-r2 | ||
+ | |||
+ | export CROSS_COMPILE=arm-linux-gnueabihf- | ||
+ | export ARCH=arm | ||
+ | export INSTALL_MOD_PATH=$(pwd)/ | ||
+ | mkdir $INSTALL_MOD_PATH | ||
+ | |||
+ | #git reset --hard v4.14-rc5 | ||
+ | cp pfad/ | ||
+ | make mt7623n_evb_bpi_defconfig | ||
+ | make | ||
+ | |||
+ | ... | ||
+ | |||
+ | #cat arch/ | ||
+ | cat arch/ | ||
+ | #mkimage -A arm -O linux -C none -T kernel -a 0x80008000 -e 0x80008000 -d zImage_dtb uImage | ||
+ | mkimage -A arm -O linux -T kernel -C none -a 80008000 -e 80008000 -n "Linux Kernel 4.14" -d arch/ | ||
+ | | ||
+ | rm -r $INSTALL_MOD_PATH/ | ||
+ | make modules_install | ||
+ | | ||
+ | cp uImage / | ||
+ | sudo cp -r $INSTALL_MOD_PATH/ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | für Ramdisk-version: | ||
+ | {{ : | ||
+ | {{ : | ||
+ | |||
+ | {{ : | ||
+ | damit der PCIe-Slot (wenn CONFIG_PCIEPORTBUS, | ||
+ | |||
+ | {{ : | ||
+ | {{ : | ||
+ | |||
+ | 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/ | ||
+ | |||
+ | ==== wie build.sh verwenden ==== | ||
+ | |||
+ | - cd in das Kernel-Verzeichnis | ||
+ | - git clone https:// | ||
+ | - oder git pull/git fetch | ||
+ | - letztes " | ||
+ | - "git reset --hard v4.14" #<< tag ändern wenn neueres existiert (löscht alle Änderungen!) | ||
+ | - alternativ git stash,git checkout tags/ | ||
+ | - die {{ : | ||
+ | - das {{ : | ||
+ | - dann in " | ||
+ | <code bash> | ||
+ | patch -p1 < ../ | ||
+ | ./build.sh importconfig # | ||
+ | ./build.sh config #starte menuconfig | ||
+ | ./build.sh #starte make & Kopiervorgang | ||
+ | </ | ||
+ | |||
+ | ==== kompilierter 4.14.x ==== | ||
+ | |||
+ | https:// | ||
+ | |||
+ | 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. | ||
+ | |||
+ | * BPI-BOOT => boot-Partition, | ||
+ | * BPI-ROOT => partition mit dem Betriebssystem, | ||
+ | ===== DTS ändern ===== | ||
+ | |||
+ | dts(i)-Definition aus neuerem Kernel (arch/ | ||
+ | |||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | ===== debugging ===== | ||
+ | |||
+ | * https:// | ||
+ | * https:// | ||
+ | * https:// | ||
+ | ===== Links ===== | ||
+ | |||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// |
bpi-r2/kernel.txt · Zuletzt geändert: 2023/06/08 17:06 von 127.0.0.1