рдмрд┐рд▓реНрдбрд░реВрдЯ - рднрд╛рдЧ 2. рдЕрдкрдирд╛ рдмреЛрд░реНрдб рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрдирд╛рдирд╛; рдмрд╛рд╣рд░реА рдЯреНрд░реА, рд░реВрдЯрдлрд╝реНрд╕-рдУрд╡рд░рд▓реЗ, рдкреЛрд╕реНрдЯ-рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

рдЗрд╕ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдореИрдВ рдХреБрдЫ рдЕрдиреБрдХреВрд▓рди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рджреЗрдЦрддрд╛ рд╣реВрдВ рдЬрд┐рдирдХреА рдореБрдЭреЗ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдпрд╣ рдмрд┐рд▓реНрдбрд░реВрдЯ рдХреА рдкреЗрд╢рдХрд╢ рдХреА рдкреВрд░реА рд╕реВрдЪреА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗ рдХрд╛рдлреА рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╣реИрдВ рдФрд░ рдмрд┐рд▓реНрдбрд░реВрдЯ рдХреА рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рдмрд╛рд╣рд░реА рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

рдкрд┐рдЫрд▓реЗ рдПрдХ рд▓реЗрдЦ рдореЗрдВ рд╣рдордиреЗ рдмреЛрд░реНрдб рдХреЗ рдбрд┐рдХреЙрдиреНрдлрд╝рд┐рдЧ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реАрдзреЗ рдмрд┐рд▓реНрдбрд░реВрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЬреЛрдбрд╝рдХрд░ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦрд╛ред

рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд┐рдзрд┐ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдмрд┐рд▓реНрдбрд░реВрдЯ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╕рдордпред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрдВрддреНрд░ рд╣реИ рдмрд╛рд╣рд░реА рдкреЗрдбрд╝. рдЗрд╕рдХрд╛ рд╕рд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдмреЛрд░реНрдб, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди, рдкреИрдХреЗрдЬ рдФрд░ рдЕрдиреНрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВ рдкреИрдХреЗрдЬреЛрдВ рдкрд░ рдкреИрдЪ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреИрдЪ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдПрдХ рдЕрд▓рдЧ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг) рдФрд░ рдмрд┐рд▓реНрдбрд░реВрдЯ рд╕реНрд╡рдпрдВ рдЙрдиреНрд╣реЗрдВ рдЙрдирдореЗрдВ рдЬреЛрдбрд╝ рджреЗрдЧрд╛ рдЗрд╕рдХреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛.

рдиреЛрдЯ: рдЖрдк рдПрдХ рд╕рд╛рде рдХрдИ рдмрд╛рд╣рд░реА рдкреЗрдбрд╝реЛрдВ рдХреЛ рдУрд╡рд░рд▓реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдмрд┐рд▓реНрдбрд░реВрдЯ рдореИрдиреБрдЕрд▓ рдореЗрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ

рдЖрдЗрдП рдмрд┐рд▓реНрдбрд░реВрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рд╕реНрдерд┐рдд рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ 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 - рдмрдирд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓реА рдПрдХ рдлрд╝рд╛рдЗрд▓

рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЗрд╕рдореЗрдВ рд╣рдорд╛рд░реЗ рдмреЛрд░реНрдбреЛрдВ рдХрд╛ рдбрд┐рдХреЙрдиреНрдлрд┐рдЧ рд╢рд╛рдорд┐рд▓ рд╣реИред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдПрдХ рд╣реИ.

