Buildroot - ื˜ื™ื™ืœ 1. ืึทืœื’ืขืžื™ื™ื ืข ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข, ืึทืกืขืžื‘ืึทืœื™ื ื’ ืึท ืžื™ื ื™ืžืึทืœ ืกื™ืกื˜ืขื, ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื“ื•ืจืš ื“ื™ ืžืขื ื™ื•

ื”ืงื“ืžื”

ืื™ืŸ ื“ืขื ืกืขืจื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ืึทืจื˜ื™ืงืœืขืŸ, ืื™ืš ื•ื•ื™ืœืŸ ืฆื• ืงื•ืงืŸ ืื™ืŸ ื“ื™ ื‘ื™ืœื“ืจืึธืึธื˜ ืคืึทืจืฉืคึผืจื™ื™ื˜ื•ื ื’ ื‘ื•ื™ืขืŸ ืกื™ืกื˜ืขื ืื•ืŸ ื˜ื™ื™ืœืŸ ืžื™ื™ืŸ ื“ืขืจืคืึทืจื•ื ื’ ืื™ืŸ ืงืึทืกื˜ืึทืžื™ื™ื–ื™ื ื’ ืขืก. ืขืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ืคึผืจืึทืงื˜ื™ืฉ ื“ืขืจืคืึทืจื•ื ื’ ืื™ืŸ ืงืจื™ื™ื™ื˜ื™ื ื’ ืึท ืงืœื™ื™ืŸ ืึทืก ืžื™ื˜ ืึท ื’ืจืึทืคื™ืงืึทืœ ืฆื•ื‘ื™ื ื“ ืื•ืŸ ืžื™ื ื™ืžืึทืœ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™.

ืขืจืฉื˜ืขืจ ืคื•ืŸ ืึทืœืข, ืื™ืจ ื–ืึธืœ ื ื™ืฉื˜ ืฆืขืžื™ืฉืŸ ื“ื™ ื‘ื•ื™ืขืŸ ืกื™ืกื˜ืขื ืื•ืŸ ื“ื™ ืคืึทืจืฉืคึผืจื™ื™ื˜ื•ื ื’. Buildroot ืงืขื ืขืŸ ื‘ื•ื™ืขืŸ ืึท ืกื™ืกื˜ืขื ืคึฟื•ืŸ ืึท ืกื›ื•ื ืคื•ืŸ ืคึผืึทืงืึทื“ื–ืฉืึทื– ื•ื•ืึธืก ื–ืขื ืขืŸ ื’ืขืคึฟื™ื ื˜ ืฆื• ืื™ื. Buildroot ืื™ื– ื’ืขื‘ื•ื™ื˜ ืื•ื™ืฃ ืžืึทืงืขืคื™ืœืขืก ืื•ืŸ ื“ืขืจื™ื‘ืขืจ ื”ืื˜ ืจื™ื–ื™ืง ืงื•ืกื˜ืึธืžื™ื–ืึทื˜ื™ืึธืŸ ืงื™ื™ืคึผืึทื‘ื™ืœืึทื˜ื™ื–. ืคืึทืจื‘ื™ื™ึทื˜ืŸ ืึท ืคึผืขืงืœ ืžื™ื˜ ืืŸ ืื ื“ืขืจ ื•ื•ืขืจืกื™ืข, ืœื™ื™ื’ืŸ ื“ื™ื™ืŸ ืื™ื™ื’ืขื ืข ืคึผืขืงืœ, ื˜ื•ื™ืฉืŸ ื“ื™ ื›ึผืœืœื™ื ืคึฟืึทืจ ื‘ื ื™ืŸ ืึท ืคึผืขืงืœ, ืงืึทืกื˜ืึทืžื™ื™ื– ื“ื™ ื˜ืขืงืข ืกื™ืกื˜ืขื ื ืึธืš ื™ื ืกื˜ืึธืœื™ื ื’ ืึทืœืข ืคึผืึทืงืึทื“ื–ืฉืึทื–? buildroot ืงืขื ืขืŸ ื˜ืึธืŸ ืึทืœืข ื“ืขื.

ืื™ืŸ ืจื•ืกืœืึทื ื“, buildroot ืื™ื– ื’ืขื ื™ืฆื˜, ืึธื‘ืขืจ ืื™ืŸ ืžื™ื™ืŸ ืžื™ื™ื ื•ื ื’ ืขืก ืื™ื– ืงืœื™ื™ืŸ ืจื•ืกื™ืฉ-ืฉืคึผืจืึทืš ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ืคึฟืึทืจ ื‘ื™ื’ื™ื ืขืจื–.

ื“ืขืจ ืฆื™ืœ ืคื•ืŸ ื“ืขืจ ืึทืจื‘ืขื˜ ืื™ื– ืฆื• ืึทืกืขืžื‘ืึทืœ ืึท ืคืึทืจืฉืคึผืจื™ื™ื˜ื•ื ื’ ืงื™ื˜ ืžื™ื˜ ืœืขื‘ืŸ ืืจืืคืงืืคื™ืข, icewm ืฆื•ื‘ื™ื ื“ ืื•ืŸ ื‘ืœืขื˜ืขืจืขืจ. ื“ืขืจ ืฆื™ืœ ืคึผืœืึทื˜ืคืึธืจืžืข ืื™ื– ื•ื•ื™ืจื˜ื•ืึทืœื‘ืึธืงืก.

ืคืืจื•ื•ืืก ื‘ื•ื™ืขืŸ ื“ื™ื™ืŸ ืื™ื™ื’ืขื ืข ืคืึทืจืฉืคึผืจื™ื™ื˜ื•ื ื’? ืึธืคื˜ ืœื™ืžื™ื˜ืขื“ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™ ืื™ื– ื“ืืจืฃ ืžื™ื˜ ืœื™ืžื™ื˜ืขื“ ืจืขืกื•ืจืกืŸ. ืืคื™ืœื• ืžืขืจ ืึธืคื˜ ืื™ืŸ ืึธื˜ืึทืžื™ื™ืฉืึทืŸ ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืฉืึทืคึฟืŸ ืคื™ืจืžื•ื•ืึทืจืข. ืึทื“ืึทืคึผื˜ื™ื ื’ ืึท ื’ืขื ืขืจืึทืœ-ืฆื™ืœ ืคืึทืจืฉืคึผืจื™ื™ื˜ื•ื ื’ ื“ื•ืจืš ืจื™ื™ื ื™ืงื•ื ื’ ื•ืžื ื™ื™ื˜ื™ืง ืคึผืึทืงืึทื“ื–ืฉืึทื– ืื•ืŸ ื•ื•ืขื ื“ืŸ ืขืก ืื™ืŸ ืคื™ืจืžื•ื•ืึทืจืข ืื™ื– ืžืขืจ ืึทืจื‘ืขื˜-ืื™ื ื˜ืขื ืกื™ื•ื•ืข ื•ื•ื™ ืฆื• ื‘ื•ื™ืขืŸ ืึท ื ื™ื™ึทืข ืคืึทืจืฉืคึผืจื™ื™ื˜ื•ื ื’. ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ Gentoo ื”ืื˜ ืื•ื™ืš ื–ื™ื™ืŸ ืœื™ืžื™ื˜ื™ื™ืฉืึทื ื–.

