Buildroot - แŠญแแˆ 2. แ‹จแ‰ฆแˆญแ‹ต แ‹แ‰…แˆญ แˆ˜แแŒ แˆญ; แ‹แŒซแ‹Š แ‹›แ, rootfs-overlay, post-build แˆตแŠญแˆชแ•แ‰ถแ‰ฝแŠ• แ‰ แˆ˜แŒ แ‰€แˆ

แ‰ แ‹šแˆ… แŠญแแˆ แŠฅแŠ” แ‹จแˆšแ‹ซแˆตแˆแˆแŒ‰แŠแŠ• แŠ แŠ•แ‹ณแŠ•แ‹ต แ‹จแˆ›แ‰ แŒ€แ‰ต แŠ แˆ›แˆซแŒฎแ‰ฝแŠ• แŠฅแˆ˜แˆˆแŠจแ‰ณแˆˆแˆแข แ‹ญแˆ… buildroot แ‹จแˆšแ‹ซแ‰€แˆญแ‰ แ‹ แˆ™แˆ‰ แ‹แˆญแ‹แˆญ แŠ แ‹ญแ‹ฐแˆˆแˆ แАแŒˆแˆญ แŒแŠ• แ‰ แŒฃแˆ แ‰ฐแŒแ‰ฃแˆซแ‹Š แŠ“แ‰ธแ‹ แŠฅแŠ“ แ‰ แˆซแˆฑ แ‹จBuildroot แ‹แ‹ญแˆŽแ‰ฝ แ‹แˆตแŒฅ แŒฃแˆแ‰ƒ แˆ˜แŒแ‰ฃแ‰ต แŠ แ‹ซแˆตแˆแˆแŒ‹แ‰ธแ‹แˆแข

แˆˆแˆ›แ‰ แŒ€แ‰ต แ‹จแ‹แŒซแ‹Šแ‹แŠ• แ‹˜แ‹ด แ‰ แˆ˜แŒ แ‰€แˆ

แ‰ แ‰€แ‹ฐแˆ˜แ‹ แˆ˜แŒฃแŒฅแ แ‹จแ‰ฆแˆญแ‹ฑแŠ• defconfig แŠฅแŠ“ แŠ แˆตแˆแˆ‹แŒŠแ‹Žแ‰นแŠ• แ‹แ‹ญแˆŽแ‰ฝ แ‰ แ‰€แŒฅแ‰ณ แ‹ˆแ‹ฐ Buildroot แˆ›แ‹แŒซ แ‰ แˆ›แŠจแˆ แ‹จแŠฅแˆซแˆตแ‹ŽแŠ• แ‹แ‰…แˆญ แ‹จแˆ˜แŒจแˆ˜แˆญ แ‰€แˆ‹แˆ แˆแˆณแˆŒ แ‰ฐแˆ˜แˆแŠญแ‰ฐแŠ“แˆแข

