Buildroot - เบชเปˆเบงเบ™ 1. เบ‚เปเป‰เบกเบนเบ™เบ—เบปเปˆเบงเป„เบ›, เบเบฒเบ™เบ›เบฐเบเบญเบšเบฅเบฐเบšเบปเบšเบซเบ™เป‰เบญเบ, เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป‚เบ”เบเบœเปˆเบฒเบ™เป€เบกเบ™เบน

เบเบฒเบ™เบ™เปเบฒเบชเบฐเป€เบซเบ™เบต

เปƒเบ™เบŠเบธเบ”เบ‚เบญเบ‡เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰, เบ‚เป‰เบญเบเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบšเบดเปˆเบ‡เบฅเบฐเบšเบปเบšเบเบฒเบ™เปเบˆเบเบขเบฒเบ buildroot เปเบฅเบฐเปเบšเปˆเบ‡เบ›เบฑเบ™เบ›เบฐเบชเบปเบšเบเบฒเบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบเปƒเบ™เบเบฒเบ™เบ›เบฑเบšเปเบ•เปˆเบ‡เบกเบฑเบ™. เบˆเบฐเบกเบตเบ›เบฐเบชเบปเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™เบเบฒเบ™เบชเป‰เบฒเบ‡ OS เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเบ—เบตเปˆเบกเบตเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบฎเบนเบšเบžเบฒเบšเปเบฅเบฐเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบซเบ™เป‰เบญเบ.

เบเปˆเบญเบ™เบญเบทเปˆเบ™ เปเบปเบ”, เบ—เปˆเบฒเบ™เบšเปเปˆเบ„เบงเบ™เบชเบฑเบšเบชเบปเบ™เบเบฑเบšเบฅเบฐเบšเบปเบšเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เปเบฅเบฐเบเบฒเบ™เปเบˆเบเบขเบฒเบ. Buildroot เบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เบฅเบฐเบšเบปเบšเบˆเบฒเบเบŠเบธเบ”เบ‚เบญเบ‡เบŠเบธเบ”เบ—เบตเปˆเบชเบฐเป€เบซเบ™เบตเปƒเบซเป‰เบกเบฑเบ™. Buildroot เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปƒเบ™ makefiles เปเบฅเบฐเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบˆเบถเปˆเบ‡เบกเบตเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ›เบฑเบšเปเบ•เปˆเบ‡เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบ. เบ›เปˆเบฝเบ™เปเบžเบฑเบเป€เบเบฑเบ”เบ”เป‰เบงเบเบชเบฐเบšเบฑเบšเบญเบทเปˆเบ™, เป€เบžเบตเปˆเบกเบŠเบธเบ”เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡, เบ›เปˆเบฝเบ™เบเบปเบ”เบฅเบฐเบšเบฝเบšเบเบฒเบ™เบชเป‰เบฒเบ‡เปเบžเบฑเบเป€เบเบฑเบ”, เบ›เบฑเบšเปเบ•เปˆเบ‡เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบซเบผเบฑเบ‡เบˆเบฒเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡เปเบžเบฑเบเป€เบเบฑเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”เบšเป? buildroot เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰เบ—เบฑเบ‡เบซเบกเบปเบ”เบ™เบตเป‰.

เปƒเบ™เบฅเบฑเบ”เป€เบŠเบ, buildroot เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰, เปเบ•เปˆเปƒเบ™เบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบเบกเบตเบ‚เปเป‰เบกเบนเบ™เบžเบฒเบชเบฒเบฅเบฑเบ”เป€เบŠเบเบžเบฝเบ‡เป€เบฅเบฑเบเบ™เป‰เบญเบเบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™.

เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ‚เบญเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเปเบกเปˆเบ™เป€เบžเบทเปˆเบญเบ›เบฐเบเบญเบšเบŠเบธเบ”เบเบฒเบ™เปเบˆเบเบขเบฒเบเบ—เบตเปˆเบกเบตเบเบฒเบ™เบ”เบฒเบงเป‚เบซเบผเบ”เบชเบปเบ”, เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš icewm เปเบฅเบฐเบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš. เป€เบงเบ—เบตเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเปเบกเปˆเบ™ virtualbox.

เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบˆเบถเปˆเบ‡เบชเป‰เบฒเบ‡เบเบฒเบ™เปเบˆเบเบขเบฒเบเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เป€เบญเบ‡? เป€เบฅเบทเป‰เบญเบเป†เบเบฒเบ™เบ—เปเบฒเบ‡เบฒเบ™เบ—เบตเปˆเบˆเปเบฒเบเบฑเบ”เปเบกเปˆเบ™เบกเบตเบ„เบงเบฒเบกเบˆเปเบฒเป€เบ›เบฑเบ™เบ—เบตเปˆเบกเบตเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบˆเปเบฒเบเบฑเบ”. เป€เบฅเบทเป‰เบญเบเป†เปƒเบ™เบฅเบฐเบšเบปเบšเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบชเป‰เบฒเบ‡เป€เบŸเบตเบกเปเบง. เบเบฒเบ™เบ”เบฑเบ”เปเบ›เบ‡เบเบฒเบ™เปเบˆเบเบขเบฒเบเปเบšเบšเบ—เบปเปˆเบงเป„เบ›เป‚เบ”เบเบเบฒเบ™เป€เบฎเบฑเบ”เบ„เบงเบฒเบกเบชเบฐเบญเบฒเบ”เบŠเบธเบ”เบ—เบตเปˆเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เปเบฅเบฐเบ›เปˆเบฝเบ™เป€เบ›เบฑเบ™เป€เบŸเบตเบกเปเบงเปเบกเปˆเบ™เปƒเบŠเป‰เปเบฎเบ‡เบ‡เบฒเบ™เบซเบผเบฒเบเบเปˆเบงเบฒเบเบฒเบ™เบชเป‰เบฒเบ‡เบเบฒเบ™เปเบˆเบเบขเบฒเบเปƒเบซเบกเปˆ. เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ Gentoo เบเบฑเบ‡เบกเบตเบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เบ‚เบญเบ‡เบกเบฑเบ™.