ื“ื™ Buildroot ืกื™ืกื˜ืขื ืื™ื– ื–ื™ื™ืขืจ ืฉื˜ืึทืจืง, ืึธื‘ืขืจ ืขืก ื•ื•ืขื˜ ื ื™ืฉื˜ ื˜ืึธืŸ ืขืคึผืขืก ืคึฟืึทืจ ืื™ืจ. ืขืก ืงืขื ืขืŸ ื ืึธืจ ื’ืขื‘ืŸ ืื•ืŸ ืึธื˜ืึทืžื™ื™ื˜ ื“ื™ ืคึฟืึทืจื–ืึทืžืœื•ื ื’ ืคึผืจืึธืฆืขืก.

ืึทืœื˜ืขืจื ืึทื˜ื™ื•ื•ืข ื‘ื•ื™ืขืŸ ืกื™ืกื˜ืขืžืขืŸ (ื™ืึธืงื˜ืึธ, ืขืคืขื ืขืŸ ื‘ื•ื™ืขืŸ ืกื™ืกื˜ืขื ืื•ืŸ ืื ื“ืขืจืข) ื–ืขื ืขืŸ ื ื™ืฉื˜ ื‘ืึทื˜ืจืึทื›ื˜ ืึธื“ืขืจ ืงืึทืžืคึผืขืจื“.

ื•ื•ื• ืฆื• ื‘ืึทืงื•ืžืขืŸ ืขืก ืื•ืŸ ื•ื•ื™ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ

ืคึผืจืึธื™ืขืงื˜ ื•ื•ืขื‘ื–ื™ื™ึทื˜ืœ - buildroot.org. ื“ืึธ ืื™ืจ ืงืขื ืขืŸ ืืจืืคืงืืคื™ืข ื“ื™ ืงืจืึทื ื˜ ื•ื•ืขืจืกื™ืข ืื•ืŸ ืœื™ื™ืขื ืขืŸ ื“ื™ ืžืึทื ื•ืึทืœ. ื“ืึธืจื˜ ืื™ืจ ืงืขื ืขืŸ ืงืึธื ื˜ืึทืงื˜ ื“ื™ ืงื”ืœ, ืขืก ืื™ื– ืึท ื–ืฉื•ืง ื˜ืจืึทืงืขืจ, ืคึผืึธืกื˜ ืจืฉื™ืžื•ืช ืื•ืŸ ืึท ื™ืจืง ืงืึทื ืึทืœ.

Buildroot ืึทืคึผืขืจื™ื™ืฅ ื“ืขืคืงืึธื ืคื™ื’ืก ืคึฟืึทืจ ื“ื™ ืฆื™ืœ ื‘ืจืขื˜ ืคื•ืŸ ื“ื™ ื‘ื•ื™ืขืŸ. Defconfig ืื™ื– ืึท ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื˜ืขืงืข ืึทื– ืกื˜ืึธืจื– ื‘ืœื•ื™ื– ืึธืคึผืฆื™ืขืก ื•ื•ืึธืก ื˜ืึธืŸ ื ื™ื˜ ื”ืึธื‘ืŸ ืคืขืœื™ืงื™ื™ึทื˜ ื•ื•ืึทืœื•ืขืก. ืขืก ืื™ื– ืขืจ ื•ื•ืืก ื‘ืืฉืœืืกืŸ ื•ื•ืึธืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ื’ืขื–ืืžืœื˜ ืื•ืŸ ื•ื•ื™. ืื™ืŸ ื“ืขื ืคืึทืœ, ืื™ืจ ืงืขื ืขืŸ ืงืึทื ืคื™ื’ื™ืขืจ ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทื ื– ืคื•ืŸ Busybox, Linux-kernel, uglibc, u-boot ืื•ืŸ barebox ื‘ืึธืึธื˜ืœืึธืึทื“ืขืจืก ืกืขืคึผืขืจืึทื˜ืœื™, ืึธื‘ืขืจ ืึทืœืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ื–ื™ื™ ื•ื•ืขืœืŸ ื–ื™ื™ืŸ ื˜ื™ื™ื“ ืฆื• ื“ื™ ืฆื™ืœ ื‘ืจืขื˜.
ื ืึธืš ืึทื ืคึผืึทืงื™ื ื’ ื“ื™ ื“ืึทื•ื ืœืึธื•ื“ื™ื“ ืึทืจืงื™ื™ื•ื• ืึธื“ืขืจ ืงืœืึธื•ื ื™ื ื’ ืคื•ืŸ ื’ื™ื˜, ืžื™ืจ ื‘ืึทืงื•ืžืขืŸ ืึท ื’ืจื™ื™ื˜-ืฆื•-ื ื•ืฆืŸ ื‘ื™ืœื“ืจืึธืึธื˜. ืื™ืจ ืงืขื ืขืŸ ืœื™ื™ืขื ืขืŸ ืžืขืจ ื•ื•ืขื’ืŸ ื“ื™ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ืกื˜ืจื•ืงื˜ื•ืจ ืื™ืŸ ื“ื™ ืžืึทื ื•ืึทืœ ืื™ืš ื•ื•ืขื˜ ื–ืึธื’ืŸ ืื™ืจ ื•ื•ืขื’ืŸ ื“ื™ ืžืขืจืกื˜ ื•ื•ื™ื›ื˜ื™ืง ืึธื ืขืก:

ื‘ืจืขื˜ - ืึท ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ืžื™ื˜ ื˜ืขืงืขืก ืกืคึผืขืฆื™ืคื™ืฉ ืฆื• ื™ืขื“ืขืจ ื‘ืจืขื˜. ื“ื™ ืงืขื ืขืŸ ื–ื™ื™ืŸ ืกืงืจื™ืคึผืก ืคึฟืึทืจ ืคืึธืจืžื™ื ื’ ืกื™ืกื˜ืขื ื‘ื™ืœื“ืขืจ (ื™ืกืึธ, sdcart, cpio ืื•ืŸ ืื ื“ืขืจืข), ืึท ืึธื•ื•ื•ืขืจืœื™ื™ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ, ืงืขืจืŸ ืงืึทื ืคื™ื’ื™ืขืจ, ืขื˜ืง.
ืงืึธื ืคื™ื’ืก - ื“ื™ ืคืึทืงื˜ื™ืฉ ื“ืขืคืงืึธื ืคื™ื’ ืคื•ืŸ ื“ื™ ื‘ืจืขื˜. Defconfig ืื™ื– ืึท ื“ืขืจืขื ื“ื™ืงื˜ ื‘ืจืขื˜ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ. ืขืก ืกื˜ืึธืจื– ื‘ืœื•ื™ื– ืคึผืึทืจืึทืžืขื˜ืขืจืก ื•ื•ืึธืก ื–ืขื ืขืŸ ืึทื ื“ืขืจืฉ ืคื•ืŸ ื“ื™ ืคืขืœื™ืงื™ื™ึทื˜ ืกืขื˜ื˜ื™ื ื’ืก
dl - ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ืžื™ื˜ ื“ืึทื•ื ืœืึธื•ื“ื™ื“ ืžืงื•ืจ ืงืึธื•ื“ื– / ื˜ืขืงืขืก ืคึฟืึทืจ ืคึฟืึทืจื–ืึทืžืœื•ื ื’
ืจืขื–ื•ืœื˜ืึทื˜ / ืฆื™ืœ - ื“ื™ ืึทืกืขืžื‘ืึทืœื“ ื˜ืขืงืข ืกื™ืกื˜ืขื ืคื•ืŸ ื“ื™ ืจื™ื–ืึทืœื˜ื™ื ื’ ืึทืก. ื“ืขืจื ืึธืš, ื‘ื™ืœื“ืขืจ ื–ืขื ืขืŸ ื‘ืืฉืืคืŸ ืคึฟื•ืŸ ืขืก ืคึฟืึทืจ ื“ืึทื•ื ืœืึธื•ื“ื™ื ื’ / ื™ื ืกื˜ืึทืœื™ืจื•ื ื’
ืจืขื–ื•ืœื˜ืึทื˜ / ื‘ืึทืœืขื‘ืึธืก - ื‘ืึทืœืขื‘ืึธืก ื™ื•ื˜ื™ืœืึทื˜ื™ื– ืคึฟืึทืจ ืคึฟืึทืจื–ืึทืžืœื•ื ื’
ืจืขื–ื•ืœื˜ืึทื˜ / ื‘ื•ื™ืขืŸ - ืคืืจื–ืืžืœื˜ ืคึผืึทืงืึทื“ื–ืฉืึทื–