แАแŒˆแˆญ แŒแŠ• แ‹ญแˆ… แ‹˜แ‹ด แ‰ แ‰ฐแˆˆแ‹ญ buildroot แˆฒแ‹ซแ‹˜แˆแŠ• แ‰ แŒฃแˆ แˆแ‰น แŠ แ‹ญแ‹ฐแˆˆแˆ. แ‹ญแˆ…แŠ•แŠ• แ‰ฝแŒแˆญ แˆˆแˆ˜แแ‰ณแ‰ต แ‹จแˆšแ‹ซแˆตแ‰ฝแˆ แ‹˜แ‹ด แŠ แˆˆ แ‹แŒซแ‹Š แ‹›แ. แ‹‹แŠ“แ‹ แАแŒˆแˆญ แˆฐแˆŒแ‹ณแ‹แŠ• แฃ แˆ›แ‹‹แ‰€แˆญแŠ• แฃ แ“แŠฌแŒ†แ‰ฝแŠ• แŠฅแŠ“ แˆŒแˆŽแ‰ฝ แˆ›แ‹แŒซแ‹Žแ‰ฝแŠ• แ‰ แ‰ฐแˆˆแ‹จ แˆ›แ‹แŒซ แ‹แˆตแŒฅ แˆ›แŠจแˆ›แ‰ธแ‰ต แ‹ญแ‰ฝแˆ‹แˆ‰ (แˆˆแˆแˆณแˆŒ แฃ แŠฅแŠ” แ‹จ patches แˆ›แ‹แŒซแ‹แŠ• แ‹ˆแ‹ฐ แ“แŠฌแŒ†แ‰ฝ แˆˆแˆ›แˆ˜แˆแŠจแ‰ต แฃ แ‰ฐแŒจแˆ›แˆช แ‹แˆญแ‹แˆฎแ‰ฝแŠ• แ‰ แ‰ฐแˆˆแ‹จ แŠญแแˆ แ‹แˆตแŒฅ แŠฅแŒ แ‰€แˆ›แˆˆแˆ) แŠฅแŠ“ buildroot แŠฅแˆซแˆฑ แ‰ แŠฅแАแ‹šแ‹ซ แ‹แˆตแŒฅ แ‹ญแŒจแˆแˆซแ‰ธแ‹‹แˆแข แ‹จแŠฅแˆฑ แˆ›แ‹แŒซ.

แˆ›แˆณแˆฐแ‰ขแ‹ซ: แ‰ฅแ‹™ แ‹แŒซแ‹Š แ‹›แŽแ‰ฝแŠ• แ‰ แŠ แŠ•แ‹ต แŒŠแ‹œ แˆ˜แ‹ฐแˆญแ‹ฐแˆญ แ‹ญแ‰ฝแˆ‹แˆ‰, แ‰  buildroot แˆ˜แˆ˜แˆชแ‹ซ แ‹แˆตแŒฅ แŠ แŠ•แ‹ต แˆแˆณแˆŒ แŠ แˆˆ

แŠจBuildroot แ‹ณแ‹ญแˆฌแŠญแ‰ฐแˆฉ แ‰€แŒฅแˆŽ แ‹จแˆšแŒˆแŠ แˆ›แ‹แŒซ my_tree แŠฅแŠ•แแŒ แˆญ แŠฅแŠ“ แŠ แ‹ˆแ‰ƒแ‰€แˆซแ‰ฝแŠ•แŠ• แ‹ˆแ‹ฐแ‹šแ‹ซ แŠฅแŠ“แˆตแ‰ฐแˆ‹แˆแแข แ‹แŒคแ‰ฑ แ‹จแˆšแŠจแ‰ฐแˆˆแ‹ แ‹จแ‹แ‹ญแˆ แˆ˜แ‹‹แ‰…แˆญ แˆ˜แˆ†แŠ• แŠ แˆˆแ‰ แ‰ต.

