Научете Linux

Как да създадете свой собствен Linux дистрибутор с помощта на Yocto

Как да създадете свой собствен Linux дистрибутор с помощта на Yocto

Linux се превърна в надеждна програма за създаване на операционни системи за вградени системи. Кривата на обучение за вградените помощни програми за разработка обаче може да бъде доста предизвикателна. Много хора, които използват тези сложни инструменти, са прекарали много време в разбирането и овладяването им, а Yocto не е по-различен. С него можете да разработите персонализирана минимална Linux дистрибуция за вашия вграден системен проект.

Тази публикация ще ви даде стъпка по стъпка ръководство за започване на работа с Yocto за създаване на минимална дистрибуция на Linux.

Проектът Yocto

Yocto е съвместен проект с отворен източник, насочен към създаване на инструменти, шаблони и процеси, необходими за разработване на персонализирани базирани на Linux системи за вградени системи, въпреки основната хардуерна архитектура. Yocto стартира през март 2011 г. като сътрудничество на 22 организации, включително OpenEmbedded, която действа като негова система за изграждане.

Резултатът от изграждането на проекта Yocto се състои от три основни компонента:

Защо не използваме съществуващ Distro?

Първоначално вградените системи използваха дистрибуциите на рафтовете и се опитваха да ги персонализират, за да отговарят на техните нужди. Това включваше премахване на ненужни пакети за оптимизиране на съхранението и подобряване на сигурността. Наличието на мъртъв софтуер може да направи системата уязвима за различни вектори на атака. Дори и с тези предимства, използването на съществуващ дистрибутор постави няколко предизвикателства.

Едната е, че целият процес на премахване на пакети не беше лесен. Премахването на някои пакети може да прекъсне зависимостите, държани от различни други пакети, които може да са полезни за вас. Освен това някои пакети бяха интегрирани с процеса на зареждане и изпълнение, което правеше тяхното премахване досадно.

Следователно съществуващите дистрибуции често водят до ненужни закъснения или разполагане на система, която не отговаря на всички изисквани стандарти.

Нека започнем.

Създаване на собствена дистрибуция на Linux с помощта на Yocto

Стъпка 1: Хардуер и изисквания към операционната система

Ако сте потребител на macOS или Windows, използвайте софтуер за виртуализация като VMware или Virtualbox, за да стартирате дистрибуция на Linux. Като алтернатива можете да изберете мулти-стартиране.

Стъпка 2: Настройте хоста

Нека първо инсталираме необходимите зависимости в нашата хост система. За тази публикация използвам дистрибуция на Ubuntu. Ако използвате друга дистрибуция, моля, прегледайте ръководството за бърз старт на Yocto Project и вижте какви зависимости да инсталирате.

Стартирайте терминала и изпълнете командите по-долу:

sudo apt актуализация sudo apt-get инсталирайте wget git-core разархивирайте направете gcc g ++ компилация от съществено значение subversion sed autoconf automake texi2html texinfo coreutils diffstat python-pysqlite2 docbook-utils libsdl1.2-dev libxml-parser-perl libgl1-mesa-dev libglu1-mesa-dev xsltproc desktop-file-utils chrpath groff libtool xterm gawk fop

Стъпка 3: Клонирайте Yocto Poky

С инсталираните зависимости можем да продължим да изтегляме Yocto. Ще клонираме хранилището Yocto от уебсайта на Yocto Project. Изпълнете командата по-долу, която ще изтегли последната версия (клонът „sumo“). Ще създадем директория в папката Home, за да изградим нашия проект Yocto за лесен достъп и последователност.

mkdir ~ / yocto mkdir ~ / yocto / Project-One / cd ~ / Yocto / Project-One / git clone -b sumo git: // git.йоктопроект.org / poky.git

Clone Yocto

Ако получите грешка като „командата git не е намерена, ” това означава, че нямате инсталиран git във вашата система. Изпълнете командата по-долу, за да го инсталирате.

sudo apt инсталирайте git

Стъпка 4: Инициализирайте изградената среда.

