Buildroot - Π΄Π΅Π» 1. ΠžΠΏΡˆΡ‚ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΡΠΊΠ»ΠΎΠΏΡƒΠ²Π°ΡšΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½ систСм, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° ΠΏΡ€Π΅ΠΊΡƒ ΠΌΠ΅Π½ΠΈΡ‚ΠΎ

Π’ΠΎΠ²Π΅Π΄

Π’ΠΎ ΠΎΠ²Π°Π° ΡΠ΅Ρ€ΠΈΡ˜Π° написи, сакам Π΄Π° Π³ΠΎ Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌ систСмот Π·Π° ΠΈΠ·Π³Ρ€Π°Π΄Π±Π° Π½Π° Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡƒΡ†ΠΈΡ˜Π° Π½Π° buildroot ΠΈ Π΄Π° Π³ΠΎ сподСлам ΠΌΠΎΠ΅Ρ‚ΠΎ искуство Π²ΠΎ Π½Π΅Π³ΠΎΠ²ΠΎΡ‚ΠΎ ΠΏΡ€ΠΈΠ»Π°Π³ΠΎΠ΄ΡƒΠ²Π°ΡšΠ΅. ЌС ΠΈΠΌΠ° ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½ΠΎ искуство Π²ΠΎ ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΌΠ°Π» ОБ со Π³Ρ€Π°Ρ„ΠΈΡ‡ΠΊΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜Ρ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½Π° функционалност.

Како ΠΏΡ€Π²ΠΎ, Π½Π΅ Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π³ΠΈ ΠΌΠ΅ΡˆΠ°Ρ‚Π΅ систСмот Π·Π° Π³Ρ€Π°Π΄Π΅ΡšΠ΅ ΠΈ Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡƒΡ†ΠΈΡ˜Π°Ρ‚Π°. Buildroot ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π³Ρ€Π°Π΄ΠΈ систСм ΠΎΠ΄ Π·Π±ΠΈΡ€ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ΡˆΡ‚ΠΎ ΠΌΡƒ сС Π½ΡƒΠ΄Π°Ρ‚. Buildroot Π΅ ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ Π½Π° ΠΌΠ΅Ρ˜ΠΊΡ„Π°Ρ˜Π»ΠΎΠ²ΠΈ ΠΈ Π·Π°Ρ‚ΠΎΠ° ΠΈΠΌΠ° ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΈ моТности Π·Π° ΠΏΡ€ΠΈΠ»Π°Π³ΠΎΠ΄ΡƒΠ²Π°ΡšΠ΅. Π—Π°ΠΌΠ΅Π½Π΅Ρ‚Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ со Π΄Ρ€ΡƒΠ³Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π°, Π΄ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ свој ΠΏΠ°ΠΊΠ΅Ρ‚, ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Ρ‚Π΅ Π³ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ‚Π° Π·Π° Π³Ρ€Π°Π΄Π΅ΡšΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚, приспособСтС Π³ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅Ρ‡Π½ΠΈΠΎΡ‚ систСм ΠΏΠΎ ΠΈΠ½ΡΡ‚Π°Π»ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ситС ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ? buildroot ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈ сСто ΠΎΠ²Π°.

Π’ΠΎ Π ΡƒΡΠΈΡ˜Π° сС користи buildroot, Π½ΠΎ спорСд ΠΌΠ΅Π½Π΅ ΠΈΠΌΠ° ΠΌΠ°Π»ΠΊΡƒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π° руски јазик Π·Π° ΠΏΠΎΡ‡Π΅Ρ‚Π½ΠΈΡ†ΠΈ.

Π¦Π΅Π»Ρ‚Π° Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π΅ Π΄Π° сС состави ΠΊΠΎΠΌΠΏΠ»Π΅Ρ‚ Π·Π° Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡƒΡ†ΠΈΡ˜Π° со ΠΏΡ€Π΅Π·Π΅ΠΌΠ°ΡšΠ΅ Π²ΠΎ ΠΆΠΈΠ²ΠΎ, icewm ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜Ρ ΠΈ прСлистувач. Π¦Π΅Π»Π½Π°Ρ‚Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»Π½Π° ΠΊΡƒΡ‚ΠΈΡ˜Π°.

Π—ΠΎΡˆΡ‚ΠΎ Π΄Π° ΠΈΠ·Π³Ρ€Π°Π΄ΠΈΡ‚Π΅ своја сопствСна Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡƒΡ†ΠΈΡ˜Π°? ЧСстопати Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° функционалност со ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈ рСсурси. Π£ΡˆΡ‚Π΅ почСсто Π²ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΊΡ€Π΅ΠΈΡ€Π°Ρ‚Π΅ Ρ„ΠΈΡ€ΠΌΠ²Π΅Ρ€. ΠŸΡ€ΠΈΡΠΏΠΎΡΠΎΠ±ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡƒΡ†ΠΈΡ˜Π° Π·Π° ΠΎΠΏΡˆΡ‚Π° Π½Π°ΠΌΠ΅Π½Π° со Ρ‡ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° Π½Π΅ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΈΡ‚Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ΠΈ ΠΏΡ€Π΅Ρ‚Π²ΠΎΡ€Π°ΡšΠ΅ Π²ΠΎ Ρ„ΠΈΡ€ΠΌΠ²Π΅Ρ€ Π΅ ΠΏΠΎΠΈΠ½Ρ‚Π΅Π½Π·ΠΈΠ²Π½ΠΎ Π½Π° Ρ‚Ρ€ΡƒΠ΄ΠΎΡ‚ ΠΎΡ‚ΠΊΠΎΠ»ΠΊΡƒ ΠΈΠ·Π³Ρ€Π°Π΄Π±Π°Ρ‚Π° Π½Π° Π½ΠΎΠ²Π° Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡƒΡ†ΠΈΡ˜Π°. ΠšΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅Ρ‚ΠΎ Π½Π° Gentoo, исто Ρ‚Π°ΠΊΠ°, ΠΈΠΌΠ° свои ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΡƒΠ²Π°ΡšΠ°.

БистСмот Buildroot Π΅ ΠΌΠ½ΠΎΠ³Ρƒ моќСн, Π½ΠΎ Π½Π΅ΠΌΠ° Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈ Π½ΠΈΡˆΡ‚ΠΎ Π·Π° вас. МоТС само Π΄Π° Π³ΠΎ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π° процСсот Π½Π° ΡΠΊΠ»ΠΎΠΏΡƒΠ²Π°ΡšΠ΅.

АлтСрнативнитС систСми Π·Π° Π³Ρ€Π°Π΄Π΅ΡšΠ΅ (yocto, open build систСм ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ) Π½Π΅ сС Ρ€Π°Π·Π³Π»Π΅Π΄ΡƒΠ²Π°Π°Ρ‚ ΠΈΠ»ΠΈ спорСдуваат.

