Найти в Дзене
Кириши HackerSpace

Кросс-Компиляция GNU/Linux ядра под mips архитектуру на примере ТВ-приставки SML482HD

Оглавление

По просьбам трудящихся, публикуем краткое описание процесса сборки GNU/Linux ядра для ТВ-приставки SML482HD

Сборку будем производить на удалённой Debian GNU/Linux машине с заранее установленными пакетами и компитяторами.
-2

Забираем исходный код ядра и набор кросс-компиляторов из официального репозитория производителя камня 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-}

Compilation
Compilation

Смотрим что получилось

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

Спасибо за внимание !

Репозиторий с подробным описанием:

GitHub - sw3nlab/sml482hd: Debian GNU/Linux (Wheezy) boot proccess on TV-Box SML 482 HD

В этой статье мы разберём сборку Ядра под ARM архитектуру для Wi-Fi камеры с использованием Buildroot

Если вам нравится материал публикуемый на данном канале, вы можете поддержать меня

угостив чашечкой кофе

Отдельно буду признателен и благодарен вам за лайк, репост или подписку ❤️