Buildroot - แƒœแƒแƒฌแƒ˜แƒšแƒ˜ 2. แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ“แƒแƒคแƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ; แƒ’แƒแƒ แƒ” แƒฎแƒ˜แƒก, rootfs-overlay, แƒžแƒแƒกแƒข-build แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

แƒแƒ› แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒแƒจแƒ˜ แƒ›แƒ” แƒ•แƒฃแƒงแƒฃแƒ แƒ”แƒ‘ แƒžแƒ”แƒ แƒกแƒแƒœแƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ— แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ“แƒ. แƒ”แƒก แƒแƒ  แƒแƒ แƒ˜แƒก แƒกแƒ แƒฃแƒšแƒ˜ แƒกแƒ˜แƒ, แƒ แƒแƒกแƒแƒช buildroot แƒ’แƒ•แƒ—แƒแƒ•แƒแƒ–แƒแƒ‘แƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒœแƒแƒšแƒฃแƒ แƒ˜แƒ แƒ“แƒ แƒแƒ  แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒก แƒฉแƒแƒ แƒ”แƒ•แƒแƒก แƒ—แƒแƒ•แƒแƒ“ buildroot-แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒจแƒ˜.

แƒžแƒ”แƒ แƒกแƒแƒœแƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก EXTERNAL แƒ›แƒ”แƒฅแƒแƒœแƒ˜แƒ–แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ

แƒฌแƒ˜แƒœแƒ แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜ แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ“แƒแƒ•แƒฎแƒ”แƒ“แƒ”แƒ— แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ แƒขแƒ˜แƒ• แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒก แƒ“แƒแƒคแƒ˜แƒก defconfig-แƒ˜แƒกแƒ แƒ“แƒ แƒกแƒแƒญแƒ˜แƒ แƒ แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ  Buildroot แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒจแƒ˜ แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—.

แƒ›แƒแƒ’แƒ แƒแƒ› แƒ”แƒก แƒ›แƒ”แƒ—แƒแƒ“แƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก แƒซแƒแƒšแƒ˜แƒแƒœ แƒ›แƒแƒกแƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒšแƒ˜, แƒ’แƒแƒœแƒกแƒแƒ™แƒฃแƒ—แƒ แƒ”แƒ‘แƒ˜แƒ— buildroot-แƒ˜แƒก แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ˜แƒกแƒแƒก. แƒแƒ› แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒ›แƒแƒ’แƒ•แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ”แƒฅแƒแƒœแƒ˜แƒ–แƒ›แƒ˜ แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒ’แƒแƒ แƒ” แƒฎแƒ”. แƒ›แƒ˜แƒกแƒ˜ แƒแƒ แƒกแƒ˜ แƒ˜แƒ›แƒแƒจแƒ˜ แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒก, แƒ แƒแƒ› แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒจแƒ”แƒ˜แƒœแƒแƒฎแƒแƒ— แƒ“แƒแƒคแƒ, แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜, แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒกแƒฎแƒ•แƒ แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒ”แƒ‘แƒ˜ แƒชแƒแƒšแƒ™แƒ” แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒจแƒ˜ (แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ›แƒ” แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘ แƒžแƒแƒขแƒฉแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒก แƒžแƒแƒขแƒฉแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒกแƒแƒงแƒ”แƒœแƒ”แƒ‘แƒšแƒแƒ“, แƒฃแƒคแƒ แƒ แƒ“แƒ”แƒขแƒแƒšแƒฃแƒ แƒแƒ“ แƒชแƒแƒšแƒ™แƒ” แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒแƒจแƒ˜) แƒ“แƒ แƒ—แƒแƒ•แƒแƒ“ buildroot แƒ“แƒแƒแƒ›แƒแƒขแƒ”แƒ‘แƒก แƒ›แƒแƒ— แƒ›แƒ˜แƒกแƒ˜ แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒ.

