SlideShare a Scribd company logo
Адаптация на Linux за ARM 
устройства 
Леон Анави 
@leonanavi 
leon@anavi.org OpenFest 2014
OpenFest 2014 
@leonanavi 
2 
Съдържание 
● ARM eкосистемата 
● Linux и ARM 
● Свободни устройства с отворен хардуер и 
софтуер
ARM eкосистемата
OpenFest 2014 
@leonanavi 
4 
Защо Linux и ARM? 
● Смартфони и таблети 
● In-Vehicle Infotainment (IVI) 
● Internet of Things (IoT)
OpenFest 2014 
@leonanavi 
5 
CISC срещу RISC
OpenFest 2014 
@leonanavi 
6 
ARM Holdings 
● Компанията е основана през 1990г. 
● Бизнес моделът им е базиран на 
интелектуалната собственост 
● ARM чипове се ползват от 95% от 
смартфоните, 80% от цифровите фотоапарати 
и 35% от всички други електронни устройства
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
OpenFest 2014 
@leonanavi 
8 
Производители на ARM SoC 
● Allwinner Tech 
● Broadcom 
● Freescale 
● MediaTek 
● Samsung 
● Renesas 
● Rockchip 
● Texas Instruments 
● Qualcomm 
● други
OpenFest 2014 
@leonanavi 
9 
Open Source Hardware 
● Натрупване и споделяне на опит 
● Eвтини и достъпни прототипи 
● Примери: OLinuXino, Arduino
Linaro 
Организация с нестопанска цел, предоставяща: 
OpenFest 2014 
@leonanavi 
10 
● Инструменти за разработка за ARM 
● Linux ядра за ARM 
● Linux дистрибуции за ARM
Linux & ARM
OpenFest 2014 
@leonanavi 
12 
Как да подкараме Linux на 
ARM? 
● Bootloader (Das U-Boot, Barebox) 
● Linux kernel 
● Файлова система на Linux дистрибуция
OpenFest 2014 
@leonanavi 
13 
Das U-Boot 
● Универсална първоначална зареждаща 
програма 
● Лиценз GPLv2 
http://git.denx.de/u-boot.git/
OpenFest 2014 
@leonanavi 
14 
Linux kernel 
● Създаден: 1991г 
● Лиценз: GPLv2 
● Последна стабилна версия: 3.17 
● LTSI: 3.14 
● Топ разработчици: Intel, Red Hat, Linaro, 
Samsung , SUSE, IBM, Renesas Electronics, 
Google, други
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/
OpenFest 2014 
@leonanavi 
16 
Device Tree 
● DTS - дървовидна структура от данни, която 
описва физическите устройства в системата 
● DTB - бинарен файл, който съдържа 
описание на хардуера
OpenFest 2014 
@leonanavi 
17 
FEX 
● Стандартен формат за описание на хардуера 
на устройства с Allwinner SoC 
● FEX файлът се компилира до двоичен файл 
script.bin 
● Инструменти 
https://github.com/linux-sunxi/sunxi-tools 
https://github.com/mripard/sunxi-babelfish
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
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
OpenFest 2014 
@leonanavi 
20 
Пример: Tizen 
● Дистрибуции, на които може да се крос- 
компилира Tizen за ARM: Ubuntu, Debian, 
Fedora, CentOS, OpenSUSE 
● Инструменти: Git, Gerrit, GBS, MIC 
● Алгоритъм: сваляне на кода, компилиране на 
пакети за ARM с GBS, създаване на Tizen 
образ от ks файл
OpenFest 2014 
@leonanavi 
21 
Подготовка на microSD карта 
● FAT дял за Linux кеrnel и bootloader 
● Ext един или повече дялове за файловата 
система на Linux дистрибуцията 
● Инструмент за съставяне на дяловете: fdisk
OpenFest 2014 
@leonanavi 
22 
Отстраняване на грешки 
● Наблюдение на работата чрез UART 
sudo screen /dev/ttyUSB0 115200
Свободни 
устройства
OpenFest 2014 
@leonanavi 
24 
DIY лаптоп 
● ARM платка 
● Motorola Lapdock 
● HDMI кабел 
● USB кабели 
● преходници
OpenFest 2014 
@leonanavi 
25 
DIY таблет 
● ARM платка 
● Дисплей 
● Батерия или захранване 
● Малко кабели
Как да пуснем 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
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/
OpenFest 2014 
@leonanavi 
28 
Въпроси?

More Related Content