КадС Π΄Π° Π³ΠΎ Π΄ΠΎΠ±ΠΈΠ΅Ρ‚Π΅ ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅

Π’Π΅Π±-страница Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ - buildroot.org. ОвдС ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ја ΠΏΡ€Π΅Π·Π΅ΠΌΠ΅Ρ‚Π΅ Ρ‚Π΅ΠΊΠΎΠ²Π½Π°Ρ‚Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π° ΠΈ Π΄Π° Π³ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚Π΅ ΠΏΡ€ΠΈΡ€Π°Ρ‡Π½ΠΈΠΊΠΎΡ‚. Π’Π°ΠΌΡƒ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΈΡ€Π°Ρ‚Π΅ со Π·Π°Π΅Π΄Π½ΠΈΡ†Π°Ρ‚Π°, ΠΈΠΌΠ° Ρ‚Ρ€Π°Π³Π°Ρ‡ Π·Π° Π³Ρ€Π΅ΡˆΠΊΠΈ, списоци Π·Π° ΠΏΠΎΡˆΡ‚Π° ΠΈ irc ΠΊΠ°Π½Π°Π».

Buildroot Ρ€Π°Π±ΠΎΡ‚ΠΈ со Π΄Π΅Ρ„ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π·Π° Ρ†Π΅Π»Π½Π°Ρ‚Π° Ρ‚Π°Π±Π»Π° Π½Π° ΠΈΠ·Π³Ρ€Π°Π΄Π±Π°Ρ‚Π°. Defconfig Π΅ конфигурациска Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° која складира само ΠΎΠΏΡ†ΠΈΠΈ ΠΊΠΎΠΈ Π½Π΅ΠΌΠ°Π°Ρ‚ стандардни врСдности. Вој Π΅ Ρ‚ΠΎΡ˜ ΡˆΡ‚ΠΎ ΠΎΠ΄Ρ€Π΅Π΄ΡƒΠ²Π° ΡˆΡ‚ΠΎ ΠΈ ΠΊΠ°ΠΊΠΎ ќС сС собСрС. Π’ΠΎ овој ΡΠ»ΡƒΡ‡Π°Ρ˜, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ΄Π΄Π΅Π»Π½ΠΎ Π΄Π° Π³ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Ρ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π½Π° ΠΏΠΎΠ΄ΠΈΠ³Π½ΡƒΠ²Π°Ρ‡ΠΈΡ‚Π΅ busybox, Linux-kernel, uglibc, u-boot ΠΈ barebox, Π½ΠΎ ситС Ρ‚ΠΈΠ΅ ќС Π±ΠΈΠ΄Π°Ρ‚ Π²Ρ€Π·Π°Π½ΠΈ Π·Π° Ρ†Π΅Π»Π½Π°Ρ‚Π° Ρ‚Π°Π±Π»Π°.
По ΠΎΡ‚ΠΏΠ°ΠΊΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΏΡ€Π΅Π·Π΅ΠΌΠ΅Π½Π°Ρ‚Π° Π°Ρ€Ρ…ΠΈΠ²Π° ΠΈΠ»ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡ€Π°ΡšΠ΅ ΠΎΠ΄ git, Π΄ΠΎΠ±ΠΈΠ²Π°ΠΌΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ Π·Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° buildroot. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚Π΅ повСќС Π·Π° структурата Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌΠΎΡ‚ Π²ΠΎ ΠΏΡ€ΠΈΡ€Π°Ρ‡Π½ΠΈΠΊΠΎΡ‚; јас ќС Π²ΠΈ ΠΊΠ°ΠΆΠ°ΠΌ Π·Π° Π½Π°Ρ˜Π²Π°ΠΆΠ½ΠΈΡ‚Π΅:

ΠΎΠ΄Π±ΠΎΡ€ β€” Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌ со Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ спСцифични Π·Π° сСкоја Ρ‚Π°Π±Π»Π°. ОвиС ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° Π±ΠΈΠ΄Π°Ρ‚ скрипти Π·Π° Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°ΡšΠ΅ систСмски слики (iso, sdcart, cpio ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ), Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌ Π·Π° ΠΏΡ€Π΅ΠΊΠ»ΠΎΠΏΡƒΠ²Π°ΡšΠ΅, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° Π½Π° ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ ΠΈΡ‚Π½.
configs - вистинската Π΄Π΅ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° Π½Π° Ρ‚Π°Π±Π»Π°Ρ‚Π°. Defconfig Π΅ нСцСлосна ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° Π½Π° Ρ‚Π°Π±Π»Π°Ρ‚Π°. Π—Π°Ρ‡ΡƒΠ²ΡƒΠ²Π° само ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ ΠΊΠΎΠΈ сС Ρ€Π°Π·Π»ΠΈΠΊΡƒΠ²Π°Π°Ρ‚ ΠΎΠ΄ стандарднитС поставки
dl β€” Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌ со ΠΏΡ€Π΅Π·Π΅ΠΌΠ΅Π½ΠΈ ΠΈΠ·Π²ΠΎΡ€Π½ΠΈ ΠΊΠΎΠ΄ΠΎΠ²ΠΈ/Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ Π·Π° ΡΠΊΠ»ΠΎΠΏΡƒΠ²Π°ΡšΠ΅
ΠΈΠ·Π»Π΅Π·/Ρ†Π΅Π»Π½Π° β€” собраниот Π΄Π°Ρ‚ΠΎΡ‚Π΅Ρ‡Π΅Π½ систСм Π½Π° Π΄ΠΎΠ±ΠΈΠ΅Π½ΠΈΠΎΡ‚ ОБ. ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ, ΠΎΠ΄ Π½Π΅Π³ΠΎ сС ΠΊΡ€Π΅ΠΈΡ€Π°Π°Ρ‚ слики Π·Π° ΠΏΡ€Π΅Π·Π΅ΠΌΠ°ΡšΠ΅/ΠΈΠ½ΡΡ‚Π°Π»Π°Ρ†ΠΈΡ˜Π°
ΠΈΠ·Π»Π΅Π·/домаќин - домаќински ΠΊΠΎΠΌΡƒΠ½Π°Π»Π½ΠΈ услуги Π·Π° ΡΠΊΠ»ΠΎΠΏΡƒΠ²Π°ΡšΠ΅
ΠΈΠ·Π»Π΅Π·/ΠΈΠ·Π³Ρ€Π°Π΄Π±Π° - склопСни ΠΏΠ°ΠΊΡƒΠ²Π°ΡšΠ°