рдкреИрдХреЗрдЬ - рд╣рдорд╛рд░реЗ рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде рдХреИрдЯрд▓реЙрдЧред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдмрд┐рд▓реНрдбрд░реВрдЯ рдореЗрдВ рд╕реАрдорд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкреИрдХреЗрдЬ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╡рд░рдг рдФрд░ рдирд┐рдпрдо рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВред рдмрд╛рдж рдореЗрдВ рд╣рдо рдпрд╣рд╛рдВ рдЖрдЗрд╕рдбрдмреНрд▓реНрдпреВрдПрдо рд╡рд┐рдВрдбреЛ рдореИрдиреЗрдЬрд░ рдФрд░ рд╕реНрд▓рд┐рдо рдЧреНрд░рд╛рдлрд┐рдХрд▓ рд▓реЙрдЧрд┐рди рдореИрдиреЗрдЬрд░ рдЬреЛрдбрд╝реЗрдВрдЧреЗред
рдкреИрдЪ - рдЖрдкрдХреЛ рд╡рд┐рднрд┐рдиреНрди рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдкреИрдЪ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдиреАрдЪреЗ рдПрдХ рдЕрд▓рдЧ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдгред
рдЕрдм рд╣рдореЗрдВ рдЕрдкрдиреЗ рдмрд╛рд╣реНрдп-рд╡реГрдХреНрд╖ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╡рд░рдг рдлрд╝рд╛рдЗрд▓реЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП 3 рдлрд╝рд╛рдЗрд▓реЗрдВ рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВ: external.desc, config.in, external.mkред

external.desc рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд┐рд╡рд░рдг рд╢рд╛рдорд┐рд▓ рд╣реИ:

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

рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рд╢реАрд░реНрд╖рдХ рд╣реИ. рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдмрд┐рд▓реНрдбрд░реВрдЯ рдПрдХ рд╡реЗрд░рд┐рдПрдмрд▓ рдмрдирд╛рдПрдВ $(BR2_EXTERNAL_MY_TREE_PATH), рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╕рдордп рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрде рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

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

рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд, рдорд╛рдирд╡-рдкрдардиреАрдп рд╡рд┐рд╡рд░рдг рд╣реИред

рдХреЙрдиреНрдлрд┐рдЧ.рдЗрди, рдПрдХреНрд╕рдЯрд░реНрдирд▓.рдПрдордХреЗ - рдЬреЛрдбрд╝реЗ рдЧрдП рдкреИрдХреЗрдЬреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЗрдВред рдпрджрд┐ рдЖрдк рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдкреИрдХреЗрдЬ рдирд╣реАрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рдпреЗ рдлрд╝рд╛рдЗрд▓реЗрдВ рдЦрд╛рд▓реА рд░рд╣ рд╕рдХрддреА рд╣реИрдВред рдЕрднреА рдХреЗ рд▓рд┐рдП, рд╣рдо рдпрд╣реА рдХрд░реЗрдВрдЧреЗред
рдЕрдм рд╣рдорд╛рд░рд╛ рдПрдХреНрд╕рдЯрд░реНрдирд▓-рдЯреНрд░реА рддреИрдпрд╛рд░ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╣рдорд╛рд░реЗ рдмреЛрд░реНрдб рдХрд╛ рдбрд┐рдлрд╝реЙрдиреНрдлрд┐рдЧ рдФрд░ рдЙрд╕рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдлрд╝рд╛рдЗрд▓реЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЖрдЗрдП рдмрд┐рд▓реНрдбрд░реВрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдмрд╛рд╣рд░реА-рдЯреНрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ:

