рдЖрдкрдХреЗ рдПрдореНрдмреЗрдбреЗрдб рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдХреМрди рд╕рд╛ рд╡рд┐рддрд░рдг рдмреЗрд╣рддрд░ рд╣реИ?

рдПрдореНрдмреЗрдбреЗрдб рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдХреМрди рд╕рд╛ рд╡рд┐рддрд░рдг рдмреЗрд╣рддрд░ рд╣реИред рдпрд╣ рдореБрджреНрджрд╛ рдЖрдЬ рднреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИред

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреАрди рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИрдВ:

  1. рдЕрдкрдиреЗ рдПрдХрд▓-рдмреЛрд░реНрдб рдХрдВрдкреНрдпреВрдЯрд░ (рдЖрд░реНрдордмрд┐рдпрди, рдУрдкрдирд░рдЯ, рдЖрджрд┐) рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╡рд┐рддрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
  2. рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо (Buildroot / Yocto, рдЖрджрд┐) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рд╡рд┐рддрд░рдг рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред
  3. рдЕрдкрдиреЗ рдмрдВрдбрд▓ рдмреВрдЯрд▓реЛрдбрд░ (рдпреВ-рдмреВрдЯ) + рдХрд░реНрдиреЗрд▓ (рдХрд░реНрдиреЗрд▓) + рд░реВрдЯрдлрд╝реНрд╕ (рдмрд┐рдЬреАрдмреЙрдХреНрд╕) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдЕрдЧрд░ рдХрд┐рд╕реА рдФрд░ рдХреЛ рдкрддрд╛ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд▓рд┐рдЦреЗрдВред
рдЕрджреНрдпрддрдиред
рдПрдХ OpenWRT рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдПрдХ рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо (рдпрд╣ рдПрдХ рдмрд┐рд▓реНрдбрд░реЛрдЯ рдирд╣реАрдВ рд╣реИ) рдФрд░ рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рд▓рдХреНрд╖реНрдп рдмреЛрд░реНрдб рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░-рдирд┐рд░реНрдорд┐рдд рдЕрд╕реЗрдВрдмрд▓реА рдЪрд┐рддреНрд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред


рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рд╡рд┐рддрд░рдг


рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд░реЗрдбреА-рдореЗрдб рд╡рд┐рддрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рдФрд░ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИред рдЖрдк рддреИрдпрд╛рд░ рдЫрд╡рд┐ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдкрдиреА Armbain рдЫрд╡рд┐ рдХреЛ рд╣рдореЗрд╢рд╛ рд▓рдЪреАрд▓рд╛ рд░рдЦрдирд╛, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рдХреЗ рдХрд┐рд╕реА рднреА рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЪрдпрди рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЙрдкрд▓рдмреНрдз рд▓реЛрдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

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


рдЖрд░реНрдордмрд┐рдпрди рдПрдХ рд▓реЛрдХрдкреНрд░рд┐рдп рд▓рд┐рдирдХреНрд╕ рд╡рд┐рддрд░рдг рд╣реИ рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдПрдЖрд░рдПрдо рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИ: рдСрд░реЗрдВрдЬ рдкрд╛рдИ, рдмрдирд╛рдирд╛ рдкрд╛рдИ, рдУрдбрд╛рдпрд░рд╛рдЗрдб, рдЖрджрд┐ ... рдпрд╣ рдЙрдмрдВрдЯреВ рдФрд░ / рдпрд╛ рдбреЗрдмрд┐рдпрди рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред
www.armbian.com



OpenWrt рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рдПрдореНрдмреЗрдбреЗрдб рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╣реИ рдФрд░ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╣реЛрдо рд░реВрдЯрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореБрдЦреНрдп рдШрдЯрдХреЛрдВ рдореЗрдВ рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓, рдЙрдкрдпреЛрдЧ-рд▓рд┐рдирдХреНрд╕, uClibc рдпрд╛ musl рдФрд░ рдмрд┐рдЬреАрдмреЙрдХреНрд╕ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рд╕рднреА рдШрдЯрдХреЛрдВ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдШрд░реЗрд▓реВ рд░рд╛рдЙрдЯрд░ рдореЗрдВ рдмрд╣реБрдд рд╕реАрдорд┐рдд рдорд╛рддреНрд░рд╛ рдореЗрдВ рдореЗрдореЛрд░реА рд╣реЛрддреА рд╣реИред

рдореИрдВ рдЕрдкрдиреЗ рдЖрдк рд╕реЗ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдмреЛрд░реНрдб рдкрд░ рд╡рд╛рдИ-рдлрд╛рдИ рд╡рд╛рд▓реЗ рдмреЛрд░реНрдб (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдСрд░реЗрдВрдЬ рдкреА рдЬреАрд░реЛ)ред
openwrt.org

рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдкреНрд░рдгрд╛рд▓реА


рдЕрд╕реЗрдВрдмрд▓реА рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдореБрдЦреНрдп рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдПрдореНрдмреЗрдбреЗрдб рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо рдФрд░ рд▓рдЪреАрд▓реЗ рд▓рд┐рдирдХреНрд╕ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

