Cubox-i: различия между версиями
D4s (обсуждение | вклад) (→Железо) |
D4s (обсуждение | вклад) |
||
Строка 107: | Строка 107: | ||
Чтобы исправить -- регистрируем обработчик для архитектуры '''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 | 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 | ||
''Note'': в качестве обработчика используется статически слинкованный qemu-armh.static, который должен быть скопирован в "/.host/qemu-arm" для совместимости с [[hasher]] | ''Note'': в качестве обработчика используется статически слинкованный qemu-armh.static, который должен быть скопирован в "/.host/qemu-arm" для совместимости с [[hasher]] | ||
и другим софтом на его основе [[Ports/arm/BuildHowto]] | и другим софтом на его основе: [[Ports/arm/BuildHowto]] | ||
=== Настройка загрузки по сети === | === Настройка загрузки по сети === |
Версия от 22:10, 10 октября 2014
Вторая версия ARM мини-компьютера Cubox носит название Cubox-i и базируется на Freescale i.MX6 чипе.
Установка из готового образа
TBD
Сначала сделаем все руками и только потом автоматизируем!!!
Ручная сборка
toolchain
Удобно использовать сборки от Linaro. Качать архив, начинающийся с gcc-linaro-armeb-linux-gnueabihf-
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 в блоге.
Железо
Графика
- 2D -- фреймбуфер из коробки
- 3D -- TBD
Звук
Работает из коробки.
- HDMI -- не проверял
- SPDIF -- не проверял
WiFi
TBD
Ethernet
Работает из коробки.
Загрузка по сети работает.
USB
Работает из коробки.
e-SATA
TBD
IR
TBD
"Лампочки на панельке"
/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