За да започнем с Yocto, трябва да инициализираме средата за изграждане.'Изпълнете командите по-долу. Първият ще промени директорията в папката, която току-що клонирахме. Втората команда ще инициализира средата за изграждане.'

cd ~ / Yocto / Project-One / poky източник oe-init-build-env build

Едната инициализация е завършена, ще имаме директория за изграждане и конфигурационен файл. Директорията за изграждане е мястото, където възниква цялата сграда на системата и хоства файловете с изображения след завършване на процеса. Всъщност след инициализацията Терминалът автоматично ще сочи към папката за изграждане. Можете да видите това на изображението по-горе.

Стъпка 5: Конфигуриране

Когато изпълните командата ls в директорията / build, ще видите папка / conf, която съдържа всички наши конфигурационни файлове. Придвижете се до тази папка с командата по-долу:

$ cd ~ / Yocto / Project-One / poky / build / conf / $ ls

конфигурационни файлове

Изпълнявайки командата ls в папката conf, трябва да видите локалния.conf файл. Този файл определя подробностите за целевата машина и SDK за желаната целева архитектура.

Отворете този файл за редактиране с командата по-долу:

$ sudo nano local.конф

От изображението по-долу целевата машина за изграждане е „qemux86-64.”

Целева машина

Сега продължете да коментирате следните редове, както е показано на изображението по-долу. (Под коментиране имаме предвид-премахнете знака „#“)

DL_DIR ?= "$ TOPDIR / изтегляния" SSTATE_DIR ?= "$ TOPDIR / sstate-cache" TMPDIR ?= "$ TOPDIR / tmp" PACKAGE_CLASSES ?= "package_rpm" SDKMACHINE ?= "i686" EXTRA_IMAGE_FEATURES ?= "отстраняване на грешки"

параметри за коментар

Преди да продължим процеса на компилация, добавете следните редове в края на 'local.conf 'файл.

BB_NUMBER_THREADS = "X" PARALLEL_MAKE = "-j X"

Сменете „X“ с двойния брой процесори / процесор във вашия компютър. Следователно, ако имате четири процесора, тогава ще имате изявления като тези: BB_NUMBER_THREADS = “8” PARALLEL_MAKE = “-j 8”

Добавете конфигурации

За да видите броя на процесорите във вашия компютър, изпълнете командата по-долу:

lscpu

Стъпка 5: Компилация и процес на изграждане

За да започнете да изграждате изображението, изпълнете командата по-долу в директорията / build.

bitbake core-image-sato

Изградете персонализирана дистрибуция на Linux

Това ще започне да изтегля и компилира пакети за целевата система. Моля, не изпълнявайте горната команда bitbake с root права, тъй като това ще доведе до грешка. При първото изграждане процесът може да отнеме до няколко часа (дори повече от 2). Понякога bitbake може да срещне грешка. Не изпадайте в паника; изпълнете командата по-горе отново. Грешката може да се дължи на срив на определен уебсайт или липсващ ресурс.

Получените двоични изображения се съхраняват в директорията / build на poky / build / tmp / deploy / images / qemux86.

Заключение

Въпреки че Yocto може да бъде доста трудно да се овладее за едно заседание, това е чудесна програма, за да започнете да създавате персонализирана Linux дистрибуция за вашия проект. Надявам се тази публикация да ви даде подробна процедура за това как да започнете с целия процес на изграждане на персонализирана дистрибуция на Linux.

Безплатни и игри с отворен код за разработване на Linux игри
Тази статия ще обхване списък с безплатни двигатели за игри с отворен код, които могат да се използват за разработване на 2D и 3D игри на Linux. Същес...
Урок Сянка на Tomb Raider за Linux
Shadow of the Tomb Raider е дванадесетото допълнение към поредицата Tomb Raider - франчайз за екшън-приключенска игра, създаден от Eidos Montreal. Игр...
Как да увеличите FPS в Linux?
FPS означава Кадри в секунда. Задачата на FPS е да измерва честотата на кадрите при възпроизвеждане на видео или игрални изпълнения. С прости думи бро...