[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/, рдПрдХ рдмрд╛рд╣рд░реА рдкреЗрдбрд╝ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рдЖрдк рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдХрдИ рдмрд╛рд╣рд░реА-рдкреЗрдбрд╝реЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдПрдХ рдлрд╝рд╛рдЗрд▓ рдЖрдЙрдЯрдкреБрдЯ/.br-рдмрд╛рд╣рд░реА.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

рдорд╣рддреНрд╡рдкреВрд░реНрдг! рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрде рдкреВрд░реНрдг рд╣реЛрдВрдЧреЗ!

рдореЗрдиреВ рдореЗрдВ рдПрдХ рдмрд╛рд╣рд░реА рд╡рд┐рдХрд▓реНрдк рдЖрдЗрдЯрдо рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рд╣реИ:

рдмрд┐рд▓реНрдбрд░реВрдЯ - рднрд╛рдЧ 2. рдЕрдкрдирд╛ рдмреЛрд░реНрдб рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрдирд╛рдирд╛; рдмрд╛рд╣рд░реА рдЯреНрд░реА, рд░реВрдЯрдлрд╝реНрд╕-рдУрд╡рд░рд▓реЗ, рдкреЛрд╕реНрдЯ-рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

рдЗрд╕ рд╕рдмрдореЗрдиреВ рдореЗрдВ рд╣рдорд╛рд░реЗ рдмрд╛рд╣рд░реА-рдкреЗрдбрд╝ рд╕реЗ рд╣рдорд╛рд░реЗ рдкреИрдХреЗрдЬ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВрдЧреЗред рдпрд╣ рдЕрдиреБрднрд╛рдЧ рдлрд┐рд▓рд╣рд╛рд▓ рдЦрд╛рд▓реА рд╣реИ.

рдЕрдм рд╣рдорд╛рд░реЗ рд▓рд┐рдП external-tree рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдкрдереЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдмрд┐рд▓реНрдб рд╡рд┐рдХрд▓реНрдк тЖТ рдмрд┐рд▓реНрдбрд░реВрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХрд╛ рд╕реНрдерд╛рди рдЕрдиреБрднрд╛рдЧ рдореЗрдВ, рд╕рд╣реЗрдЬреЗ рдЧрдП рдбрд┐рдХреЙрдиреНрдлрд┐рдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреВрд░реНрдг рдкрде рд╣реЛрдЧрд╛ред рдпрд╣ extgernal_tree рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд╕рдордп рдмрдирддрд╛ рд╣реИред

рд╣рдо рд╕рд┐рд╕реНрдЯрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдкрдереЛрдВ рдХреЛ рднреА рд╕рд╣реА рдХрд░реЗрдВрдЧреЗред рдирд┐рд░реНрдорд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рд╡рд╛рд▓реА рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП:

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

рдХрд░реНрдиреЗрд▓ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ, рдХрд░реНрдиреЗрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдкрде рдмрджрд▓реЗрдВ:

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

рдЕрдм рд╣рдорд╛рд░реЗ рдПрдХреНрд╕рдЯрд░реНрдирд▓-рдЯреНрд░реА рд╕реЗ рд╣рдорд╛рд░реА рдлрд╝рд╛рдЗрд▓реЗрдВ рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рджреМрд░рд╛рди рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдПрдВрдЧреАред рдХрд┐рд╕реА рдЕрдиреНрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЬрд╛рдиреЗ рдпрд╛ рдмрд┐рд▓реНрдбрд░реВрдЯ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдкрд░ рд╣рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рд╕рдорд╕реНрдпрд╛рдПрдБ рд╣реЛрдВрдЧреАред

рд░реВрдЯ fs рдУрд╡рд░рд▓реЗ рдЬреЛрдбрд╝рдирд╛:

рдпрд╣ рддрдВрддреНрд░ рдЖрдкрдХреЛ рд▓рдХреНрд╖реНрдп рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдЬреЛрдбрд╝рдиреЗ/рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ рд░реВрдЯ рдПрдлрдПрд╕ рдУрд╡рд░рд▓реЗ рдореЗрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд▓рдХреНрд╖реНрдп рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛
рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ рд░реВрдЯ рдПрдлрдПрд╕ рдУрд╡рд░рд▓реЗ рдФрд░ рд▓рдХреНрд╖реНрдп рдореЗрдВ рд╣реИ, рддреЛ рдЗрд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рд░реВрдЯ рдПрдлрдПрд╕ рдУрд╡рд░рд▓реЗ рдбреАрдЖрдИрдЖрд░ рдХрд╛ рдкрде рд╕реЗрдЯ рдХрд░реЗрдВред рдпрд╣ рд╕рд┐рд╕реНрдЯрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди тЖТ рд░реВрдЯ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдУрд╡рд░рд▓реЗ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

$(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) рдЬреЛрдбрд╝реА рдЬрд╛рдПрдЧреАред

рд╣рдо рдПрдХрддреНрд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЬрд╛рдБрдЪ рдХрд░рддреЗ рд╣реИрдВ:

рдмрд┐рд▓реНрдбрд░реВрдЯ - рднрд╛рдЧ 2. рдЕрдкрдирд╛ рдмреЛрд░реНрдб рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрдирд╛рдирд╛; рдмрд╛рд╣рд░реА рдЯреНрд░реА, рд░реВрдЯрдлрд╝реНрд╕-рдУрд╡рд░рд▓реЗ, рдкреЛрд╕реНрдЯ-рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

рд╕рд┐рд╕реНрдЯрдо рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдЪрд░рдгреЛрдВ рдореЗрдВ рдЕрдиреБрдХреВрд▓рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди

рдЫрд╡рд┐рдпреЛрдВ рдореЗрдВ рдкреИрдХ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЕрдХреНрд╕рд░ рдЖрдкрдХреЛ рд▓рдХреНрд╖реНрдп рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЕрдВрджрд░ рдХреБрдЫ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдпрд╣ рд╕рд┐рд╕реНрдЯрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

рдмрд┐рд▓реНрдбрд░реВрдЯ - рднрд╛рдЧ 2. рдЕрдкрдирд╛ рдмреЛрд░реНрдб рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрдирд╛рдирд╛; рдмрд╛рд╣рд░реА рдЯреНрд░реА, рд░реВрдЯрдлрд╝реНрд╕-рдУрд╡рд░рд▓реЗ, рдкреЛрд╕реНрдЯ-рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

рдкрд╣рд▓реА рджреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рдХреНрд╖реНрдп рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рдж рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЫрд╡рд┐рдпреЛрдВ рдореЗрдВ рдкреИрдХ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗред рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдлрд╝реЗрдХрд░реВрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдлрд╝реЗрдХрд░реВрдЯ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рддрд╛ рд╣реИред

рд╕рд┐рд╕реНрдЯрдо рдЫрд╡рд┐рдпрд╛рдВ рдмрдирдиреЗ рдХреЗ рдмрд╛рдж рдЕрдВрддрд┐рдо рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред рдЖрдк рдЗрд╕рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрд╡рд╢реНрдпрдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдПрдирдПрдлрдПрд╕ рд╕рд░реНрд╡рд░ рдкрд░ рдХреЙрдкреА рдХрд░реЗрдВ рдпрд╛ рдЕрдкрдиреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдлрд╝рд░реНрдорд╡реЗрдпрд░ рдХреА рдПрдХ рдЫрд╡рд┐ рдмрдирд╛рдПрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рддреМрд░ рдкрд░, рдореИрдВ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдКрдВрдЧрд╛ рдЬреЛ рд╕рдВрд╕реНрдХрд░рдг рд▓рд┐рдЦреЗрдЧреА рдФрд░ /etc/ рдкрд░ рддрд╛рд░реАрдЦ рдмрдирд╛рдПрдЧреАред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдореИрдВ рдЕрдкрдиреЗ рдмрд╛рд╣реНрдп-рд╡реГрдХреНрд╖ рдореЗрдВ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрде рдмрддрд╛рдКрдВрдЧрд╛:

рдмрд┐рд▓реНрдбрд░реВрдЯ - рднрд╛рдЧ 2. рдЕрдкрдирд╛ рдмреЛрд░реНрдб рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрдирд╛рдирд╛; рдмрд╛рд╣рд░реА рдЯреНрд░реА, рд░реВрдЯрдлрд╝реНрд╕-рдУрд╡рд░рд▓реЗ, рдкреЛрд╕реНрдЯ-рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

рдФрд░ рдЕрдм рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрд╡рдпрдВ:

[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. рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕рд┐рд╕реНрдЯрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдмреЛрд░реНрдб рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ -> рдлрд╝реЗрдХрд░реВрдЯ рд╡рд╛рддрд╛рд╡рд░рдг ($(BR2_EXTERNAL_my_tree_PATH)/board/my_x86_board/run_inside_fakeroot.sh) рдЕрдиреБрднрд╛рдЧ рдХреЗ рдЕрдВрджрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╕реНрдЯрдо рд╕реНрдХреНрд░рд┐рдкреНрдЯ

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