ื“ื™ ืคึฟืึทืจื–ืึทืžืœื•ื ื’ ืื™ื– ืงืึทื ืคื™ื’ื™ืขืจื“ ื“ื•ืจืš KConfig. ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืกื™ืกื˜ืขื ืื™ื– ื’ืขื ื™ืฆื˜ ืฆื• ื‘ื•ื™ืขืŸ ื“ื™ ืœื™ื ื•ืงืก ืงืขืจืŸ. ืจืฉื™ืžื” ืคื•ืŸ ื“ื™ ืžืขืจืกื˜ ืงืึทืžืึทื ืœื™ ื’ืขื•ื•ื™ื™ื ื˜ ืงืึทืžืึทื ื“ื– (ื•ื™ืกืคื™ืจืŸ ืื™ืŸ ื“ื™ ื‘ื™ืœื“ืจืึธืึธื˜ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ):

  • ืžืึทื›ืŸ ืžืขื ื™ื•ืงืึธื ืคื™ื’ - ืจื•ืคืŸ ื“ื™ ื‘ื•ื™ืขืŸ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ. ืื™ืจ ืงืขื ื˜ ืื•ื™ืš ื ื•ืฆืŸ ื“ื™ ื’ืจืึทืคื™ืงืึทืœ ืฆื•ื‘ื™ื ื“ (ืžืึทื›ืŸ nconfig, ืžืึทื›ืŸ xconfig, ืžืึทื›ืŸ gconfig)
  • ืžืึทื›ืŸ ืœื™ื ื•ืงืก-ืžืขื ื•ืงืึธื ืคื™ื’ - ืจื•ืคืŸ ื“ื™ ืงืขืจืŸ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ.
  • ืžืึทื›ืŸ ืจื™ื™ืŸ - ืจื™ื™ืŸ ื“ื™ ื‘ื•ื™ืขืŸ ืจืขื–ื•ืœื˜ืึทื˜ืŸ (ืึทืœืฅ ืกื˜ืึธืจื“ ืื™ืŸ ืคึผืจืึธื“ื•ืงืฆื™ืข)
  • ืžืึทื›ืŸ - ื‘ื•ื™ืขืŸ ืึท ืกื™ืกื˜ืขื. ื“ืึธืก ื˜ื•ื˜ ื ื™ืฉื˜ ืจื™ืึทืกืขืžื‘ืึทืœ ืฉื•ื™ืŸ ืคืืจื–ืืžืœื˜ ืคึผืจืึทืกืขืกืึทื–.
  • ืžืึทื›ืŸ defconfig_name - ื‘ืึทืฉื˜ื™ืžืขืŸ ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืฆื• ืึท ืกืคึผืขืฆื™ืคื™ืฉ ื“ืขืคืงืึธื ืคื™ื’
  • ืžืึทื›ืŸ ืจืฉื™ืžื”-ื“ืขืคืงืึธื ืคื™ื’ืก - ื•ื•ื™ื™ึทื–ืŸ ืึท ืจืฉื™ืžื” ืคื•ืŸ ื“ืขืคืงืึธื ืคื™ื’ืก
  • ืžืึทื›ืŸ ืžืงื•ืจ - ื ืึธืจ ืืจืืคืงืืคื™ืข ื“ื™ ื™ื™ึทื ืžืึธื ื˜ื™ืจื•ื ื’ ื˜ืขืงืขืก ืึธืŸ ื‘ื ื™ืŸ.
  • ืžืึทื›ืŸ ื”ื™ืœืฃ - ืจืฉื™ืžื” ืžืขื’ืœืขืš ืงืึทืžืึทื ื“ื–

ื•ื•ื™ื›ื˜ื™ืง ื”ืขืจื•ืช ืื•ืŸ ื ื•ืฆื™ืง ืขืฆื•ืช

Buildroot ื˜ื•ื˜ ื ื™ืฉื˜ ืจื™ื‘ื™ืœื“ ืคึผืึทืงืึทื“ื–ืฉืึทื– ื•ื•ืึธืก ื”ืึธื‘ืŸ ืฉื•ื™ืŸ ื’ืขื‘ื•ื™ื˜! ื“ืขืจื™ื‘ืขืจ, ืึท ืกื™ื˜ื•ืึทืฆื™ืข ืงืขืŸ ืื•ื™ืคืฉื˜ื™ื™ืŸ ื•ื•ื• ืึท ื’ืึทื ืฅ ืจื™ืึทืกืขืžื‘ืึทืœ ืื™ื– ืคืืจืœืื ื’ื˜.

ืื™ืจ ืงืขื ืขืŸ ืจื™ื‘ื™ืœื“ ืึท ื‘ืึทื–ื•ื ื“ืขืจ ืคึผืขืงืœ ืžื™ื˜ ื“ื™ ื‘ืึทืคึฟืขืœ ืžืึทื›ืŸ ืคึผืขืงืœ ื ืึธืžืขืŸ-ืจื™ื‘ื™ืœื“. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืื™ืจ ืงืขื ืขืŸ ืจื™ื‘ื™ืœื“ ื“ื™ ืœื™ื ื•ืงืก ืงืขืจืŸ:

make linux-rebuild

Buildroot ืกื˜ืึธืจื– ื“ื™ ืฉื˜ืึทื˜ ืคื•ืŸ ืงื™ื™ืŸ ืคึผืขืงืœ ื“ื•ืจืš ืงืจื™ื™ื™ื˜ื™ื ื’ .ืกื˜ืึทืžืคึผ ื˜ืขืงืขืก ืื™ืŸ ื“ืขืจ ืจืขื–ื•ืœื˜ืึทื˜ / ื‘ื•ื™ืขืŸ / $ ืคึผืึทืงืงืึทื’ืขื ืึทืžืข ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ:

