Buildroot - pars 1. Generalis notitia, minimam systema conveniens, configurationem per menu

introduction

In hac articulorum serie, inspicere volo systema aedificandi constructum distributionis et experientiam meam communicare in ea customiendo. Experientia practica erit in parvo OS creando cum instrumento graphico ac minima functione.

Primum omnium ratio aedificandi et distribuendi confundere non debes. Buildroot systema ex statuto fasciculorum quae ei offeruntur potest aedificare. Buildroot of makefiles aedificatum et ideo magnas consuetudines facultates habet. Repone involucrum cum alia versione, sarcinam tuam adde, regulas muta ad sarcinam aedificandas, ratio fasciculi customize omnibus fasciculis insertis? buildroot can haec omnia.

In Russia constructio adhibetur, sed, ut mihi videtur, notitiae linguae Russicae-linguae parum incipientibus sunt.

Propositum operis est ornamentum distributionis colligere cum viva download, interfaciei et navigatoris glaciem. Scopum suggestum virtualbox est.

Quare Γ¦dificΓ‘tis distributionem tuam? Saepe limitata functionality cum limitibus facultatibus necessaria est. Etiam saepius in automatione firmware creare debes. Accommodare ad distributionem generalem, fasciculis superfluis purgando et in firmware convertendo plus laboris intensivus est quam novam distributionem construere. Gentoo usus etiam limites suos habet.

Ratio Buildroot validissima est, sed nihil pro vobis faciet. Hoc solum efficere potest et processus conventus automate.

Systema alterna aedificandi (yocto, ratio aedificandi aperta et alia) non considerantur aut comparantur.

Ubi ad eam et quomodo incipit

Project website - buildroot.org. Hic tu emendationem hodiernam deprime et manualem lege. Ibi communitatem attingere potes, cimex venato, electronicarum tabularum et irc canalis est.

Buildroot operates defconfigs for the target board of build. Defconfig fasciculus configurationis est qui tantum optiones reponit quae valores default non habent. Ipse est qui colligitur et quomodo decernit. Hoc in casu, separatim configurare potes ficos de occupatus capsula, linux-kernel, uglibc, u-tabulus et discalceatus praedones, sed omnes tabulae scopo ligatae erunt.
Post fasciculum tabularum receptarum vel e git exquisitae, promptum ad usum constructum accipimus. Plura legere potes de structura directorii manuali, Dicam tibi de maximis:

Board - directorium cum lima specifica ad singulas tabulas. Haec scripta esse possunt ad formandas imagines systematis (iso, sdcart, cpio et aliis), directorium deauratum, nucleus config, etc.
Configs β€” ipsa defconfig tabulae. Configuratio defconfig tabula incompleta est. Parametris tantum recondit qui ab default occasus differunt
dl - directory with downloaded source codes/ files for assembly
output / scopum - systema fasciculi collecti inde OS. Postmodum imagines ex eo creantur ad demptionem / institutionem
output / exercitum - exercitus utilitas ad ecclesiam
output / constructum - convenerunt packages

Ecclesia per KConfig configuratur. Eadem ratio Linux nucleum aedificandi adhibetur. Index regulae maxime adhibitae (in buildroot directorium exequi);

  • fac menuconfig - constructum configuratione vocant. Etiam graphice interface uti potes (nconfig fac, fac xconfig, fac gconfig)
  • fac linux-menuconfig - appellant figuram nuclei.
  • mundare - constructum eventus emundare (reposita omnia in output)
  • make β€” systema edificandi. Hoc non coeundi iam processuum convenerunt.
  • fac defconfig_name - commutandum configurationem ad specifica defconfig
  • fac album-defconfigs - ostende indicem defconfigs
  • fontem fac - tantum fasciculi institutionem depone, sine aedificio.
  • auxilium facere - list possibile imperium

Magna notas ac utile tips

Buildroot not sarcinas aedificatas iam aedificatas! Unde locus oriri potest ubi perfecta congregatio requiritur.

Te potest aedificare separatum sarcina cum imperio Facies packagename, aedificetur. Exempli gratia, Linux nucleum reficere potes:

make linux-rebuild

Buildroot statum aliquem sarcina per partum files in output .stamp addit / constructum / Directory $ packagename:

Buildroot - pars 1. Generalis notitia, minimam systema conveniens, configurationem per menu

Unde potes radice-fs et imagines reficere sine fasciculis reaedificandis;

rm output/build/host-gcc-final-*/.stamp_host_installed;rm -rf output/target;find output/ -name ".stamp_target_installed" |xargs rm -rf ; make

Utilis Variabiles