เบฅเบฐเบšเบปเบš Buildroot เปเบกเปˆเบ™เบกเบตเบญเปเบฒเบ™เบฒเบ”เบซเบผเบฒเบ, เปเบ•เปˆเบกเบฑเบ™เบˆเบฐเบšเปเปˆเป€เบฎเบฑเบ”เบซเบเบฑเบ‡เบชเปเบฒเบฅเบฑเบšเบ—เปˆเบฒเบ™. เบกเบฑเบ™เบžเบฝเบ‡เปเบ•เปˆเบชเบฒเบกเบฒเบ”เป€เบ›เบตเบ”เปƒเบŠเป‰เปเบฅเบฐเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ›เบฐเบเบญเบš.

เบฅเบฐเบšเบปเบšเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบ—เบฒเบ‡เป€เบฅเบทเบญเบ (yocto, open build system เปเบฅเบฐเบญเบทเปˆเบ™เป†) เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบซเบผเบทเบ›เบฝเบšเบ—เบฝเบš.

เบšเปˆเบญเบ™เบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบšเบกเบฑเบ™เปเบฅเบฐเบงเบดเบ—เบตเบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™

เป€เบงเบฑเบšโ€‹เป„เบŠโ€‹เบ—โ€‹เปŒโ€‹เป‚เบ„เบ‡โ€‹เบเบฒเบ™ - buildroot.org. เบ—เบตเปˆเบ™เบตเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ”เบฒเบงเบ™เปŒเป‚เบซเบฅเบ”เบชเบฐเบšเบฑเบšเบ›เบฐเบˆเบธเบšเบฑเบ™เปเบฅเบฐเบญเปˆเบฒเบ™เบ„เบนเปˆเบกเบท. เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ•เบดเบ”เบ•เปเปˆเบเบฑเบšเบŠเบธเบกเบŠเบปเบ™, เบกเบตเบ•เบปเบงเบ•เบดเบ”เบ•เบฒเบก bug, mail-lists เปเบฅเบฐเบŠเปˆเบญเบ‡เบ—เบฒเบ‡ irc.

Buildroot เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ defconfigs เบชเปเบฒเบฅเบฑเบšเบ„เบฐเบ™เบฐเบเปเบฒเบกเบฐเบเบฒเบ™เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ‚เบญเบ‡เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡. Defconfig เปเบกเปˆเบ™เป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ—เบตเปˆเป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ•เบปเบงเป€เบฅเบทเบญเบเบ—เบตเปˆเบšเปเปˆเบกเบตเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. เบกเบฑเบ™เปเบกเปˆเบ™เบœเบนเป‰เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เบชเบดเปˆเบ‡เบ—เบตเปˆเบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เป€เบเบฑเบšเบเปเบฒเปเบฅเบฐเบงเบดเบ—เบตเบเบฒเบ™. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เปเบเบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ config เบ‚เบญเบ‡ busybox, linux-kernel, uglibc, u-boot เปเบฅเบฐ barebox bootloaders, เปเบ•เปˆเบžเบงเบเบกเบฑเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบˆเบฐเบ–เบทเบเบœเบนเบเบกเบฑเบ”เบเบฑเบšเบเบฐเบ”เบฒเบ™เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ.
เบซเบผเบฑเบ‡เบˆเบฒเบ unpacking the downloaded archive or cloning from git, we get a ready to use build. เบ—เปˆเบฒเบ™โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบญเปˆเบฒเบ™โ€‹เป€เบžเบตเปˆเบกโ€‹เป€เบ•เบตเบกโ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เป‚เบ„เบ‡โ€‹เบ›เบฐโ€‹เบเบญเบšโ€‹เบเบฒเบ™โ€‹เปƒเบ™โ€‹เบ„เบนเปˆโ€‹เบกเบทโ€‹เบเบฒเบ™โ€‹; เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบˆเบฐโ€‹เบšเบญเบโ€‹เบ—เปˆเบฒเบ™โ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ—เบตเปˆโ€‹เบชเปเบฒโ€‹เบ„เบฑเบ™โ€‹เบ—เบตเปˆโ€‹เบชเบธเบ”โ€‹:

เบ„เบฐเบ™เบฐเบเปเบฒเบกเบฐ โ€” เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ—เบตเปˆเบกเบตเป„เบŸเบฅเปŒเบชเบฐเป€เบžเบฒเบฐเปเบ•เปˆเบฅเบฐเบเบฐเบ”เบฒเบ™. เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™ scripts เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเป‰เบฒเบ‡เบฎเบนเบšเบžเบฒเบšเบฅเบฐเบšเบปเบš (iso, sdcart, cpio เปเบฅเบฐเบญเบทเปˆเบ™เป†), เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต overlay, kernel config, เปเบฅเบฐเบญเบทเปˆเบ™เป†.
เบชเบฑเบšเบชเบปเบ™ - defconfig เบ•เบปเบงเบˆเบดเบ‡เบ‚เบญเบ‡เบ„เบฐเบ™เบฐ. Defconfig เปเบกเปˆเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบเบฐเบ”เบฒเบ™เบ—เบตเปˆเบšเปเปˆเบ„เบปเบšเบ–เป‰เบงเบ™. เบกเบฑเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบžเบฝเบ‡เปเบ•เปˆเบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบˆเบฒเบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™
dl โ€” เบฅเบฐโ€‹เบšเบปเบšโ€‹เบ—เบตเปˆโ€‹เบกเบตโ€‹เบฅเบฐโ€‹เบซเบฑเบ”โ€‹เปเบซเบผเปˆเบ‡โ€‹เบ”เบฒเบงโ€‹เป‚เบซเบผเบ” / เป„เบŸเบฅโ€‹เปŒโ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบเบญเบšโ€‹
เบœเบปเบ™โ€‹เบœเบฐโ€‹เบฅเบดเบ” / เป€เบ›เบปเป‰เบฒโ€‹เบซเบกเบฒเบโ€‹ โ€” เบฅเบฐโ€‹เบšเบปเบšโ€‹เป„เบŸเบฅโ€‹เปŒโ€‹เบ›เบฐโ€‹เบเบญเบšโ€‹เบ‚เบญเบ‡ OS เบœเบปเบ™โ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹. เบ•เปเปˆโ€‹เบกเบฒโ€‹, เบฎเบนเบšโ€‹เบžเบฒเบšโ€‹เปเบกเปˆเบ™โ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบชเป‰เบฒเบ‡โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ‚เบถเป‰เบ™โ€‹เบˆเบฒเบโ€‹เบกเบฑเบ™โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ”เบฒเบงโ€‹เป‚เบซเบผเบ” / เบเบฒเบ™โ€‹เบ•เบดเบ”โ€‹เบ•เบฑเป‰เบ‡โ€‹
เบœเบปเบ™เบœเบฐเบฅเบดเบ”/เป€เบˆเบปเป‰เบฒเบžเบฒเบš - เบญเบธเบ›เบฐเป‚เบžเบเบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบˆเบปเป‰เบฒเบžเบฒเบšเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบเบญเบš
เบœเบปเบ™เบœเบฐเบฅเบดเบ” / เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡ - เบŠเบธเบ”เบ›เบฐเบเบญเบš

เบเบฒเบ™เบ›เบฐเบเบญเบšเบ–เบทเบเบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบœเปˆเบฒเบ™ KConfig. เบฅเบฐเบšเบปเบšเบ”เบฝเบงเบเบฑเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เปเบเปˆเบ™ Linux. เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเปƒเบŠเป‰เบ—เบปเปˆเบงเป„เบ›เบ—เบตเปˆเบชเบธเบ” (เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™เบฅเบฐเบšเบปเบš buildroot):

  • เป€เบฎเบฑเบ”เปƒเบซเป‰ menuconfig - เป‚เบ—เบซเบฒเบเบฒเบ™เบชเป‰เบฒเบ‡ configuration. เบ™เบญเบโ€‹เบ™เบฑเป‰เบ™โ€‹เบ—เปˆเบฒเบ™โ€‹เบเบฑเบ‡โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบเบฒเบ™โ€‹เป‚เบ•เป‰โ€‹เบ•เบญเบšโ€‹เบฎเบนเบšโ€‹เบžเบฒเบš (เป€เบฎเบฑเบ”โ€‹เปƒเบซเป‰ nconfigโ€‹, เป€เบฎเบฑเบ” xconfigโ€‹, เป€เบฎเบฑเบ”โ€‹เปƒเบซเป‰ gconfigโ€‹)
  • เป€เบฎเบฑเบ”เปƒเบซเป‰ linux-menuconfig - เป‚เบ—เบซเบฒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ kernel.
  • เป€เบฎเบฑเบ”โ€‹เบ„เบงเบฒเบกโ€‹เบชเบฐโ€‹เบญเบฒเบ” - เบ—เปเบฒโ€‹เบ„เบงเบฒเบกโ€‹เบชเบฐโ€‹เบญเบฒเบ”โ€‹เบœเบปเบ™โ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบเปเปˆโ€‹เบชเป‰เบฒเบ‡ (เบ—เบธเบโ€‹เบชเบดเปˆเบ‡โ€‹เบ—เบธเบโ€‹เบขเปˆเบฒเบ‡โ€‹เป€เบเบฑเบšโ€‹เบฎเบฑเบโ€‹เบชเบฒโ€‹เป„เบงเป‰โ€‹เปƒเบ™โ€‹เบœเบปเบ™โ€‹เบœเบฐโ€‹เบฅเบดเบ”โ€‹)
  • make - เบชเป‰เบฒเบ‡โ€‹เบฅเบฐโ€‹เบšเบปเบšโ€‹. เบญเบฑเบ™เบ™เบตเป‰เบšเปเปˆเป„เบ”เป‰เบ›เบฐเบเบญเบšเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบตเปˆเบ›เบฐเบเบญเบšเปเบฅเป‰เบงเบ„เบทเบ™เปƒเปเปˆ.
  • เป€เบฎเบฑเบ”เปƒเบซเป‰ defconfig_name - เบ›เปˆเบฝเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบ›เบฑเบ™ defconfig เบชเบฐเป€เบžเบฒเบฐ
  • make list-defconfigs - เบชเบฐเปเบ”เบ‡เบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡ defconfigs
  • เป€เบฎเบฑเบ”เปƒเบซเป‰เปเบซเบผเปˆเบ‡ - เบžเบฝเบ‡เปเบ•เปˆเบ”เบฒเบงเป‚เบซเบฅเบ”เป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡, เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡.
  • เป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบŠเปˆเบงเบเป€เบซเบผเบทเบญ - เบฅเบฒเบเบŠเบทเปˆเบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰

เบšเบฑเบ™เบ—เบถเบเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เปเบฅเบฐเบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”

Buildroot เบšเปเปˆเป„เบ”เป‰เบชเป‰เบฒเบ‡เปเบžเบฑเบเป€เบเบฑเบ”เบ—เบตเปˆเบชเป‰เบฒเบ‡เปเบฅเป‰เบงเบ„เบทเบ™เปƒเบซเบกเปˆ! เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบญเบฒเบ”เบˆเบฐเป€เบเบตเบ”เบ‚เบทเป‰เบ™เบ—เบตเปˆเบ•เป‰เบญเบ‡เบกเบตเบเบฒเบ™เบ›เบฐเบเบญเบšเบ„เบทเบ™เปƒเบซเบกเปˆเบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™.

เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เบŠเบธเบ”เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบ”เป‰เบงเบเบ„เปเบฒเบชเบฑเปˆเบ‡ เบชเป‰เบฒเบ‡ packagename-rebuild. เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เปƒเบซเบกเปˆ kernel Linux:

make linux-rebuild

Buildroot เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบชเบฐเบ–เบฒเบ™เบฐเบ‚เบญเบ‡เปเบžเบฑเบเป€เบเบฑเบ”เบ•เปˆเบฒเบ‡เป†เป‚เบ”เบเบเบฒเบ™เบชเป‰เบฒเบ‡เป„เบŸเบฅเปŒ .stamp เปƒเบ™เบฅเบฒเบเบเบฒเบ™เบœเบปเบ™เบœเบฐเบฅเบดเบ”/เบชเป‰เบฒเบ‡/$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 directory
  • $BASEDIR - OUTPUT directory
  • $HOST_DIR, $STAGING_DIR, $TARGET_DIR โ€” host fs, staging fs, target fs build directory.
  • $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 เบกเบตเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบ‚เบญเบ‡เบชเบฐเบ„เบฃเบดเบšเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰.

เปƒเบซเป‰เบชเป‰เบฒเบ‡เบเบฒเบ™เปเบˆเบเบขเบฒเบเบซเบผเบฑเบเบŠเบฑเบš

เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบˆเบฐเบˆเบทเปˆเบˆเปเบฒเบงเปˆเบฒเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบกเปˆเบ™เบ”เปเบฒเป€เบ™เบตเบ™เปƒเบ™เบ™เบฒเบกเบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เบ›เบปเบเบเบฐเบ•เบด, เบšเปเปˆเปเบกเปˆเบ™เบฎเบฒเบ.
เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™ buildroot. เบŠเบธเบ” buildroot เบ›เบฐเบเบญเบšเบกเบตเบŠเบธเบ”เบ‚เบญเบ‡เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบชเปเบฒเบฅเบฑเบšเบเบฐเบ”เบฒเบ™เบ—เบปเปˆเบงเป„เบ›เบˆเปเบฒเบ™เบงเบ™เบซเบผเบฒเบเปเบฅเบฐ virtualization.

เปƒเบซเป‰เป€เบšเบดเปˆเบ‡เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ:

Buildroot - เบชเปˆเบงเบ™ 1. เบ‚เปเป‰เบกเบนเบ™เบ—เบปเปˆเบงเป„เบ›, เบเบฒเบ™เบ›เบฐเบเบญเบšเบฅเบฐเบšเบปเบšเบซเบ™เป‰เบญเบ, เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป‚เบ”เบเบœเปˆเบฒเบ™เป€เบกเบ™เบน

เบชเบฐเบซเบผเบฑเบšเป„เบ›เบซเบฒ qemu_x86_64_defconfig config

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

เบ›เปˆเบฝเบ™เป€เบ›เบฑเบ™ defconfig เบ™เบตเป‰:

make my_x86_board_defconfig

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™ config เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡ (เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเป„เบงเป‰เปƒเบ™ .config เปƒเบ™เบฎเบฒเบเบ‚เบญเบ‡เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต buildroot) เบเบปเบ‡เบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ boot x86-64 legacy(bios).

เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบ„เบฑเบ”เบฅเบญเบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ linux-kernel (เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบ•เปเปˆเบกเบฒ):

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

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบชเป‰เบฒเบ‡เบœเปˆเบฒเบ™ KConfig

เบกเบฒเป€เบฅเบตเปˆเบกเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบเบฑเบ™เป€เบฅเบตเบ:

make menuconfig 

เบ›เปˆเบญเบ‡เบขเป‰เบฝเบก KConfig เบˆเบฐเป€เบ›เบตเบ”. เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐ configure เบ”เป‰เบงเบเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบฎเบนเบšเบžเบฒเบš (เป€เบฎเบฑเบ” nconfig, make xconfig, make gconfig):

Buildroot - เบชเปˆเบงเบ™ 1. เบ‚เปเป‰เบกเบนเบ™เบ—เบปเปˆเบงเป„เบ›, เบเบฒเบ™เบ›เบฐเบเบญเบšเบฅเบฐเบšเบปเบšเบซเบ™เป‰เบญเบ, เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป‚เบ”เบเบœเปˆเบฒเบ™เป€เบกเบ™เบน

เบžเบงเบเป€เบฎเบปเบฒเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบžเบฒเบเบ—เปเบฒเบญเบดเบ” เบ•เบปเบงเป€เบฅเบทเบญเบเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบ. เปƒเบ™เบ—เบตเปˆเบ™เบตเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฅเบทเบญเบเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ—เบตเปˆเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบˆเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™.

Buildroot - เบชเปˆเบงเบ™ 1. เบ‚เปเป‰เบกเบนเบ™เบ—เบปเปˆเบงเป„เบ›, เบเบฒเบ™เบ›เบฐเบเบญเบšเบฅเบฐเบšเบปเบšเบซเบ™เป‰เบญเบ, เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป‚เบ”เบเบœเปˆเบฒเบ™เป€เบกเบ™เบน

เบ•เบปเบงเป€เบฅเบทเบญเบเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡ - เบกเบตเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบ•เปˆเบฒเบ‡เป†เบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบฅเบฐเบšเบธเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ—เบตเปˆเบกเบตเบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡, เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบซเบปเบงเบ‚เปเป‰เบชเป‰เบฒเบ‡, เบเบฐเบˆเบปเบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ”เบฒเบงเป‚เบซเบฅเบ”เบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡เปเบฅเบฐเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบญเบทเปˆเบ™เป†. เบ›เปˆเบญเบเปƒเบซเป‰เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบ›เบฑเบ™เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™.

Toolchain - เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเป‰เบฒเบ‡เบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡เบ–เบทเบเบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰. เบญเปˆเบฒเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบเปˆเบฝเบงเบเบฑเบšเบฅเบฒเบง.

Buildroot - เบชเปˆเบงเบ™ 1. เบ‚เปเป‰เบกเบนเบ™เบ—เบปเปˆเบงเป„เบ›, เบเบฒเบ™เบ›เบฐเบเบญเบšเบฅเบฐเบšเบปเบšเบซเบ™เป‰เบญเบ, เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป‚เบ”เบเบœเปˆเบฒเบ™เป€เบกเบ™เบน

เบ›เบฐเป€เบžเบ”เบ•เปˆเบญเบ‡เป‚เบชเป‰เป€เบ„เบทเปˆเบญเบ‡เบกเบท โ€“ เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบ•เปˆเบญเบ‡เป‚เบชเป‰เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ—เบตเปˆเปƒเบŠเป‰. เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™เบฅเบฐเบšเบปเบšเบ•เปˆเบญเบ‡เป‚เบชเป‰เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปƒเบ™ buildroot เบซเบผเบทเบžเบฒเบเบ™เบญเบ (เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบฅเบฐเบšเบธเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ—เบตเปˆเบกเบตเบญเบฑเบ™เบ—เบตเปˆเบชเป‰เบฒเบ‡เปเบฅเป‰เบงเบซเบผเบท url เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ”เบฒเบงเป‚เบซเบผเบ”). เบกเบตเบ—เบฒเบ‡เป€เบฅเบทเบญเบเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบชเปเบฒเบฅเบฑเบšเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™. เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡, เบชเปเบฒเบฅเบฑเบšเปเบ‚เบ™เบ—เปˆเบฒเบ™เบžเบฝเบ‡เปเบ•เปˆเบชเบฒเบกเบฒเบ”เป€เบฅเบทเบญเบเป€เบญเบปเบฒเบชเบฐเบšเบฑเบšเบžเบฒเบชเบฒ Linaro เบ‚เบญเบ‡เบ•เปˆเบญเบ‡เป‚เบชเป‰เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบžเบฒเบเบ™เบญเบ.

เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” C - เบเบฒเบ™เบ„เบฑเบ”เป€เบฅเบทเบญเบเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” C. เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบ—เบฑเบ‡เบซเบกเบปเบ”เปเบกเปˆเบ™เบ‚เบถเป‰เบ™เบเบฑเบšเบ™เบตเป‰. เป‚เบ”เบเบ›เบปเบเบเบฐเบ•เบด, glibc เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰, เป€เบŠเบดเปˆเบ‡เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบฑเบ‡เบซเบกเบปเบ”. เปเบ•เปˆเบกเบฑเบ™เบญเบฒเบ”เบˆเบฐเปƒเบซเบเปˆเป€เบเบตเบ™เป„เบ›เบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบšเบเบฑเบ‡เบ•เบปเบง, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™ uglibc เบซเบผเบท musl เบกเบฑเบเบˆเบฐเบ–เบทเบเป€เบฅเบทเบญเบ. เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบฅเบทเบญเบ glibc (เบญเบฑเบ™เบ™เบตเป‰เบˆเบฐเบ•เป‰เบญเบ‡เปƒเบŠเป‰เปƒเบ™เบžเบฒเบเบซเบผเบฑเบ‡เป€เบžเบทเปˆเบญเปƒเบŠเป‰ systemd).

Kernel Headers เปเบฅเบฐ Custom Kernel Headers series โ€“ เบ•เป‰เบญเบ‡เบเบปเบ‡เบเบฑเบšเบฅเบธเป‰เบ™เบ‚เบญเบ‡ kernel เบ—เบตเปˆเบˆเบฐเบขเบนเปˆเปƒเบ™เบฅเบฐเบšเบปเบšเบ—เบตเปˆเบ›เบฐเบเบญเบš. เบชเปเบฒเบฅเบฑเบšเบซเบปเบง kernel, เบ—เปˆเบฒเบ™เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบฅเบฐเบšเบธเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เป„เบ›เบซเบฒ tarball เบซเบผเบท git repository.

GCC Compiler VERSIONS โ€“ เป€เบฅเบทเบญเบเบฅเบธเป‰เบ™ compiler เป€เบžเบทเปˆเบญเปƒเบŠเป‰เปƒเบ™เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡
เป€เบ›เบตเบ”เปƒเบŠเป‰เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ C ++ โ€“ เป€เบฅเบทเบญเบเป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เป‚เบ”เบเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” C ++ เปƒเบ™เบฅเบฐเบšเบปเบš. เบ™เบตเป‰เบˆเบฐเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบ•เปเปˆเบžเบงเบเป€เบฎเบปเบฒเปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”.

เบ—เบฒเบ‡เป€เบฅเบทเบญเบ gcc เป€เบžเบตเปˆเบกเป€เบ•เบตเบก - เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบ—เบฒเบ‡เป€เบฅเบทเบญเบ compiler เป€เบžเบตเปˆเบกเป€เบ•เบตเบก. เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบกเบฑเบ™เปƒเบ™เป€เบงเบฅเบฒเบ™เบตเป‰.

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบฅเบฐเบšเบปเบšเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบ•เบฑเป‰เบ‡เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™:

Buildroot - เบชเปˆเบงเบ™ 1. เบ‚เปเป‰เบกเบนเบ™เบ—เบปเปˆเบงเป„เบ›, เบเบฒเบ™เบ›เบฐเบเบญเบšเบฅเบฐเบšเบปเบšเบซเบ™เป‰เบญเบ, เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป‚เบ”เบเบœเปˆเบฒเบ™เป€เบกเบ™เบน