Buildroot - ื˜ื™ื™ืœ 1. ืึทืœื’ืขืžื™ื™ื ืข ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข, ืึทืกืขืžื‘ืึทืœื™ื ื’ ืึท ืžื™ื ื™ืžืึทืœ ืกื™ืกื˜ืขื, ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื“ื•ืจืš ื“ื™ ืžืขื ื™ื•

ื“ืขืจื™ื‘ืขืจ, ืื™ืจ ืงืขื ืขืŸ ืจื™ื‘ื™ืœื“ ื•ื•ืึธืจืฆืœ-ืคืก ืื•ืŸ ื‘ื™ืœื“ืขืจ ืึธืŸ ืจื™ื‘ื™ืœื“ื™ื ื’ ืคึผืึทืงืึทื“ื–ืฉืึทื–:

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 - ื‘ื™ืœื“ืจืึธืึธื˜ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ
  • $BASEDIR - OUTPUT Directory
  • $HOST_DIR, $STAGING_DIR, $TARGET_DIR - ื‘ืึทืœืขื‘ืึธืก fs, ืกื˜ืึทื’ื™ื ื’ fs, ืฆื™ืœ fs ื‘ื•ื™ืขืŸ ื“ื™ืจืขืงื˜ืขืจื™ื–.
  • $BUILD_DIR - ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ืžื™ื˜ ืึทื ืคึผืึทืงื˜ ืื•ืŸ ื’ืขื‘ื•ื™ื˜ ืคึผืึทืงืึทื“ื–ืฉืึทื–

ื•ื•ื™ืกื•ืึทืœื™ื–ืึทื˜ื™ืึธืŸ

buildroot ื”ืื˜ ืึท ื•ื•ื™ื–ืฉื•ื•ืึทืœืึทื–ื™ื™ืฉืึทืŸ ืฉื˜ืจื™ืš ืื™ืจ ืงืขื ืขืŸ ื‘ื•ื™ืขืŸ ืึท ื“ืขืคึผืขื ื“ืขื ืกื™ ื“ื™ืึทื’ืจืึทืžืข, ืึท ื‘ื•ื™ืขืŸ ืฆื™ื™ื˜ ื’ืจืึทืคื™ืง ืื•ืŸ ืึท ื’ืจืึทืคื™ืง ืคื•ืŸ ืคึผืขืงืœ ืกื™ื–ืขืก ืื™ืŸ ื“ื™ ืœืขืฆื˜ ืกื™ืกื˜ืขื. ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ืŸ ื–ืขื ืขืŸ ืื™ืŸ ื“ื™ ืคืึธืจืขื ืคื•ืŸ ืคึผื“ืฃ ื˜ืขืงืขืก (ืื™ืจ ืงืขื ืขืŸ ืงืœื™ื™ึทื‘ืŸ ืคื•ืŸ svn,png) ืื™ืŸ ื“ืขืจ ืจืขื–ื•ืœื˜ืึทื˜ / ื’ืจืึทืคื™ืง ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ.

ื‘ื™ื™ืฉืคื™ืœืŸ ืคื•ืŸ ื•ื•ื™ื–ืฉื•ื•ืึทืœืึทื–ื™ื™ืฉืึทืŸ ืงืึทืžืึทื ื“ื–:

  • make graph-depends ื‘ื•ื™ืขืŸ ื“ืขืคึผืขื ื“ืขื ืกื™ ื‘ื•ื™ื
  • make <pkg>-graph-depends ื‘ื•ื™ืขืŸ ืึท ื“ืขืคึผืขื ื“ืขื ืกื™ ื‘ื•ื™ื ืคึฟืึทืจ ืึท ืกืคึผืขืฆื™ืคื™ืฉ ืคึผืขืงืœ
  • BR2_GRAPH_OUT=png make graph-build ืคึผืœืึทื ืขื•ื•ืขืŸ ื‘ื•ื™ืขืŸ ืฆื™ื™ื˜ ืžื™ื˜ PNG ืจืขื–ื•ืœื˜ืึทื˜
  • make graph-size ืคึผืœืึทื ืขื•ื•ืขืŸ ืคึผืึทืงืึทื˜ ื’ืจื™ื™ืก

ื ื•ืฆื™ืง ืกืงืจื™ืคึผืก

ืขืก ืื™ื– ืึท ืกื•ื‘ื“ื™ืจืขืงื˜ืึธืจื™ ืื™ืŸ ื“ื™ ื‘ื™ืœื“ืจืึธืึธื˜ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ื™ื•ื˜ื™ืœืก ืžื™ื˜ ื ื•ืฆื™ืง ืกืงืจื™ืคึผืก. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืขืก ืื™ื– ืึท ืฉืจื™ืคื˜ ื•ื•ืึธืก ื˜ืฉืขืงืก ื“ื™ ืงืขืจืขืงื˜ื ืึทืก ืคื•ืŸ ืคึผืขืงืœ ื“ื™ืกืงืจื™ืคึผืฉืึทื ื–. ื“ืึธืก ืงืขืŸ ื–ื™ื™ืŸ ื ื•ืฆื™ืง ื•ื•ืขืŸ ืื™ืจ ืœื™ื™ื’ืŸ ื“ื™ื™ืŸ ืื™ื™ื’ืขื ืข ืคึผืึทืงืึทื“ื–ืฉืึทื– (ืื™ืš ื•ื•ืขืœ ื˜ืึธืŸ ื“ืึธืก ืฉืคึผืขื˜ืขืจ). ื“ืขืจ ื˜ืขืงืข utils/readme.txt ื›ึผื•ืœืœ ืึท ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’ ืคื•ืŸ ื“ื™ ืกืงืจื™ืคึผืก.

ื–ืืœ ืก ื‘ื•ื™ืขืŸ ืึท ืœืึทื’ืขืจ ืคืึทืจืฉืคึผืจื™ื™ื˜ื•ื ื’

ืขืก ืื™ื– ื•ื•ื™ื›ื˜ื™ืง ืฆื• ื’ืขื“ืขื ืงืขืŸ ืึทื– ืึทืœืข ืึทืคึผืขืจื™ื™ืฉืึทื ื– ื–ืขื ืขืŸ ื’ืขืคื™ืจื˜ ืื•ื™ืก ืื™ืŸ ื‘ื™ื›ืึทืฃ ืคื•ืŸ ืึท ืจืขื’ื•ืœืขืจ ื‘ืึทื ื™ืฆืขืจ, ื ื™ืฉื˜ ื•ื•ืึธืจืฆืœ.
ืึทืœืข ืงืึทืžืึทื ื“ื– ื–ืขื ืขืŸ ืขืงืกืึทืงื™ื•ื˜ืึทื“ ืื™ืŸ ื“ื™ ื‘ื™ืœื“ืจืึธืึธืฅ. ื“ืขืจ ื‘ื™ืœื“ืจืึธืึธื˜ ืคึผืขืงืœ ืฉื•ื™ืŸ ื›ื•ืœืœ ืึท ืกื›ื•ื ืคื•ืŸ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทื ื– ืคึฟืึทืจ ืคื™ืœืข ืคึผืจืึธืกื˜ ื‘ืึธืจื“ื– ืื•ืŸ ื•ื•ื™ืจื˜ื•ืึทืœื™ื–ืึทื˜ื™ืึธืŸ.