buildroot habet paro of variables ut facile configuratione

  • $ TOPDIR - buildroot Directory
  • $ BASEDIR - REFERO Directory
  • $HOST_DIR, $STAGING_DIR, $TARGET_DIR - exercitus fs, choragi fs, scopum fs presul aedificant.
  • $BUILD_DIR - directorium cum pacto et constructum packages

visualization

buildroot of visualization plumam habet. Potes aedificare tabulam dependentiam, tempus graphi aedificare, et graphi sarcinarum magnitudinum in systemate finali. Eventus in forma imaginum pdf (ex syn, png eligere potes) in directorio output/graphio.

Exempla visualisationis mandata:

  • make graph-depends aedificare dependentia ligno
  • make <pkg>-graph-depends aedificare dependentiam in ligno specifica sarcina
  • BR2_GRAPH_OUT=png make graph-build insidiamini constructum tempus cum PNG output
  • make graph-size insidias mole packet

Utile scriptor

Est subdirectory in buildroot Directory Orcorum cum utilibus scriptis. Exempli gratia, scriptum est, quod rectitudinem descriptionum sarcinae impedit. Hoc utile erit cum fasciculis propriis additis (hoc postea faciam). Tabella utilia/readme.txt descriptionem harum scriptorum continet.

Faciamus stirpe distribution

Praestat meminisse omnes operationes pro usuario iusto, non radice exerceri.
Omnia mandata in buildroot efficiuntur. Sarcina constructio inclusa iam copia configurationum pro multis tabulis communibus et virtualisationi includit.

Inspice tabulam configurationum:

Buildroot - pars 1. Generalis notitia, minimam systema conveniens, configurationem per menu

Vertas ad qemu_x86_64_defconfig config

make qemu_x86_64_defconfig

Et incipimus ecclesiam

make

Aedificium perficit feliciter, eventus specta:

Buildroot - pars 1. Generalis notitia, minimam systema conveniens, configurationem per menu

Buildroot imagines compilavit quas in Qemu currere potes et cognoscere se operari.

qemu-system-x86_64 -kernel output/images/bzImage -hda    output/images/rootfs.ext2 -append "root=/dev/sda rw" -s -S

Effectus est ratio currens in qemu:

Buildroot - pars 1. Generalis notitia, minimam systema conveniens, configurationem per menu

Configuratione partum tabula tua

Addens Tabularia Tabularia

Inspice tabulam configurationum:

Buildroot - pars 1. Generalis notitia, minimam systema conveniens, configurationem per menu

In indice videmus pc_x86_64_efi_defconfig. Nostram tabulam describendo e configuratione creabimus;

cp configs/pc_x86_64_bios_defconfig configs/my_x86_board_defconfig

Tabulam indicis statim creabimus ut scripta nostra, rootfs-delinearia et alia necessaria documenta reponant:

mkdir board/my_x86_board

Vertas huic defconfig:

make my_x86_board_defconfig

Ita nunc constructum config (repositum in .config in radice directorii aedificatoris) respondet x86-64 legato (bios) machinae scopo tabernus.

Sit exemplum lineae nuclei figuratio (postea utilis);

cp board/pc/linux.config board/my_x86_board/

Profecta constructum parametri per KConfig

In setup lets 'satus:

make menuconfig 

KConfig fenestra aperta erit. Configurari potest cum interface graphicali (nconfig fac, xconfig fac, gconfig fac);

Buildroot - pars 1. Generalis notitia, minimam systema conveniens, configurationem per menu

Primum sectionem Target Optiones ingredimur. Hic eligere potes scopum architecturae ad quod aedificandum erit faciendum.

Buildroot - pars 1. Generalis notitia, minimam systema conveniens, configurationem per menu

Optiones aedificandas - variae sunt hic occasus construendi. Determinare directoria potes cum codicibus fontium, numerus stamina fabricandi, specula ad fontem codes et alia uncinis extrahe. Abeamus occasus ad defaltam.

Toolchain – instrumenta ipsa fabricandi hic configurantur. Plura de eo lege.

Buildroot - pars 1. Generalis notitia, minimam systema conveniens, configurationem per menu

Toolchain type - genus toolchain usus est. Hoc instrumentum potest esse in aedificatione vel extraneo constructum (indicem nominare potes cum uno vel domicilio iam constructo ad deprimendum). Additae sunt optiones diversis architecturis. Exempli gratia, pro brachio simpliciter eligere potes versionem Linaro instrumenti externi.

C bibliotheca - selectio bibliothecae C: Operatio totius systematis in hoc pendet. De more, glibc adhibetur, qui omnem functionem possibilem sustinet. Sed potest esse nimis magna pro immersa ratione, ita uglibe vel musl saepe eligitur. Nos glibc eligemus (hoc postea requiretur ut systemd utatur).