เบˆเบธเบ”เบชเปˆเบงเบ™เปƒเบซเบเปˆเบˆเบฐเปเบˆเป‰เบ‡เบˆเบฒเบเบซเบปเบงเบ‚เปเป‰. เบ‚เปโ€‹เปƒเบซเป‰โ€‹เป€เบฎเบปเบฒโ€‹เป€เบญเบปเบฒโ€‹เปƒเบˆโ€‹เปƒเบชเปˆโ€‹เบเบฑเบšโ€‹เบˆเบธเบ”โ€‹เบ”เบฑเปˆเบ‡โ€‹เบ•เปเปˆโ€‹เป„เบ›โ€‹เบ™เบตเป‰:
เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เป„เบ›เบซเบฒเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบœเบนเป‰เปƒเบŠเป‰ - เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบตเปˆเบกเบตเบœเบนเป‰เปƒเบŠเป‰เบ—เบตเปˆเบˆเบฐเบชเป‰เบฒเบ‡ (https://buildroot.org/downloads/manual/manual.html#makeuser-syntax).

เป„เบŸเบฅเปŒเบ•เบปเบงเบขเปˆเบฒเบ‡. เบœเบนเป‰โ€‹เปƒเบŠเป‰โ€‹เบˆเบฐโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบชเป‰เบฒเบ‡โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ‚เบทเป‰เบ™โ€‹เบเบฑเบš admin เบฅเบฐโ€‹เบซเบฑเบ”โ€‹เบœเปˆเบฒเบ™โ€‹, gid/uid เบญเบฑเบ”โ€‹เบ•เบฐโ€‹เป‚เบ™โ€‹เบกเบฑเบ”โ€‹, /bin/sh shellโ€‹, เบœเบนเป‰โ€‹เปƒเบŠเป‰โ€‹เปƒเบ™โ€‹เบเบธเปˆเบกโ€‹เป€เบฅเบตเปˆเบกโ€‹เบ•เบปเป‰เบ™โ€‹, เบฎเบฒเบโ€‹เบ‚เบญเบ‡โ€‹เบชเบฐโ€‹เบกเบฒโ€‹เบŠเบดเบโ€‹เบเบธเปˆเบกโ€‹, เบ„เปเบฒโ€‹เป€เบซเบฑเบ™โ€‹เบœเบนเป‰โ€‹เปƒเบŠเป‰ 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 file system overlay directory - directory overlayed on top of assembled target-fs . เป€เบžเบตเปˆเบกเป„เบŸเบฅเปŒเปƒเปเปˆ เปเบฅเบฐเปเบ—เบ™เบ—เบตเปˆเป„เบŸเบฅเปŒเบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบง.

scripts เบเปเบฒเบ™เบปเบ”เป€เบญเบ‡เบ—เบตเปˆเบˆเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบชเป‰เบฒเบ‡เบฎเบนเบšเบžเบฒเบšเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ - scripts เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบฑเบ™เบ—เบตเบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบžเบฑเบšเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบฎเบนเบšเบžเบฒเบš. เบ›เปˆเบญเบเปƒเบซเป‰ script เบซเบงเปˆเบฒเบ‡เป€เบ›เบปเปˆเบฒเบชเปเบฒเบฅเบฑเบšเบ•เบญเบ™เบ™เบตเป‰.

เปƒเบซเป‰เป„เบ›เบ—เบตเปˆเบžเบฒเบเบชเปˆเบงเบ™ Kernel

Buildroot - เบชเปˆเบงเบ™ 1. เบ‚เปเป‰เบกเบนเบ™เบ—เบปเปˆเบงเป„เบ›, เบเบฒเบ™เบ›เบฐเบเบญเบšเบฅเบฐเบšเบปเบšเบซเบ™เป‰เบญเบ, เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป‚เบ”เบเบœเปˆเบฒเบ™เป€เบกเบ™เบน

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ Kernel เบ–เบทเบเบ•เบฑเป‰เบ‡เบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰. kernel เบ•เบปเบงเบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡เบ–เบทเบเบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป‚เบ”เบเบœเปˆเบฒเบ™ make linux-menuconfig.
เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบชเบฐเบšเบฑเบš kernel เปƒเบ™เบงเบดเบ—เบตเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™: เป€เบฅเบทเบญเบเบˆเบฒเบเบ—เบตเปˆเบชเบฐเป€เบซเบ™เบต, เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบชเบฐเบšเบฑเบšเบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡, เบฅเบฐเบšเบธ repository เบซเบผเบท tarball เบžเป‰เบญเบกเบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”.

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ Kernel โ€” เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เป„เบ›เบซเบฒ kernel config. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฅเบทเบญเบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบชเปเบฒเบฅเบฑเบšเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบ—เบตเปˆเป€เบฅเบทเบญเบเบซเบผเบท defocnfig เบˆเบฒเบ Linux. เปเบซเบผเปˆเบ‡ Linux เบกเบตเบŠเบธเบ”เบ‚เบญเบ‡ defconfigs เบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบšเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบŠเบญเบเบซเบฒเบญเบฑเบ™เบ—เบตเปˆเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™ เป‚เบ”เบเป€เบšเบดเปˆเบ‡เป‚เบ”เบเบเบปเบ‡เบขเบนเปˆเปƒเบ™เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบ™เบตเป‰. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบชเปเบฒเบฅเบฑเบšเบเบฐเบ”เบฒเบ™เบชเบตเบ”เปเบฒเบ‚เบญเบ‡เบเบฐเบ”เบนเบ beagle เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰ เป€เบฅเบทเบญเบ config.

เบžเบฒเบเบชเปˆเบงเบ™เบเบฒเบ™เบซเบธเป‰เบกเบซเปเปˆเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฅเบทเบญเบเป€เบญเบปเบฒเบŠเบธเบ”เบ—เบตเปˆเบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™เบฅเบฐเบšเบปเบšเบ—เบตเปˆเบเปเบฒเบฅเบฑเบ‡เบชเป‰เบฒเบ‡. เบ›เปˆเบญเบเปƒเบซเป‰เบกเบฑเบ™เบšเปเปˆเบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ™เบ•เบญเบ™เบ™เบตเป‰. เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบžเบตเปˆเบกเปเบžเบฑเบเป€เบเบฑเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปƒเบชเปˆเบฅเบฒเบเบŠเบทเปˆเบ™เบตเป‰เปƒเบ™เบžเบฒเบเบซเบผเบฑเบ‡.
เบฎเบนเบšเบžเบฒเบšเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ - เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบฎเบนเบšเบžเบฒเบšเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเบˆเบฐเบ–เบทเบเบฅเบงเบšเบฅเบงเบก. เป€เบžเบตเปˆเบกเบฎเบนเบš iso

Buildroot - เบชเปˆเบงเบ™ 1. เบ‚เปเป‰เบกเบนเบ™เบ—เบปเปˆเบงเป„เบ›, เบเบฒเบ™เบ›เบฐเบเบญเบšเบฅเบฐเบšเบปเบšเบซเบ™เป‰เบญเบ, เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป‚เบ”เบเบœเปˆเบฒเบ™เป€เบกเบ™เบน

Bootloaders - เบเบฒเบ™เบ„เบฑเบ”เป€เบฅเบทเบญเบ bootloaders เป€เบžเบทเปˆเบญเป€เบเบฑเบšเบเปเบฒ. เปƒเบซเป‰เป€เบฎเบปเบฒเป€เบฅเบทเบญเบ isolinix

Buildroot - เบชเปˆเบงเบ™ 1. เบ‚เปเป‰เบกเบนเบ™เบ—เบปเปˆเบงเป„เบ›, เบเบฒเบ™เบ›เบฐเบเบญเบšเบฅเบฐเบšเบปเบšเบซเบ™เป‰เบญเบ, เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป‚เบ”เบเบœเปˆเบฒเบ™เป€เบกเบ™เบน

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ Systemd

Systemd เบเบฒเบเป€เบ›เบฑเบ™เปœเบถเปˆเบ‡เปƒเบ™เป€เบชเบปเบฒเบซเบผเบฑเบเบ‚เบญเบ‡ Linux, เบžเป‰เบญเบกเบเบฑเบš kernel เปเบฅเบฐ glibc. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบเป‰เบฒเบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ‚เบญเบ‡เบกเบฑเบ™เป„เบ›เบซเบฒเบฅเบฒเบเบเบฒเบ™เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ.

เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบœเปˆเบฒเบ™ make menuconfig, เบˆเบฒเบเบ™เบฑเป‰เบ™ Target packages โ†’ System tools โ†’ systemd. เปƒเบ™เบ—เบตเปˆเบ™เบตเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบฅเบฐเบšเบธเบงเปˆเบฒเบšเปเบฅเบดเบเบฒเบ™เบฅเบฐเบšเบปเบšเปƒเบ”เบˆเบฐเบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡ เปเบฅเบฐเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป€เบกเบทเปˆเบญเบฅเบฐเบšเบปเบšเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™.

Buildroot - เบชเปˆเบงเบ™ 1. เบ‚เปเป‰เบกเบนเบ™เบ—เบปเปˆเบงเป„เบ›, เบเบฒเบ™เบ›เบฐเบเบญเบšเบฅเบฐเบšเบปเบšเบซเบ™เป‰เบญเบ, เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป‚เบ”เบเบœเปˆเบฒเบ™เป€เบกเบ™เบน

เบšเบฑเบ™เบ—เบถเบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบฅเบฐเบšเบปเบš

เบžเบงเบเป€เบฎเบปเบฒเบšเบฑเบ™เบ—เบถเบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ™เบตเป‰เบœเปˆเบฒเบ™ KConfig.

เบˆเบฒเบเบ™เบฑเป‰เบ™เบšเบฑเบ™เบ—เบถเบ defconfig เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ:

make savedefconfig

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ Linux Kernel

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ Linux kernel เบ–เบทเบเป€เบญเบตเป‰เบ™เบ”เป‰เบงเบเบ„เปเบฒเบชเบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

make linux-menuconfig

เปƒเบซเป‰เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบšเบฑเบ”เบงเบตเบ”เบตเป‚เบญ Virtualbox

Buildroot - เบชเปˆเบงเบ™ 1. เบ‚เปเป‰เบกเบนเบ™เบ—เบปเปˆเบงเป„เบ›, เบเบฒเบ™เบ›เบฐเบเบญเบšเบฅเบฐเบšเบปเบšเบซเบ™เป‰เบญเบ, เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป‚เบ”เบเบœเปˆเบฒเบ™เป€เบกเบ™เบน

เบกเบฒเป€เบžเบตเปˆเบกเบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบš Virtualbox Guest integration

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โ€‹) booting เบˆเบฒเบ CDโ€‹. เบ•เบปเบงโ€‹เบเปเบฒโ€‹เบ™เบปเบ”โ€‹เบเบฒเบ™โ€‹เบฅเบฐโ€‹เบšเบปเบšโ€‹:

Buildroot - เบชเปˆเบงเบ™ 1. เบ‚เปเป‰เบกเบนเบ™เบ—เบปเปˆเบงเป„เบ›, เบเบฒเบ™เบ›เบฐเบเบญเบšเบฅเบฐเบšเบปเบšเบซเบ™เป‰เบญเบ, เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป‚เบ”เบเบœเปˆเบฒเบ™เป€เบกเบ™เบน

เปเบฅเปˆเบ™เบˆเบฒเบ iso เบ›เบฐเบเบญเบš:

Buildroot - เบชเปˆเบงเบ™ 1. เบ‚เปเป‰เบกเบนเบ™เบ—เบปเปˆเบงเป„เบ›, เบเบฒเบ™เบ›เบฐเบเบญเบšเบฅเบฐเบšเบปเบšเบซเบ™เป‰เบญเบ, เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป‚เบ”เบเบœเปˆเบฒเบ™เป€เบกเบ™เบน

เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบงเบฑเบ”เบชเบฐเบ”เบธเบ—เบตเปˆเปƒเบŠเป‰

  1. เบ„เบนเปˆเบกเบท Buildroot

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™