แƒจแƒ”แƒœแƒ˜แƒจแƒ•แƒœแƒ: แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ“แƒแƒคแƒแƒ แƒแƒ— แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ’แƒแƒ แƒ” แƒฎแƒ” แƒ”แƒ แƒ—แƒ“แƒ แƒแƒฃแƒšแƒแƒ“, แƒแƒ แƒ˜แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜ buildroot-แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ›แƒซแƒฆแƒ•แƒแƒœแƒ”แƒšแƒแƒจแƒ˜

แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒ my_tree, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒ“แƒ”แƒ‘แƒแƒ แƒ”แƒแƒ‘แƒก buildroot แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒก แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒ— แƒ“แƒ แƒ’แƒแƒ“แƒแƒ•แƒ˜แƒขแƒแƒœแƒแƒ— แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ แƒ˜แƒฅ. แƒ’แƒแƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒ˜ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ:

[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

แƒ แƒแƒ’แƒแƒ แƒช แƒฎแƒ”แƒ“แƒแƒ•แƒ—, แƒ–แƒแƒ’แƒแƒ“แƒแƒ“ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ แƒ˜แƒ›แƒ”แƒแƒ แƒ”แƒ‘แƒก buildroot-แƒ˜แƒก แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒแƒก.

แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒ แƒกแƒแƒ‘แƒญแƒแƒก แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒฉแƒ•แƒ”แƒœแƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ“แƒแƒคแƒ˜แƒก แƒกแƒžแƒ”แƒชแƒ˜แƒคแƒ˜แƒ™แƒฃแƒ  แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒก:

  • bef_cr_fs_img.sh แƒแƒ แƒ˜แƒก แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ“แƒ”แƒ‘แƒ แƒกแƒแƒ›แƒ˜แƒ–แƒœแƒ” แƒคแƒแƒ˜แƒšแƒฃแƒ แƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ›แƒ˜แƒก แƒกแƒฃแƒ แƒแƒ—แƒ”แƒ‘แƒจแƒ˜ แƒจแƒ”แƒคแƒฃแƒ—แƒ•แƒแƒ›แƒ“แƒ”. แƒฉแƒ•แƒ”แƒœ แƒ›แƒแƒก แƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒจแƒ˜ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ—
  • linux.config - แƒ‘แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ
  • rootfs_overlay - แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒแƒ“แƒแƒคแƒแƒ แƒแƒ•แƒก แƒกแƒแƒ›แƒ˜แƒ–แƒœแƒ” แƒคแƒแƒ˜แƒšแƒฃแƒ  แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒก
  • users.txt - แƒคแƒแƒ˜แƒšแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒฆแƒฌแƒ”แƒ แƒก แƒจแƒ”แƒกแƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ”แƒš แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒก

แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ“แƒแƒคแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ”แƒคแƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒแƒก. แƒฉแƒ•แƒ”แƒœ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ”แƒ แƒ—แƒ˜ แƒ’แƒ•แƒแƒฅแƒ•แƒก.

แƒžแƒแƒ™แƒ”แƒขแƒ˜ - แƒ™แƒแƒขแƒแƒšแƒแƒ’แƒ˜ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒ—. แƒ—แƒแƒ•แƒ“แƒแƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ“, buildroot แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒแƒ‘แƒ”แƒ‘แƒก แƒ“แƒ แƒฌแƒ”แƒกแƒ”แƒ‘แƒก แƒจแƒ”แƒ–แƒฆแƒฃแƒ“แƒฃแƒšแƒ˜ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒก แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฅแƒ›แƒœแƒ”แƒšแƒแƒ“. แƒ›แƒแƒ’แƒ•แƒ˜แƒแƒœแƒ”แƒ‘แƒ˜แƒ— แƒแƒฅ แƒ“แƒแƒ•แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ— icewm window แƒ›แƒ”แƒœแƒ”แƒฏแƒ”แƒ แƒก แƒ“แƒ Slim แƒ’แƒ แƒแƒคแƒ˜แƒ™แƒฃแƒš แƒจแƒ”แƒกแƒ•แƒšแƒ˜แƒก แƒ›แƒ”แƒœแƒ”แƒฏแƒ”แƒ แƒก.
แƒžแƒแƒขแƒฉแƒ”แƒ‘แƒ˜ โ€” แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ›แƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒฃแƒšแƒแƒ“ แƒจแƒ”แƒ˜แƒœแƒแƒฎแƒแƒ— แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒžแƒแƒขแƒฉแƒ”แƒ‘แƒ˜ แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ“แƒ”แƒขแƒแƒšแƒ”แƒ‘แƒ˜ แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒชแƒแƒšแƒ™แƒ”แƒฃแƒš แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒแƒจแƒ˜.
แƒแƒฎแƒšแƒ แƒฉแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ“แƒแƒ•แƒแƒ›แƒแƒขแƒแƒ— แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒแƒ‘แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ’แƒแƒ แƒ” แƒฎแƒ”แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒแƒ›แƒแƒ–แƒ” แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒกแƒ›แƒ’แƒ”แƒ‘แƒ”แƒšแƒ˜แƒ 3 แƒคแƒแƒ˜แƒšแƒ˜: external.desc, Config.in, external.mk.

แƒ’แƒแƒ แƒ”.desc แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒ แƒ”แƒแƒšแƒฃแƒ  แƒแƒฆแƒฌแƒ”แƒ แƒแƒก:

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

แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒฎแƒแƒ–แƒ˜ แƒแƒ แƒ˜แƒก แƒกแƒแƒ—แƒแƒฃแƒ แƒ˜. แƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒจแƒ˜ buildroot แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒชแƒ•แƒšแƒแƒ“แƒ˜ $(BR2_EXTERNAL_MY_TREE_PATH), แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฃแƒœแƒ“แƒ แƒ˜แƒฅแƒœแƒแƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒแƒกแƒแƒ›แƒ‘แƒšแƒ”แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒกแƒแƒก. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ’แƒ–แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒงแƒ”แƒœแƒ“แƒ”แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒœแƒแƒ˜แƒ แƒแƒ“:

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

แƒ›แƒ”แƒแƒ แƒ” แƒกแƒขแƒ แƒ˜แƒฅแƒแƒœแƒ˜ แƒแƒ แƒ˜แƒก แƒ›แƒแƒ™แƒšแƒ”, แƒแƒ“แƒแƒ›แƒ˜แƒแƒœแƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก แƒฌแƒแƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒ˜ แƒแƒฆแƒฌแƒ”แƒ แƒ.

Config.in, external.mk - แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜ แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒแƒฆแƒกแƒแƒฌแƒ”แƒ แƒแƒ“. แƒ—แƒฃ แƒแƒ  แƒ“แƒแƒแƒ›แƒแƒขแƒ”แƒ‘แƒ— แƒกแƒแƒ™แƒฃแƒ—แƒแƒ  แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒก, แƒ›แƒแƒจแƒ˜แƒœ แƒ”แƒก แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒชแƒแƒ แƒ˜แƒ”แƒšแƒ˜ แƒ“แƒแƒ แƒฉแƒ”แƒก. แƒแƒ› แƒ“แƒ แƒแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒฉแƒ•แƒ”แƒœ แƒแƒ›แƒแƒก แƒ’แƒแƒ•แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ—.
แƒแƒฎแƒšแƒ แƒฉแƒ•แƒ”แƒœ แƒ›แƒ–แƒแƒ“ แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ’แƒแƒ แƒ” แƒฎแƒ”, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ“แƒแƒคแƒ˜แƒก แƒ“แƒ”แƒคแƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒแƒก แƒ“แƒ แƒ›แƒแƒก แƒกแƒแƒญแƒ˜แƒ แƒ แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒก. แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒ“แƒแƒ•แƒ˜แƒ“แƒ”แƒ— buildroot แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒจแƒ˜ แƒ“แƒ แƒ›แƒ˜แƒ•แƒฃแƒ—แƒ˜แƒ—แƒแƒ—, แƒ แƒแƒ› แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒ’แƒแƒ แƒ” แƒฎแƒ”:

[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

แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒแƒจแƒ˜ แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒแƒ แƒ’แƒฃแƒ›แƒ”แƒœแƒขแƒก BR2_EXTERNAL=../my_tree/, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒ”แƒ‘แƒก แƒ’แƒแƒ แƒ” แƒฎแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒแƒ–แƒ”. แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒแƒ— แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ’แƒแƒ แƒ” แƒฎแƒ” แƒ”แƒ แƒ—แƒ“แƒ แƒแƒฃแƒšแƒแƒ“ แƒ’แƒแƒ›แƒแƒกแƒแƒงแƒ”แƒœแƒ”แƒ‘แƒšแƒแƒ“. แƒแƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒแƒ›แƒ˜แƒก แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ”แƒ แƒ—แƒฎแƒ”แƒš แƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ—, แƒ แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒแƒช แƒ˜แƒฅแƒ›แƒœแƒ”แƒ‘แƒ แƒคแƒแƒ˜แƒšแƒ˜แƒก output/.br-external.mk แƒ˜แƒœแƒแƒฎแƒแƒ•แƒก แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒแƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ’แƒแƒ แƒ” แƒฎแƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘:

[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

แฒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜! แƒ‘แƒ˜แƒšแƒ˜แƒ™แƒ”แƒ‘แƒ˜ แƒแƒ› แƒคแƒแƒ˜แƒšแƒจแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒแƒ‘แƒกแƒแƒšแƒฃแƒขแƒฃแƒ แƒ˜!

แƒ›แƒ”แƒœแƒ˜แƒฃแƒจแƒ˜ แƒ’แƒแƒ›แƒแƒฉแƒœแƒ“แƒ แƒ’แƒแƒ แƒ” แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜แƒก แƒ”แƒšแƒ”แƒ›แƒ”แƒœแƒขแƒ˜:

Buildroot - แƒœแƒแƒฌแƒ˜แƒšแƒ˜ 2. แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ“แƒแƒคแƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ; แƒ’แƒแƒ แƒ” แƒฎแƒ˜แƒก, rootfs-overlay, แƒžแƒแƒกแƒข-build แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

แƒ”แƒก แƒฅแƒ•แƒ”แƒ›แƒ”แƒœแƒ˜แƒฃ แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒฉแƒ•แƒ”แƒœแƒก แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒก แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ’แƒแƒ แƒ” แƒฎแƒ”แƒ“แƒแƒœ. แƒ”แƒก แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒ แƒแƒ›แƒŸแƒแƒ›แƒแƒ“ แƒชแƒแƒ แƒ˜แƒ”แƒšแƒ˜แƒ.

แƒแƒฎแƒšแƒ แƒฉแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก แƒฃแƒคแƒ แƒ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜แƒ แƒ’แƒแƒ“แƒแƒ•แƒ˜แƒฌแƒ”แƒ แƒแƒ— แƒกแƒแƒญแƒ˜แƒ แƒ แƒ‘แƒ˜แƒšแƒ˜แƒ™แƒ”แƒ‘แƒ˜ แƒ’แƒแƒ แƒ” แƒฎแƒ˜แƒก แƒ’แƒแƒ›แƒแƒกแƒแƒงแƒ”แƒœแƒ”แƒ‘แƒšแƒแƒ“.

แƒ’แƒ—แƒฎแƒแƒ•แƒ— แƒ’แƒแƒ˜แƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒแƒ—, แƒ แƒแƒ› แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒแƒจแƒ˜ Build options โ†’ Location to save buildroot config, แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒแƒ‘แƒกแƒแƒšแƒฃแƒขแƒฃแƒ แƒ˜ แƒ’แƒ–แƒ แƒจแƒ”แƒœแƒแƒฎแƒฃแƒšแƒ˜ defconfig-แƒ›แƒ“แƒ”. แƒ˜แƒ’แƒ˜ แƒ˜แƒฅแƒ›แƒœแƒ”แƒ‘แƒ extgernal_tree-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ›แƒ”แƒœแƒขแƒจแƒ˜.

แƒฉแƒ•แƒ”แƒœ แƒแƒกแƒ”แƒ•แƒ” แƒ’แƒแƒ•แƒแƒกแƒฌแƒแƒ แƒ”แƒ‘แƒ— แƒ‘แƒ˜แƒšแƒ˜แƒ™แƒ”แƒ‘แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒแƒจแƒ˜. แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒšแƒ˜ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก แƒชแƒฎแƒ แƒ˜แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก:

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

แƒ‘แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒแƒจแƒ˜ แƒจแƒ”แƒชแƒ•แƒแƒšแƒ”แƒ— แƒ’แƒ–แƒ แƒ‘แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒกแƒ™แƒ”แƒœ:

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

แƒแƒฎแƒšแƒ แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ’แƒแƒ แƒ” แƒฎแƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒจแƒ”แƒ™แƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒก. แƒกแƒฎแƒ•แƒ แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒจแƒ˜ แƒ’แƒแƒ“แƒแƒกแƒ•แƒšแƒ˜แƒกแƒแƒก แƒแƒœ buildroot-แƒ˜แƒก แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ˜แƒกแƒแƒก, แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒ”แƒฅแƒœแƒ”แƒ‘แƒ แƒ›แƒ˜แƒœแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜.

root fs แƒ’แƒแƒ“แƒแƒคแƒแƒ แƒ•แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ:

แƒ”แƒก แƒ›แƒ”แƒฅแƒแƒœแƒ˜แƒ–แƒ›แƒ˜ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒแƒ“ แƒ“แƒแƒแƒ›แƒแƒขแƒแƒ—/แƒจแƒ”แƒชแƒ•แƒแƒšแƒแƒ— แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜ แƒกแƒแƒ›แƒ˜แƒ–แƒœแƒ” แƒคแƒแƒ˜แƒšแƒฃแƒ  แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒจแƒ˜.
แƒ—แƒฃ แƒคแƒแƒ˜แƒšแƒ˜ แƒแƒ แƒ˜แƒก root fs แƒ’แƒแƒ“แƒแƒคแƒแƒ แƒ•แƒแƒจแƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ แƒ แƒกแƒแƒ›แƒ˜แƒ–แƒœแƒ”แƒจแƒ˜, แƒ›แƒแƒจแƒ˜แƒœ แƒ˜แƒก แƒ“แƒแƒ”แƒ›แƒแƒขแƒ”แƒ‘แƒ
แƒ—แƒฃ แƒคแƒแƒ˜แƒšแƒ˜ แƒแƒ แƒ˜แƒก root fs overlay-แƒจแƒ˜ แƒ“แƒ target-แƒจแƒ˜, แƒ›แƒแƒจแƒ˜แƒœ แƒ˜แƒก แƒจแƒ”แƒ˜แƒชแƒ•แƒšแƒ”แƒ‘แƒ.
แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜, แƒ›แƒแƒ“แƒ˜แƒ— แƒ“แƒแƒ•แƒแƒงแƒ”แƒœแƒแƒ— แƒ’แƒ–แƒ root fs overlay dir. แƒ”แƒก แƒ™แƒ”แƒ—แƒ“แƒ”แƒ‘แƒ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก โ†’ Root แƒคแƒแƒ˜แƒšแƒฃแƒ แƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒ“แƒแƒคแƒแƒ แƒ•แƒ˜แƒก แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒแƒจแƒ˜:

$(BR2_EXTERNAL_my_tree_PATH)/board/my_x86_board/rootfs_overlay/

แƒแƒฎแƒšแƒ แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— แƒแƒ แƒ˜ แƒคแƒแƒ˜แƒšแƒ˜.

[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

แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒคแƒแƒ˜แƒšแƒ˜ (my_tree/board/my_x86_board/rootfs_overlay/etc/hosts) แƒฉแƒแƒแƒœแƒแƒชแƒ•แƒšแƒ”แƒ‘แƒก /etc/hosts แƒคแƒแƒ˜แƒšแƒก แƒ“แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒš แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒจแƒ˜. แƒ“แƒแƒ”แƒ›แƒแƒขแƒ”แƒ‘แƒ แƒ›แƒ”แƒแƒ แƒ” แƒคแƒแƒ˜แƒšแƒ˜ (cat my_tree/board/my_x86_board/rootfs_overlay/new_file.txt).

แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒ— แƒ“แƒ แƒ•แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ—:

Buildroot - แƒœแƒแƒฌแƒ˜แƒšแƒ˜ 2. แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ“แƒแƒคแƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ; แƒ’แƒแƒ แƒ” แƒฎแƒ˜แƒก, rootfs-overlay, แƒžแƒแƒกแƒข-build แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

แƒžแƒ”แƒ แƒกแƒแƒœแƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒก แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ”แƒขแƒแƒžแƒ–แƒ”

แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒ—แƒฅแƒ•แƒ”แƒœ แƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒกแƒแƒ›แƒฃแƒจแƒแƒแƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ แƒกแƒแƒ›แƒ˜แƒ–แƒœแƒ” แƒคแƒแƒ˜แƒšแƒฃแƒ  แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒจแƒ˜, แƒกแƒแƒœแƒแƒ› แƒ˜แƒก แƒจแƒ”แƒคแƒฃแƒ—แƒฃแƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒกแƒฃแƒ แƒแƒ—แƒ”แƒ‘แƒจแƒ˜.

แƒ”แƒก แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ™แƒ”แƒ—แƒ“แƒ”แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒแƒจแƒ˜:

Buildroot - แƒœแƒแƒฌแƒ˜แƒšแƒ˜ 2. แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ“แƒแƒคแƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ; แƒ’แƒแƒ แƒ” แƒฎแƒ˜แƒก, rootfs-overlay, แƒžแƒแƒกแƒข-build แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒแƒ แƒ˜ แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒกแƒแƒ›แƒ˜แƒ–แƒœแƒ” แƒคแƒแƒ˜แƒšแƒฃแƒ แƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒแƒจแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒ›แƒแƒ’แƒ แƒแƒ› แƒกแƒแƒœแƒแƒ› แƒ˜แƒก แƒจแƒ”แƒ˜แƒคแƒฃแƒ—แƒ”แƒ‘แƒ แƒกแƒฃแƒ แƒแƒ—แƒ”แƒ‘แƒจแƒ˜. แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒ แƒ˜แƒกแƒแƒ, แƒ แƒแƒ› fakeroot แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ fakeroot-แƒ˜แƒก แƒ™แƒแƒœแƒขแƒ”แƒฅแƒกแƒขแƒจแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒกแƒ˜แƒ›แƒฃแƒšแƒแƒชแƒ˜แƒแƒก แƒฃแƒ™แƒ”แƒ—แƒ”แƒ‘แƒก Root แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒแƒก.

แƒ‘แƒแƒšแƒ แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒกแƒฃแƒ แƒแƒ—แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’. แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒจแƒ”แƒแƒกแƒ แƒฃแƒšแƒแƒ— แƒ›แƒแƒกแƒจแƒ˜ แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ”แƒ‘แƒ˜, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ“แƒแƒแƒ™แƒแƒžแƒ˜แƒ แƒ”แƒ— แƒกแƒแƒญแƒ˜แƒ แƒ แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜ NFS แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” แƒแƒœ แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ˜แƒก แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ˜แƒก แƒกแƒฃแƒ แƒแƒ—แƒ˜.

แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ›แƒ” แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒ˜ แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ“แƒแƒฌแƒ”แƒ แƒก แƒ•แƒ”แƒ แƒกแƒ˜แƒแƒก แƒ“แƒ แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒก แƒ—แƒแƒ แƒ˜แƒฆแƒก /etc/.
แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒ แƒ˜แƒ’แƒจแƒ˜ แƒ›แƒ” แƒ›แƒ˜แƒ•แƒฃแƒ—แƒ˜แƒ—แƒ”แƒ‘ แƒแƒ› แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒ’แƒ–แƒแƒก แƒฉแƒ”แƒ›แƒก แƒ’แƒแƒ แƒ” แƒฎแƒ”แƒจแƒ˜:

Buildroot - แƒœแƒแƒฌแƒ˜แƒšแƒ˜ 2. แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ“แƒแƒคแƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ; แƒ’แƒแƒ แƒ” แƒฎแƒ˜แƒก, rootfs-overlay, แƒžแƒแƒกแƒข-build แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—

แƒแƒฎแƒšแƒ แƒ™แƒ˜ แƒ—แƒแƒ•แƒแƒ“ แƒกแƒชแƒ”แƒœแƒแƒ แƒ˜:

[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

แƒแƒกแƒแƒ›แƒ‘แƒšแƒ”แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒœแƒแƒฎแƒแƒ— แƒ”แƒก แƒคแƒแƒ˜แƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒจแƒ˜.

แƒžแƒ แƒแƒฅแƒขแƒ˜แƒ™แƒแƒจแƒ˜, แƒกแƒชแƒ”แƒœแƒแƒ แƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒฎแƒ“แƒ”แƒก แƒ“แƒ˜แƒ“แƒ˜. แƒแƒ›แƒ˜แƒขแƒแƒ›, แƒ แƒ”แƒแƒšแƒฃแƒ  แƒžแƒ แƒแƒ”แƒฅแƒขแƒจแƒ˜ แƒ›แƒ” แƒฃแƒคแƒ แƒ แƒ›แƒแƒฌแƒ˜แƒœแƒแƒ•แƒ” แƒ›แƒแƒ แƒจแƒ แƒฃแƒขแƒ˜ แƒแƒ•แƒ˜แƒฆแƒ”:

  1. แƒ›แƒ” แƒจแƒ”แƒ•แƒฅแƒ›แƒ”แƒœแƒ˜ แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒ (my_tree/board_my_x86_board/inside_fakeroot_scripts), แƒ แƒแƒ›แƒ”แƒšแƒจแƒ˜แƒช แƒแƒ แƒ˜แƒก แƒจแƒ”แƒกแƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ”แƒ‘แƒ˜, แƒกแƒ”แƒ แƒ˜แƒฃแƒšแƒ˜ แƒœแƒแƒ›แƒ แƒ”แƒ‘แƒ˜แƒ—. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, 0001-add-my_small_linux-version.sh, 0002-clear-apache-root-dir.sh
  2. แƒ›แƒ” แƒ“แƒแƒ•แƒฌแƒ”แƒ แƒ” แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜ (my_tree/board_my_x86_board/run_inside_fakeroot.sh), แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒแƒ“แƒ˜แƒก แƒแƒ› แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒจแƒ˜ แƒ“แƒ แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒฃแƒšแƒแƒ“ แƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒก แƒ›แƒแƒกแƒจแƒ˜ แƒจแƒ”แƒ›แƒแƒ•แƒแƒš แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ”แƒ‘แƒก
  3. แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ”แƒก แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜ แƒ“แƒแƒคแƒ˜แƒก แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒจแƒ˜, แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒแƒจแƒ˜ -> แƒ›แƒแƒ แƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ”แƒ‘แƒ˜, แƒ แƒแƒ—แƒ แƒ˜แƒ›แƒฃแƒจแƒแƒแƒก fakeroot แƒ’แƒแƒ แƒ”แƒ›แƒแƒจแƒ˜ ($(BR2_EXTERNAL_my_tree_PATH)/board/my_x86_board/run_inside_fakeroot.sh) แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒแƒจแƒ˜

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