Buildroot - рднрд╛рдЧ 2. рддрдкрд╛рдИрдВрдХреЛ рдмреЛрд░реНрдб рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджреИ; рдмрд╛рд╣реНрдп рд░реВрдЦ, rootfs-рдУрднрд░рд▓реЗ, рдкреЛрд╕реНрдЯ-рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ

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

рдЕрдиреБрдХреВрд▓рдирдХреЛ рд▓рд╛рдЧрд┐ рдмрд╛рд╣реНрдп рд╕рдВрдпрдиреНрддреНрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ

рдЕрдШрд┐рд▓реНрд▓реЛ рд▓реЗрдЦрдорд╛ рд╣рд╛рдореАрд▓реЗ рдмреЛрд░реНрдбрдХреЛ рдбрд┐рдлрдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд░ рдЖрд╡рд╢реНрдпрдХ рдлрд╛рдЗрд▓рд╣рд░реВ рд╕рд┐рдзреИ 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 - рд▓рдХреНрд╖рд┐рдд рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реАрдХреЛ рд╢реАрд░реНрд╖рдорд╛ рдУрднрд░рд▓реЗ рдЧрд░реНрди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛
  • user.txt - рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдиреЗ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВ рд╡рд░реНрдгрди рдЧрд░реНрдиреЗ рдлрд╛рдЗрд▓

рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд╣рд╛рдореНрд░реЛ рдмреЛрд░реНрдбрд╣рд░реВрдХреЛ defconfig рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред рд╣рд╛рдореАрд╕рдБрдЧ рдПрдЙрдЯрд╛ рдорд╛рддреНрд░ рдЫред

рдкреНрдпрд╛рдХреЗрдЬ - рд╣рд╛рдореНрд░реЛ рдкреНрдпрд╛рдХреЗрдЬ рд╕рдВрдЧ рд╕реВрдЪреАред рд╕реБрд░реБрдорд╛, рдмрд┐рд▓реНрдбрд░реВрдЯрд▓реЗ рд╕реАрдорд┐рдд рд╕рдВрдЦреНрдпрд╛рдорд╛ рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рд╡рд┐рд╡рд░рдг рд░ рдирд┐рдпрдорд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред рдкрдЫрд┐ рд╣рд╛рдореА рдпрд╣рд╛рдБ icewm рд╡рд┐рдиреНрдбреЛ рдкреНрд░рдмрдиреНрдзрдХ рд░ рд╕реНрд▓рд┐рдо рдЧреНрд░рд╛рдлрд┐рдХрд▓ рд▓рдЧрдЗрди рдкреНрд░рдмрдиреНрдзрдХ рдердкреНрдиреЗрдЫреМрдВред
рдкреНрдпрд╛рдЪрд╣рд░реВ - рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╡рд┐рднрд┐рдиреНрди рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рддрдкрд╛рдИрдВрдХреЛ рдкреНрдпрд╛рдЪрд╣рд░реВ рд╕рдЬрд┐рд▓реИ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рддрд▓рдХреЛ рдЫреБрдЯреНрдЯреИ рдЦрдгреНрдбрдорд╛ рдердк рд╡рд┐рд╡рд░рдгрд╣рд░реВред
рдЕрдм рд╣рд╛рдореАрд▓реЗ рд╣рд╛рдореНрд░реЛ рдмрд╛рд╣реНрдп рд░реВрдЦрдХреЛ рд▓рд╛рдЧрд┐ рд╡рд┐рд╡рд░рдг рдлрд╛рдЗрд▓рд╣рд░реВ рдердкреНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдпрд╕рдХрд╛ рд▓рд╛рдЧрд┐ рдЬрд┐рдореНрдореЗрд╡рд╛рд░ 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

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

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

рджреЛрд╕реНрд░реЛ рдкрдЩреНрдХреНрддрд┐ рдЫреЛрдЯреЛ, рдорд╛рдирд╡-рдкрдардиреАрдп рд╡рд┐рд╡рд░рдг рд╣реЛред

