Вградена разработка на Linux 5 стъпки за започване; Откровен
Ето краткото ръководство за разработка Вграден Linux че трябва да генерирате вградена система от индустриален клас за платката, която седи на вашия работен плот. The вградена разработка на linux е огромна област и има много документация, която да ви помогне с всички подробности, този урок просто иска да ви даде ясни стъпки, за да бъдете ефективни при изграждането на вашата система.

Beaglebone Black е чудесна дъска за изучаване на вграден Linux
Изградете пълна вградена система, използвайки Buidroot
Buildroot и Yocto са най-важните вградени инструменти на Linux. Можете да ги сравните с Вградени дистрибуции на Linux, но както ще видите, те са много повече от това.
За тази публикация в блога използваме Buildroot. Всъщност, в Openest вярваме, че е по-лесно да се използва при стартиране и много по-бързо да се настрои. Ако предпочитате Yocto, уведомете ни в коментарите, вероятно ще актуализираме тази статия по-късно.
Нека клонираме изходния код на Buildroot и отидем до неговите източници:
Нека разгледаме наличните git тагове (в момента 2019.11) и вземете тази версия:
Сега искаме да намерим вашия Пакет за поддръжка на борда Linux, вграден в папката "board". Той е категоризиран от производителя на карти, така че е сравнително лесно да намерите своя. За останалата част от този урок ще използваме Beaglebone Black, който ще намерите в директорията „board/beaglebone“. Оттук ви предлагам да прочетете файла readme.txt, който ще намерите в тази директория.
Сега приложете съответната конфигурация и изградете вашата система:
В случай, че имате Raspberry-Pi 4, просто изпълнете:
Сега изчаквате около 30 минути (за първи път отнема повече време), Buildroot ще изтегли и компилира целия необходим софтуер. Вече можете да преминете към следващата стъпка.
изчакайте ! Не мога да намеря картата си в директорията "board"! Добре, това е лош късмет. Това означава, че той (все още?) Не е официално поддържан в Buildroot. Независимо дали това е напълно персонализирана карта или много рядка карта, не е изненадващо. В този случай ви предлагам да намерите карта със същия микропроцесор:
Това ще ви даде карти със същия процесор, намерете такава, която е подобна на вашата. Използвайте го като основа, за да създадете своя собствена папка в борда/и конфигурация в config/модифицирана за вашите собствени нужди.
Стартирайте вградената си Linux система
В края на процеса на компилация ще намерите най-полезните файлове в директорията output/images:
Какви са всички файлове в изхода/изображенията на Buildroot ? Е, има много какво да се каже. Много често ще намерите:
- dtb: (двоични файлове на дърво на устройството) файлове: те се генерират от dts файлове: те основно описват хардуера в Linux, казват му къде да намерят различните компоненти, присъстващи на печатната платка и кои регистри и кои драйвери да се използват.
- zImage: Linux двоично изображение, zImage е двоичен формат на изображението, но има и други като uImage.
- u-boot.img: е двоичен образ на bootloader, обикновено използваме U-Boot. Той инициализира някои компоненти (обикновено DDR, sdcard контролер и Ethernet).
- rootfs.ext2: коренът на файловата система: дялът, където Linux очаква да намери всички необходими файлове.
- готово за използване sdcard.img изображение, което може да бъде мигано на SD карта.
В случая с Beaglebone Black ще намерите и MLO файл. MLO е първата програма за стартиране, тя извършва основна инициализация и след това стартира U-Boot.
Как да стартирам картата:
Поставете microSD на вашия компютър, проверете името му с dmesg и мигайте генерираното изображение с dd:
Внимание ! Проверете два пъти целевото устройство, особено се уверете, че не е sda, sdb: можете напълно да изтриете твърдия диск на вашия компютър.
Сега поставете SD картата в Beaglebone Black и включете захранването. Ще видите, че се стартира на вашата конзола чрез UART. Вече можете да влезете в Buildroot. Потребителят по подразбиране е root.