Cubox-i: различия между версиями

Материал из ALT Linux Wiki
м (Категория:Мини-компьютеры)
 
(не показано 8 промежуточных версий 3 участников)
Строка 57: Строка 57:


* 2D -- фреймбуфер из коробки
* 2D -- фреймбуфер из коробки
* 3D -- TBD
* 3D -- TBD ([http://www.solid-run.com/community/post9991.html#p9991 должно как-то работать])
* Аппаратая поддержка видео -- TBD


==== Звук ====
==== Звук ====
Строка 68: Строка 69:
==== WiFi ====
==== WiFi ====


TBD
Работает.
 
Для работы необходимы файлы прошивки.
Работающая версия для ядра 3.14: [http://www.solid-run.com/community/topic1693.html рецепт]. Правила для udev не нужны.
 
wget http://myplugbox.com/cb/cuboxi-brcm-firmware.tar.gz
 
Файлы нужно положить в системный путь: /lib/firmware/brcm/
 
Перезагрузить машинку либо удалить, а затем загрузить модуль <tt>brcmfmac</tt>. Для проверки работоспособности устройства:
 
ip link set dev wlan0 up
iwlist scan
 


==== Ethernet ====
==== Ethernet ====
Строка 90: Строка 104:
==== "Лампочки на панельке" ====
==== "Лампочки на панельке" ====


  /sys/devices/soc0/pwmleds.24/leds/imx6:red:front/brightness
В конфиге ядра:
 
  CONFIG_LEDS_PWM=y
 
 
Выключить:
echo 0 > /sys/devices/soc0/pwmleds.24/leds/imx6:red:front/brightness
 
Включить:
echo 1 > /sys/devices/soc0/pwmleds.24/leds/imx6:red:front/brightness


== Разработка ==
== Разработка ==
Строка 107: Строка 130:
Чтобы исправить -- регистрируем обработчик для архитектуры '''armh''' и удаляем архитектуру '''arm''':
Чтобы исправить -- регистрируем обработчик для архитектуры '''armh''' и удаляем архитектуру '''arm''':


<code>
 
echo ":qemu-armh:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/.host/qemu-arm:" > /etc/binfmt.d/qemu-armh.conf
echo ":qemu-armh:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/.host/qemu-arm:" > /etc/binfmt.d/qemu-armh.conf
rm /lib/binfmt.d/qemu-arm.conf
rm /lib/binfmt.d/qemu-arm.conf
systemctl restart systemd-binfmt.service
systemctl restart systemd-binfmt.service
</code>


''Note'': в качестве обработчика используется статически слинкованный qemu-armh.static, который должен быть скопирован в "/.host/qemu-arm" для совместимости с [[hasher]]  
''Note'': в качестве обработчика используется статически слинкованный qemu-armh.static, который должен быть скопирован в "/.host/qemu-arm" для совместимости с [[hasher]]  
и другим софтом на его основе [[Ports/arm/BuildHowto]]
и другим софтом на его основе: [[Ports/arm/BuildHowto]]


=== Настройка загрузки по сети ===
=== Настройка загрузки по сети ===
Строка 124: Строка 146:
TBD
TBD


[[Категория:ARM]]
{{Category navigation|title=ARM|category=ARM|sortkey=*}}
[[Категория:Hardware]]
[[Категория:HCL]]
[[Категория:Мини-компьютеры]]

Текущая версия от 21:47, 10 августа 2019

Вторая версия ARM мини-компьютера Cubox носит название Cubox-i и базируется на Freescale i.MX6 чипе.

Установка из готового образа

TBD

Сначала сделаем все руками и только потом автоматизируем!!!

Ручная сборка

toolchain

Удобно использовать сборки от Linaro. Качать архив, начинающийся с gcc-linaro-armeb-linux-gnueabihf-

wget http://releases.linaro.org/latest/components/toolchain/binaries/gcc-linaro-armeb-linux-gnueabihf-4.9-2014.09_linux.tar.bz2

TBD

bootloader

git clone https://github.com/SolidRun/u-boot-imx6.git

TBD

Kernel

Оригинальное описание сборки на Wiki Solid-run.

export CROSS_COMPILE=armeb-linux-gnueabihf- export ARCH=arm

git clone https://github.com/SolidRun/linux-imx6-3.14

make imx_v7_cbi_hb_defconfig

make zImage imx6q-cubox-i.dtb imx6dl-cubox-i.dtb imx6dl-hummingboard.dtb imx6q-hummingboard.dtb

cp arch/arm/boot/dts/*.dtb arch/arm/boot/zImage <PATH_TO_FAKE_ROOT>/boot/

make modules make modules_install INSTALL_MOD_PATH=<PATH_TO_FAKE_ROOT>

Вменяемое описание процесса загрузки ядра у Russell King в блоге.


Железо

Графика

Звук

Работает из коробки.

  • HDMI -- не проверял
  • SPDIF -- не проверял

WiFi

Работает.

Для работы необходимы файлы прошивки. Работающая версия для ядра 3.14: рецепт. Правила для udev не нужны.

wget http://myplugbox.com/cb/cuboxi-brcm-firmware.tar.gz

Файлы нужно положить в системный путь: /lib/firmware/brcm/

Перезагрузить машинку либо удалить, а затем загрузить модуль brcmfmac. Для проверки работоспособности устройства:

ip link set dev wlan0 up
iwlist scan


Ethernet

Работает из коробки.

Загрузка по сети работает.

USB

Работает из коробки.

e-SATA

TBD

IR

TBD

"Лампочки на панельке"

В конфиге ядра:

CONFIG_LEDS_PWM=y


Выключить:

echo 0 > /sys/devices/soc0/pwmleds.24/leds/imx6:red:front/brightness

Включить:

echo 1 > /sys/devices/soc0/pwmleds.24/leds/imx6:red:front/brightness

Разработка

Для работы с ARM-chroot

На хосте установить:

  • qemu-user-binfmt_misc: пакет содержит статические бинарники для эмулятора железа
  • systemd-utils: в составе есть сервис lib/systemd/system/systemd-binfmt.service, который регистрирует обработчики форматов binfmt.

binfmt

По-умолчанию нет обработчика для архитектуры armh. А обработчик arm использует динамически слинкованный бинарник.

Чтобы исправить -- регистрируем обработчик для архитектуры armh и удаляем архитектуру arm:


echo ":qemu-armh:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/.host/qemu-arm:" > /etc/binfmt.d/qemu-armh.conf
rm /lib/binfmt.d/qemu-arm.conf
systemctl restart systemd-binfmt.service

Note: в качестве обработчика используется статически слинкованный qemu-armh.static, который должен быть скопирован в "/.host/qemu-arm" для совместимости с hasher и другим софтом на его основе: Ports/arm/BuildHowto

Настройка загрузки по сети

TBD

mkimage-profiles

TBD