Починати з конфігурації за замовчуванням, або ви знаєте, що вже працює, це гарна ідея. Остерігайтеся, що для Pi 2 ви повинні використовувати:
make bcm2709_defconfig
Замість цього bcmrpi_defconfig
.
Зауважте, що якщо ви хочете уникнути клобірування існуючої установки ядра тієї ж версії, встановіть Загальна настройка -> Локальна версія - додайте рядок випуску ядра до унікального значення.
Я використовував фактичні мітки .config
звідси, sans CONFIG_ ; якщо ви використовуєте, наприклад,, make menuconfig
ви можете знайти відповідний варіант за допомогою пошуку (косою рискою вперед /). Ці мітки також використовуються вгорі сторінки "Довідка" для кожного варіанта. Зауважимо, що термін enable (d) позначає те, що викликає появу опції, відмінне від фактичного вибору варіанту для побудови.
Якщо між платами A / B / B + / A + та Pi 2 є відмінності, це вказується. В деяких місцях це різниця між сім'ями Broadcom 2708 та 2709, але в інших місцях Pi 2 використовує той самий варіант 2708 (або 2835), що й інші плати.
Система
Для A / A + / B / B +:
- ARCH_BCM2708 (Тип системи -> Тип системи зброї -> Сімейство Broadcom BCM2708)
Для Pi 2:
- ARCH_BCM2709 (Тип системи -> Тип системи зброї -> Сімейство Broadcom BCM2709) ... Це внизу списку і не в алфавітному порядку.
- SMP (Особливості ядра -> Симетрична багатообробка)
- NEON (Емуляція з плаваючою точкою -> Розширена підтримка розширення SIMD (Neon)) та "Підтримка NEON в режимі ядра".
Роз'єм пам'яті ядра:
Через проблеми з декількома частинами застарілого програмного забезпечення , конфігурація за замовчуванням може використовувати тут 3G / 1G, що залишить 25% оперативної пам'яті Pi 2 недоступним для простору користувача. Якщо вас це турбує, перевірте можливості kernel -> Memory Split .
флеш-картка
Очевидно, це не можуть бути модулі, оскільки вони потрібні для доступу /lib/modules
; вони повинні бути вбудованими. Вони знаходяться в розділі "Драйвери пристроїв" менюconfig.
- MMC (підтримка карт MMC / SD / SDIO): Необхідно отримати варіанти для драйвера mmc, але недостатньо. У межах цих варіантів:
- MMC_BCM2835 (підтримка MMC на BCM2835).
- MMC_BCM2835_DMA (підтримка DMA на контролері BCM2835 Arasan): увімкнено, але не вибрано MMC_BCM2835.
- MMC_SDHCI (підтримка захищеного інтерфейсу цифрового хост-контролера)
Оскільки кореневий розділ, як правило, відформатований, ви також хочете, щоб він був вбудований:
- EXT4_FS (Розширена файлова система 4 (ext4)) у розділі "Файлові системи". Можливо, ext2 та ext3 теж є хорошою ідеєю.
Завантажувальний розділ vfat, тому:
- VFAT_FS (підтримка VFAT (Windows-95) fs) знаходиться у розділі "Файлові системи -> DOS / FAT / NT Filesystems".
Різне
Це різні речі, які вам (майже напевно) потрібні, тому я перерахував їх першими.
- VFP (математика з плаваючою комою у форматі VFP) у розділі "Емуляція з плаваючою точкою".
- UNIX (Unix доменних розеток) у розділі "Підтримка мережі". Базове програмне забезпечення системи вимагатиме цього, навіть якщо ви не займаєтесь реальною мережею.
- BINFMT_ELF (підтримка ядра для бінарних файлів ELF) у розділі "Бінарні формати простору користувача".
- TTY (Увімкнути TTY) у розділі "Драйвери пристроїв -> Пристрої символів"; це дозволяє включити VT (віртуальний термінал) та UNIX98_PTYS (підтримка Unix98 PTY), які слід вибрати. Потім VT включає VT_CONSOLE (Підтримка консолі на віртуальному терміналі) та CONSOLE_TRANSLATIONS (Увімкнути переклад символів у консолі), які також слід вибрати.
- PROC_FS , SYSFS і TMPFS у розділі "Файлові системи -> Псевдофайлові системи".
- SERIAL_AMBA_PL011 (підтримка послідовного порту ARM AMBA PL011) у розділі "Драйвери пристроїв -> Пристрої символів -> Послідні драйвери" та SERIAL_AMBA_PL011_CONSOLE (Підтримка консолі на послідовному порту AMBA). Raspbian системи будуть скаржитися на "/ dev / ttyAMA0: Немає такого файлу чи каталогу" без цього.
- ЯЩИК і BCM2708_MBOX (на 4.х ядер). Це драйвери пристроїв-> Підтримка апаратної поштової скриньки та опція BCM 2708 у підменю. Дивіться відповідь зуба .
USB
- USB (Підтримка USB на стороні господаря), в розділі "Драйвери пристроїв -> USB-підтримка", що дозволяє USB_DWCOTG (підтримка хостів Synopsis DWC) вниз по сторінці, яку також слід вибрати.
- USB_ANNOUNCE_NEW_DEVICES (Драйвери пристроїв -> USB-підтримка -> USB оголошують про нові пристрої).
- USB_DEFAULT_PERSIST (Драйвери пристрою -> USB-підтримка -> Увімкнути збереження USB за замовчуванням).
Для клавіатур та мишей:
- HID_GENERIC (Загальний драйвер HID) у "Драйвери пристрою-> HID-підтримка"
- Потім у "Підтримка USB HID": USB_HID (транспортний шар USB HID)
- INPUT_MOUSEDEV (Інтерфейс миші) у розділі "Драйвери пристроїв -> Підтримка пристроїв вводу".
Для жорстких дисків:
- SCSI (підтримка пристроїв SCSI), а потім BLK_DEV_SD (підтримка диска SCSI) у розділі "Драйвери пристроїв -> Підтримка SCSI".
- USB_STORAGE (підтримка USB Mass Storage) у розділі "Драйвери пристроїв -> USB-підтримка".
Щодо прив’язки пристроїв Android, дивіться мою відповідь тут .
Ethernet
Спочатку потрібно ввімкнути USB.
NET (підтримка мережі), варіант верхнього рівня; всередині яких є:
- ПАКЕТ (розетка пакета).
- INET (мережа TCP / IP). Це повинно включати різноманітні параметри, пов’язані з IP, які ви можете залишити.
- NETFILTER (Мережа фільтрації пакетів пакетів), необхідна для брандмауера фільтра пакетів ядра "ip table ".
НЕТДЕВІКА (підтримка мережевих пристроїв) у "Драйвери пристроїв", потім:
- NET_CORE ( мережевого драйвера).
- USB_NET_DRIVERS (мережеві адаптери USB) ->
- USB_USBNET (Багатоцільовий мережевий фреймворк USB).
- USB_NET_SMSC95XX (мережеві пристрої USB 2.0 10/100 на базі SMSC LAN95XX)
Звук
Щоб увімкнути бортовий звук:
- ЗВУК (у драйверах пристроїв), потім:
- SND (Advanced Linux Sound Architecture) і в цьому:
- SND_ARM (звукові пристрої ARM) і нарешті в цьому SND_BCM2835 (драйвер ALMA BCM2835)
Відео
- CONFIG_BCM2708_VCHIQ (Драйвери пристроїв -> Різні пристрої -> Videocore VCHIQ).
Більше нічого не потрібно для підтримки сервера X; Немає варіантів драйверів DRI для SoC pi.
Якщо ви хочете використовувати фреймбуфер, який дозволяє таким програмам, як fbi
і omxplayer
відображати графіку поза X:
- FB (Драйвери пристроїв -> Підтримка графіки -> Пристрої буфера кадру -> Підтримка буферних пристроїв кадрів), потім у тому самому меню FB_BCM2708 (підтримка кадрового буфера BCM2708).
Якщо ви робите це і хочете, щоб пінгвін (а точніше, малина) на консолі завантаження, пам’ятайте LOGO (логотип Bootup) під графічною підтримкою.
Ви також можете переглянути параметри у розділі Тип системи -> Broadcom2708 (або 9) Реалізації .
GPIO / I 2 C
- BCM2708_GPIO (Тип системи -> Реалізації Broadcom BCM2708) Або для Pi 2, відповідний варіант BCM2709.
- GPIO_SYSFS (Драйвери пристроїв -> Підтримка GPIO) для
/sys/class/gpio
інтерфейсу.
- I2C (драйвери пристроїв -> підтримка I2C), що дозволяє I2C_CHARDEV (інтерфейс пристрою I2C). Потім у розділі "Підтримка апаратної шини I2C":
- I2C_BCM2708 (BCM2708 BSC).
Распікам
- MEDIA_CAMERA_SUPPORT (Драйвери пристроїв -> Мультимедійна підтримка -> Підтримка камер / відеозаписувачів).
- V4L_PLATFORM_DRIVERS ( пристроїв-> Мультимедійна підтримка -> Пристрої платформи V4L "). Це дозволяє підменю, де потрібно вибрати:
- CONFIG_SOC_CAMERA (підтримка камери SoC).
- CONFIG_VIDEO_BCM2835 (драйвер інтерфейсу камери Broadcom BCM2835). Це дозволяє "драйвер інтерфейсу камери Broadcom BM2835 MMAL ( CONFIG_VIDEO_BCM2835_MMAL ), який ви також повинні вибрати.
Тепловий датчик
Ви маєте вибір тут; якщо ви спробуєте вибрати обидва, перший буде скасовано (хоча ви можете створити один як модуль, змінити конфігурацію, побудувати інший і використовувати їх обоє, якщо ви дійсно хочете).
- SENSORS_BCM2835 ( Драйвери пристрою-> Підтримка апаратного моніторингу-> Драйвер Broadcom BCM2835 HWMON). Це внизу списку, якщо ви не вибираєте "BCM2835 Thermal Driver" внизу. Це дає вам доступ до теплових матеріалів в
/sys/devices/platform/bcm2835_hwmon
- temp1_input
і temp1_max
. Перший - той самий /sys/devices/virtual/thermal/thermal_zone0/temp
; останній завжди 85000 (тобто 85 ° C).
- THERMAL_BCM2835 ( Драйвери пристрою-> Загальний драйвер термічного sysfs-> BCM2835 Thermal Driver). Також виберіть Драйвери пристрою-> Підтримка апаратного моніторингу (але не окремий драйвер у цьому меню), щоб тут з'явилося "Викрити теплові датчики як пристрій hwmon", і ви можете вибрати це (у 4.0.y, схоже, цього немає). Якщо вибрати це, ви знімете SENSORS_BCM2835 вище. Це дає вам доступ до легшого запам'ятовування та пошуку,
/sys/class/devices/virtual/thermal/thermal_zone0
що включає temp
і trip_point_0_temp
(те саме temp1_max
, що вище). Можливо, різні монітори простору користувачів віддадуть перевагу цьому і можуть не працювати без нього.