Config.in, external.mk - рдердкрд┐рдПрдХреЛ рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВ рд╡рд░реНрдгрди рдЧрд░реНрди рдлрд╛рдЗрд▓рд╣рд░реВред рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдЖрдлреНрдиреИ рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВ рдердкреНрдиреБрднрдПрди рднрдиреЗ, рддреНрдпрд╕рдкрдЫрд┐ рдпреА рдлрд╛рдЗрд▓рд╣рд░реВ рдЦрд╛рд▓реА рдЫреЛрдбреНрди рд╕рдХрд┐рдиреНрдЫред рдЕрд╣рд┐рд▓реЗрдХреЛ рд▓рд╛рдЧрд┐, рд╣рд╛рдореА рдХреЗ рдЧрд░реНрдиреЗрдЫреМрдВред
рдЕрдм рд╣рд╛рдореАрд╕рдБрдЧ рд╣рд╛рдореНрд░реЛ рдмреЛрд░реНрдбрдХреЛ рдбрд┐рдлрдХрдиреНрдлрд┐рдЧ рд░ рддреНрдпрд╕рд▓рд╛рдИ рдЪрд╛рд╣рд┐рдиреЗ рдлрд╛рдЗрд▓рд╣рд░реВ рд╕рд╣рд┐рдд рд╣рд╛рдореНрд░реЛ рдмрд╛рд╣реНрдп-рд░реВрдЦ рддрдпрд╛рд░ рдЫред рдмрд┐рд▓реНрдбрд░реВрдЯ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдорд╛ рдЬрд╛рдФрдВ рд░ external-tree рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реН:

[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-рдУрднрд░рд▓реЗ, рдкреЛрд╕реНрдЯ-рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ

рдпреЛ рд╕рдмрдореЗрдиреБрд▓реЗ рд╣рд╛рдореНрд░реЛ рдмрд╛рд╣реНрдп-рд░реВрдЦрдмрд╛рдЯ рд╣рд╛рдореНрд░рд╛ рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрдиреЗрдЫред рдпреЛ рдЦрдгреНрдб рд╣рд╛рд▓ рдЦрд╛рд▓реА рдЫред

рдЕрдм рд╣рд╛рдореАрд▓рд╛рдИ рдмрд╛рд╣реНрдп-рд░реВрдЦ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдорд╛рд░реНрдЧрд╣рд░реВ рдкреБрди: рд▓реЗрдЦреНрди рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЫред

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджрд┐рдиреБрд╣реЛрд╕реН рдХрд┐ рдмрд┐рд▓реНрдб рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ тЖТ рдмрд┐рд▓реНрдбрд░реВрдЯ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдЦрдгреНрдб рдмрдЪрдд рдЧрд░реНрди рд╕реНрдерд╛рдирдорд╛, рдмрдЪрдд рдЧрд░рд┐рдПрдХреЛ рдбрд┐рдлрдХрдиреНрдлрд┐рдЧрдХреЛ рд▓рд╛рдЧрд┐ рдирд┐рд░рдкреЗрдХреНрд╖ рдорд╛рд░реНрдЧ рд╣реБрдиреЗрдЫред рдпреЛ 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 рдУрднрд░рд▓реЗ рдердкреНрджреИ:

рдпреЛ рд╕рдВрдпрдиреНрддреНрд░рд▓реЗ рддрдкрд╛рдИрд▓рд╛рдИ рд▓рдХреНрд╖реНрдп рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реАрдорд╛ рд╕рдЬрд┐рд▓реИрд╕рдБрдЧ рдлрд╛рдЗрд▓рд╣рд░реВ рдердкреНрди/рдмрджрд▓реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред
рдпрджрд┐ рдлрд╛рдЗрд▓ рд░реВрдЯ fs рдУрднрд░рд▓реЗрдорд╛ рдЫ, рддрд░ рд▓рдХреНрд╖реНрдпрдорд╛ рдЫреИрди, рддреНрдпрд╕рдкрдЫрд┐ рдпреЛ рдердкрд┐рдиреЗрдЫ
рдпрджрд┐ рдлрд╛рдЗрд▓ рд░реВрдЯ fs рдУрднрд░рд▓реЗ рд░ рд▓рдХреНрд╖реНрдпрдорд╛ рдЫ рднрдиреЗ, рдпрд╕рд▓рд╛рдИ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░рд┐рдиреЗрдЫред
рдкрд╣рд┐рд▓реЗ, рд░реВрдЯ 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) рд▓реЗ рд╕рдорд╛рдкреНрдд рдкреНрд░рдгрд╛рд▓реАрдорд╛ /etc/hosts рдлрд╛рдЗрд▓рд▓рд╛рдИ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░реНрдиреЗрдЫред рджреЛрд╕реНрд░реЛ рдлрд╛рдЗрд▓ (cat my_tree/board/my_x86_board/rootfs_overlay/new_file.txt) рдердкрд┐рдиреЗрдЫред