Π‘ΠΊΠ»ΠΎΠΏΠΎΡ‚ Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½ ΠΏΡ€Π΅ΠΊΡƒ KConfig. Π˜ΡΡ‚ΠΈΠΎΡ‚ систСм сС користи Π·Π° ΠΈΠ·Π³Ρ€Π°Π΄Π±Π° Π½Π° ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ Π½Π° Линукс. Бписок Π½Π° Π½Π°Ρ˜Ρ‡Π΅ΡΡ‚ΠΎ користСнитС ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ (ΠΈΠ·Π²Ρ€ΡˆΠ΅Ρ‚Π΅ Π²ΠΎ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌΠΎΡ‚ buildroot):

  • Π½Π°ΠΏΡ€Π°Π²ΠΈ menuconfig - повикај ја ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π·Π° ΠΈΠ·Π³Ρ€Π°Π΄Π±Π°. ΠœΠΎΠΆΠ΅Ρ‚Π΅ исто Ρ‚Π°ΠΊΠ° Π΄Π° Π³ΠΎ користитС Π³Ρ€Π°Ρ„ΠΈΡ‡ΠΊΠΈΠΎΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜Ρ (Π½Π°ΠΏΡ€Π°Π²Π΅Ρ‚Π΅ nconfig, Π½Π°ΠΏΡ€Π°Π²Π΅Ρ‚Π΅ xconfig, Π½Π°ΠΏΡ€Π°Π²Π΅Ρ‚Π΅ gconfig)
  • Π½Π°ΠΏΡ€Π°Π²ΠΈ Linux-menuconfig - повикај ја ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚.
  • Π½Π°ΠΏΡ€Π°Π²ΠΈ чиста - исчисти Π³ΠΈ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΠ΄ ΠΈΠ·Π³Ρ€Π°Π΄Π±Π°Ρ‚Π° (сè ΡˆΡ‚ΠΎ Π΅ складирано Π½Π° ΠΈΠ·Π»Π΅Π·)
  • Π½Π°ΠΏΡ€Π°Π²ΠΈ - ΠΈΠ·Π³Ρ€Π°Π΄ΠΈ систСм. Ова Π½Π΅ Π³ΠΈ собира вСќС собранитС процСси.
  • Π½Π°ΠΏΡ€Π°Π²ΠΈ defconfig_name - ΠΏΡ€Π΅Ρ„Ρ€Π»Π΅Ρ‚Π΅ ја ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½Π° defconfig
  • Π½Π°ΠΏΡ€Π°Π²ΠΈ листа-defconfigs - ΠΏΡ€ΠΈΠΊΠ°ΠΆΡƒΠ²Π° листа Π½Π° defconfigs
  • Π½Π°ΠΏΡ€Π°Π²ΠΈ ΠΈΠ·Π²ΠΎΡ€ - само ΠΏΡ€Π΅Π·Π΅ΠΌΠ΅Ρ‚Π΅ Π³ΠΈ инсталационитС Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ, Π±Π΅Π· Π³Ρ€Π°Π΄Π΅ΡšΠ΅.
  • Π½Π°ΠΏΡ€Π°Π²ΠΈ помош - Π½Π°Π²Π΅Π΄ΠΈ ΠΌΠΎΠΆΠ½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ

Π’Π°ΠΆΠ½ΠΈ бСлСшки ΠΈ корисни совСти

Buildroot Π½Π΅ Π³ΠΈ ΠΎΠ±Π½ΠΎΠ²ΡƒΠ²Π° вСќС ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ΠΈΡ‚Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ! Π—Π°Ρ‚ΠΎΠ°, ΠΌΠΎΠΆΠ΅ Π΄Π° сС појави ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Π° ΠΊΠΎΠ³Π° Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ цСлосно ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΡΠΊΠ»ΠΎΠΏΡƒΠ²Π°ΡšΠ΅.

ΠœΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π΄Π° ΠΈΠ·Π³Ρ€Π°Π΄ΠΈΡ‚Π΅ посСбСн ΠΏΠ°ΠΊΠ΅Ρ‚ со ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° Π½Π°ΠΏΡ€Π°Π²ΠΈ ΠΈΠΌΠ΅ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚-ΠΎΠ±Π½ΠΎΠ²Π°. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ Линукс:

make linux-rebuild

Buildroot ја складира ΡΠΎΡΡ‚ΠΎΡ˜Π±Π°Ρ‚Π° Π½Π° кој Π±ΠΈΠ»ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ со создавањС Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ .stamp Π²ΠΎ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌΠΎΡ‚ output/build/$packagename:

Buildroot - Π΄Π΅Π» 1. ΠžΠΏΡˆΡ‚ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΡΠΊΠ»ΠΎΠΏΡƒΠ²Π°ΡšΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½ систСм, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° ΠΏΡ€Π΅ΠΊΡƒ ΠΌΠ΅Π½ΠΈΡ‚ΠΎ

Π—Π°Ρ‚ΠΎΠ°, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π΄Π° ΠΈΠ·Π³Ρ€Π°Π΄ΠΈΡ‚Π΅ root-fs ΠΈ слики Π±Π΅Π· Π΄Π° Π³ΠΈ ΠΎΠ±Π½ΠΎΠ²ΡƒΠ²Π°Ρ‚Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅:

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

ΠšΠΎΡ€ΠΈΡΠ½ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ

buildroot ΠΈΠΌΠ° Π·Π±ΠΈΡ€ Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π·Π° лСсна ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°

  • $TOPDIR - buildroot Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌ
  • $BASEDIR - Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌ OUTPUT
  • $HOST_DIR, $STAGING_DIR $, $TARGET_DIR - домаќин fs, ΠΏΠΎΡΡ‚Π°Π²ΡƒΠ²Π°ΡšΠ΅ fs, Ρ†Π΅Π»Π½ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌΠΈ Π·Π° ΠΈΠ·Π³Ρ€Π°Π΄Π±Π° Π½Π° fs.
  • $BUILD_DIR - Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌ со Π½Π΅ΠΎΡ‚ΠΏΠ°ΠΊΡƒΠ²Π°Π½ΠΈ ΠΈ ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ

Π’ΠΈΠ·ΡƒΠ΅Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π°

