Buildroot - pars 2. Configurationis tabulas creans; lignum externum utens, rootfs-obducere, post-aedificare scriptor

In hac sectione nonnullas optiones customizationes quas mihi opus est intueor. Non est index completus eorum quae aedificationis offert, sed plane functionis sunt nec interventus in tabulis ipsius aedificationis requirunt.

Externa mechanism pro customization

In superiori questione habitum est Simplex exemplum inspeximus figurationem tuam addere, addendo tabulae defconfig et lima necessaria directe ad directorium aedificationis.

Sed haec methodus non valde commoda est, praesertim cum adaequationis constructio. Est mechanism solvere hanc quaestionem externum lignum. Essentia eius est ut tabulas, configs, fasciculos et alia directoria in separato presul (exempli gratia, directorium inaequaliter utar ut sarcinulas fasciculis, in sectione separato magis details) condere possis, et ipsa constructio eas adiiciet qui in presul.

Nota: plures arbores externas statim deaurare potes, exemplum est in aedificationibus manualibus

Directorium my_tree faciamus, iuxta presul aedificatoris sitam et configurationem nostram ibi transferamus. Output sequens lima structuram esse debet:

[alexey@alexey-pc my_tree]$ tree
.
├── board
│   └── my_x86_board
│       ├── bef_cr_fs_img.sh
│       ├── linux.config
│       ├── rootfs_overlay
│       └── users.txt
├── Config.in
├── configs
│   └── my_x86_board_defconfig
├── external.desc
├── external.mk
├── package
└── patches

6 directories, 7 files

Ut vides, generatim structura structuram aedificationis repetit.

Directory Board continet tabulas specificas ad singulas tabulas in casu nostro;

  • bef_cr_fs_img.sh scriptum est quod exsecutioni mandabitur postquam scopo lima systema aedificavit, sed ante in imagines fasciculos. Utemur in futuro
  • linux.config - configuratione nuclei
  • rootfs_overlay - Directory ut operias super scopum lima ratio
  • users.txt - a lima describens users ad creandum

Directory Configs defconfig tabulae nostrae continet. unum tantum habemus.

sarcina — Catalogus cum fasciculis nostris. Initio, constructio descriptiones et regulas continet in numero fasciculorum aedificandi. Postea procuratori fenestrae icewm et Gracilis login procurator graphical hic addemus.
inaequaliter — sino te commode tuas resarcinas pro diversis fasciculis reponere. Plura in sectione separata infra.
Nunc opus est tabulariis descriptionibus nostris arboris externae addere. Exstant 3 fasciculi huius responsabiles: external.desc, Mandoin, external.mk.

external.desc ipsam descriptionem continet:

[alexey@alexey-pc my_tree]$ cat external.desc 
name: my_tree
desc: My simple external-tree for article

Primus versus est titulus. In futuro buildroot variabilis creare $(BR2_EXTERNAL_MY_TREE_PATH)que uti debent configurans conventum. Exempli causa, semita ad fasciculi usoris apponi potest sic:

$(BR2_EXTERNAL_my_tree_PATH)/board/my_x86_board/users.txt

Secunda linea brevis est, humano-readable description.

Mando.in, external.mk - files describere fasciculis additae. Si sarcinas tuas non addis, haec fasciculi vacua relinquentur. Nunc id agamus.
Nunc arborem nostram externam paratam habemus, defconfig tabulae nostrae ac fasciculos quibus indiget. Eamus ad directorium constructum et ad usum arboris externae denota:

[alexey@alexey-pc buildroot]$ make BR2_EXTERNAL=../my_tree/ my_x86_board_defconfig
#
# configuration written to /home/alexey/dev/article/ramdisk/buildroot/.config
#
[alexey@alexey-pc buildroot]$ make menuconfig

In primo praecepto utimur argumento BR2_EXTERNAL=../my_tree/ostendens usum arboris externae. Plures arbores externas ad usum simul specificare potes. Hoc in casu tantum opus est semel hoc facere, postquam fasciculus output/.br-external.mk creatus est. addit informationem de arbore externa adhibita;

[alexey@alexey-pc buildroot]$ cat output/.br-external.mk 
#
# Automatically generated file; DO NOT EDIT.
#

BR2_EXTERNAL ?= /home/alexey/dev/article/ramdisk/my_small_linux/my_tree
BR2_EXTERNAL_NAMES = 
BR2_EXTERNAL_DIRS = 
BR2_EXTERNAL_MKS = 

BR2_EXTERNAL_NAMES += my_tree
BR2_EXTERNAL_DIRS += /home/alexey/dev/article/ramdisk/my_small_linux/my_tree
BR2_EXTERNAL_MKS += /home/alexey/dev/article/ramdisk/my_small_linux/my_tree/external.mk
export BR2_EXTERNAL_my_tree_PATH = /home/alexey/dev/article/ramdisk/my_small_linux/my_tree
export BR2_EXTERNAL_my_tree_DESC = My simple external-tree for article