рд╣рд╛рдореА рд╕рдЩреНрдХрд▓рди рд░ рдЬрд╛рдБрдЪ:

Buildroot - рднрд╛рдЧ 2. рддрдкрд╛рдИрдВрдХреЛ рдмреЛрд░реНрдб рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджреИ; рдмрд╛рд╣реНрдп рд░реВрдЦ, rootfs-рдУрднрд░рд▓реЗ, рдкреЛрд╕реНрдЯ-рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ

рдкреНрд░рдгрд╛рд▓реА рд╕рдВрдпреЛрдЬрдирдХреЛ рд╡рд┐рднрд┐рдиреНрди рдЪрд░рдгрд╣рд░реВрдорд╛ рдЕрдиреБрдХреВрд▓рди рд▓рд┐рдкрд┐рд╣рд░реВрдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди

рдкреНрд░рд╛рдп: рддрдкрд╛рдИрдВрд▓реЗ рд▓рдХреНрд╖реНрдп рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реА рднрд┐рддреНрд░ рдЫрд╡рд┐рд╣рд░реВрдорд╛ рдкреНрдпрд╛рдХреЗрдЬ рдЧрд░реНрдиреБ рдЕрдШрд┐ рдХреЗрд╣реА рдХрд╛рдо рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред

рдпреЛ рдкреНрд░рдгрд╛рд▓реА рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдЦрдгреНрдбрдорд╛ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ:

Buildroot - рднрд╛рдЧ 2. рддрдкрд╛рдИрдВрдХреЛ рдмреЛрд░реНрдб рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджреИ; рдмрд╛рд╣реНрдп рд░реВрдЦ, rootfs-рдУрднрд░рд▓реЗ, рдкреЛрд╕реНрдЯ-рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ

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

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

рдЙрджрд╛рд╣рд░рдгрдХреЛ рд░реВрдкрдорд╛, рдо рдПрдЙрдЯрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗрдЫреБ рдЬрд╕рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рд▓реЗрдЦреНрдиреЗрдЫ рд░ рдорд┐рддрд┐ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрдиреЗрдЫ /etc/ред
рдкрд╣рд┐рд▓реЗ рдо рдореЗрд░реЛ рдмрд╛рд╣реНрдп рд░реВрдЦрдорд╛ рдпреЛ рдлрд╛рдЗрд▓рдХреЛ рдорд╛рд░реНрдЧ рд╕рдВрдХреЗрдд рдЧрд░реНрдиреЗрдЫреБ:

Buildroot - рднрд╛рдЧ 2. рддрдкрд╛рдИрдВрдХреЛ рдмреЛрд░реНрдб рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджреИ; рдмрд╛рд╣реНрдп рд░реВрдЦ, rootfs-рдУрднрд░рд▓реЗ, рдкреЛрд╕реНрдЯ-рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ

рд░ рдЕрдм рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрдлреИрдВ:

[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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди