По просьбам трудящихся, публикуем краткое описание процесса сборки GNU/Linux ядра для ТВ-приставки SML482HD
Сборку будем производить на удалённой Debian GNU/Linux машине с заранее установленными пакетами и компитяторами.
Забираем исходный код ядра и набор кросс-компиляторов из официального репозитория производителя камня Broadcom
stblinux-3.3 - (kernel+rootfs) <---> https://github.com/Broadcom/stblinux-3.14
brcmgcc-4.8 - (gcc, ar, ld...) <---> https://github.com/Broadcom/stbgcc-4.8
wget https://github.com/Broadcom/stbgcc-4.8/releases/download/stbgcc-4.8-1.7/stbgcc-4.8-1.7.tar.bz2
tar -xf stbgcc-4.8-1.7.tar.bz2
git clone https://github.com/Broadcom/stblinux-3.14
cd stblinux-3.14/linux
Аттачим дефолтный конфиг этого камня
make ARCH=mips CROSS_COMPILE={адрес_кросс_компиляторов_stbgcc4.8/bin/mipsel-linux-} bcm7231b0_defconfig
Конфигурируем, добавляем плюшки по вкусу
make ARCH=mips CROSS_COMPILE={адрес_кросс_компиляторов_stbgcc4.8/bin/mipsel-linux-} menuconfig
Компилируем ядро можно с ключём -j равному кол.ву ядер вашего процессора
make ARCH=mips CROSS_COMPILE={адрес_кросс_компиляторов_stbgcc4.8/bin/mipsel-linux-}
Смотрим что получилось
ls
Файл vmlinux <== ядро которое можно закидывать на флешку в fat16 раздел и указывать загрузчику CFE... (если нет ошибок в процессе компиляции)
При загрузке необходимо явно указать ядру что откуда брать и куда выводить:
CFE>boot -z -elf usbdisk0:vmlinuz 'console=ttyS2,115200n8 rootwait root=/dev/sda5 init=/sbin/init'
- console=ttyS2,115200n8 <--- UART пины на плате SML (в какую консоль выводить лог загрузки)
- rootwait - ожидание определения ядром всех блочных устройств
- root - в каком разделе находится файловая система
- init - первый демон, обычно init, но можно
#Сборка модулей ядра
make ARCH=mips CROSS_COMPILE={адрес_кросс_компиляторов_stbgcc4.8/bin/mipsel-linux-} modules
Спасибо за внимание !
Репозиторий с подробным описанием:
В этой статье мы разберём сборку Ядра под ARM архитектуру для Wi-Fi камеры с использованием Buildroot
Если вам нравится материал публикуемый на данном канале, вы можете поддержать меня
Отдельно буду признателен и благодарен вам за лайк, репост или подписку ❤️