Beaglebone Black Realtime Kernel

Konfiguration

Bau

  • Linux Mainline Sourcen klonen
    git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
  • Wenn gewünscht, rtPatch andwenden
    patch -p1 < ../downloads/patch-4.4.25-rt35.patch
  • Standard defconfig (oder fertig angepasste defconfig)anwenden
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- multi_v7_defconfig
  • Menuconfig
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- menuconfig
    • Für den Power-Management-Chip des BBB müssen noch folgende Optionen aktiviert werden:
      • Device Drivers –> Multifunction device drivers –> [ * ] MFD_TPS65217 aktivieren
      • Device Drivers –> Voltage and Curren Regulator Support –> [ * ] REGULATOR_TPS65217 aktivieren
    • Wenn der RT-Patch verwendet wird, müssen folgende Optionen aktiviert werden:
      • Kernel Features –> Preemption Model (No Forced Preemption (Server)) –> [ * ] Fully Preemptible Kernel (RT) auswählen
      • Power management otions –> [ ] Suspend to RAM and standby deaktivieren
      • CPU Power Management –> CPU Frequency scaling –> [ ] CPU Frequency scaling deaktivieren
      • CPU Power Management –> [ ] CPU idle PM support deaktivieren
      • Um die Quelle von hohen Latenzen mit dem Cyclictest finden zu könnnen, müssen folgende Einstellungen aktiviert sein:
        • CONFIG_PREEMPT_RT=y
        • CONFIG_WAKEUP_TIMING=y
        • CONFIG_LATENCY_TRACE=y
        • CONFIG_CRITICAL_PREEMPT_TIMING=y
        • CONFIG_CRITICAL_IRQSOFF_TIMING=y
  • Kernel bauen
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j4
  • Das zimage befindet sich unter arch/arm/boot/zImag
  • Der Devicetreeblob am335x-boneblack.dtb befindet sich im Ordner arch/arm/boot/dts/