ื–ืืœ ืก ืงื•ืง ืื™ืŸ ื“ื™ ืจืฉื™ืžื” ืคื•ืŸ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทื ื–:

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

ื“ืขืจ ืจืขื–ื•ืœื˜ืึทื˜ ืื™ื– ืึท ืกื™ืกื˜ืขื ืคืœื™ืกื ื“ื™ืง ืื™ืŸ ืงืขืžื•:

Buildroot - ื˜ื™ื™ืœ 1. ืึทืœื’ืขืžื™ื™ื ืข ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข, ืึทืกืขืžื‘ืึทืœื™ื ื’ ืึท ืžื™ื ื™ืžืึทืœ ืกื™ืกื˜ืขื, ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื“ื•ืจืš ื“ื™ ืžืขื ื™ื•

ืฉืึทืคึฟืŸ ื“ื™ื™ืŸ ืื™ื™ื’ืขื ืข ื‘ืจืขื˜ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ

ืึทื“ื™ื ื’ ื‘ืึธืจื“ ื˜ืขืงืขืก

ื–ืืœ ืก ืงื•ืง ืื™ืŸ ื“ื™ ืจืฉื™ืžื” ืคื•ืŸ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทื ื–:

Buildroot - ื˜ื™ื™ืœ 1. ืึทืœื’ืขืžื™ื™ื ืข ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข, ืึทืกืขืžื‘ืึทืœื™ื ื’ ืึท ืžื™ื ื™ืžืึทืœ ืกื™ืกื˜ืขื, ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื“ื•ืจืš ื“ื™ ืžืขื ื™ื•

ืื™ืŸ ื“ืขืจ ืจืฉื™ืžื” ืžื™ืจ ื–ืขืŸ pc_x86_64_efi_defconfig. ืžื™ืจ ื•ื•ืขืœืŸ ืžืึทื›ืŸ ืื•ื ื“ื–ืขืจ ืื™ื™ื’ืขื ืข ื‘ืจืขื˜ ื“ื•ืจืš ืงืึทืคึผื™ื™ื ื’ ืขืก ืคึฟื•ืŸ ื“ื™ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ:

cp configs/pc_x86_64_bios_defconfig configs/my_x86_board_defconfig

ืœืึธืžื™ืจ ื’ืœื™ื™ืš ืฉืึทืคึฟืŸ ืึท ื‘ืจืขื˜ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ืฆื• ืงืจืึธื ืื•ื ื“ื–ืขืจ ืกืงืจื™ืคึผืก, ืจืึธืึธื˜ืคืก-ืึธื•ื•ืขืจืœื™ื™ ืื•ืŸ ืื ื“ืขืจืข ื ื™ื™ื˜ื™ืง ื˜ืขืงืขืก:

mkdir board/my_x86_board

ื‘ืึทืฉื˜ื™ืžืขืŸ ืฆื• ื“ืขื ื“ืขืคืงืึธื ืคื™ื’:

make my_x86_board_defconfig

ืื–ื•ื™, ืื™ืฆื˜ ื“ื™ ื‘ื•ื™ืขืŸ ืงืึธื ืคื™ื’ (ืกื˜ืึธืจื“ ืื™ืŸ .config ืื™ืŸ ื“ืขืจ ื•ื•ืึธืจืฆืœ ืคื•ืŸ ื“ื™ ื‘ื•ื™ืœื“ืจืึธืึธื˜ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ) ืงืึธืจืึทืกืคึผืึทื ื“ื– ืฆื• ื“ื™ x86-64 ืœืขื’ืึทื˜ (ื‘ื™ืึธืก) ืฉื˜ื™ื•ื•ืœ ืฆื™ืœ ืžืึทืฉื™ืŸ.

ืœืึธืžื™ืจ ื ืึธื›ืžืึทื›ืŸ ื“ื™ ืœื™ื ื•ืงืก ืงืขืจืŸ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ (ื ื•ืฆื™ืง ืฉืคึผืขื˜ืขืจ):

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

ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ื‘ื•ื™ืขืŸ ืคึผืึทืจืึทืžืขื˜ืขืจืก ื“ื•ืจืš KConfig

ื–ืืœ ืก ืึธื ื”ื™ื™ื‘ืŸ ื“ื™ ืกืขื˜ืึทืคึผ:

make menuconfig 

ื“ื™ KConfig ืคึฟืขื ืฆื˜ืขืจ ื•ื•ืขื˜ ืขืคืขื ืขืŸ. ืขืก ืื™ื– ืžืขื’ืœืขืš ืฆื• ืงืึทื ืคื™ื’ื™ืขืจ ืžื™ื˜ ืึท ื’ืจืึทืคื™ืงืึทืœ ืฆื•ื‘ื™ื ื“ (ืžืึทื›ืŸ nconfig, ืžืึทื›ืŸ ืงืกืงืึธื ืคื™ื’, ืžืึทื›ืŸ ื’ืงืึธื ืคื™ื’):

Buildroot - ื˜ื™ื™ืœ 1. ืึทืœื’ืขืžื™ื™ื ืข ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข, ืึทืกืขืžื‘ืึทืœื™ื ื’ ืึท ืžื™ื ื™ืžืึทืœ ืกื™ืกื˜ืขื, ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื“ื•ืจืš ื“ื™ ืžืขื ื™ื•

ืžื™ืจ ืึทืจื™ื™ึทืŸ ื“ื™ ืขืจืฉื˜ืขืจ ืึธืคึผื˜ื™ื™ืœื•ื ื’ ืฆื™ืœ ืึธืคึผืฆื™ืขืก. ื“ืึธ ืื™ืจ ืงืขื ืขืŸ ืื•ื™ืกืงืœื™ื™ึทื‘ืŸ ื“ื™ ืฆื™ืœ ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ ืคึฟืึทืจ ื•ื•ืึธืก ื“ื™ ื‘ื•ื™ืขืŸ ื•ื•ืขื˜ ื–ื™ื™ืŸ ื“ื•ืจื›ื’ืขืงืึธื›ื˜.

Buildroot - ื˜ื™ื™ืœ 1. ืึทืœื’ืขืžื™ื™ื ืข ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข, ืึทืกืขืžื‘ืึทืœื™ื ื’ ืึท ืžื™ื ื™ืžืึทืœ ืกื™ืกื˜ืขื, ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื“ื•ืจืš ื“ื™ ืžืขื ื™ื•

ื‘ื•ื™ืขืŸ ืึธืคึผืฆื™ืขืก - ืขืก ื–ืขื ืขืŸ ืคืึทืจืฉื™ื“ืŸ ื‘ื•ื™ืขืŸ ืกืขื˜ื˜ื™ื ื’ืก ื“ืึธ. ืื™ืจ ืงืขื ืขืŸ ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ื“ื™ื™ืจืขืงื˜ืขืจื™ื– ืžื™ื˜ ืžืงื•ืจ ืงืึธื•ื“ื–, ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ื‘ื•ื™ืขืŸ ืคึฟืขื“ืขื, ืžื™ืจืขืจื– ืคึฟืึทืจ ื“ืึทื•ื ืœืึธื•ื“ื™ื ื’ ืžืงื•ืจ ืงืึธื•ื“ื– ืื•ืŸ ืื ื“ืขืจืข ืกืขื˜ื˜ื™ื ื’ืก. ืœืึธื–ืŸ ื“ื™ ืกืขื˜ื˜ื™ื ื’ืก ืื™ืŸ ืคืขืœื™ืงื™ื™ึทื˜.

