Jump to content
em

Cum sa iti construiesti propria distributie de linux - Yocto [1/3]

Recommended Posts

0. Introducere

Nucleul Linux (în englez? "kernel") reprezint? nucleul sistemului de operare deschis care a fost creat de Linus Torvalds în 1991 ?i care a fost îmbun?t??it ulterior cu ajutorul programatorilor din întreaga lume.

Acesta a fost dezvoltat ini?ial pentru microprocesorul Intel 80386, îns? ulterior a fost portat pe multe alte platforme. Este scris aprope în întregime în limbajul de programare C, împreun? cu ni?te extensii GNU C ?i cu cîteva linii de cod scrise în limbajul de asamblare.

Dezvoltat sub licen?a GNU GPL (GNU General Public License), codul surs? al nucleului Linux este software liber.

Nucleul este cel mai bine cunoscut ca principala component? a sistemului de operare GNU/Linux. Distribu?iile de software bazate pe nucleul Linux se numesc Distribu?ii GNU/Linux.

Pachete necesare:

gcc, g++, git.

Others:

kvm (cat /proc/cpuinfo | grep kvm)

30GB liberi

3GB+ ram (sau diferenta in swap)

Procesor cu 2 nuclee.

Linux. (NU masina virtuala cu linux)

1. Yocto

Yocto este un proiect open source care permite creare de imagini personalizate de linux pentru embedded si nu numai. Poti alege pachetele ce vor fi instalate, ce drivere vor fi suportate de noua ta versiune. Poti aduce cat si modificari la kernel.

S? incepem prin a face o imagine simpl? de Linux, f?r? GUI, cât mai mic?.


mkdir my_distro;
cd my_distro;
git clone git://git.yoctoproject.org/poky -b master

Acum hai s? construim cea mai simpl? imagine de linux posibil?


. ./oe-init-build-env

Trebuie s? set?m build-ul s? se fac? în paralel.

In conf/local.conf (relativ la unde esti acum)


BB_NUMBER_THREADS ?= "16"
#
# The second option controls how many processes make should run in parallel when
# running compile tasks:
#
PARALLEL_MAKE ?= "-j 16"

Eu am pus 16 pentru ca atatea threaduri am eu la PC.


bitbake core-image-minimal

Ia o cafea, o sa dureze vreo 2 ore. (in functie de viteza la net?)

Ce se intampla in spate? Se trage tot ce e necesar pentru a construi imaginea (pachete, imagine de kernel, gcc)

Acum poti rula imaginea


runqemu core-image-minimal

2. Acum hai sa ii punem si GUI

to be continued.

In urmatorul tutorial:

* cum sa faci o distributie simpla care are X, apt si chromium.

Cand va fi urmatorul?

* Dupa ce 3 il incearca si vor sa afle mai departe ce si cum.

Link to comment
Share on other sites

Am indoieli ca ti-a rulat bitbake-ul in 2 minute. Astept screenshot cu noua imagine ruland :)

ON:Multumesc si astept si eu partea a 2a.

OFF : probabil ca baiatul asteapta toate partile ca sa se apuce si iti multumeste pentru partea 1....eu de exemplu o sa ma apuc cand am tutorialul cap coada si niste comenturi in care eventual este lamurita orice posibila problema....

Link to comment
Share on other sites

ON:Multumesc si astept si eu partea a 2a.

OFF : probabil ca baiatul asteapta toate partile ca sa se apuce si iti multumeste pentru partea 1....eu de exemplu o sa ma apuc cand am tutorialul cap coada si niste comenturi in care eventual este lamurita orice posibila problema....

Exact, seara asta incerc (defapt acum incerc). Revin cu un edit :) . Sper sa termin seara asta

edit: mia dat eroare la sqlite2, peste 2-3 h incep din nou bitbake-ul

edit2: inainte sa faci ce scrie mai sus, fa asta (in functie de distributie).

Listing 3. Installing prerequisites on Ubuntu

sudo apt-get install sed wget subversion git-core coreutils \

unzip texi2html texinfo libsdl1.2-dev docbook-utils fop gawk \

python-pysqlite2 diffstat make gcc build-essential xsltproc \

g++ desktop-file-utils chrpath libgl1-mesa-dev libglu1-mesa-dev \

autoconf automake groff libtool xterm libxml-parser-perl

Listing 4. Installing prerequisites on Fedora

sudo yum groupinstall "development tools"
sudo yum install python m4 make wget curl ftp tar bzip2 gzip \

unzip perl texinfo texi2html diffstat openjade \

docbook-style-dsssl sed docbook-style-xsl docbook-dtds fop xsltproc \

docbook-utils sed bc eglibc-devel ccache pcre pcre-devel quilt \

groff linuxdoc-tools patch cmake \

perl-ExtUtils-MakeMaker tcl-devel gettext chrpath ncurses apr \

SDL-devel mesa-libGL-devel mesa-libGLU-devel gnome-doc-utils \

autoconf automake libtool xterm

Listing 5. Installing prerequisites on CentOS

sudo yum -y groupinstall "development tools"

sudo yum -y install tetex gawk sqlite-devel vim-common redhat-lsb xz \

m4 make wget curl ftp tar bzip2 gzip python-devel \

unzip perl texinfo texi2html diffstat openjade zlib-devel \

docbook-style-dsssl sed docbook-style-xsl docbook-dtds \

docbook-utils bc glibc-devel pcre pcre-devel \

groff linuxdoc-tools patch cmake \

tcl-devel gettext ncurses apr \

SDL-devel mesa-libGL-devel mesa-libGLU-devel gnome-doc-utils \

autoconf automake libtool xterm

Listing 6. Installing prerequisites on openSUSE

sudo zypper install python gcc gcc-c++ libtool fop \

subversion git chrpath automake make wget xsltproc \

diffstat texinfo freeglut-devel libSDL-devel

Ma mai documentez, iar daca vor fi detali ce trebuie spuse. Revin cu un post sau edit :)

Edited by kalash1337
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...