Kernel Headers and Custom Kernel Headers series – aequare debet versioni nuclei quae in systemate coadunato erit. Ad capitis capitis nucleos, etiam viam ad tarball vel git repositorium exprimere potes.

GCC COMPILER VERSIONS - compilator versionem ad usum eligere ad aedificationem
Admitte subsidium C++ - selectis aedificare subsidiis pro C++ bibliothecarum in systemate. Hoc nobis in futurum utile erit.

Additional gcc options – you can set additional compiler options. Nunc non opus est.

Systema configuratione permittit tibi ut parametros futuros systematis creati ponas;

Buildroot - pars 1. Generalis notitia, minimam systema conveniens, configurationem per menu

Pleraque puncta ex titulo patent. Eamus ad sequentia puncta:
Via ad usores tabulas - mensa cum usoribus creandis (https://buildroot.org/downloads/manual/manual.html#makeuser-syntax).

Exemplum fasciculi. Usor usoris creabitur cum admin tessera, automatice gid/uid, /bin/sh putamen, coetus default user, coetus membrum radix, commento Foo usor

[alexey@alexey-pc buildroot ]$ cat board/my_x86_board/users.txt 
user -1 user -1 =admin /home/user /bin/sh root Foo user

Radix filesystem obduces directoriis - directorium obductum super clypeum collectum-fs. Addit novas tabulas ac reponit entibus.

Consuetudo scriptorum currere antequam filesystem imagines creant - Scriptores exsecuti sunt statim antequam filesystem in imaginibus complicatis. Abeamus nunc vacuum scriptionem.

Eamus ad sectionem Kernel

Buildroot - pars 1. Generalis notitia, minimam systema conveniens, configurationem per menu

Kernel occasus hic positi sunt. Ipsum nucleum per conformatum facit linux-menuconfig.
Versionem nuclei varie constituere potes: elige ex oblatis, versionem manualem ingredi, repositorium specificare vel tarball paratum.

Configuratio nuclei - iter ad nucleum config. Potes eligere defaltam configurationem pro architecturae electae vel defocnfig ex Linux. Linux fons defconfigum pro diversis systematibus scopum continet. Vos can reperio ille vos postulo per vultus directe ad fontes hic. Exempli gratia, pro canali osse tabulae nigrae potes eligere aboutconfig.

Pars fasciculorum target te permittit eligere quae fasciculi in systemate aedificato instituentur. Nunc non mutatum relinquamus. Fasciculos nostros huic indice postea addemus.
Filesystem imagines - index imaginum systematis fasciculi qui colligentur. Add an iso imaginem

Buildroot - pars 1. Generalis notitia, minimam systema conveniens, configurationem per menu

Bootloaders - lectio bootloaders ad colligendum. Eligite isolinix

Buildroot - pars 1. Generalis notitia, minimam systema conveniens, configurationem per menu

Vestibulum Systemd

Systemd una ex columnis Linux fit, cum nucleo et glibc. Ergo ad singula item occasum eius movi.

Conformatus per faciunt menuconfig, tunc Target fasciculi β†’ Ratio instrumentorum β†’ systemd. Hic specificare potes quae officia systematica instituantur et incipiant cum ratio incipit.

Buildroot - pars 1. Generalis notitia, minimam systema conveniens, configurationem per menu

Salvo configuratione ratio

Hanc config per KConfig servamus.

Salvum fac defconfig nostrum;

make savedefconfig

Linux Kernel configurationis

Configuratio nuclei Linux invocatur cum hoc mandato:

make linux-menuconfig

Addamus subsidium Virtualbox video card

Buildroot - pars 1. Generalis notitia, minimam systema conveniens, configurationem per menu

Adde Virtualbox Hospes integrationis auxilio

Buildroot - pars 1. Generalis notitia, minimam systema conveniens, configurationem per menu

Servare et exire. MAGNUS: configuratione salvus erit in output/aedificare/linux-$version/config, sed non in tabula/my_x86_board/linux.config

Buildroot - pars 1. Generalis notitia, minimam systema conveniens, configurationem per menu

Ideo necesse est ut manually config effingo ad locum repositionis:

cp output/build/linux-4.19.25/.config board/my_x86_board/linux.config

Post quam integram congregationem totius systematis faciemus. constructum quod iam aedificatum non reaedificat, manually sarcinas reficere debet. Ut ne nervis quidem ac nervis, facilior est parva ratio plane reficere);

make clean;make

Peracta aedificatione, VirtualBox (in versionibus 5.2 et 6.0 probata) patuissent e CD parametri systematis:

Buildroot - pars 1. Generalis notitia, minimam systema conveniens, configurationem per menu

Cursor a contione iso:

Buildroot - pars 1. Generalis notitia, minimam systema conveniens, configurationem per menu

Index materiae usus

  1. Buildroot manual

Source: www.habr.com