Bắt đầu với cấu hình mặc định, hoặc một cái bạn đã biết đã hoạt động, là một ý tưởng tốt. Lưu ý rằng đối với Pi 2 , bạn nên sử dụng:
make bcm2709_defconfig
Thay vì bcmrpi_defconfig
.
Lưu ý rằng nếu bạn muốn tránh ghi đè cài đặt kernel hiện có cùng phiên bản, hãy đặt Cài đặt chung -> Phiên bản cục bộ - nối vào chuỗi phát hành kernel thành một giá trị duy nhất.
Tôi đã sử dụng các nhãn thực tế từ .config
đây, sans CONFIG_ ; nếu bạn đang sử dụng, vd, make menuconfig
bạn có thể tìm thấy tùy chọn có liên quan với tìm kiếm (dấu gạch chéo về phía trước /). Các nhãn này cũng được sử dụng ở đầu trang "Trợ giúp" cho mỗi tùy chọn. Lưu ý rằng thuật ngữ enable (d) dùng để chỉ một cái gì đó khiến một tùy chọn xuất hiện, khác với việc thực sự chọn tùy chọn sẽ được xây dựng.
Trong trường hợp có sự khác biệt giữa bảng A / B / B + / A + và Pi 2, điều này được chỉ định. Ở một số nơi, đây là sự khác biệt giữa Broadcom 2708 và 2709 gia đình, nhưng ở những nơi khác, Pi 2 sử dụng tùy chọn 2708 (hoặc 2835) như các bảng khác.
Hệ thống
Đối với A / A + / B / B +:
- ARCH_BCM2708 (Loại hệ thống -> Loại hệ thống cánh tay -> Họ Broadcom BCM2708)
Đối với Pi 2:
- ARCH_BCM2709 (Loại hệ thống -> Loại hệ thống cánh tay -> Họ Broadcom BCM2709) ... Đây là ở cuối danh sách và không theo thứ tự bảng chữ cái.
- SMP (Tính năng hạt nhân -> Xử lý đa đối xứng)
- NEON (Mô phỏng điểm nổi -> Hỗ trợ mở rộng SIMD (neon) nâng cao) Và "Hỗ trợ NEON ở chế độ kernel".
Tách bộ nhớ kernel:
Do có vấn đề với một vài phần mềm cũ , cấu hình mặc định có thể sử dụng 3G / 1G ở đây, điều này sẽ khiến 25% RAM của Pi 2 không có sẵn cho không gian người dùng. Nếu bạn lo lắng về điều này, hãy kiểm tra Tính năng hạt nhân -> Phân chia bộ nhớ .
thẻ SD
Đây không thể là các mô-đun, rõ ràng, vì chúng là cần thiết để truy cập /lib/modules
; chúng phải được tích hợp sẵn. Họ đang ở trong phần "Trình điều khiển thiết bị" của menuconfig.
- MMC (hỗ trợ thẻ MMC / SD / SDIO): Cần thiết để có các tùy chọn cho trình điều khiển mmc, nhưng không đủ. Trong các tùy chọn đó:
- MMC_BCM2835 (Hỗ trợ MMC trên BCM2835).
- MMC_BCM2835_DMA (Hỗ trợ DMA trên bộ điều khiển ArCMan BCM2835): Đã bật nhưng không được chọn bởi MMC_BCM2835.
- MMC_SDHCI (Hỗ trợ giao diện điều khiển máy chủ kỹ thuật số an toàn)
Vì phân vùng gốc thường được định dạng mở rộng, bạn cũng muốn được xây dựng trong:
- EXT4_FS (Hệ thống tệp mở rộng 4 (ext4)) trong "Hệ thống tệp". Có lẽ ext2 và ext3 cũng là một ý tưởng tốt.
Phân vùng khởi động là vfat, vì vậy:
- Hỗ trợ fs VFAT_FS (VFAT (Windows-95)) trong "Hệ thống tệp -> Hệ thống tệp DOS / FAT / NT".
Điều khoản khác
Đây là những thứ khác nhau mà bạn (gần như chắc chắn) cần, vì vậy tôi đã liệt kê chúng trước.
- VFP (toán học dấu phẩy động định dạng VFP) trong phần "Mô phỏng điểm nổi".
- UNIX (ổ cắm tên miền Unix) trong "Hỗ trợ mạng". Phần mềm hệ thống cơ bản sẽ yêu cầu điều này ngay cả khi bạn không thực hiện bất kỳ kết nối mạng thực sự nào.
- BINFMT_ELF (Hỗ trợ hạt nhân cho các nhị phân ELF) trong "Định dạng nhị phân không gian người dùng".
- TTY (Kích hoạt TTY) trong "Trình điều khiển thiết bị -> Thiết bị ký tự"; điều này cho phép VT (thiết bị đầu cuối ảo) và UNIX98_PTYS (hỗ trợ PTY Unix98) mà bạn nên chọn. VT sau đó kích hoạt VT_CONSOLE (Hỗ trợ cho bảng điều khiển trên thiết bị đầu cuối ảo) và CONSOLE_TRANSLutions (Kích hoạt bản dịch ký tự trong bảng điều khiển) cũng nên được chọn.
- PROC_FS , SYSFS và TMPFS trong "Hệ thống tệp -> Hệ thống tệp giả".
- SERIAL_AMBA_PL011 (Hỗ trợ cổng nối tiếp ARM AMBA PL011) trong "Trình điều khiển thiết bị -> Thiết bị ký tự -> Trình điều khiển nối tiếp" và SERIAL_AMBA_PL011_CONSOLE (Hỗ trợ bảng điều khiển trên cổng nối tiếp AMBA). Các hệ thống Raspbian sẽ phàn nàn về "/ dev / ttyAMA0: Không có tệp hoặc thư mục như vậy" mà không có điều này.
- MAILBOX và BCM2708_MBOX (trên hạt nhân 4.x). Đây là Trình điều khiển thiết bị-> Hỗ trợ phần cứng hộp thư và tùy chọn BCM 2708 trong menu phụ. Xem câu trả lời của zub .
USB
- USB (Hỗ trợ cho USB phía máy chủ), trong "Trình điều khiển thiết bị -> Hỗ trợ USB", bật USB_DWCOTG (Hỗ trợ máy chủ tóm tắt DWC) xuống trang, cũng nên được chọn.
- USB_ANNOUNCE_NEW_DEVICE (Trình điều khiển thiết bị -> Hỗ trợ USB -> USB thông báo thiết bị mới).
- USB_DEFAULT_PERSIST (Trình điều khiển thiết bị -> Hỗ trợ USB -> Bật USB theo mặc định).
Đối với bàn phím và chuột:
- HID_GENERIC (Trình điều khiển HID chung) trong "Trình điều khiển thiết bị-> Hỗ trợ HID"
- Sau đó, trong "Hỗ trợ USB HID": USB_HID (lớp vận chuyển USB HID)
- INPUT_MOUSEDEV (Giao diện chuột) trong "Trình điều khiển thiết bị -> Hỗ trợ thiết bị đầu vào".
Đối với ổ đĩa cứng:
- SCSI (hỗ trợ thiết bị SCSI) và sau đó BLK_DEV_SD (hỗ trợ đĩa SCSI) trong "Trình điều khiển thiết bị -> Hỗ trợ SCSI".
- USB_STORAGE (Hỗ trợ bộ lưu trữ USB lớn) trong "Trình điều khiển thiết bị -> Hỗ trợ USB".
Để kết nối các thiết bị Android, xem câu trả lời của tôi ở đây .
Ethernet
USB phải được kích hoạt trước.
NET (Hỗ trợ mạng), một tùy chọn cấp cao nhất; bên trong đó là:
- GÓI (Ổ cắm gói).
- INET (mạng TCP / IP). Điều này sẽ cho phép một loạt các mặc định liên quan đến IP mà bạn có thể để lại.
- NETFILTER (Khung lọc gói mạng), cần thiết cho tường lửa lọc gói "bảng ip" kernel.
NETDEVICE (Hỗ trợ thiết bị mạng) trong "Trình điều khiển thiết bị", sau đó:
- NET_CORE (Hỗ trợ trình điều khiển lõi mạng).
- USB_NET_DRIVERS (Bộ điều hợp mạng USB) ->
- USB_USBNET (Khung mạng USB đa năng).
- USB_NET_SMSC95XX (thiết bị ethernet USB 2.0 10/100 dựa trên SMSC LAN95XX)
Âm thanh
Để bật âm thanh trên bo mạch:
- SOUND (trong Trình điều khiển thiết bị), sau đó:
- SND (Kiến trúc âm thanh Linux nâng cao) và trong đó:
- SND_ARM (thiết bị âm thanh ARM) và cuối cùng trong SND_BCM2835 (trình điều khiển ALCM BCM2835)
Video
- CONFIG_BCM2708_VCHIQ (Trình điều khiển thiết bị -> Thiết bị linh tinh -> Videocore VCHIQ).
Không có gì cần thiết hơn cho hỗ trợ máy chủ X; không có tùy chọn trình điều khiển DRI cho SoC của pi.
Nếu bạn muốn sử dụng bộ đệm khung, cho phép các ứng dụng như fbi
và omxplayer
hiển thị đồ họa bên ngoài X:
- FB (Trình điều khiển thiết bị -> Hỗ trợ đồ họa -> Thiết bị đệm khung -> Hỗ trợ cho các thiết bị đệm khung), sau đó trong cùng một menu, FB_BCM2708 (hỗ trợ bộ đệm khung BCM2708).
Nếu bạn làm điều này và bạn muốn chim cánh cụt (hay đúng hơn là quả mâm xôi) trên bảng điều khiển khởi động, hãy nhớ LOGO (logo Bootup) trong mục Hỗ trợ đồ họa.
Bạn cũng có thể muốn xem các tùy chọn trong Loại hệ thống -> Triển khai Broadcom2708 (hoặc 9) .
GPIO / I 2 C
- BCM2708_GPIO (Loại hệ thống -> Triển khai BCM2708 Broadcom) Hoặc đối với Pi 2, tùy chọn BCM2709 tương ứng.
- GPIO_SYSFS (Trình điều khiển thiết bị -> Hỗ trợ GPIO) cho
/sys/class/gpio
giao diện.
- I2C (Trình điều khiển thiết bị -> Hỗ trợ I2C), cho phép I2C_CHARDEV (giao diện thiết bị I2C). Sau đó, trong phần "Hỗ trợ Bus phần cứng I2C":
- I2C_BCM2708 (BCM2708 BSC).
Raspicam
- MEDIA_CAMERA_SUPPORT (Trình điều khiển thiết bị -> Hỗ trợ đa phương tiện -> Hỗ trợ máy ảnh / trình thu video).
- V4L_PLATFORM_DRIVERS (Trình điều khiển thiết bị- > Hỗ trợ đa phương tiện -> Thiết bị nền tảng V4L "). Điều này cho phép một menu con nơi bạn muốn chọn:
- CONFIG_SOC_CAMERA (Hỗ trợ máy ảnh SoC).
- CONFIG_VIDEO_BCM2835 (Trình điều khiển giao diện máy ảnh Broadcom BCM2835). Điều này cho phép "Trình điều khiển giao diện máy ảnh Broadcom BM2835 MMAL ( CONFIG_VIDEO_BCM2835_MMAL ) mà bạn cũng nên chọn.
Cảm biến nhiệt
Bạn có một sự lựa chọn ở đây; nếu bạn cố gắng chọn cả hai, cái đầu tiên sẽ bị hủy (mặc dù bạn có thể xây dựng một cái làm mô-đun, thay đổi cấu hình, xây dựng cái khác và sử dụng cả hai nếu bạn thực sự muốn).
- SENSORS_BCM2835 (Trình điều khiển thiết bị-> Hỗ trợ giám sát phần cứng-> Trình điều khiển Broadcom BCM2835 HWMON). Đây là ở cuối danh sách nếu bạn không chọn "Trình điều khiển nhiệt BCM2835" bên dưới. Nó cho phép bạn truy cập vào các công cụ nhiệt trong
/sys/devices/platform/bcm2835_hwmon
- temp1_input
và temp1_max
. Cái trước cũng vậy /sys/devices/virtual/thermal/thermal_zone0/temp
; cái sau luôn là 85000 (tức là 85 ° C).
- THERMAL_BCM2835 (Trình điều khiển thiết bị-> Trình điều khiển sysfs nhiệt chung-> Trình điều khiển nhiệt BCM2835). Đồng thời chọn Trình điều khiển thiết bị-> Hỗ trợ giám sát phần cứng (nhưng không phải trình điều khiển riêng lẻ trong menu đó) để "Hiển thị cảm biến nhiệt như thiết bị hwmon" xuất hiện ở đây và bạn có thể chọn điều đó (4.0.y dường như không có điều này). Việc chọn này sẽ bỏ chọn SENSORS_BCM2835, ở trên. Nó cho phép bạn truy cập dễ nhớ hơn và tìm thấy
/sys/class/devices/virtual/thermal/thermal_zone0
bao gồm temp
và trip_point_0_temp
(giống như temp1_max
, ở trên). Các màn hình không gian người dùng khác nhau có thể sẽ thích điều này và có thể không hoạt động mà không có nó.