Toolchain - ื“ื™ ื‘ื•ื™ืขืŸ ืžื›ืฉื™ืจื™ื ื–ื™ืš ื–ืขื ืขืŸ ืงืึทื ืคื™ื’ื™ืขืจื“ ื“ืึธ. ืœื™ื™ืขื ืขืŸ ืžืขืจ ื•ื•ืขื’ืŸ ืื™ื.

Buildroot - ื˜ื™ื™ืœ 1. ืึทืœื’ืขืžื™ื™ื ืข ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข, ืึทืกืขืžื‘ืึทืœื™ื ื’ ืึท ืžื™ื ื™ืžืึทืœ ืกื™ืกื˜ืขื, ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื“ื•ืจืš ื“ื™ ืžืขื ื™ื•

Toolchain ื˜ื™ืคึผ - ื˜ื™ืคึผ ืคื•ืŸ ืžื›ืฉื™ืจื™ื ื’ืขื ื™ืฆื˜. ื“ืึธืก ืงืขืŸ ื–ื™ื™ืŸ ืึท ืžื›ืฉื™ืจื™ื ื’ืขื‘ื•ื™ื˜ ืื™ืŸ ื‘ื™ืœื“ืจืึธืึธืฅ ืึธื“ืขืจ ืึท ืคื•ื ื“ืจื•ื™ืกื ื“ื™ืง ืื™ื™ื ืขืจ (ืื™ืจ ืงืขื ืขืŸ ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ื“ื™ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ืžื™ื˜ ื“ื™ ืฉื•ื™ืŸ ื’ืขื‘ื•ื™ื˜ ืื™ื™ื ืขืจ ืึธื“ืขืจ ื“ื™ URL ืคึฟืึทืจ ื“ืึทื•ื ืœืึธื•ื“ื™ื ื’). ืขืก ื–ืขื ืขืŸ ื ืึธืš ืึธืคึผืฆื™ืขืก ืคึฟืึทืจ ืคืึทืจืฉื™ื“ืขื ืข ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจื–. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืคึฟืึทืจ ืึธืจืขื ืื™ืจ ืงืขื ืขืŸ ืคืฉื•ื˜ ืื•ื™ืกืงืœื™ื™ึทื‘ืŸ ื“ื™ Linaro ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹ื“ื™ ืคื•ื ื“ืจื•ื™ืกื ื“ื™ืง ืžื›ืฉื™ืจื™ื.

C ื‘ื™ื‘ืœื™ืึธื˜ืขืง - ืกืขืœืขืงืฆื™ืข ืคื•ืŸ โ€‹โ€‹ื“ื™ C ื‘ื™ื‘ืœื™ืึธื˜ืขืง ื“ื™ ืึธืคึผืขืจืึทืฆื™ืข ืคื•ืŸ โ€‹โ€‹ื“ื™ ื’ืื ืฆืข ืกื™ืกื˜ืขื ื“ืขืคึผืขื ื“ืก ืื•ื™ืฃ ื“ืขื. ื˜ื™ืคึผื™ืงืึทืœืœื™, Glibc ืื™ื– ื’ืขื ื™ืฆื˜, ื•ื•ืึธืก ืฉื˜ื™ืฆื˜ ืึทืœืข ืžืขื’ืœืขืš ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™. ืึธื‘ืขืจ ืขืก ืงืขืŸ ื–ื™ื™ืŸ ืฆื• ื’ืจื•ื™ืก ืคึฟืึทืจ ืึทืŸ ืขืžื‘ืขื“ื™ื“ ืกื™ืกื˜ืขื, ืึทื–ื•ื™ uglibc ืึธื“ืขืจ musl ื–ืขื ืขืŸ ืึธืคื˜ ืื•ื™ืกื“ืขืจื•ื•ื™ื™ืœื˜. ืžื™ืจ ื•ื•ืขืœืŸ ืื•ื™ืกืงืœื™ื™ึทื‘ืŸ glibc (ื“ืึธืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ืคืืจืœืื ื’ื˜ ืฉืคึผืขื˜ืขืจ ืฆื• ื ื•ืฆืŸ systemd).

Kernel Headers ืื•ืŸ Custom Kernel Headers ืกืขืจื™ืข - ืžื•ื–ืŸ ื’ืœื™ื™ึทื›ืŸ ื“ื™ ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ื“ื™ ืงืขืจืŸ ื•ื•ืึธืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ืื™ืŸ ื“ื™ ืึทืกืขืžื‘ืึทืœื“ ืกื™ืกื˜ืขื. ืคึฟืึทืจ ืงืขืจืŸ ื›ืขื“ืขืจื–, ืื™ืจ ืงืขื ืขืŸ ืื•ื™ืš ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ื“ื™ ื“ืจืš ืฆื• ื“ื™ ื˜ืึทืจื‘ืึทืœืœ ืึธื“ืขืจ ื’ื™ื˜ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™.

GCC ืงืึธืžืคึผื™ืœืขืจ ื•ื•ืขืจืกื™ืขืก - ืื•ื™ืกืงืœื™ื™ึทื‘ืŸ ื“ื™ ืงืึทืžืคึผื™ื™ืœืขืจ ื•ื•ืขืจืกื™ืข ืฆื• ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืคึฟืึทืจ ื‘ื ื™ืŸ
ื’ืขื‘ืŸ C ++ ืฉื˜ื™ืฆืŸ - ืกืขืœืขืงื˜ื™ืจืŸ ืฆื• ื‘ื•ื™ืขืŸ ืžื™ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ C ++ ืœื™ื™ื‘ืจืขืจื™ื– ืื™ืŸ ื“ื™ ืกื™ืกื˜ืขื. ื“ืึธืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ื ื•ืฆื™ืง ืคึฟืึทืจ ืื•ื ื“ื– ืื™ืŸ ื“ืขืจ ืฆื•ืงื•ื ืคึฟื˜.

ื ืึธืš ื’ืงืง ืึธืคึผืฆื™ืขืก - ืื™ืจ ืงืขื ืขืŸ ืฉื˜ืขืœืŸ ื ืึธืš ืงืึทืžืคึผื™ื™ืœืขืจ ืึธืคึผืฆื™ืขืก. ืžื™ืจ ื“ืึทืจืคึฟืŸ ืขืก ื ื™ืฉื˜ ืคึฟืึทืจ ืื™ืฆื˜.

ืกื™ืกื˜ืขื ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืฉื˜ืขืœืŸ ืฆื•ืงื•ื ืคึฟื˜ ืคึผืึทืจืึทืžืขื˜ืขืจืก ืคื•ืŸ ื“ื™ ื‘ืืฉืืคืŸ ืกื™ืกื˜ืขื:

Buildroot - ื˜ื™ื™ืœ 1. ืึทืœื’ืขืžื™ื™ื ืข ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข, ืึทืกืขืžื‘ืึทืœื™ื ื’ ืึท ืžื™ื ื™ืžืึทืœ ืกื™ืกื˜ืขื, ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื“ื•ืจืš ื“ื™ ืžืขื ื™ื•