buildroot ΠΈΠΌΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° Π·Π° Π²ΠΈΠ·ΡƒΠ΅Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π°.ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·Π³Ρ€Π°Π΄ΠΈΡ‚Π΅ Π΄ΠΈΡ˜Π°Π³Ρ€Π°ΠΌ Π½Π° зависност, Π³Ρ€Π°Ρ„ΠΈΠΊ Π·Π° Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΈΠ·Π³Ρ€Π°Π΄Π±Π° ΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈΠ½ΠΈ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Π²ΠΎ Ρ„ΠΈΠ½Π°Π»Π½ΠΈΠΎΡ‚ систСм. Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ сС Π²ΠΎ Ρ„ΠΎΡ€ΠΌΠ° Π½Π° pdf-Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ (ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΎΠ΄ svn,png) Π²ΠΎ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌΠΎΡ‚ Π·Π° ΠΈΠ·Π»Π΅Π·/Π³Ρ€Π°Ρ„ΠΈΠΊ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π·Π° Π²ΠΈΠ·ΡƒΠ΅Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π°:

  • make graph-depends ΠΈΠ·Π³Ρ€Π°Π΄ΠΈ Π΄Ρ€Π²ΠΎ Π·Π° зависност
  • make <pkg>-graph-depends ΠΈΠ·Π³Ρ€Π°Π΄Π΅Ρ‚Π΅ Π΄Ρ€Π²ΠΎ Π·Π° зависност Π·Π° ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ ΠΏΠ°ΠΊΠ΅Ρ‚
  • BR2_GRAPH_OUT=png make graph-build Π²Ρ€Π΅ΠΌΠ΅ Π·Π° Π³Ρ€Π°Π΄Π΅ΡšΠ΅ Π½Π° ΠΏΠ°Ρ€Ρ†Π΅Π»Π° со PNG ΠΈΠ·Π»Π΅Π·
  • make graph-size Π³ΠΎΠ»Π΅ΠΌΠΈΠ½Π° Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΡ‚ Π·Π° ΠΏΠ°Ρ€Ρ†Π΅Π»Π°

ΠšΠΎΡ€ΠΈΡΠ½ΠΈ скрипти

Има ΠΏΠΎΠ΄Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌ Π²ΠΎ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌΠΎΡ‚ buildroot ΡƒΡ‚ΠΈΠ»ΠΈ со корисни скрипти. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, постои скрипта ΡˆΡ‚ΠΎ ја ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡƒΠ²Π° точноста Π½Π° описитС Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅. Ова ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅ корисно ΠΊΠΎΠ³Π° Π΄ΠΎΠ΄Π°Π²Π°Ρ‚Π΅ сопствСни ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ (ΠΎΠ²Π° ќС Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²Π°ΠΌ ΠΏΠΎΠ΄ΠΎΡ†Π½Π°). Π”Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° utils/readme.txt содрТи опис Π½Π° ΠΎΠ²ΠΈΠ΅ скрипти.

АјдС Π΄Π° ΠΈΠ·Π³Ρ€Π°Π΄ΠΈΠΌΠ΅ Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡƒΡ†ΠΈΡ˜Π° Π½Π° Π°ΠΊΡ†ΠΈΠΈ

Π’Π°ΠΆΠ½ΠΎ Π΅ Π΄Π° сС Π·Π°ΠΏΠ°ΠΌΠ΅Ρ‚ΠΈ Π΄Π΅ΠΊΠ° ситС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сС Π²Ρ€ΡˆΠ°Ρ‚ Π²ΠΎ ΠΈΠΌΠ΅ Π½Π° ΠΎΠ±ΠΈΡ‡Π΅Π½ корисник, Π° Π½Π΅ Π²ΠΎ ΠΈΠΌΠ΅ Π½Π° root.
Π‘ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ сС ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°Π°Ρ‚ Π²ΠΎ buildroot. Buildroot ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΡ‚ вСќС Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π° Π·Π±ΠΈΡ€ Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π·Π° ΠΌΠ½ΠΎΠ³Ρƒ Π²ΠΎΠΎΠ±ΠΈΡ‡Π°Π΅Π½ΠΈ Ρ‚Π°Π±Π»ΠΈ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ΅Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π°.

АјдС Π΄Π° Π³ΠΎ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌΠ΅ списокот со ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ:

Buildroot - Π΄Π΅Π» 1. ΠžΠΏΡˆΡ‚ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΡΠΊΠ»ΠΎΠΏΡƒΠ²Π°ΡšΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½ систСм, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° ΠΏΡ€Π΅ΠΊΡƒ ΠΌΠ΅Π½ΠΈΡ‚ΠΎ

ΠŸΡ€Π΅Ρ„Ρ€Π»Π΅Ρ‚Π΅ сС Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° qemu_x86_64_defconfig

make qemu_x86_64_defconfig

И Π³ΠΎ Π·Π°ΠΏΠΎΡ‡Π½ΡƒΠ²Π°ΠΌΠ΅ собраниСто

make

Π˜Π·Π³Ρ€Π°Π΄Π±Π°Ρ‚Π° Π·Π°Π²Ρ€ΡˆΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅Ρ‚Π΅ Π³ΠΈ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅:

Buildroot - Π΄Π΅Π» 1. ΠžΠΏΡˆΡ‚ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΡΠΊΠ»ΠΎΠΏΡƒΠ²Π°ΡšΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½ систСм, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° ΠΏΡ€Π΅ΠΊΡƒ ΠΌΠ΅Π½ΠΈΡ‚ΠΎ

Buildroot состави слики ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΈ ΠΈΠ·Π²Ρ€ΡˆΠΈΡ‚Π΅ Π²ΠΎ Qemu ΠΈ Π΄Π° ΠΏΠΎΡ‚Π²Ρ€Π΄ΠΈΡ‚Π΅ Π΄Π΅ΠΊΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π°Π°Ρ‚.

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

Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΎΡ‚ Π΅ систСм кој Ρ€Π°Π±ΠΎΡ‚ΠΈ Π²ΠΎ qemu:

Buildroot - Π΄Π΅Π» 1. ΠžΠΏΡˆΡ‚ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΡΠΊΠ»ΠΎΠΏΡƒΠ²Π°ΡšΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½ систСм, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° ΠΏΡ€Π΅ΠΊΡƒ ΠΌΠ΅Π½ΠΈΡ‚ΠΎ

БоздавањС сопствСна ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° Π½Π° Ρ‚Π°Π±Π»Π°Ρ‚Π°

Π”ΠΎΠ΄Π°Π²Π°ΡšΠ΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ ΠΎΠ΄ Ρ‚Π°Π±Π»Π°

АјдС Π΄Π° Π³ΠΎ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌΠ΅ списокот со ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ:

Buildroot - Π΄Π΅Π» 1. ΠžΠΏΡˆΡ‚ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΡΠΊΠ»ΠΎΠΏΡƒΠ²Π°ΡšΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½ систСм, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° ΠΏΡ€Π΅ΠΊΡƒ ΠΌΠ΅Π½ΠΈΡ‚ΠΎ

Π’ΠΎ списокот Π³Π»Π΅Π΄Π°ΠΌΠ΅ pc_x86_64_efi_defconfig. ЌС создадСмС сопствСна Ρ‚Π°Π±Π»Π° со ΠΊΠΎΠΏΠΈΡ€Π°ΡšΠ΅ ΠΎΠ΄ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π°:

cp configs/pc_x86_64_bios_defconfig configs/my_x86_board_defconfig

