Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Адаптация на Linux за ARM устройства

1 060 vues

Publié le

Целта на презентацията е да разгледа най-популярните платки с ARM процесори от типа на OLinuXino, CubieBoard, Banana Pi, Beaglebone black, Odroid, Raspberry Pi и да предостави насоки как да се адаптират Linux ядрото и различни Linux дистрибуции за тях. Ще бъдат представени практически примери за работа с Das U-Boot, Linux-sunxi, Debian и Linux базираната софтуерна платформа Tizen на серията open-source hardware платки OLinuXino. Също така ще бъде споделена информация за DIY (Do It Yourself) създаване на свободни устройства с отворен хардуер и софтуер.

Publié dans : Ingénierie
  • Identifiez-vous pour voir les commentaires

  • Soyez le premier à aimer ceci

Адаптация на Linux за ARM устройства

  1. 1. Адаптация на Linux за ARM устройства Леон Анави @leonanavi leon@anavi.org OpenFest 2014
  2. 2. OpenFest 2014 @leonanavi 2 Съдържание ● ARM eкосистемата ● Linux и ARM ● Свободни устройства с отворен хардуер и софтуер
  3. 3. ARM eкосистемата
  4. 4. OpenFest 2014 @leonanavi 4 Защо Linux и ARM? ● Смартфони и таблети ● In-Vehicle Infotainment (IVI) ● Internet of Things (IoT)
  5. 5. OpenFest 2014 @leonanavi 5 CISC срещу RISC
  6. 6. OpenFest 2014 @leonanavi 6 ARM Holdings ● Компанията е основана през 1990г. ● Бизнес моделът им е базиран на интелектуалната собственост ● ARM чипове се ползват от 95% от смартфоните, 80% от цифровите фотоапарати и 35% от всички други електронни устройства
  7. 7. OpenFest 2014 @leonanavi 7 Single Board Computers № SBC CPU 1 Raspberry Pi Model B ARM1176JZF-S @ 700MHz 2 BeagleBone Black AM335x 1GHz ARM® Cortex-A8 3 Odroid-U3 1.7GHz Exynos4412 Prime Cortex-A9 Quad-core 4 CubieTruck Allwinner A20 ARM Cortex-A7 @ 1GHz dual-core 5 Banana Pi Allwinner A20 ARM Cortex-A7 @ 1GHz dual-core 6 Parallella Zynq Z7010 / Zynq Z7020 Dual ARM Cortex 7 Cubieboard2 Allwinner A20 ARM Cortex-A7 @ 1GHz dual-core 8 A10-OLinuXino-Lime Allwinner A10 Cortex-A8 @ 1GHz 9 Galileo Intel Quark X1000 @ 400MHz 10 Udoo Quad Freescale i.MX 6 ARM Cortex-A9 Quad core @ 1GHz
  8. 8. OpenFest 2014 @leonanavi 8 Производители на ARM SoC ● Allwinner Tech ● Broadcom ● Freescale ● MediaTek ● Samsung ● Renesas ● Rockchip ● Texas Instruments ● Qualcomm ● други
  9. 9. OpenFest 2014 @leonanavi 9 Open Source Hardware ● Натрупване и споделяне на опит ● Eвтини и достъпни прототипи ● Примери: OLinuXino, Arduino
  10. 10. Linaro Организация с нестопанска цел, предоставяща: OpenFest 2014 @leonanavi 10 ● Инструменти за разработка за ARM ● Linux ядра за ARM ● Linux дистрибуции за ARM
  11. 11. Linux & ARM
  12. 12. OpenFest 2014 @leonanavi 12 Как да подкараме Linux на ARM? ● Bootloader (Das U-Boot, Barebox) ● Linux kernel ● Файлова система на Linux дистрибуция
  13. 13. OpenFest 2014 @leonanavi 13 Das U-Boot ● Универсална първоначална зареждаща програма ● Лиценз GPLv2 http://git.denx.de/u-boot.git/
  14. 14. OpenFest 2014 @leonanavi 14 Linux kernel ● Създаден: 1991г ● Лиценз: GPLv2 ● Последна стабилна версия: 3.17 ● LTSI: 3.14 ● Топ разработчици: Intel, Red Hat, Linaro, Samsung , SUSE, IBM, Renesas Electronics, Google, други
  15. 15. OpenFest 2014 @leonanavi 15 Linux-sunxi ● Sunxi – наименование на всички устройства с ARM SoC от китайската компания Allwinner Technology ● Инструкции за създаване на linux-sunxi kernel 3.4 за A20 git clone -b sunxi-3.4 https://github.com/linux-sunxi/linux-sunxi.git make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- sun7i_defconfig make -j4 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- uImage modules make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_MOD_PATH=output modules_install ● Резултат arch/arm/boot/uImage output/lib/modules/3.4.XXX/
  16. 16. OpenFest 2014 @leonanavi 16 Device Tree ● DTS - дървовидна структура от данни, която описва физическите устройства в системата ● DTB - бинарен файл, който съдържа описание на хардуера
  17. 17. OpenFest 2014 @leonanavi 17 FEX ● Стандартен формат за описание на хардуера на устройства с Allwinner SoC ● FEX файлът се компилира до двоичен файл script.bin ● Инструменти https://github.com/linux-sunxi/sunxi-tools https://github.com/mripard/sunxi-babelfish
  18. 18. OpenFest 2014 @leonanavi 18 uEnv.txt ● Текстов файл, съдържащ параметри към Linux ядрото console=tty0 loglevel=5 extraargs=console=ttyS0,115200 disp.screen0_output_type=3 disp.screen0_output_mode=EDID:800x480p33 hdmi.audio=EDID:0
  19. 19. OpenFest 2014 @leonanavi 19 Как да си изберем Linux дистрибуция за ARM? ● Кои са най-популярните дистрибуции за ARM? Arch Linux, Debian, Fedora, Ubuntu ● Как лесно да си направим собствена дистрибуция за ARM? Yocto ● Има ли други Linux базирани ОС за ARM? Android, Tizen, Firefox OS, SailfishOS ● Кои са често срещаните проблеми? По-стари версии на Linux кеrnel, затворени GPU драйвери, Wayland vs X11
  20. 20. OpenFest 2014 @leonanavi 20 Пример: Tizen ● Дистрибуции, на които може да се крос- компилира Tizen за ARM: Ubuntu, Debian, Fedora, CentOS, OpenSUSE ● Инструменти: Git, Gerrit, GBS, MIC ● Алгоритъм: сваляне на кода, компилиране на пакети за ARM с GBS, създаване на Tizen образ от ks файл
  21. 21. OpenFest 2014 @leonanavi 21 Подготовка на microSD карта ● FAT дял за Linux кеrnel и bootloader ● Ext един или повече дялове за файловата система на Linux дистрибуцията ● Инструмент за съставяне на дяловете: fdisk
  22. 22. OpenFest 2014 @leonanavi 22 Отстраняване на грешки ● Наблюдение на работата чрез UART sudo screen /dev/ttyUSB0 115200
  23. 23. Свободни устройства
  24. 24. OpenFest 2014 @leonanavi 24 DIY лаптоп ● ARM платка ● Motorola Lapdock ● HDMI кабел ● USB кабели ● преходници
  25. 25. OpenFest 2014 @leonanavi 25 DIY таблет ● ARM платка ● Дисплей ● Батерия или захранване ● Малко кабели
  26. 26. Как да пуснем Linux на Android таблет? ● Изберете таблет с ARM SoC, съвместим с желаната Linux дистрибуция, например A20 ● Извлечете конфигурационни файлове от Android, например за таблет с A20: $ adb shell # mkdir /sdcard/nanda # mount -t vfat /dev/block/nanda /sdcard/nanda # exit $ adb pull /sdcard/nanda/script.bin script.bin
  27. 27. OpenFest 2014 @leonanavi 27 Полезни връзки ● https://www.olimex.com/ ● https://www.linaro.org/ ● http://linux-sunxi.org/ ● https://github.com/leon-anavi/tizen-sunxi ● http://wiki.tizen.org/
  28. 28. OpenFest 2014 @leonanavi 28 Въпроси?

×