ืจื•ื‘ึฟ ืคื•ืŸ ื“ื™ ืคื•ื ืงื˜ืŸ ื–ืขื ืขืŸ ืงืœืึธืจ ืคื•ืŸ ื“ืขื ื˜ื™ื˜ืœ. ื–ืืœ ืก ื‘ืึทืฆืึธืœืŸ ื•ืคืžืขืจืงื–ืึทืžืงื™ื™ึทื˜ ืฆื• ื“ื™ ืคืืœื’ืขื ื“ืข ืคื•ื ืงื˜ืŸ:
ื•ื•ืขื’ ืฆื• ื“ื™ ื‘ืึทื ื™ืฆืขืจ ื˜ื™ืฉืŸ - ื˜ื™ืฉ ืžื™ื˜ ื™ื•ื–ืขืจื– ืฆื• ื–ื™ื™ืŸ ื‘ืืฉืืคืŸ (https://buildroot.org/downloads/manual/manual.html#makeuser-syntax).

ื‘ื™ื™ึทืฉืคึผื™ืœ ื˜ืขืงืข. ื“ืขืจ ื‘ืึทื ื™ืฆืขืจ ื‘ืึทื ื™ืฆืขืจ ื•ื•ืขื˜ ื–ื™ื™ืŸ ื‘ืืฉืืคืŸ ืžื™ื˜ ื“ื™ ืคึผืึทืจืึธืœ ืึทื“ืžื™ืŸ, ืื•ื™ื˜ืึธืžืึทื˜ื™ืฉ ื’ื™ื“ / ื•ื™ื“, / ื‘ื™ืŸ / ืฉ ืฉืึธืœ, ืคืขืœื™ืงื™ื™ึทื˜ ื’ืจื•ืคึผืข ื‘ืึทื ื™ืฆืขืจ, ื’ืจื•ืคึผืข ืžื™ื˜ื’ืœื™ื“ ื•ื•ืึธืจืฆืœ, ื‘ืึทืžืขืจืงื•ื ื’ ืคืึธืึธ ื‘ืึทื ื™ืฆืขืจ

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

ื•ื•ืึธืจืฆืœ ืคื™ืœืขืกื™ืกื˜ืขื ืึธื•ื•ื•ืขืจืœื™ื™ ื“ื™ืจืขืงื˜ืขืจื™ื– - ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ืึธื•ื•ื•ืขืจืœื™ื™ื“ ืื•ื™ืฃ ืฉืคึผื™ืฅ ืคื•ืŸ ื“ื™ ืึทืกืขืžื‘ืึทืœื“ ืฆื™ืœ-FS. ืžื•ืกื™ืฃ ื ื™ื™ึท ื˜ืขืงืขืก ืื•ืŸ ืจื™ืคึผืœื™ื™ืกื™ื– ื™ื’ื–ื™ืกื˜ื™ื ื’.

ืžื ื”ื’ ืกืงืจื™ืคึผืก ืฆื• ืœื•ื™ืคืŸ ืื™ื™ื“ืขืจ ืงืจื™ื™ื™ื˜ื™ื ื’ ืคื™ืœืขืกื™ืกื˜ืขื ื‘ื™ืœื“ืขืจ - ืกืงืจื™ืคึผืก ืขืงืกืึทืงื™ื•ื˜ืึทื“ ืžื™ื“ ืื™ื™ื“ืขืจ ืคืึธืœื“ื™ื ื’ ื“ื™ ืคื™ืœืขืกื™ืกื˜ืขื ืื™ืŸ ื‘ื™ืœื“ืขืจ. ืœืึธืžื™ืจ ืœืึธื–ืŸ ื“ื™ ืฉืจื™ืคื˜ ืœื™ื™ื“ื™ืง ืคึฟืึทืจ ืื™ืฆื˜.

ืœืึธืžื™ืจ ื’ื™ื™ืŸ ืฆื• ื“ื™ ืงืขืจื ืขืœ ืึธืคึผื˜ื™ื™ืœื•ื ื’

Buildroot - ื˜ื™ื™ืœ 1. ืึทืœื’ืขืžื™ื™ื ืข ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข, ืึทืกืขืžื‘ืึทืœื™ื ื’ ืึท ืžื™ื ื™ืžืึทืœ ืกื™ืกื˜ืขื, ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื“ื•ืจืš ื“ื™ ืžืขื ื™ื•

ืงืขืจื ืขืœ ืกืขื˜ื˜ื™ื ื’ืก ื–ืขื ืขืŸ ื‘ืึทืฉื˜ื™ืžื˜ ื“ืึธ. ื“ืขืจ ืงืขืจืŸ ื–ื™ืš ืื™ื– ืงืึทื ืคื™ื’ื™ืขืจื“ ื“ื•ืจืš ืžืึทื›ืŸ ืœื™ื ื•ืงืก-ืžืขื ื•ืงืึธื ืคื™ื’.
ืื™ืจ ืงืขื ืขืŸ ืฉื˜ืขืœืŸ ื“ื™ ืงืขืจืŸ ื•ื•ืขืจืกื™ืข ืื™ืŸ ืคืึทืจืฉื™ื“ืขื ืข ื•ื•ืขื’ืŸ: ืื•ื™ืกืงืœื™ื™ึทื‘ืŸ ืคื•ืŸ ื“ื™ ื’ืขืคึฟื™ื ื˜, ืึทืจื™ื™ึทืŸ ื“ื™ ื•ื•ืขืจืกื™ืข ืžืึทื ื™ื•ืึทืœื™, ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ืึท ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™ ืึธื“ืขืจ ืึท ืคืึทืจื˜ื™ืง ื˜ืึทืจื‘ืึทืœืœ.

ืงืขืจื ืขืœ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ - ื“ืจืš ืฆื• ื“ื™ ืงืขืจืŸ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ. ืื™ืจ ืงืขื ืขืŸ ืื•ื™ืกืงืœื™ื™ึทื‘ืŸ ื“ื™ ืคืขืœื™ืงื™ื™ึทื˜ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืคึฟืึทืจ ื“ื™ ืื•ื™ืกื’ืขืงืœื™ื‘ืŸ ืึทืจืงืึทื˜ืขืงื˜ืฉืขืจ ืึธื“ืขืจ ื“ืขืคืึธืงื ืคื™ื’ ืคึฟื•ืŸ ืœื™ื ื•ืงืก. ื“ื™ ืœื™ื ื•ืงืก ืžืงื•ืจ ื›ึผื•ืœืœ ืึท ืกื›ื•ื ืคื•ืŸ ื“ืขืคืงืึธื ืคื™ื’ืก ืคึฟืึทืจ ืคืึทืจืฉื™ื“ืขื ืข ืฆื™ืœ ืกื™ืกื˜ืขืžืขืŸ. ืื™ืจ ืงืขื ืขืŸ ื’ืขืคึฟื™ื ืขืŸ ื“ื™ ื•ื•ืึธืก ืื™ืจ ื“ืึทืจืคึฟืŸ ื“ื•ืจืš ืงื•ืงืŸ ื’ืœื™ื™ึทืš ืื™ืŸ ื“ื™ ืžืงื•ืจื™ื ื“ืึธ. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืคึฟืึทืจ ืึท ื‘ืขืึทื’ืœืข ื‘ื™ื™ืŸ ืฉื•ื•ืึทืจืฅ ื‘ืจืขื˜ ืื™ืจ ืงืขื ืขืŸ ืื•ื™ืกืงืœื™ื™ึทื‘ืŸ config.

ื“ื™ ื˜ืึทืจื’ืขื˜ ืคึผืึทืงืึทื“ื–ืฉืึทื– ืึธืคึผื˜ื™ื™ืœื•ื ื’ ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืื•ื™ืกืงืœื™ื™ึทื‘ืŸ ื•ื•ืึธืก ืคึผืึทืงืึทื“ื–ืฉืึทื– ื•ื•ืขื˜ ื–ื™ื™ืŸ ืื™ื ืกื˜ืึทืœื™ืจืŸ ืื•ื™ืฃ ื“ื™ ืกื™ืกื˜ืขื ื•ื•ืึธืก ืื™ื– ื’ืขื‘ื•ื™ื˜. ืœืืžื™ืจ ืขืก ื™ืขืฆื˜ ืœืื–ืŸ ืื•ืžืคืืจืขื ื“ืขืจื˜. ืžื™ืจ ื•ื•ืขืœืŸ ืœื™ื™ื’ืŸ ืื•ื ื“ื–ืขืจ ืคึผืึทืงืึทื“ื–ืฉืึทื– ืฆื• ื“ืขืจ ืจืฉื™ืžื” ืฉืคึผืขื˜ืขืจ.
ืคื™ืœืขืกื™ืกื˜ืขื ื‘ื™ืœื“ืขืจ - ืึท ืจืฉื™ืžื” ืคื•ืŸ ื˜ืขืงืข ืกื™ืกื˜ืขื ื‘ื™ืœื“ืขืจ ื•ื•ืึธืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ื’ืขื–ืืžืœื˜. ืœื™ื™ื’ ืึท ื™ืกืึธ ื‘ื™ืœื“

Buildroot - ื˜ื™ื™ืœ 1. ืึทืœื’ืขืžื™ื™ื ืข ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข, ืึทืกืขืžื‘ืึทืœื™ื ื’ ืึท ืžื™ื ื™ืžืึทืœ ืกื™ืกื˜ืขื, ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื“ื•ืจืš ื“ื™ ืžืขื ื™ื•

ื‘ืึธืึธื˜ืœืึธืึทื“ืขืจืก - ืกืขืœืขืงืฆื™ืข ืคื•ืŸ โ€‹โ€‹ื‘ืึธืึธื˜ืœืึธืึทื“ืขืจืก ืฆื• ื–ืึทืžืœืขืŸ. ื–ืืœ ืก ืงืœื™ื™ึทื‘ืŸ ื™ืกืึธืœื™ื ื™ืงืก

Buildroot - ื˜ื™ื™ืœ 1. ืึทืœื’ืขืžื™ื™ื ืข ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข, ืึทืกืขืžื‘ืึทืœื™ื ื’ ืึท ืžื™ื ื™ืžืึทืœ ืกื™ืกื˜ืขื, ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื“ื•ืจืš ื“ื™ ืžืขื ื™ื•

ืงืึทื ืคื™ื’ื™ืขืจ ืกื™ืกื˜ืขื

Systemd ืื™ื– ืฉื™ื™ืŸ ืื™ื™ื ืขืจ ืคื•ืŸ ื“ื™ ืคึผื™ืœืขืจื– ืคื•ืŸ ืœื™ื ื•ืงืก, ืฆื•ื–ืึทืžืขืŸ ืžื™ื˜ ืงืขืจืŸ ืื•ืŸ ื’ืœื™ื‘ืง. ื“ืขืจื™ื‘ืขืจ, ืื™ืš ืืจื™ื‘ืขืจื’ืขืคืืจืŸ ื–ื™ื™ึทืŸ ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ืฆื• ืึท ื‘ืึทื–ื•ื ื“ืขืจ ื ื•ืžืขืจ.

ืงืึทื ืคื™ื’ื™ืขืจื“ ื“ื•ืจืš ืžืึทื›ืŸ ืžืขื ื™ื•ืงืึธื ืคื™ื’, ื“ืขืžืึธืœื˜ ื˜ืึทืจื’ืขื˜ ืคึผืึทืงืึทื“ื–ืฉืึทื– โ†’ ืกื™ืกื˜ืขื ืžื›ืฉื™ืจื™ื โ†’ ืกื™ืกื˜ืขื. ื“ืึธ ืื™ืจ ืงืขื ืขืŸ ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ ื•ื•ืึธืก ืกื™ืกื˜ืขื ื‘ืึทื“ื™ื ื•ื ื’ืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ืื™ื ืกื˜ืึทืœื™ืจืŸ ืื•ืŸ ืกื˜ืึทืจื˜ืขื“ ื•ื•ืขืŸ ื“ื™ ืกื™ืกื˜ืขื ืกื˜ืึทืจืฅ.

Buildroot - ื˜ื™ื™ืœ 1. ืึทืœื’ืขืžื™ื™ื ืข ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข, ืึทืกืขืžื‘ืึทืœื™ื ื’ ืึท ืžื™ื ื™ืžืึทืœ ืกื™ืกื˜ืขื, ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื“ื•ืจืš ื“ื™ ืžืขื ื™ื•

ืฉืคึผืึธืจืŸ ืกื™ืกื˜ืขื ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ

ืžื™ืจ ืจืึทื˜ืขื•ื•ืขืŸ ื“ืขื ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื“ื•ืจืš KConfig.

ื“ืขืจื ืึธืš ืจืึทื˜ืขื•ื•ืขืŸ ืื•ื ื“ื–ืขืจ ื“ืขืคืงืึธื ืคื™ื’:

make savedefconfig

ืœื™ื ื•ืงืก ืงืขืจืŸ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ

ื“ื™ ืœื™ื ื•ืงืก ืงืขืจืŸ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืื™ื– ื™ื ื•ื•ืึธื•ืงื˜ ืžื™ื˜ ื“ื™ ืคืืœื’ืขื ื“ืข ื‘ืึทืคึฟืขืœ:

make linux-menuconfig

ื–ืืœ ืก ืœื™ื™ื’ืŸ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื™ Virtualbox ื•ื•ื™ื“ืขื ืงืึทืจื˜ืœ

Buildroot - ื˜ื™ื™ืœ 1. ืึทืœื’ืขืžื™ื™ื ืข ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข, ืึทืกืขืžื‘ืึทืœื™ื ื’ ืึท ืžื™ื ื™ืžืึทืœ ืกื™ืกื˜ืขื, ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื“ื•ืจืš ื“ื™ ืžืขื ื™ื•

ืœืึธืžื™ืจ ืœื™ื™ื’ืŸ ื•ื•ื™ืจื˜ื•ืึทืœื‘ืึธืงืก ื’ืึทืกื˜ ื™ื ืึทื’ืจื™ื™ืฉืึทืŸ ืฉื˜ื™ืฆืŸ

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

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’