PDF
Open source: от "голо желязо" до JavaScript
PDF
Направи си сам Raspberry Pi HAT
PDF
56. dram и sram
PDF
63.кеш памет
PPTX
Safety and email protection from spam
PPT
Възприемане на заплахата и горовност за реакция в ситуация на повишена радио...
Open source: от "голо желязо" до JavaScript
Направи си сам Raspberry Pi HAT
56. dram и sram
63.кеш памет
Safety and email protection from spam
Възприемане на заплахата и горовност за реакция в ситуация на повишена радио...

Viewers also liked (20)

PPT
интернет развитие
PPT
Reup&Audit2
PPT
Chap6
PDF
Лекция първа Security
PPT
Xp, vista, win7
PDF
СофтУни - представяне във Велико Търново - 1 март 2014
PPT
Snezhana Filipova, Librarian at Obrazovanie Public Chitalishte in the village...
PDF
Как SEO ни помага да повишим продажбите си онлайн?
PPTX
Техническа обезпеченост на студентите за учене чрез мобилни технологии
ODP
Стартиране на софтуерен бизнес - пътят от програмата до продукта
PPT
Безопасност и защита
PPT
Webit 2011 New Cloud Platform
PPT
Chap4
PPT
Презенация мини-семинар "Социални мрежи"
PDF
\"Guerrilla Marketing\" в Интернет - Жанер Найденова
PPTX
хакери
PDF
Теоремата на фон Нойман за отсъствие на скрити параметри в квантовата механика
PDF
Аудио-визуална база - система за управление
PDF
Как и дали средностатистически хакерспейс ще промени живота ти
PDF
Present tsa 10
интернет развитие
Reup&Audit2
Chap6
Лекция първа Security
Xp, vista, win7
СофтУни - представяне във Велико Търново - 1 март 2014
Snezhana Filipova, Librarian at Obrazovanie Public Chitalishte in the village...
Как SEO ни помага да повишим продажбите си онлайн?
Техническа обезпеченост на студентите за учене чрез мобилни технологии
Стартиране на софтуерен бизнес - пътят от програмата до продукта
Безопасност и защита
Webit 2011 New Cloud Platform
Chap4
Презенация мини-семинар "Социални мрежи"
\"Guerrilla Marketing\" в Интернет - Жанер Найденова
хакери
Теоремата на фон Нойман за отсъствие на скрити параметри в квантовата механика
Аудио-визуална база - система за управление
Как и дали средностатистически хакерспейс ще промени живота ти
Present tsa 10
Ad

Similar to Адаптация на Linux за ARM устройства (11)

PPTX
Minimal linux live
PDF
Linux обновления с RAUC и Docker
PPT
Бъдеще и настояще на Tizen
ODP
The Yocto Project
PPT
Embedded Gnu
PDF
Как проектът Yocto помага за създаване на Internet of Things?
PDF
HTML5 приложения за Android, урок 1
PPT
Въведение в Sailfish OS
PDF
Виртуализирано видеонаблюдение под FreeBSD
PPT
Raspberry Pi
PDF
Дистанционни обновления и поддръжка на вградени Linux системи с Mender - TuxC...
Minimal linux live
Linux обновления с RAUC и Docker
Бъдеще и настояще на Tizen
The Yocto Project
Embedded Gnu
Как проектът Yocto помага за създаване на Internet of Things?
HTML5 приложения за Android, урок 1
Въведение в Sailfish OS
Виртуализирано видеонаблюдение под FreeBSD
Raspberry Pi
Дистанционни обновления и поддръжка на вградени Linux системи с Mender - TuxC...
Ad

More from Leon Anavi (20)