АјдС вСднаш Π΄Π° создадСмС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌ Π·Π° Ρ‚Π°Π±Π»Π° Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ Π½Π° Π½Π°ΡˆΠΈΡ‚Π΅ скрипти, rootfs-overlay ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ:

mkdir board/my_x86_board

ΠŸΡ€Π΅Ρ„Ρ€Π»Π΅Ρ‚Π΅ сС Π½Π° ΠΎΠ²Π°Π° Π΄Π΅Ρ„ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°:

make my_x86_board_defconfig

Π’Π°ΠΊΠ°, сСга ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π·Π° ΠΈΠ·Π³Ρ€Π°Π΄Π±Π° (Π·Π°Ρ‡ΡƒΠ²Π°Π½Π° Π²ΠΎ .config Π²ΠΎ ΠΊΠΎΡ€Π΅Π½ΠΎΡ‚ Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌΠΎΡ‚ buildroot) ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π° Π½Π° Ρ†Π΅Π»Π½Π°Ρ‚Π° машина Π·Π° подигањС x86-64 legacy(bios).

АјдС Π΄Π° ја ΠΊΠΎΠΏΠΈΡ€Π°ΠΌΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ Π½Π° Linux (корисна ΠΏΠΎΠ΄ΠΎΡ†Π½Π°):

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

ΠŸΠΎΡΡ‚Π°Π²ΡƒΠ²Π°ΡšΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π·Π° ΠΈΠ·Π³Ρ€Π°Π΄Π±Π° ΠΏΡ€Π΅ΠΊΡƒ KConfig

Π”Π° Π³ΠΎ Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌΠ΅ ΠΏΠΎΡΡ‚Π°Π²ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ:

make menuconfig 

ЌС сС ΠΎΡ‚Π²ΠΎΡ€ΠΈ ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†ΠΎΡ‚ KConfig. МоТно Π΅ Π΄Π° сС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π° со Π³Ρ€Π°Ρ„ΠΈΡ‡ΠΊΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜Ρ (Π½Π°ΠΏΡ€Π°Π²ΠΈ nconfig, Π½Π°ΠΏΡ€Π°Π²ΠΈ xconfig, Π½Π°ΠΏΡ€Π°Π²ΠΈ gconfig):

Buildroot - Π΄Π΅Π» 1. ΠžΠΏΡˆΡ‚ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΡΠΊΠ»ΠΎΠΏΡƒΠ²Π°ΡšΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½ систСм, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° ΠΏΡ€Π΅ΠΊΡƒ ΠΌΠ΅Π½ΠΈΡ‚ΠΎ

Π’Π»Π΅Π³ΡƒΠ²Π°ΠΌΠ΅ Π²ΠΎ ΠΏΡ€Π²ΠΈΠΎΡ‚ Π΄Π΅Π» Π¦Π΅Π»Π½ΠΈ ΠΎΠΏΡ†ΠΈΠΈ. ОвдС ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ја ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ Ρ†Π΅Π»Π½Π°Ρ‚Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π·Π° која ќС сС ΠΈΠ·Π²Ρ€ΡˆΠΈ ΠΈΠ·Π³Ρ€Π°Π΄Π±Π°Ρ‚Π°.

Buildroot - Π΄Π΅Π» 1. ΠžΠΏΡˆΡ‚ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΡΠΊΠ»ΠΎΠΏΡƒΠ²Π°ΡšΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½ систСм, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° ΠΏΡ€Π΅ΠΊΡƒ ΠΌΠ΅Π½ΠΈΡ‚ΠΎ

ΠžΠΏΡ†ΠΈΠΈ Π·Π° Π³Ρ€Π°Π΄Π΅ΡšΠ΅ - Ρ‚ΡƒΠΊΠ° ΠΈΠΌΠ° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ поставки Π·Π° Π³Ρ€Π°Π΄Π±Π°. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°Π²Π΅Π΄Π΅Ρ‚Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌΠΈ со ΠΈΠ·Π²ΠΎΡ€Π½ΠΈ ΠΊΠΎΠ΄ΠΎΠ²ΠΈ, Π±Ρ€ΠΎΡ˜ΠΎΡ‚ Π½Π° конструктивни нишки, ΠΎΠ³Π»Π΅Π΄Π°Π»Π° Π·Π° ΠΏΡ€Π΅Π·Π΅ΠΌΠ°ΡšΠ΅ ΠΈΠ·Π²ΠΎΡ€Π½ΠΈ ΠΊΠΎΠ΄ΠΎΠ²ΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ поставки. Π”Π° Π³ΠΈ оставимС поставкитС стандардно.

Π›Π°Π½Π΅Ρ† Π½Π° Π°Π»Π°Ρ‚ΠΊΠΈ – самитС Π°Π»Π°Ρ‚ΠΊΠΈ Π·Π° Π³Ρ€Π°Π΄Π΅ΡšΠ΅ сС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½ΠΈ ΠΎΠ²Π΄Π΅. ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ˜Ρ‚Π΅ повСќС Π·Π° Π½Π΅Π³ΠΎ.

Buildroot - Π΄Π΅Π» 1. ΠžΠΏΡˆΡ‚ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΡΠΊΠ»ΠΎΠΏΡƒΠ²Π°ΡšΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½ систСм, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° ΠΏΡ€Π΅ΠΊΡƒ ΠΌΠ΅Π½ΠΈΡ‚ΠΎ

Π’ΠΈΠΏ Π½Π° ΡΠΈΠ½ΡŸΠΈΡ€ со Π°Π»Π°Ρ‚ΠΊΠΈ – Ρ‚ΠΈΠΏ Π½Π° користСн ΡΠΈΠ½ΡŸΠΈΡ€ со Π°Π»Π°Ρ‚ΠΊΠΈ. Ова ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΠ΄Π΅ ΡΠΈΠ½ΡŸΠΈΡ€ Π½Π° Π°Π»Π°Ρ‚ΠΊΠΈ Π²Π³Ρ€Π°Π΄Π΅Π½ Π²ΠΎ buildroot ΠΈΠ»ΠΈ Π½Π°Π΄Π²ΠΎΡ€Π΅ΡˆΠ΅Π½ (ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ Π½Π°Π²Π΅Π΄Π΅Ρ‚Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌΠΎΡ‚ со вСќС ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ΠΈΠΎΡ‚ ΠΈΠ»ΠΈ URL-Ρ‚ΠΎ Π·Π° ΠΏΡ€Π΅Π·Π΅ΠΌΠ°ΡšΠ΅). ΠŸΠΎΡΡ‚ΠΎΡ˜Π°Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΎΠΏΡ†ΠΈΠΈ Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π° Ρ€Π°ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Сдноставно Π΄Π° ја ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ Π²Π΅Ρ€Π·ΠΈΡ˜Π°Ρ‚Π° Linaro Π½Π° Π½Π°Π΄Π²ΠΎΡ€Π΅ΡˆΠ½ΠΈΠΎΡ‚ ΡΠΈΠ½ΡŸΠΈΡ€ со Π°Π»Π°Ρ‚ΠΊΠΈ.

C Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° – ΠΈΠ·Π±ΠΎΡ€ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° C. Π Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° Ρ†Π΅Π»ΠΈΠΎΡ‚ систСм зависи ΠΎΠ΄ Ρ‚ΠΎΠ°. Π’ΠΎΠΎΠ±ΠΈΡ‡Π°Π΅Π½ΠΎ, сС користи glibc, кој Π³ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΠΆΡƒΠ²Π° ситС ΠΌΠΎΠΆΠ½ΠΈ функционалности. Но, ΠΌΠΎΠΆΠ΅Π±ΠΈ Π΅ ΠΏΡ€Π΅Π³ΠΎΠ»Π΅ΠΌ Π·Π° Π²Π³Ρ€Π°Π΄Π΅Π½ систСм, ΠΏΠ° чСсто сС ΠΈΠ·Π±ΠΈΡ€Π°Π°Ρ‚ uglibc ΠΈΠ»ΠΈ musl. ЌС ΠΈΠ·Π±Π΅Ρ€Π΅ΠΌΠ΅ glibc (ΠΎΠ²Π° ќС Π±ΠΈΠ΄Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ ΠΏΠΎΠ΄ΠΎΡ†Π½Π° Π·Π° Π΄Π° сС користи systemd).

Π—Π°Π³Π»Π°Π²ΠΈΡ˜Π° Π½Π° ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ ΠΈ сСрии ΠΏΡ€ΠΈΠ»Π°Π³ΠΎΠ΄Π΅Π½ΠΈ заглавија Π½Π° ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ – ΠΌΠΎΡ€Π° Π΄Π° ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π°Π°Ρ‚ Π½Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π°Ρ‚Π° Π½Π° ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ ΡˆΡ‚ΠΎ ќС Π±ΠΈΠ΄Π΅ Π²ΠΎ составСниот систСм. Π—Π° Π·Π°Π³Π»Π°Π²ΠΈΡ˜Π°Ρ‚Π° Π½Π° Ρ˜Π°Π΄Ρ€ΠΎΡ‚ΠΎ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ исто Ρ‚Π°ΠΊΠ° Π΄Π° ја ΠΎΠ΄Ρ€Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠ°Ρ‚Π΅ΠΊΠ°Ρ‚Π° Π΄ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅Ρ‚ΠΎ tarball ΠΈΠ»ΠΈ git.

Π“Π¦Π¦ Π’Π•Π Π—Π˜Π˜ НА ΠšΠžΠœΠŸΠΠˆΠ›Π•Π Π˜ – ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ ја Π²Π΅Ρ€Π·ΠΈΡ˜Π°Ρ‚Π° Π½Π° ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»Π΅Ρ€ΠΎΡ‚ ΡˆΡ‚ΠΎ ќС сС користи Π·Π° Π³Ρ€Π°Π΄Π΅ΡšΠ΅
ОвозмоТи ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° C++ – ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ Π΄Π° сС ΠΈΠ·Π³Ρ€Π°Π΄ΠΈ со ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° C++ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π²ΠΎ систСмот. Ова ќС Π½ΠΈ Π±ΠΈΠ΄Π΅ корисно Π²ΠΎ ΠΈΠ΄Π½ΠΈΠ½Π°.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΎΠΏΡ†ΠΈΠΈ Π·Π° gcc – ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° поставитС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΎΠΏΡ†ΠΈΠΈ Π·Π° ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»Π΅Ρ€ΠΎΡ‚. ЗасСга Π½Π΅ Π½ΠΈ Ρ‚Ρ€Π΅Π±Π°.

БистСмската ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° Π³ΠΈ поставитС ΠΈΠ΄Π½ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π½Π° ΠΊΡ€Π΅ΠΈΡ€Π°Π½ΠΈΠΎΡ‚ систСм:

Buildroot - Π΄Π΅Π» 1. ΠžΠΏΡˆΡ‚ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΡΠΊΠ»ΠΎΠΏΡƒΠ²Π°ΡšΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½ систСм, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° ΠΏΡ€Π΅ΠΊΡƒ ΠΌΠ΅Π½ΠΈΡ‚ΠΎ