[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

แŠฅแŠ•แ‹ฐแˆšแˆ˜แˆˆแŠจแ‰ฑแ‰ต, แ‰ แŠ แŒ แ‰ƒแˆ‹แ‹ญ แˆ˜แ‹‹แ‰…แˆฉ แ‹จแŒˆแŠ•แ‰ขแ‹แŠ• แˆ˜แ‹‹แ‰…แˆญ แ‹ญแ‹ฐแŒแˆ›แˆ.

แˆ›แ‹แŒซ แˆฐแˆŒแ‹ณ แ‰ แŠฅแŠ› แˆแŠ”แ‰ณ แˆˆแŠฅแ‹ซแŠ•แ‹ณแŠ•แ‹ฑ แˆฐแˆŒแ‹ณ แ‹จแ‰ฐแ‹ˆแˆฐแŠ‘ แ‹แ‹ญแˆŽแ‰ฝแŠ• แ‹ญแ‹Ÿแˆแก-

  • bef_cr_fs_img.sh แŠขแˆ‹แˆ›แ‹แŠ• แ‹จแ‹แ‹ญแˆ แˆตแˆญแ‹“แ‰ต แŠจแ‰ฐแŒˆแАแ‰ฃ แ‰ แŠ‹แˆ‹ แŒแŠ• แ‹ˆแ‹ฐ แˆแˆตแˆŽแ‰ฝ แŠจแˆ›แˆธแŒ‰ แ‰ แŠแ‰ต แ‹จแˆšแˆแŒธแˆ แˆตแŠญแˆชแ•แ‰ต แАแ‹แข แ‹ˆแ‹ฐแŠแ‰ตแˆ แŠฅแŠ•แŒ แ‰€แˆ›แˆˆแŠ•แข
  • linux.config - แ‹จแŠจแˆญแАแˆ แ‹แ‰…แˆญ
  • rootfs_overlay - แ‰ แ‰ณแˆˆแˆ˜แ‹ แ‹จแ‹แ‹ญแˆ แˆตแˆญแ‹“แ‰ต แŠ แŠ“แ‰ต แˆ‹แ‹ญ แ‹จแˆšแ‹ฐแˆซแˆจแ‰ฅแ‰ แ‰ต แˆ›แ‹แŒซ
  • users.txt - แ‹จแˆšแˆแŒ แˆฉแ‰ตแŠ• แ‰ฐแŒ แ‰ƒแˆšแ‹Žแ‰ฝ แ‹จแˆšแŒˆแˆแŒฝ แ‹แ‹ญแˆ

แˆ›แ‹แŒซ แ‹แ‰…แˆฎแ‰ฝ แ‹จแŠฅแŠ›แŠ• แˆฐแˆŒแ‹ณแ‹Žแ‰ฝ defconfig แ‹ญแ‹Ÿแˆ. แ‹ซแˆˆแŠ• แŠ แŠ•แ‹ต แ‰ฅแ‰ป แАแ‹แข

แŒฅแ‰…แˆ - แŠซแ‰ณแˆŽแŒ แŠจแ“แŠฌแŒ†แ‰ปแ‰ฝแŠ• แŒ‹แˆญแข แˆ˜แŒ€แˆ˜แˆชแ‹ซ แˆ‹แ‹ญ, buildroot แ‹จแ‰ฐแ‹ˆแˆฐแŠ‘ แŒฅแ‰…แˆŽแ‰ฝแŠ• แˆˆแˆ˜แŒˆแŠ•แ‰ฃแ‰ต แˆ˜แŒแˆˆแŒซแ‹Žแ‰ฝแŠ• แŠฅแŠ“ แ‹ฐแŠ•แ‰ฆแ‰ฝแŠ• แ‹ญแ‹Ÿแˆ. แ‰ แŠ‹แˆ‹ แ‹จ icewm แˆ˜แˆตแŠฎแ‰ต แŠ แˆตแ‰ฐแ‹ณแ‹ณแˆชแŠ• แŠฅแŠ“ แ‹จ Slim แŒแˆซแŠแŠญ แˆ˜แŒแ‰ขแ‹ซ แŠ แˆตแ‰ฐแ‹ณแ‹ณแˆชแŠ• แŠฅแ‹šแˆ… แŠฅแŠ•แŒจแˆแˆซแˆˆแŠ•แข
แŒฅแŒˆแŠ“แ‹Žแ‰ฝ - แˆˆแ‰ฐแˆˆแ‹ซแ‹ฉ แŒฅแ‰…แˆŽแ‰ฝ แ‹จแŠฅแˆญแˆตแ‹ŽแŠ• แŒฅแŒˆแŠ“แ‹Žแ‰ฝ แ‰ แ‰ฐแˆ˜แŒฃแŒฃแŠ แˆแŠ”แ‰ณ แŠฅแŠ•แ‹ฒแ‹ซแŠจแˆ›แ‰น แ‹ซแˆตแ‰ฝแˆแ‹Žแ‰ณแˆแข แŠจแ‹šแˆ… แ‰ แ‰ณแ‰ฝ แ‰ แ‰ฐแˆˆแ‹จ แŠญแแˆ แ‰ฐแŒจแˆ›แˆช แ‹แˆญแ‹แˆฎแ‰ฝ.
แŠ แˆแŠ• แˆˆแ‹แŒซแ‹Š-แ‹›แ แ‹จแˆ›แ‰ฅแˆซแˆชแ‹ซ แ‹แ‹ญแˆŽแ‰ฝแŠ• แˆ›แŠจแˆ แŠ แˆˆแ‰ฅแŠ•. แˆˆแ‹šแˆ… แ‰ฐแŒ แ‹ซแ‰‚ แ‹จแˆ†แŠ‘ 3 แ‹แ‹ญแˆŽแ‰ฝ แŠ แˆ‰ แ‹แŒซแ‹Š.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_Tre/, แ‹จแ‹แŒญ แ‹›แ แŠ แŒ แ‰ƒแ‰€แˆแŠ• แ‹จแˆšแ‹ซแˆ˜แˆˆแŠญแ‰ต, แ‰ แ‰ฐแˆ˜แˆณแˆณแ‹ญ แŒŠแ‹œ แŒฅแ‰…แˆ แˆ‹แ‹ญ แ‹จแˆšแ‹แˆ‰ แ‰ฅแ‹™ แ‹แŒซแ‹Š แ‹›แŽแ‰ฝแŠ• แˆ˜แŒแˆˆแŒฝ แ‹ญแ‰ฝแˆ‹แˆ‰, แ‰ แ‹šแˆ… แˆแŠ”แ‰ณ, แ‹ญแˆ…แŠ•แŠ• แŠ แŠ•แ‹ต แŒŠแ‹œ แ‰ฅแ‰ป แˆ›แ‹ตแˆจแŒ แ‹ซแˆตแˆแˆแŒแ‹Žแ‰ณแˆ, แŠจแ‹šแ‹ซ แ‰ แŠ‹แˆ‹ แ‹จแ‹แ‹ญแˆ แ‹แ…แ‹“แ‰ต / .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, post-build แˆตแŠญแˆชแ•แ‰ถแ‰ฝแŠ• แ‰ แˆ˜แŒ แ‰€แˆ

แ‹ญแˆ… แŠ•แŠกแˆต แˆœแŠ‘ แ“แŠฌแŒ†แ‰ปแ‰ฝแŠ•แŠ• แŠจแ‹แŒช-แ‹›แ‹แ‰ฝแŠ• แ‹ญแ‹ญแ‹›แˆแข แ‹ญแˆ… แŠญแแˆ แ‰ แŠ แˆแŠ‘ แŒŠแ‹œ แ‰ฃแ‹ถ แАแ‹แข

แŠ แˆแŠ• แ‹แŒซแ‹Š-แ‹›แ แˆˆแˆ˜แŒ แ‰€แˆ แŠ แˆตแˆแˆ‹แŒŠ แ‹จแˆ†แŠ‘แ‰ตแŠ• แˆ˜แŠ•แŒˆแ‹ถแ‰ฝ แŠฅแŠ•แ‹ฐแŒˆแŠ“ แˆ˜แƒแ แˆˆแŠฅแŠ› แ‰ แŒฃแˆ แŠ แˆตแˆแˆ‹แŒŠ แАแ‹.

แŠฅแ‰ฃแŠญแ‹ŽแŠ• แ‰ แŒแŠ•แ‰ฅ แŠ แˆ›แˆซแŒฎแ‰ฝ โ†’ แ‰ฆแ‰ณ แ‹จ buildroot config แŠญแแˆแŠ• แˆˆแˆ›แˆตแ‰€แˆ˜แŒฅ แฃ แ‹ˆแ‹ฐแ‰ฐแ‰€แˆ˜แŒ แ‹ แ‹จแ‹ดแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแˆแข แ‹จแ‰ฐแ‰‹แ‰‹แˆ˜แ‹ แ‹จ extgernal_แ‹›แ แŠ แŒ แ‰ƒแ‰€แˆแŠ• แ‰ แˆšแŒˆแˆแŒฝแ‰ แ‰ต แŒŠแ‹œ แАแ‹แข

แŠฅแŠ•แ‹ฒแˆแˆ แ‰ แˆตแˆญแ‹“แ‰ต แ‹แ‰…แˆญ แŠญแแˆ แ‹แˆตแŒฅ แ‹ซแˆ‰แ‰ตแŠ• แˆ˜แŠ•แŒˆแ‹ถแ‰ฝ แŠฅแŠ“แˆตแ‰ฐแŠซแŠญแˆ‹แˆˆแŠ•. แˆˆแ‰ฐแˆแŒ แˆฉ แ‰ฐแŒ แ‰ƒแˆšแ‹Žแ‰ฝ แˆฐแŠ•แŒ แˆจแ‹ฅแก-

$(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 แ‰ฐแ‹ฐแˆซแ‰ข แŠฅแŠ“ แ‰ แ‹’แˆ‹แˆ› แ‹แˆตแŒฅ แŠจแˆ†แА, แŠจแ‹šแ‹ซแˆ แ‹ญแ‰ฐแŠซแ‹‹แˆ.
แˆ˜แŒ€แˆ˜แˆชแ‹ซ แ‹จ root fs แ‰ฐแ‹ฐแˆซแ‰ข dir แˆ˜แŠ•แŒˆแ‹ฑแŠ• แŠฅแŠ“แ‹˜แŒ‹แŒ…แข แ‹ญแˆ… แ‰ แˆตแˆญแ‹“แ‰ต แ‹แ‰…แˆญ โ†’ แ‹จแˆตแˆญ แ‹แ‹ญแˆ แˆตแˆญแ‹“แ‰ต แ‰ฐแ‹ฐแˆซแ‰ข แˆ›แ‹แŒซแ‹Žแ‰ฝ แŠญแแˆ แ‹แˆตแŒฅ แ‹ญแŠจแŠ“แ‹ˆแŠ“แˆแก

$(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)/แ‹จแ‹ˆแ‹˜แ‰ฐ/แŠ แˆตแ‰ฐแŠ“แŒ‹แŒ†แ‰ฝแŠ• แ‹แ‹ญแˆ แ‰ แ‰ฐแŒ แŠ“แ‰€แ‰€แ‹ แˆตแˆญแ‹“แ‰ต แ‹ญแ‰ฐแŠซแˆแข แˆแˆˆแ‰ฐแŠ›แ‹ แ‹แ‹ญแˆ (cat my_tree/board/my_x86_board/rootfs_overlay/new_file.txt) แ‹ญแ‰ณแŠจแˆ‹แˆแข

แŠฅแŠ•แˆฐแ‰ แˆตแ‰ฃแˆˆแŠ• แŠฅแŠ“ แŠฅแŠ•แˆแ‰ตแˆปแˆˆแŠ•แก-

Buildroot - แŠญแแˆ 2. แ‹จแ‰ฆแˆญแ‹ต แ‹แ‰…แˆญ แˆ˜แแŒ แˆญ; แ‹แŒซแ‹Š แ‹›แ, rootfs-overlay, post-build แˆตแŠญแˆชแ•แ‰ถแ‰ฝแŠ• แ‰ แˆ˜แŒ แ‰€แˆ

แ‰ แ‰ฐแˆˆแ‹ซแ‹ฉ แ‹จแˆตแˆญแ‹“แ‰ต แˆตแ‰ฅแˆฐแ‰ฃ แ‹ฐแˆจแŒƒแ‹Žแ‰ฝ แˆ‹แ‹ญ แ‹จแˆ›แ‰ แŒ€แ‰ต แˆตแŠญแˆชแ•แ‰ถแ‰ฝแŠ• แˆ˜แˆแŒธแˆ

แ‰ฅแ‹™แ‹แŠ• แŒŠแ‹œ แ‰ แ‹’แˆ‹แˆ›แ‹ แ‹จแ‹แ‹ญแˆ แˆตแˆญแ‹“แ‰ต แ‹แˆตแŒฅ แ‹ˆแ‹ฐ แˆแˆตแˆŽแ‰ฝ แŠจแˆ˜แ‰ณแˆธแŒ‰ แ‰ แŠแ‰ต แŠ แŠ•แ‹ณแŠ•แ‹ต แˆตแˆซแ‹Žแ‰ฝแŠ• แˆ›แŠจแŠ“แ‹ˆแŠ• แ‹ซแˆตแˆแˆแŒแ‹Žแ‰ณแˆ.

แ‹ญแˆ… แ‰ แˆตแˆญแ‹“แ‰ต แ‹แ‰…แˆญ แŠญแแˆ แ‹แˆตแŒฅ แˆŠแŠจแŠ“แ‹ˆแŠ• แ‹ญแ‰ฝแˆ‹แˆ-

Buildroot - แŠญแแˆ 2. แ‹จแ‰ฆแˆญแ‹ต แ‹แ‰…แˆญ แˆ˜แแŒ แˆญ; แ‹แŒซแ‹Š แ‹›แ, rootfs-overlay, post-build แˆตแŠญแˆชแ•แ‰ถแ‰ฝแŠ• แ‰ แˆ˜แŒ แ‰€แˆ

แ‹จแˆ˜แŒ€แˆ˜แˆชแ‹ซแ‹Žแ‰น แˆแˆˆแ‰ต แˆตแŠญแˆชแ•แ‰ถแ‰ฝ แ‹จแˆšแŠจแŠ“แ‹ˆแŠ‘แ‰ต แ‹จแ‰ณแˆˆแˆ˜แ‹ แ‹จแ‹แ‹ญแˆ แˆตแˆญแ‹“แ‰ต แŠจแ‰ฐแŒˆแАแ‰ฃ แ‰ แŠ‹แˆ‹ แАแ‹, แАแŒˆแˆญ แŒแŠ• แ‹ˆแ‹ฐ แˆแˆตแˆŽแ‰ฝ แŠจแˆ˜แ‰ณแˆธแŒ‰ แ‰ แŠแ‰ต. แˆแ‹ฉแАแ‰ฑ แ‹จ fakeroot แˆตแŠญแˆชแ•แ‰ต แ‹จแˆšแˆฐแˆซแ‹ แ‰  fakeroot แŠ แ‹แ‹ต แ‹แˆตแŒฅ แˆฒแˆ†แŠ• แ‹ญแˆ…แˆ แˆตแˆซแŠ• แŠฅแŠ•แ‹ฐ แˆตแˆญ แ‰ฐแŒ แ‰ƒแˆš แ‹ซแ‹ฐแˆญแŒˆแ‹‹แˆแข

แ‹จแˆ˜แŒจแˆจแˆปแ‹ แˆตแŠญแˆชแ•แ‰ต แ‹จแˆšแŠจแŠ“แ‹ˆแАแ‹ แ‹จแˆตแˆญแ‹“แ‰ฑ แˆแˆตแˆŽแ‰ฝ แŠจแ‰ฐแˆแŒ แˆฉ แ‰ แŠ‹แˆ‹ แАแ‹. แ‰ แŠฅแˆฑ แ‹แˆตแŒฅ แ‰ฐแŒจแˆ›แˆช แ‹ตแˆญแŒŠแ‰ถแ‰ฝแŠ• แˆ›แŠจแŠ“แ‹ˆแŠ• แ‹ญแ‰ฝแˆ‹แˆ‰, แˆˆแˆแˆณแˆŒ, แŠ แˆตแˆแˆ‹แŒŠ แ‹จแˆ†แŠ‘แ‰ตแŠ• แ‹แ‹ญแˆŽแ‰ฝ แ‹ˆแ‹ฐ NFS แŠ แŒˆแˆแŒ‹แ‹ญ แ‹ญแ‰…แ‹ฑ แ‹ˆแ‹ญแˆ แ‹จแˆ˜แˆฃแˆชแ‹ซแ‹ŽแŠ• firmware แˆแˆตแˆ แ‹ญแแŒ แˆฉ.

แŠฅแŠ•แ‹ฐ แˆแˆณแˆŒแฃ แˆตแˆชแ‰ฑแŠ• แ‹จแˆšแŒฝแ แŠฅแŠ“ แ‰€แŠ‘แŠ• แ‹ˆแ‹ฐ /etc/ แ‹จแˆšแŒˆแАแ‰ฃ แˆตแŠญแˆชแ•แ‰ต แŠฅแˆแŒฅแˆซแˆˆแˆแข
แ‰ แˆ˜แŒ€แˆ˜แˆชแ‹ซ แ‹ˆแ‹ฐแ‹šแˆ… แ‹แ‹ญแˆ แ‹จแˆšแ‹ˆแˆตแ‹ฐแ‹แŠ• แˆ˜แŠ•แŒˆแ‹ต แ‰ แ‹แŒซแ‹Š แ‹›แแ‹ฌ แ‹แˆตแŒฅ แŠฅแŒ แ‰แˆ›แˆˆแˆแก-

Buildroot - แŠญแแˆ 2. แ‹จแ‰ฆแˆญแ‹ต แ‹แ‰…แˆญ แˆ˜แแŒ แˆญ; แ‹แŒซแ‹Š แ‹›แ, rootfs-overlay, post-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_fakrooot_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. แ‹ญแˆ…แŠ•แŠ• แˆตแŠญแˆชแ•แ‰ต แ‰ แˆตแˆญแ‹“แ‰ต แ‹แ‰…แˆจแ‰ต แ‹แˆตแŒฅ แ‰ แ‰ฆแˆญแ‹ต แ‰…แŠ•แŒ…แ‰ถแ‰ฝ แ‹แˆตแŒฅ แŒˆแˆแ€แ‹‹แˆ -> แ‰ฅแŒ แˆตแŠญแˆชแ•แ‰ถแ‰ฝ แ‰ แˆแˆฐแ‰ต แŠ แŠจแ‰ฃแ‰ข แ‹แˆตแŒฅ แŠฅแŠ•แ‹ฒแˆ„แ‹ฑ ($(BR2_EXTERNAL_my_tree_PATH)/board/my_x86_board/run_inside_fakrooot.sh) แŠญแแˆ

แˆแŠ•แŒญ: hab.com

แ‰ DDoS แŒฅแ‰ แ‰ƒแฃ VPS VDS แŠ แŒˆแˆแŒ‹แ‹ฎแ‰ฝ แˆˆแŒฃแ‰ขแ‹ซแ‹Žแ‰ฝ แŠ แˆตแ‰ฐแˆ›แˆ›แŠ แˆ›แˆตแ‰ฐแŠ“แŒˆแŒƒ แ‹ญแŒแ‹™ ๐Ÿ”ฅ แŠ แˆตแ‰ฐแˆ›แˆ›แŠ แ‹จแ‹ตแˆญ แŒฃแ‰ขแ‹ซ แˆ›แˆตแ‰ฐแŠ“แŒˆแŒƒ แ‰ แ‹ฒแ‹ถแŠคแˆต แŒฅแ‰ แ‰ƒแฃ แ‰ แ‰ชแ’แŠคแˆต แ‰ชแ‹ฒแŠคแˆต แŠ แŒˆแˆแŒ‹แ‹ฎแ‰ฝ แ‹ญแŒแ‹™ | ProHoster