PDF
Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
PDF
Exploring Open Source Dual A/B Update Solutions for Embedded Linux
PDF
What Makes the Raspberry Pi 5 So Special?
PDF
Side by Side Comparison of Dual A/B Update Solutions with the Yocto Project
PDF
Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...
PDF
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...
PDF
Integrating VNC in Weston with the Yocto Project and OpenEmbedded
PDF
Как да убием и последната дискета с Open Source технологии?
PDF
How to Choose a Software Update Mechanism for Embedded Linux Devices
PDF
Open Hardware Makers
PDF
Open Source Tools for Making Open Source Hardware
PDF
A/B Linux updates with RAUC and meta-rauc-community: now & in the future
PDF
Surfing on an Interactive Kiosk
PDF
Linux дистрибуции и софтуерни обновления за вградени устройства
PDF
Getting started with AGL using a Raspberry Pi
PDF
Automotive Grade Linux on Raspberry Pi: How Does It Work?
PDF
Comparison of Open Source Software Home Automation Tools
PDF
Практични примери за device tree overlays на Raspberry Pi
PDF
The Software Developer’s Guide to Open Source Hardware
PDF
Making Open Source Hardware for Retrogaming on Raspberry Pi
Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
Exploring Open Source Dual A/B Update Solutions for Embedded Linux
What Makes the Raspberry Pi 5 So Special?
Side by Side Comparison of Dual A/B Update Solutions with the Yocto Project
Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...
Integrating VNC in Weston with the Yocto Project and OpenEmbedded
Как да убием и последната дискета с Open Source технологии?
How to Choose a Software Update Mechanism for Embedded Linux Devices
Open Hardware Makers
Open Source Tools for Making Open Source Hardware
A/B Linux updates with RAUC and meta-rauc-community: now & in the future
Surfing on an Interactive Kiosk
Linux дистрибуции и софтуерни обновления за вградени устройства
Getting started with AGL using a Raspberry Pi
Automotive Grade Linux on Raspberry Pi: How Does It Work?
Comparison of Open Source Software Home Automation Tools
Практични примери за device tree overlays на Raspberry Pi
The Software Developer’s Guide to Open Source Hardware
Making Open Source Hardware for Retrogaming on Raspberry Pi

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

  • 1. Адаптация на Linux за ARM устройства Леон Анави @leonanavi leon@anavi.org OpenFest 2014
  • 2. OpenFest 2014 @leonanavi 2 Съдържание ● ARM eкосистемата ● Linux и ARM ● Свободни устройства с отворен хардуер и софтуер
  • 4. OpenFest 2014 @leonanavi 4 Защо Linux и ARM? ● Смартфони и таблети ● In-Vehicle Infotainment (IVI) ● Internet of Things (IoT)
  • 5. OpenFest 2014 @leonanavi 5 CISC срещу RISC
  • 6. OpenFest 2014 @leonanavi 6 ARM Holdings ● Компанията е основана през 1990г. ● Бизнес моделът им е базиран на интелектуалната собственост ● ARM чипове се ползват от 95% от смартфоните, 80% от цифровите фотоапарати и 35% от всички други електронни устройства
  • 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. OpenFest 2014 @leonanavi 8 Производители на ARM SoC ● Allwinner Tech ● Broadcom ● Freescale ● MediaTek ● Samsung ● Renesas ● Rockchip ● Texas Instruments ● Qualcomm ● други
  • 9. OpenFest 2014 @leonanavi 9 Open Source Hardware ● Натрупване и споделяне на опит ● Eвтини и достъпни прототипи ● Примери: OLinuXino, Arduino
  • 10. Linaro Организация с нестопанска цел, предоставяща: OpenFest 2014 @leonanavi 10 ● Инструменти за разработка за ARM ● Linux ядра за ARM ● Linux дистрибуции за ARM
  • 12. OpenFest 2014 @leonanavi 12 Как да подкараме Linux на ARM? ● Bootloader (Das U-Boot, Barebox) ● Linux kernel ● Файлова система на Linux дистрибуция
  • 13. OpenFest 2014 @leonanavi 13 Das U-Boot ● Универсална първоначална зареждаща програма ● Лиценз GPLv2 http://git.denx.de/u-boot.git/
  • 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. 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. OpenFest 2014 @leonanavi 16 Device Tree ● DTS - дървовидна структура от данни, която описва физическите устройства в системата ● DTB - бинарен файл, който съдържа описание на хардуера
  • 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. 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. 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. OpenFest 2014 @leonanavi 20 Пример: Tizen ● Дистрибуции, на които може да се крос- компилира Tizen за ARM: Ubuntu, Debian, Fedora, CentOS, OpenSUSE ● Инструменти: Git, Gerrit, GBS, MIC ● Алгоритъм: сваляне на кода, компилиране на пакети за ARM с GBS, създаване на Tizen образ от ks файл
  • 21. OpenFest 2014 @leonanavi 21 Подготовка на microSD карта ● FAT дял за Linux кеrnel и bootloader ● Ext един или повече дялове за файловата система на Linux дистрибуцията ● Инструмент за съставяне на дяловете: fdisk
  • 22. OpenFest 2014 @leonanavi 22 Отстраняване на грешки ● Наблюдение на работата чрез UART sudo screen /dev/ttyUSB0 115200
  • 24. OpenFest 2014 @leonanavi 24 DIY лаптоп ● ARM платка ● Motorola Lapdock ● HDMI кабел ● USB кабели ● преходници
  • 25. OpenFest 2014 @leonanavi 25 DIY таблет ● ARM платка ● Дисплей ● Батерия или захранване ● Малко кабели
  • 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. 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. OpenFest 2014 @leonanavi 28 Въпроси?