BuildRoot



Buildroot рдПрдореНрдмреЗрдбреЗрдб рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рддрд░рдг рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо рд╣реИред рдпрд╣ рдмреЛрд░реНрдбреЛрдВ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдХрд╛рдо рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдЗрдХрдЯреНрдареЗ рдмреВрдЯрд▓реЛрдбрд░, рдХрд░реНрдиреЗрд▓ рдФрд░ рдЫрд╡рд┐ рд╣реИ
рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдоред

рдпрд╣ рдЖрдкрдХреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдбрд░реЛрдЯ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:

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

рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╕рднреА рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрд░реЛрдд рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдЦреАрдВрдЪреЗ рдЧрдП рд╣реИрдВред

рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЛ рднреЗрджрдирд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрд░реНрдордмрд┐рдпрди рд╡рд┐рдзрд╛рдирд╕рднрд╛ рд╕реЗ:

  • рд╡рд┐рддрд░рдг (рдбреЗрдмрд┐рдпрди рдпрд╛ рдЙрдмрдВрдЯреВ) рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдХрд╕реНрдЯрдо рд▓рдЪреАрд▓рд╛ рд▓рд┐рдирдХреНрд╕ рд╣реИред
  • рдиреНрдпреВрдирддрдо рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдЖрдХрд╛рд░ред
  • рдХрд┐рд╕реА рднреА рдХрд░реНрдиреЗрд▓ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЪрдпрдиред

buildroot.org

3. рдЕрдкрдиреЗ рдмрдВрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛:

рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП:

  • рдХреНрд░реЙрд╕ рдХрдВрдкрд╛рдЗрд▓рд░ (рдЬреИрд╕реЗ рд▓рд┐рдирд╛рд░реЛ);
  • рдмреВрдЯрд▓реЛрдбрд░ (рдЬреИрд╕реЗ рдпреВ-рдмреВрдЯ);
  • рдХрд░реНрдиреЗрд▓;
  • RootFs (рдЙрджрд╛ред рдмрд┐рдЬреАрдмреЙрдХреНрд╕)ред

рддреЛ рдЪрд▓рд┐рдП рдЪрд▓рддреЗ рд╣реИрдВред
рдЗрд╕рд▓рд┐рдП рд╣рдо рдЕрдкрдиреА рдорд╢реАрди рдкрд░ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдПрдХрддреНрд░ рдХрд░реЗрдВрдЧреЗ рд╣рдореЗрдВ рдПрдХ рдХреНрд░реЙрд╕ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрдиреЗрд░реЛред рдХреНрд░реЙрд╕ рдХрдВрдкрд╛рдЗрд▓рд░ рд▓рдХреНрд╖реНрдп рдПрдЖрд░рдПрдо рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рд╡рд┐рддрд░рдг рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП x86 рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдкрд░ рдорджрдж рдХрд░реЗрдЧрд╛ред
www.linaro.org

рдЕрдЧрд▓рд╛, рдЖрдкрдХреЛ рдПрдХ рдмреВрдЯрд▓реЛрдбрд░ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдмреВрдЯрд▓реЛрдбрд░ (рдпреВ-рдмреВрдЯ) - рдПрдЖрд░рдПрдо рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдмреВрдЯрд▓реЛрдбрд░, рдпреВ-рдмреВрдЯ рд╣реИред рдмреВрдЯрд▓реЛрдбрд░ рдХрд╛ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рдХрд░реНрдиреЗрд▓ рдХреЛ рдмреВрдЯ рдХрд░рдирд╛ рд╣реИред рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирдВрдЧреЗ рдмреЙрдХреНрд╕ рдпрд╛ рдЕрдиреНрдпред
www.denx.de/wiki/U-Boot


рдЕрдЧрд▓рд╛ред рд╣рдореЗрдВ рдХрд░реНрдиреЗрд▓ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рд╣рдореЗрдВ рдЕрдкрдиреЗ рд▓рдХреНрд╖реНрдп рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдХрд░реНрдиреЗрд▓ рдЫрд╡рд┐ рдФрд░ рдбрд┐рд╡рд╛рдЗрд╕ рдЯреНрд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
www.kernel.org

RootFs рд░реВрдЯ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╣реИ рдЬрд┐рд╕реЗ рдХрд░реНрдиреЗрд▓ рдмреВрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдорд╛рдЙрдВрдЯ рдХрд░реЗрдЧрд╛ред рдореИрдВ рдмрд┐рдЬреАрдмреЙрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред


busybox.net

рдирд┐рд╖реНрдХрд░реНрд╖


рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдХрд╣ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдмреБрд░реЗ рдпрд╛ рдЕрдЪреНрдЫреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рдЕрдкрдиреЗ рдлрд╛рдпрджреЗ рдФрд░ рдиреБрдХрд╕рд╛рди рд╣реИрдВред рдпрд╣ рдЖрдкрдХреЗ рдХрд╛рд░реНрдп рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдХрд┐рд╕ рдкрд░рд┐рдгрд╛рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

Source: https://habr.com/ru/post/hi465435/


All Articles