Maximus! Viae in hoc fasciculo absolutae erunt!

Externe optiones item in menu apparuit:

Buildroot - pars 2. Configurationis tabulas creans; lignum externum utens, rootfs-obducere, post-aedificare scriptor

Hoc submenu sarcinas nostras ab arbore externa nostra continebit. Haec sectio currently vacua est.

Nunc maius est nobis necessarias vias rescribere ut arbor externa utatur.

Quaeso nota quod in optionibus aedificandis → Location ad sectionem config aedificandam salvandam, absolutum iter ad defconfig servatum erit. Formatur in momento specificandi usum extgernal_tree.

Etiam semitas in sectione configurationis Systematis emendabimus. Ad mensam cum users creatis:

$(BR2_EXTERNAL_my_tree_PATH)/board/my_x86_board/users.txt

In sectione Kernel, iter ad configurationem nuclei muta;

$(BR2_EXTERNAL_my_tree_PATH)/board/my_x86_board/linux.config

Nunc fasciculi nostri ex arbore externa nostra in ecclesia adhibebuntur. Cum ad aliud directorium vel adaequationem aedificationis movemur, minimum problematum habebimus.

Radix addito fs obauro;

Haec mechanismus permittit ut facile addas/repone fasciculos in scopo lima ratio.
Si fasciculus in radice fs operiet, non autem in scopum, tunc addetur
Scapus si in radice fs deaurabit et in scopum, tunc restituetur.
Primum ad radicem fs operiendam dir viam ponamus. Hoc fit in configuratione Ratio → Radix filesystem preparatis sectioni obduces:

$(BR2_EXTERNAL_my_tree_PATH)/board/my_x86_board/rootfs_overlay/

Nunc duos ordines crearemus.

[alexey@alexey-pc my_small_linux]$ cat my_tree/board/my_x86_board/rootfs_overlay/etc/hosts 
127.0.0.1   localhost
127.0.1.1   my_small_linux
8.8.8.8     google-public-dns-a.google.com.
[alexey@alexey-pc my_small_linux]$ cat my_tree/board/my_x86_board/rootfs_overlay/new_file.txt 
This is new file from overlay

Fasciculus primus (my_tree/board/my_x86_board/rootfs_overlay/etc/exercitus) /etc/hostium fasciculus in systematis perfecti restituet. Alter fasciculus adicietur (cat my_tree/board/my_x86_board/rootfs_overlay/new_file.txt).

Colligimus deprime:

Buildroot - pars 2. Configurationis tabulas creans; lignum externum utens, rootfs-obducere, post-aedificare scriptor

Executio scriptorum customizationis in diversis gradibus systematis congregationis

Saepe opus aliquod opus intra systema fasciculi scopo fungi debes antequam in imagines fasciculatum sit.

Hoc fieri potest in sectione configurationis Systematis:

Buildroot - pars 2. Configurationis tabulas creans; lignum externum utens, rootfs-obducere, post-aedificare scriptor

Duo priora scripta exsecuta sunt postquam scopo lima systema aedificatur, sed antequam in imagines fasciculatum est. Differentia est quod scriptura fakeroot efficitur in contextu fakeroot quae simulat operari ut radix user.

Ultimum scriptum est postquam systematis imagines creatae sunt. Additiones actiones in eo praestare potes, exempli gratia, documenta necessaria ad NFS servo effingo vel imaginem firmware fabricae tuae crea.

Exemplum, faciam scripturam qui versionem scribet et diem ad /etc/ aedificabit.
Primum viam huic fasciculi in arbore externa mea monstrabo;

Buildroot - pars 2. Configurationis tabulas creans; lignum externum utens, rootfs-obducere, post-aedificare scriptor

Et nunc ipsum scriptum est;

[alexey@alexey-pc buildroot]$ cat ../my_tree/board/my_x86_board/bef_cr_fs_img.sh 
#!/bin/sh
echo "my small linux 1.0 pre alpha" > output/target/etc/mysmalllinux-release
date >> output/target/etc/mysmalllinux-release

Post conventum hunc fasciculum in systemate videre potes.

In praxi, scriptum magnum fieri potest. Itaque in rei consilium progressiorem viam cepi;

  1. Creavi directorium (my_tree/board_my_x86_board/inside_fakeroot_scripts) in quo scripta sunt exsecutioni mandanda, cum numeris seriale. Exempli gratia, 0001-add-my_small_linux-version.sh, 0002-apache-radix-dir.sh
  2. Scripsi scripturam (my_tree/board_my_x86_board/run_inside_fakeroot.sh) quae per hoc indicem pertractat et consequenter scripta exequitur in eo contenta.
  3. Certum est hoc scriptum in tabula occasus in configuratione System -> Consuetudinis scriptorum currere intra ambitus fakeroot ($(BR2_EXTERNAL_my_tree_PATH)/board/my_x86_board/run_inside_fakeroot.sh) sectionem

Source: www.habr.com

Add a comment