Es ist eine gute Idee, mit der Standardkonfiguration zu beginnen oder mit einer, von der Sie wissen, dass sie bereits funktioniert. Beachten Sie, dass Sie für den Pi 2 Folgendes verwenden sollten:
make bcm2709_defconfig
Anstelle von bcmrpi_defconfig
.
Beachten Sie, dass Sie, wenn Sie vermeiden möchten, dass eine vorhandene Kernel-Installation derselben Version überlastet wird, die Option Allgemeines Setup -> Lokale Version - an die Kernel-Release- Zeichenfolge anhängen, um einen eindeutigen Wert festzulegen.
Ich habe die tatsächlichen Etiketten von .config
hier verwendet, ohne CONFIG_ ; Wenn Sie zB verwenden, make menuconfig
können Sie bei der Suche die entsprechende Option finden (Schrägstrich /). Diese Bezeichnungen werden auch oben auf der Seite "Hilfe" für jede Option verwendet. Beachten Sie, dass sich der Begriff enable (d) auf etwas bezieht, das dazu führt, dass eine Option angezeigt wird, und sich von der tatsächlichen Auswahl der zu erstellenden Option unterscheidet.
Wenn es Unterschiede zwischen den A / B / B + / A + -Platten und dem Pi 2 gibt, wird dies angezeigt. An einigen Stellen ist dies der Unterschied zwischen den Broadcom 2708- und 2709-Familien, an anderen Stellen verwendet der Pi 2 dieselbe 2708- (oder 2835-) Option wie die anderen Karten.
System
Für A / A + / B / B +:
- ARCH_BCM2708 ( Systemtyp -> Armsystemtyp -> Broadcom BCM2708-Familie)
Für Pi 2:
- ARCH_BCM2709 ( Systemtyp -> Armsystemtyp -> Broadcom BCM2709-Familie) ... Dies ist ganz am Ende der Liste und nicht in alphabetischer Reihenfolge.
- SMP (Kernel-Funktionen -> Symmetric Multi-Processing)
- NEON (Gleitkomma-Emulation -> Erweiterte Unterstützung für SIMD (Neon) -Erweiterungen) und "Unterstützung für NEON im Kernel-Modus".
Kernel-Speicheraufteilung:
Aufgrund von Problemen mit einigen älteren Softwareteilen wird in der Standardkonfiguration möglicherweise 3G / 1G verwendet, sodass 25% des Arbeitsspeichers des Pi 2 nicht für den Benutzer verfügbar sind. Wenn Sie diesbezüglich Bedenken haben, überprüfen Sie Kernel Features -> Memory Split .
SD-Karte
Dies können natürlich keine Module sein, da sie für den Zugriff benötigt werden /lib/modules
. Sie müssen eingebaut sein. Sie befinden sich im Abschnitt "Gerätetreiber" von menuconfig.
- MMC (MMC / SD / SDIO-Kartenunterstützung): Erforderlich, um Optionen für den MMC-Treiber zu erhalten, aber nicht ausreichend. Innerhalb dieser Optionen:
- MMC_BCM2835 (MMC-Unterstützung für BCM2835).
- MMC_BCM2835_DMA (DMA-Unterstützung auf dem BCM2835 Arasan-Controller): Aktiviert, aber von MMC_BCM2835 nicht ausgewählt.
- MMC_SDHCI (Secure Digital Host Controller Interface-Unterstützung)
Da die Root-Partition normalerweise ext-formatiert ist, möchten Sie auch Folgendes einbauen:
- EXT4_FS (Das Extended 4 (ext4) -Dateisystem) unter "Dateisysteme". Wahrscheinlich sind ext2 und ext3 auch eine gute Idee.
Die Bootpartition ist vfat, also:
- VFAT_FS (VFAT (Windows-95) fs-Unterstützung) befindet sich unter "Dateisysteme -> DOS / FAT / NT-Dateisysteme".
Sonstiges
Dies sind verschiedene Dinge, die Sie (mit ziemlicher Sicherheit) benötigen. Deshalb habe ich sie zuerst aufgelistet.
- VFP (Gleitkomma-Mathematik im VFP-Format) unter "Gleitkomma-Emulation".
- UNIX (Unix Domain Sockets) unter "Netzwerkunterstützung". Grundlegende Systemsoftware erfordert dies, auch wenn Sie keine echten Netzwerke betreiben.
- BINFMT_ELF (Kernel-Unterstützung für ELF-Binärdateien) unter "Userspace-Binärformate".
- TTY (TTY aktivieren) unter "Gerätetreiber -> Zeichengeräte"; Dies aktiviert VT (Virtuelles Terminal) und UNIX98_PTYS (Unix98 PTY-Unterstützung), die Sie auswählen sollten. VT aktiviert dann VT_CONSOLE (Unterstützung für Konsole auf virtuellem Terminal) und CONSOLE_TRANSLATIONS ( Aktivieren von Zeichenübersetzungen in Konsole), die ebenfalls ausgewählt werden sollten.
- PROC_FS , SYSFS und TMPFS unter "Dateisysteme -> Pseudodateisysteme".
- SERIAL_AMBA_PL011 (Unterstützung des seriellen ARM AMBA PL011-Anschlusses) unter "Gerätetreiber -> Zeichengeräte -> Serielle Treiber" und SERIAL_AMBA_PL011_CONSOLE (Unterstützung der Konsole am seriellen AMBA-Anschluss). Raspbian-Systeme beschweren sich über "/ dev / ttyAMA0: Keine solche Datei oder kein solches Verzeichnis".
- MAILBOX und BCM2708_MBOX (auf 4.x-Kerneln). Dies ist Device Drivers-> Mailbox Hardware Support und die Option BCM 2708 im Untermenü. Siehe zubs Antwort .
USB
- USB (Unterstützung für Host- seitiges USB), aktivieren Sie unter "Gerätetreiber -> USB-Unterstützung" USB_DWCOTG (Unterstützung für Synopsis-DWC-Hosts) auf der Seite, die ebenfalls ausgewählt werden sollte.
- USB_ANNOUNCE_NEW_DEVICES (Gerätetreiber -> USB-Unterstützung -> USB kündigt neue Geräte an).
- USB_DEFAULT_PERSIST (Gerätetreiber -> USB-Unterstützung -> USB-Persistenz standardmäßig aktivieren).
Für Tastaturen und Mäuse:
- HID_GENERIC (generischer HID-Treiber) unter "Gerätetreiber-> HID-Unterstützung"
- Dann in "USB-HID-Unterstützung": USB_HID (USB-HID-Transportschicht)
- INPUT_MOUSEDEV ( Mausschnittstelle ) unter "Gerätetreiber -> Unterstützung für Eingabegeräte".
Für Festplatten:
- SCSI (SCSI-Geräteunterstützung) und dann BLK_DEV_SD (SCSI-Festplattenunterstützung) unter "Gerätetreiber -> SCSI-Unterstützung".
- USB_STORAGE (USB-Massenspeicher-Unterstützung) unter "Gerätetreiber -> USB-Unterstützung".
Informationen zum Anbinden von Android-Geräten finden Sie hier .
Ethernet
USB muss zuerst aktiviert werden.
NET (Networking Support), eine Top-Level-Option; darin sind:
- PACKET ( Paketsockel ).
- INET (TCP / IP-Netzwerk). Dies sollte eine Vielzahl von IP-bezogenen Standardeinstellungen ermöglichen, die Sie beibehalten können.
- NETFILTER (Network Packet Filtering Framework), erforderlich für die Paketfilter-Firewall des Kernels "ip tables".
NETDEVICES (Network Device Support) in "Device Drivers", dann:
- NET_CORE (Unterstützung für Netzwerkkerntreiber).
- USB_NET_DRIVERS (USB-Netzwerkadapter) ->
- USB_USBNET (Mehrzweck-USB-Netzwerk-Framework).
- USB_NET_SMSC95XX (SMSC LAN95XX-basierte USB 2.0 10/100-Ethernet-Geräte)
Klang
So aktivieren Sie den Onboard-Sound:
- SOUND (in Gerätetreibern), dann:
- SND (Advanced Linux Sound Architecture) und darin:
- SND_ARM (ARM-Audiogeräte) und schließlich in diesem SND_BCM2835 (BCM2835 ALSA-Treiber)
Video
- CONFIG_BCM2708_VCHIQ (Gerätetreiber -> Verschiedene Geräte -> Videocore VCHIQ).
Für die Unterstützung von X-Servern ist nichts weiter erforderlich. Es gibt keine DRI-Treiberoptionen für den SoC des Pi.
Wenn Sie den Framebuffer verwenden möchten, mit dem Anwendungen wie fbi
und omxplayer
Grafiken außerhalb von X anzeigen können:
- FB (Gerätetreiber -> Grafikunterstützung -> Bildspeichergeräte -> Unterstützung für Bildspeichergeräte), dann im selben Menü FB_BCM2708 (BCM2708-Bildspeicherunterstützung).
Wenn Sie dies tun und den Pinguin (oder besser die Himbeere) auf der Boot-Konsole haben möchten , merken Sie sich LOGO (Bootup-Logo) unter Graphics Support.
Sie können sich auch die Optionen unter Systemtyp -> Broadcom2708 (oder 9) -Implementierungen ansehen .
GPIO / I 2 C
- BCM2708_GPIO ( Systemtyp -> Broadcom BCM2708-Implementierungen) Oder für den Pi 2 die entsprechende BCM2709-Option.
- GPIO_SYSFS (Gerätetreiber -> GPIO-Unterstützung) für die
/sys/class/gpio
Schnittstelle.
- I2C (Gerätetreiber -> I2C-Unterstützung), wodurch I2C_CHARDEV (I2C-Geräteschnittstelle) aktiviert wird . Dann unter "I2C Hardware Bus Support":
- I2C_BCM2708 (BCM2708 BSC).
Raspicam
- MEDIA_CAMERA_SUPPORT (Gerätetreiber -> Multimedia-Unterstützung -> Unterstützung für Kameras / Video-Grabber).
- V4L_PLATFORM_DRIVERS (Gerätetreiber-> Multimedia-Unterstützung -> V4L-Plattformgeräte "). Dies aktiviert ein Untermenü, in dem Sie Folgendes auswählen möchten:
- CONFIG_SOC_CAMERA (SoC-Kamera-Unterstützung).
- CONFIG_VIDEO_BCM2835 (Broadcom BCM2835-Kameraschnittstellentreiber). Dies aktiviert den Broadcom BM2835 MMAL-Kameraschnittstellentreiber ( CONFIG_VIDEO_BCM2835_MMAL ), den Sie ebenfalls auswählen sollten.
Wärmesensor
Sie haben hier die Wahl; Wenn Sie versuchen, beide auszuwählen, wird der erste abgebrochen (obwohl Sie einen als Modul erstellen, die Konfiguration ändern, den anderen erstellen und beide verwenden können, wenn Sie dies wirklich möchten).
- SENSORS_BCM2835 (Gerätetreiber-> Hardwareüberwachungsunterstützung-> Broadcom BCM2835 HWMON-Treiber). Dies ist am Ende der Liste, wenn Sie unten nicht "BCM2835 Thermal Driver" auswählen. Es gibt Ihnen Zugang zu thermischen Sachen in
/sys/devices/platform/bcm2835_hwmon
- temp1_input
und temp1_max
. Ersteres ist dasselbe /sys/devices/virtual/thermal/thermal_zone0/temp
; Letzteres ist immer 85000 (dh 85 ° C).
- THERMAL_BCM2835 (Gerätetreiber-> Generischer Thermal-Sysfs-Treiber-> BCM2835-Thermal-Treiber). Wählen Sie auch Gerätetreiber-> Hardware-Überwachungsunterstützung (aber nicht den einzelnen Treiber in diesem Menü), sodass hier "Thermosensoren als Hardware-Gerät aussetzen" angezeigt wird und Sie dies auswählen können (4.0.y scheint dies nicht zu haben). Wenn Sie dies auswählen, wird SENSORS_BCM2835 (siehe oben) deaktiviert. Es gibt Ihnen Zugriff auf die leichter zu merken und zu finden,
/sys/class/devices/virtual/thermal/thermal_zone0
welche enthält temp
und trip_point_0_temp
(das gleiche wie temp1_max
oben). Verschiedene Userspace-Monitore werden dies wahrscheinlich bevorzugen und funktionieren ohne dies möglicherweise nicht.