Começar com a configuração padrão, ou uma que você já conhece, é uma boa ideia. Cuidado para o Pi 2 , você deve usar:
make bcm2709_defconfig
Em vez de bcmrpi_defconfig
.
Observe que se você quiser evitar sobrecarregar uma instalação existente do kernel da mesma versão, defina a Configuração geral -> Versão local - anexa à cadeia de liberação do kernel com um valor único.
Eu usei os rótulos reais .config
daqui, sem CONFIG_ ; se você estiver usando, por exemplo, make menuconfig
poderá encontrar a opção relevante com a pesquisa (barra /). Esses rótulos também são usados na parte superior da página "Ajuda" de cada opção. Observe que o termo enable (d) refere-se a algo que faz com que uma opção apareça, diferente de realmente selecionar a opção a ser construída.
Onde houver diferenças entre as placas A / B / B + / A + e o Pi 2, isso é indicado. Em alguns lugares, essa é a diferença entre as famílias Broadcom 2708 e 2709, mas em outros lugares, o Pi 2 usa a mesma opção 2708 (ou 2835) das outras placas.
Sistema
Para A / A + / B / B +:
- ARCH_BCM2708 (Tipo de sistema -> Tipo de sistema de braço -> família Broadcom BCM2708)
Para o Pi 2:
- ARCH_BCM2709 (Tipo de sistema -> Tipo de sistema de braço -> família Broadcom BCM2709) ... Está na parte inferior da lista e não em ordem alfabética.
- SMP (Recursos do kernel -> Multiprocessamento simétrico)
- NEON (Emulação de ponto flutuante -> Suporte avançado à extensão SIMD (Neon)) E "Suporte ao NEON no modo kernel".
Divisão de Memória do Kernel:
Devido a problemas com algumas partes do software legado , a configuração padrão pode usar 3G / 1G aqui, o que deixará 25% da RAM do Pi 2 indisponível para o espaço do usuário. Se você está preocupado com isso, consulte Recursos do Kernel -> Divisão de Memória .
cartão SD
Estes não podem ser módulos, obviamente, pois são necessários para acessar /lib/modules
; eles devem estar embutidos. Eles estão na seção "Drivers de dispositivo" do menuconfig.
- MMC (suporte ao cartão MMC / SD / SDIO): necessário para obter opções para o driver mmc, mas não suficiente. Dentro dessas opções:
- MMC_BCM2835 (suporte ao MMC no BCM2835).
- MMC_BCM2835_DMA (suporte ao DMA no controlador BCM2835 Arasan): Ativado, mas não selecionado por MMC_BCM2835.
- MMC_SDHCI (suporte à interface do Secure Digital Host Controller Controller)
Como a partição raiz geralmente é formatada ext, você também deseja que ela seja incorporada:
- EXT4_FS (o sistema de arquivos estendido 4 (ext4)) em "Sistemas de arquivos". Provavelmente ext2 e ext3 também são uma boa ideia.
A partição de inicialização é vfat, então:
- O VFAT_FS ( suporte ao VFAT (Windows-95) fs) está em "Sistemas de Arquivos -> Sistemas de Arquivos DOS / FAT / NT".
Diversos
Essas são várias coisas que você (quase certamente) precisa, então as listei primeiro.
- VFP (matemática de ponto flutuante no formato VFP) em "Emulação de ponto flutuante".
- UNIX (soquetes de domínio Unix) em "Suporte de rede". O software básico do sistema exigirá isso, mesmo se você não estiver fazendo nenhuma rede real.
- BINFMT_ELF (Suporte do kernel para binários ELF) em "Formatos binários do espaço do usuário".
- TTY (Ative TTY) em "Drivers de dispositivo -> Dispositivos de caracteres"; isso habilita o VT (terminal virtual) e o UNIX98_PTYS (suporte ao Unix98 PTY) que você deve selecionar. O VT ativa o VT_CONSOLE (suporte para console no terminal virtual) e CONSOLE_TRANSLATIONS (ativar a conversão de caracteres no console) que também devem ser selecionados.
- PROC_FS , SYSFS e TMPFS em "Sistemas de arquivos -> Pseudo sistemas de arquivos".
- SERIAL_AMBA_PL011 (suporte à porta serial ARM AMBA PL011) em "Drivers de dispositivo -> Dispositivos de caracteres -> Drivers seriais" e SERIAL_AMBA_PL011_CONSOLE (suporte para console na porta serial AMBA). Os sistemas Raspbian reclamarão de "/ dev / ttyAMA0: Esse arquivo ou diretório não existe" sem isso.
- MAILBOX e BCM2708_MBOX (nos kernels 4.x). Trata-se de Drivers de Dispositivo-> Suporte de Hardware da Caixa de Correio e a opção BCM 2708 no submenu. Veja a resposta do zub .
USB
- USB (suporte para USB do host), em "Drivers de dispositivo -> suporte USB", ativando USB_DWCOTG (suporte ao host DWC de sinopse) na página, que também deve ser selecionada.
- USB_ANNOUNCE_NEW_DEVICES (Drivers de dispositivo -> Suporte USB -> USB anunciam novos dispositivos).
- USB_DEFAULT_PERSIST (Drivers de dispositivo -> Suporte USB -> Ativar USB persistir por padrão).
Para teclados e mouses:
- HID_GENERIC (driver HID genérico) em "Drivers de dispositivo -> suporte HID"
- Depois, em "Suporte USB HID": USB_HID (camada de transporte USB HID)
- INPUT_MOUSEDEV (interface do mouse) em "Drivers de dispositivo -> Suporte ao dispositivo de entrada".
Para discos rígidos:
- SCSI (suporte a dispositivo SCSI) e, em seguida, BLK_DEV_SD (suporte a disco SCSI) em "Drivers de dispositivo -> Suporte a SCSI".
- USB_STORAGE (suporte a USB Mass Storage) em "Drivers de dispositivo -> Suporte USB".
Para amarrar dispositivos Android, veja minha resposta aqui .
Ethernet
O USB deve estar ativado primeiro.
NET (suporte de rede), uma opção de nível superior; dentro que são:
- PACOTE (soquete do pacote).
- INET (rede TCP / IP). Isso deve permitir uma variedade de padrões relacionados ao IP que você pode deixar.
- NETFILTER (estrutura de filtragem de pacotes de rede), necessário para o firewall de filtro de pacotes "tabelas ip" do kernel.
NETDEVICES (suporte a dispositivo de rede) em "Drivers de dispositivo" e, em seguida:
- NET_CORE (Suporte ao driver principal da rede).
- USB_NET_DRIVERS (adaptadores de rede USB) ->
- USB_USBNET (Estrutura de rede USB multifuncional).
- USB_NET_SMSC95XX (dispositivos Ethernet USB 2.0 10/100 baseados em SMSC LAN95XX)
Som
Para ativar o som integrado:
- SOUND (em Drivers de dispositivo), então:
- SND (Advanced Linux Sound Architecture) e em que:
- SND_ARM (dispositivos de som ARM) e, finalmente, nesse SND_BCM2835 (driver BCM2835 ALSA)
Vídeo
- CONFIG_BCM2708_VCHIQ (Drivers de dispositivo -> Dispositivos diversos -> Videocore VCHIQ).
Não há mais nada necessário para o suporte ao servidor X; não há opções de driver DRI para o SoC do pi.
Se você deseja usar o framebuffer, que permite aplicativos como fbi
e omxplayer
exibir gráficos fora do X:
- FB (Drivers de dispositivo -> Suporte gráfico -> Dispositivos de buffer de quadro -> Suporte para dispositivos de buffer de quadro) e, em seguida, no mesmo menu, FB_BCM2708 (suporte ao buffer de quadro BCM2708).
Se você fizer isso e quiser o pinguim (ou melhor, a framboesa) no console de inicialização, lembre-se de LOGO (logotipo de inicialização ) em Suporte gráfico.
Você também pode consultar as opções em Tipo de Sistema -> Implementações Broadcom2708 (ou 9) .
GPIO / I 2 C
- BCM2708_GPIO (Tipo de sistema -> Implementações do Broadcom BCM2708) Ou, para o Pi 2, a opção BCM2709 correspondente.
- GPIO_SYSFS (Drivers de dispositivo -> Suporte GPIO) para a
/sys/class/gpio
interface.
- I2C (Drivers de dispositivo -> suporte ao I2C), que ativa o I2C_CHARDEV (interface do dispositivo I2C). Em "Suporte ao barramento de hardware I2C":
- I2C_BCM2708 (BCM2708 BSC).
Raspicam
- MEDIA_CAMERA_SUPPORT (Drivers de dispositivo -> Suporte multimídia -> Suporte de câmeras / captadores de vídeo).
- V4L_PLATFORM_DRIVERS ( Drivers de dispositivo -> Suporte multimídia -> Dispositivos de plataforma V4L "). Isso habilita um submenu onde você deseja selecionar:
- CONFIG_SOC_CAMERA (suporte à câmera SoC).
- CONFIG_VIDEO_BCM2835 (driver de interface de câmera Broadcom BCM2835). Isso habilita o "driver de interface de câmera Broadcom BM2835 MMAL ( CONFIG_VIDEO_BCM2835_MMAL ) que você também deve selecionar.
Sensor térmico
Você tem uma escolha aqui; se você tentar escolher os dois, o primeiro será cancelado (embora você possa criar um como módulo, altere a configuração, construa o outro e use os dois se realmente quiser).
- SENSORS_BCM2835 ( Drivers de dispositivo-> suporte ao Monitoramento de Hardware-> Driver Broadcom BCM2835 HWMON). Isso fica no final da lista, se você não selecionar "Driver térmico BCM2835" abaixo. Dá acesso a material térmico em
/sys/devices/platform/bcm2835_hwmon
- temp1_input
e temp1_max
. O primeiro é o mesmo /sys/devices/virtual/thermal/thermal_zone0/temp
; o último é sempre 85000 (ou seja, 85 ° C).
- THERMAL_BCM2835 ( Drivers de dispositivo-> Driver sysfs térmico genérico-> Driver térmico BCM2835). Escolha também Drivers de dispositivo-> Suporte ao monitoramento de hardware (mas não o driver individual nesse menu) para que "Expor sensores térmicos como dispositivo hwmon" apareça aqui e você possa escolher isso (4.0.y parece não ter isso). A escolha dessa opção removerá SENSORS_BCM2835 acima. Dá acesso ao mais fácil de lembrar e encontrar o
/sys/class/devices/virtual/thermal/thermal_zone0
que inclui temp
e trip_point_0_temp
(o mesmo que temp1_max
, acima). Vários monitores do espaço do usuário provavelmente preferem isso e podem não funcionar sem ele.