|
|
Опции темы | Поиск в этой теме | Опции просмотра |
29.06.2018, 15:33 | #1 |
Senior Member
Регистрация: 17.02.2013
Адрес: Харьков
Сообщений: 235
Вес репутации: 689 |
Портирование ar71xx=>ath79 устройств на новое ядро 4.14+
Тема посвящена новому ядру 4.14+ и создание dts профилей для устройств с SoC Atheros/Qualcomm, т.к. старое ядро 4.9+ привязано только к профилям mach-*.c
Конечно можно подождать, пока Ваше устройство кто-то из энтузиастов портирует на новое ядро, но можно это сделать и самому. Основные моменты редактирования и создания dts профиля: 1. После создания/редактирования dts профиля, не обязательно делать make (чтобы потом дожаться ошибки синтаксиса dts файла ) можно очень быстро проверить скрипт следующими командами: Код:
cpp -nostdinc -I ~/Lede-trunk/build_dir/target-mips_24kc_musl/linux-ath79_tiny/linux-4.14.50/include -undef -x assembler-with-cpp ~/Lede-trunk/target/linux/ath79/dts/file.dts > file.tmp.dts ~/Lede-trunk/build_dir/target-mips_24kc_musl/linux-ath79_tiny/linux-4.14.50/scripts/dtc/dtc -O dtb -o file.dtb file.tmp.dts Ошибки и вернинги будут отображены в консоли. Также можете подглядеть конфигурацию оборудования в dts файлах именно для вашего процессора в существующих профилях. 2.1 За отображение устройства в menuconfig отвечает файл ~\Lede-trunk\target\linux\ath79\image\*.mk (можно часть скопировать из ar71xx, он там такой же) 2.2 За настройку конфигурации eth0 eth1 switch отвечает файл ~\Lede-trunk\target\linux\ath79\base-files\etc\board.d\02_network (можно часть скопировать из ar71xx, он там такой же но имейте ввиду, может потребоваться поменять eth0 и eth1 местами) 2.3 За софтварную настройку именно LAN/WAN(другие светодиоды типа USB или System уже вынесены в dts) светодиодов (это когда они мигают и включаются при подключении Ethernet линка) отвечает файл ~\Lede-trunk\target\linux\ath79\base-files\etc\board.d\01_leds 2.4 За настройку eeprom вашего Wi-FI устройства отвечают файлы ~\Lede-trunk\target\linux\ath79\base-files\etc\hotplug.d\firmware\10-ath9k-eeprom или 11-ath10k-caldata Например в файле 10-ath9k-eeprom расположены адреса art раздела (eeprom калибровочные данные для вашего Wi-Fi чипа), и вам достаточно туда вписать идентификатор вашего роутера. 3. C новым ядром сложно теперь компилировать исключительно target, т.к. оно ну очень дооолго его компилирует/перекомпилирует. Но если вы создали например базовый фал dts и подозреваете что он должен работать на вашем устройстве, то нужно сделать базовую копиляцию вашего устройства (make menuconfig потом make V=s) и если компиляция успешна (при этом вы хотите отредактировать dts файл конфигурации) - то НЕ обязательно делать make clean! После редактирования dts файла, можно очень быстро компилировать образ при этом редактирование будет занесено в ядро если использовать команду: Код:
<редактируем dts> <если хотим, проверяем его как в п.1> rm ./tmp/.targetinfo; rm ./tmp/info/.targetinfo-ath79; make prereq make V=s Пока все, пишите сюда все Ваши вопросы. Последний раз редактировалось Dioptimizer; 29.06.2018 в 15:41. |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|