ΠŸΠΎΠ²Π΅ΡœΠ΅Ρ‚ΠΎ Π±ΠΎΠ΄ΠΎΠ²ΠΈ сС чисти ΠΎΠ΄ Ρ‚ΠΈΡ‚ΡƒΠ»Π°Ρ‚Π°. АјдС Π΄Π° ΠΎΠ±Ρ€Π½Π΅ΠΌΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° слСднивС Ρ‚ΠΎΡ‡ΠΊΠΈ:
ΠŸΠ°Ρ‚Π΅ΠΊΠ° Π΄ΠΎ Ρ‚Π°Π±Π΅Π»ΠΈΡ‚Π΅ Π½Π° корисницитС - Ρ‚Π°Π±Π΅Π»Π° со корисници ΡˆΡ‚ΠΎ Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС ΠΊΡ€Π΅ΠΈΡ€Π°Π°Ρ‚ (https://buildroot.org/downloads/manual/manual.html#makeuser-syntax).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°. ΠšΠΎΡ€ΠΈΡΠ½ΠΈΡ‡ΠΊΠΈΠΎΡ‚ корисник ќС Π±ΠΈΠ΄Π΅ ΠΊΡ€Π΅ΠΈΡ€Π°Π½ со администратор Π·Π° Π»ΠΎΠ·ΠΈΠ½ΠΊΠ°, автоматски gid/uid, /bin/sh школка, стандардСн корисник Π½Π° Π³Ρ€ΡƒΠΏΠ°Ρ‚Π°, root Ρ‡Π»Π΅Π½ Π½Π° Π³Ρ€ΡƒΠΏΠ°Ρ‚Π°, корисник Foo ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€

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

Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌΠΈ Π·Π° ΠΏΡ€Π΅ΠΊΠ»ΠΎΠΏΡƒΠ²Π°ΡšΠ΅ Π½Π° root Π΄Π°Ρ‚ΠΎΡ‚Π΅Ρ‡Π΅Π½ систСм - Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡƒΠΌ ΠΏΡ€Π΅ΠΊΠ»ΠΎΠΏΠ΅Π½ΠΈ Π½Π° Π²Ρ€Π²ΠΎΡ‚ Π½Π° собранитС target-fs. Π”ΠΎΠ΄Π°Π²Π° Π½ΠΎΠ²ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ ΠΈ Π³ΠΈ Π·Π°ΠΌΠ΅Π½ΡƒΠ²Π° постоСчкитС.

ΠŸΡ€ΠΈΠ»Π°Π³ΠΎΠ΄Π΅Π½ΠΈ скрипти Π·Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ ΠΏΡ€Π΅Π΄ Π΄Π° сС создадат слики ΠΎΠ΄ Π΄Π°Ρ‚ΠΎΡ‚Π΅Ρ‡Π΅Π½ систСм - Π‘ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ‚Π΅ сС ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°Π°Ρ‚ вСднаш ΠΏΡ€Π΅Π΄ Π΄Π° сС ΠΏΡ€Π΅ΠΊΠ»ΠΎΠΏΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅Ρ‡Π΅Π½ систСм Π²ΠΎ слики. Π”Π° Π³ΠΎ оставимС сцСнариото ΠΏΡ€Π°Π·Π½ΠΎ засСга.

АјдС Π΄Π° ΠΎΠ΄ΠΈΠΌΠ΅ Π²ΠΎ Π΄Π΅Π»ΠΎΡ‚ ΠšΠ΅Ρ€Π½Π΅Π»

Buildroot - Π΄Π΅Π» 1. ΠžΠΏΡˆΡ‚ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΡΠΊΠ»ΠΎΠΏΡƒΠ²Π°ΡšΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½ систСм, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° ΠΏΡ€Π΅ΠΊΡƒ ΠΌΠ΅Π½ΠΈΡ‚ΠΎ

ΠŸΠΎΡΡ‚Π°Π²ΠΊΠΈΡ‚Π΅ Π½Π° ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ сС поставСни ΠΎΠ²Π΄Π΅. Π‘Π°ΠΌΠΈΠΎΡ‚ ΠΊΠ΅Ρ€Π½Π΅Π» Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½ ΠΏΡ€Π΅ΠΊΡƒ make linux-menuconfig.
ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ја поставитС Π²Π΅Ρ€Π·ΠΈΡ˜Π°Ρ‚Π° Π½Π° ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π½Π°Ρ‡ΠΈΠ½ΠΈ: ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΎΠ΄ ΠΏΠΎΠ½ΡƒΠ΄Π΅Π½ΠΈΡ‚Π΅, внСсСтС ја Π²Π΅Ρ€Π·ΠΈΡ˜Π°Ρ‚Π° Ρ€Π°Ρ‡Π½ΠΎ, Π½Π°Π²Π΅Π΄Π΅Ρ‚Π΅ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅ ΠΈΠ»ΠΈ Π³ΠΎΡ‚ΠΎΠ²ΠΎ Ρ‚Π°Ρ€Π±ΠΎΠ».

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° Π½Π° ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ β€” ΠΏΠ°Ρ‚Π΅ΠΊΠ° Π΄ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° Ρ˜Π°Π΄Ρ€ΠΎΡ‚ΠΎ. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ја ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ стандардната ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° Π·Π° ΠΈΠ·Π±Ρ€Π°Π½Π°Ρ‚Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΈΠ»ΠΈ defocnfig ΠΎΠ΄ Linux. Π˜Π·Π²ΠΎΡ€ΠΎΡ‚ Π½Π° Линукс содрТи Π·Π±ΠΈΡ€ Π½Π° Π΄Π΅Ρ„ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ†Π΅Π»Π½ΠΈ систСми. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ Π½Π°Ρ˜Π΄Π΅Ρ‚Π΅ оној ΡˆΡ‚ΠΎ Π²ΠΈ Ρ‚Ρ€Π΅Π±Π° со Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ глСдањС Π½Π° ΠΈΠ·Π²ΠΎΡ€ΠΈΡ‚Π΅ ΠΎΠ²Π΄Π΅. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π° Ρ†Ρ€Π½Π° Ρ‚Π°Π±Π»Π° со коска Π½Π° Π±ΠΈΠ³Π» ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°.

Π”Π΅Π»ΠΎΡ‚ Target ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΊΠΎΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ќС сС инсталираат Π½Π° систСмот ΡˆΡ‚ΠΎ сС Π³Ρ€Π°Π΄ΠΈ. Π”Π° ја оставимС засСга Π½Π΅ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Ρ‚Π°. ΠŸΠΎΠ΄ΠΎΡ†Π½Π° ќС Π³ΠΈ Π΄ΠΎΠ΄Π°Π΄Π΅ΠΌΠ΅ Π½Π°ΡˆΠΈΡ‚Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Π½Π° ΠΎΠ²Π°Π° листа.
Π‘Π»ΠΈΠΊΠΈ ΠΎΠ΄ Π΄Π°Ρ‚ΠΎΡ‚Π΅Ρ‡Π΅Π½ систСм - список Π½Π° слики ΠΎΠ΄ Π΄Π°Ρ‚ΠΎΡ‚Π΅Ρ‡Π½ΠΈΠΎΡ‚ систСм ΡˆΡ‚ΠΎ ќС сС собСрат. Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ iso слика

Buildroot - Π΄Π΅Π» 1. ΠžΠΏΡˆΡ‚ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΡΠΊΠ»ΠΎΠΏΡƒΠ²Π°ΡšΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½ систСм, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° ΠΏΡ€Π΅ΠΊΡƒ ΠΌΠ΅Π½ΠΈΡ‚ΠΎ

ΠŸΠΎΠ΄ΠΈΠ³Π½ΡƒΠ²Π°Ρ‡ΠΈ - ΠΈΠ·Π±ΠΎΡ€ Π½Π° ΠΏΠΎΠ΄ΠΈΠ³Π½ΡƒΠ²Π°Ρ‡ΠΈ Π·Π° ΡΠΎΠ±ΠΈΡ€Π°ΡšΠ΅. АјдС Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅ΠΌΠ΅ изолиникс

Buildroot - Π΄Π΅Π» 1. ΠžΠΏΡˆΡ‚ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΡΠΊΠ»ΠΎΠΏΡƒΠ²Π°ΡšΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½ систСм, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° ΠΏΡ€Π΅ΠΊΡƒ ΠΌΠ΅Π½ΠΈΡ‚ΠΎ

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°ΡšΠ΅ Π½Π° Systemd

Systemd станува Π΅Π΄Π΅Π½ ΠΎΠ΄ столбовитС Π½Π° Linux, Π·Π°Π΅Π΄Π½ΠΎ со ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ ΠΈ glibc. Π—Π°Ρ‚ΠΎΠ°, ја ΠΏΡ€Π΅Ρ„Ρ€Π»ΠΈΠ² Π½Π΅Π³ΠΎΠ²Π°Ρ‚Π° поставка Π²ΠΎ посСбна ставка.

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½ΠΎ ΠΏΡ€Π΅ΠΊΡƒ make menuconfig, ΠΏΠΎΡ‚ΠΎΠ° Target ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ β†’ БистСмски Π°Π»Π°Ρ‚ΠΊΠΈ β†’ systemd. ОвдС ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΎΠ΄Ρ€Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΈ систСмски услуги ќС сС инсталираат ΠΈ стартуваат ΠΊΠΎΠ³Π° ќС сС стартува систСмот.

Buildroot - Π΄Π΅Π» 1. ΠžΠΏΡˆΡ‚ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΡΠΊΠ»ΠΎΠΏΡƒΠ²Π°ΡšΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½ систСм, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° ΠΏΡ€Π΅ΠΊΡƒ ΠΌΠ΅Π½ΠΈΡ‚ΠΎ

Π—Π°Ρ‡ΡƒΠ²ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° систСмот

Оваа ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° ја Π·Π°Ρ‡ΡƒΠ²ΡƒΠ²Π°ΠΌΠ΅ ΠΏΡ€Π΅ΠΊΡƒ KConfig.

ΠŸΠΎΡ‚ΠΎΠ° Π·Π°Ρ‡ΡƒΠ²Π°Ρ˜Ρ‚Π΅ ја Π½Π°ΡˆΠ°Ρ‚Π° Π΄Π΅Ρ„ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°:

make savedefconfig

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° Π½Π° ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ Π½Π° Linux

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° ΠΊΠ΅Ρ€Π½Π΅Π»ΠΎΡ‚ Π½Π° Linux сС ΠΏΠΎΠ²ΠΈΠΊΡƒΠ²Π° со слСднава ΠΊΠΎΠΌΠ°Π½Π΄Π°:

make linux-menuconfig

АјдС Π΄Π° Π΄ΠΎΠ΄Π°Π΄Π΅ΠΌΠ΅ ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° Π²ΠΈΠ΄Π΅ΠΎ ΠΊΠ°Ρ€Ρ‚ΠΈΡ‡ΠΊΠ°Ρ‚Π° Virtualbox

Buildroot - Π΄Π΅Π» 1. ΠžΠΏΡˆΡ‚ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΡΠΊΠ»ΠΎΠΏΡƒΠ²Π°ΡšΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½ систСм, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° ΠΏΡ€Π΅ΠΊΡƒ ΠΌΠ΅Π½ΠΈΡ‚ΠΎ

АјдС Π΄Π° Π΄ΠΎΠ΄Π°Π΄Π΅ΠΌΠ΅ ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜Π° Π½Π° Virtualbox Guest

Buildroot - Π΄Π΅Π» 1. ΠžΠΏΡˆΡ‚ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΡΠΊΠ»ΠΎΠΏΡƒΠ²Π°ΡšΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½ систСм, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° ΠΏΡ€Π΅ΠΊΡƒ ΠΌΠ΅Π½ΠΈΡ‚ΠΎ

Π—Π°Ρ‡ΡƒΠ²Π°Ρ˜ ΠΈ ΠΈΠ·Π»Π΅Π·ΠΈ. Π’ΠΠ–ΠΠž: ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° ќС Π±ΠΈΠ΄Π΅ Π·Π°Ρ‡ΡƒΠ²Π°Π½Π° Π²ΠΎ output/build/linux-$version/config, Π½ΠΎ Π½Π΅ ΠΈ Π²ΠΎ board/my_x86_board/linux.config

Buildroot - Π΄Π΅Π» 1. ΠžΠΏΡˆΡ‚ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΡΠΊΠ»ΠΎΠΏΡƒΠ²Π°ΡšΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½ систСм, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° ΠΏΡ€Π΅ΠΊΡƒ ΠΌΠ΅Π½ΠΈΡ‚ΠΎ

Π—Π°Ρ‚ΠΎΠ°, Ρ‚Ρ€Π΅Π±Π° Ρ€Π°Ρ‡Π½ΠΎ Π΄Π° ја ΠΊΠΎΠΏΠΈΡ€Π°Ρ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° Π»ΠΎΠΊΠ°Ρ†ΠΈΡ˜Π° Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅:

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

По ΡˆΡ‚ΠΎ ќС ΠΈΠ·Π²Ρ€ΡˆΠΈΠΌΠ΅ цСлосно ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΡΠΊΠ»ΠΎΠΏΡƒΠ²Π°ΡšΠ΅ Π½Π° Ρ†Π΅Π»ΠΈΠΎΡ‚ систСм. buildroot Π½Π΅ Π³ΠΎ ΠΎΠ±Π½ΠΎΠ²ΡƒΠ²Π° ΠΎΠ½Π° ΡˆΡ‚ΠΎ Π΅ вСќС ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ΠΎ, ΠΌΠΎΡ€Π° Ρ€Π°Ρ‡Π½ΠΎ Π΄Π° Π½Π°Π²Π΅Π΄Π΅Ρ‚Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Π·Π° ΠΎΠ±Π½ΠΎΠ²Π°. Π—Π° Π΄Π° Π½Π΅ Π³ΡƒΠ±ΠΈΡ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅ ΠΈ Π½Π΅Ρ€Π²ΠΈ, полСсно Π΅ цСлосно Π΄Π° сС ΠΎΠ±Π½ΠΎΠ²ΠΈ ΠΌΠ°Π» систСм):

make clean;make

По Π·Π°Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΈΠ·Π³Ρ€Π°Π΄Π±Π°Ρ‚Π°, ΡΡ‚Π°Ρ€Ρ‚ΡƒΠ²Π°Ρ˜Ρ‚Π΅ Π³ΠΎ VirtualBox (тСстиран Π½Π° Π²Π΅Ρ€Π·ΠΈΠΈ 5.2 ΠΈ 6.0) подигањС ΠΎΠ΄ Π¦Π”-Ρ‚ΠΎ. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π½Π° систСмот:

Buildroot - Π΄Π΅Π» 1. ΠžΠΏΡˆΡ‚ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΡΠΊΠ»ΠΎΠΏΡƒΠ²Π°ΡšΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½ систСм, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° ΠΏΡ€Π΅ΠΊΡƒ ΠΌΠ΅Π½ΠΈΡ‚ΠΎ

Π Π°Π±ΠΎΡ‚ΠΈ ΠΎΠ΄ собраното ΠΈΠ·ΠΎ:

Buildroot - Π΄Π΅Π» 1. ΠžΠΏΡˆΡ‚ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΡΠΊΠ»ΠΎΠΏΡƒΠ²Π°ΡšΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π΅Π½ систСм, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° ΠΏΡ€Π΅ΠΊΡƒ ΠΌΠ΅Π½ΠΈΡ‚ΠΎ

Бписок Π½Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π΅Π½ΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈ

  1. ΠŸΡ€ΠΈΡ€Π°Ρ‡Π½ΠΈΠΊ Π·Π° Buildroot

Π˜Π·Π²ΠΎΡ€: www.habr.com

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€