Raspberry Pi + Fedora (aarch64) = Wi-Fi Hotspot (แƒแƒœ แƒŸแƒแƒšแƒแƒก แƒ แƒแƒฃแƒขแƒ”แƒ แƒ˜ แƒšแƒฃแƒ แƒฏแƒ˜ แƒฅแƒฃแƒ“แƒ˜แƒ—)

แƒกแƒขแƒแƒขแƒ˜แƒ Raspberry Pi + CentOS = Wi-Fi Hotspot (แƒแƒœ แƒŸแƒแƒšแƒแƒก แƒ แƒแƒฃแƒขแƒ”แƒ แƒ˜ แƒฌแƒ˜แƒ—แƒ”แƒšแƒ˜ แƒฅแƒฃแƒ“แƒ˜แƒ—) แƒ›แƒ” แƒ•แƒ˜แƒกแƒแƒฃแƒ‘แƒ แƒ” CentOS แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— Raspberry-แƒ˜แƒก แƒฃแƒกแƒแƒ“แƒ”แƒœแƒ แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒก แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒแƒ“ แƒ’แƒแƒ“แƒแƒฅแƒชแƒ”แƒ•แƒ˜แƒก แƒ’แƒ–แƒแƒ–แƒ”. แƒแƒ› แƒœแƒแƒฎแƒแƒ–แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ— แƒฉแƒ”แƒ›แƒ˜ แƒกแƒแƒฎแƒšแƒ˜แƒก แƒ แƒแƒฃแƒขแƒ”แƒ แƒ˜แƒก แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒ—, แƒ›แƒ” แƒ“แƒแƒ•แƒแƒ™แƒ›แƒแƒงแƒแƒคแƒ˜แƒšแƒ” แƒฉแƒ”แƒ›แƒ˜ แƒจแƒ”แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ”แƒ’แƒ แƒ“แƒ แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒ” แƒกแƒ˜แƒ›แƒจแƒ•แƒ˜แƒ“แƒ” แƒฉแƒ”แƒ›แƒ˜ แƒ›แƒงแƒฃแƒ“แƒ แƒ แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜ แƒ”แƒšแƒ”แƒ›แƒ”แƒœแƒขแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ—แƒฃแƒ›แƒชแƒ, แƒแƒ›แƒแƒฎแƒกแƒœแƒ˜แƒก แƒแƒ แƒแƒกแƒ แƒฃแƒšแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒชแƒ“แƒ แƒ“แƒ แƒจแƒ˜แƒœแƒแƒ’แƒแƒœแƒ˜ แƒžแƒ”แƒ แƒคแƒ”แƒฅแƒชแƒ˜แƒแƒœแƒ˜แƒ–แƒ›แƒ˜ แƒ›แƒแƒฌแƒฃแƒฎแƒ”แƒ‘แƒ“แƒ: โ€žแƒจแƒ แƒแƒ›แƒ˜แƒก แƒแƒ แƒแƒกแƒ แƒฃแƒšแƒงแƒแƒคแƒ˜แƒš แƒจแƒ”แƒ“แƒ”แƒ’แƒก แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒ˜แƒก แƒฃแƒคแƒšแƒ”แƒ‘แƒ แƒแƒ  แƒแƒฅแƒ•แƒกโ€œ. แƒคแƒ˜แƒฅแƒ แƒ˜, แƒ แƒแƒ› โ€žแƒ˜แƒ“แƒ”แƒแƒšแƒ˜แƒก แƒ›แƒ˜แƒฆแƒฌแƒ”แƒ•แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒฃแƒœแƒ“แƒ แƒ›แƒ˜แƒแƒฆแƒฌแƒ˜แƒโ€œ แƒ”แƒ แƒ—แƒ˜ แƒฌแƒฃแƒ—แƒ˜แƒ—แƒแƒช แƒแƒ  แƒ›แƒขแƒแƒ•แƒ”แƒ‘แƒ“แƒ.

แƒ“แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ”แƒ แƒ— แƒ“แƒฆแƒ”แƒก, แƒ”แƒ แƒ—-แƒ”แƒ แƒ— แƒ—แƒ”แƒ›แƒแƒขแƒฃแƒ  แƒคแƒแƒ แƒฃแƒ›แƒ–แƒ”, แƒฌแƒแƒ•แƒแƒฌแƒงแƒ“แƒ˜ แƒ“แƒ˜แƒกแƒ™แƒฃแƒกแƒ˜แƒแƒก Raspberry-แƒกแƒ—แƒ•แƒ˜แƒก แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ‘แƒ˜แƒขแƒ˜แƒก แƒกแƒ˜แƒฆแƒ แƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ (aarch64 vs armhfp): แƒ แƒแƒ›แƒ”แƒš 64-แƒ‘แƒ˜แƒขแƒ˜แƒแƒœ OS-แƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ, แƒžแƒ แƒ˜แƒœแƒชแƒ˜แƒžแƒจแƒ˜, แƒ›แƒแƒ”แƒ แƒ’แƒแƒก แƒ“แƒ แƒ˜แƒ›แƒฃแƒจแƒแƒแƒก Raspberry 3 แƒ•แƒ”แƒ แƒกแƒ˜แƒแƒ–แƒ”. ++?

แƒฉแƒ”แƒ›แƒ˜ แƒกแƒแƒงแƒ•แƒแƒ แƒ”แƒšแƒ˜ CentOS ARM แƒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒฃแƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก "Userland"-แƒ“แƒแƒœ แƒแƒ  แƒฉแƒฅแƒแƒ แƒแƒ‘แƒ“แƒ แƒ‘แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒฃแƒแƒฎแƒšแƒ”แƒก แƒ•แƒ”แƒ แƒกแƒ˜แƒแƒ–แƒ” แƒ’แƒแƒ“แƒแƒกแƒ•แƒšแƒแƒก แƒ“แƒ 64-แƒ‘แƒ˜แƒขแƒ˜แƒแƒœ แƒ’แƒแƒ“แƒแƒฅแƒชแƒ”แƒ•แƒแƒก. แƒ“แƒ EPEL-แƒ˜แƒก แƒกแƒแƒชแƒแƒ•แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฆแƒ›แƒ”แƒ แƒ—แƒ›แƒ แƒ˜แƒชแƒ˜แƒก, แƒกแƒแƒ“ แƒชแƒ˜แƒคแƒ แƒฃแƒšแƒ˜ แƒฎแƒ”แƒšแƒ›แƒแƒฌแƒ”แƒ แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” แƒ˜แƒงแƒ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜, แƒ™แƒแƒจแƒ›แƒแƒ แƒ˜ แƒ˜แƒงแƒ แƒฉแƒ”แƒ›แƒก แƒ›แƒแƒฃแƒกแƒ•แƒ”แƒœแƒแƒ  แƒซแƒ˜แƒšแƒจแƒ˜...

แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ•แƒกแƒแƒฃแƒ‘แƒ แƒแƒ‘แƒ“แƒ˜, แƒ แƒแƒ’แƒแƒ แƒช RPM-แƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ“แƒ˜แƒกแƒขแƒ แƒ˜แƒ‘แƒฃแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒแƒ แƒ˜, แƒ’แƒแƒ›แƒ˜แƒ™แƒ•แƒ˜แƒ แƒ“แƒ, แƒ แƒแƒ› แƒแƒฆแƒ›แƒแƒ•แƒแƒฉแƒ˜แƒœแƒ”, แƒ แƒแƒ› Raspberry-แƒ˜แƒก OS แƒกแƒ แƒฃแƒšแƒ˜แƒแƒ“ แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒงแƒ แƒ“แƒ˜แƒกแƒ™แƒฃแƒกแƒ˜แƒ”แƒ‘แƒจแƒ˜. Fedora! แƒ“แƒ แƒ”แƒก แƒ›แƒ˜แƒฃแƒฎแƒ”แƒ“แƒแƒ•แƒแƒ“ แƒ˜แƒ›แƒ˜แƒกแƒ, แƒ แƒแƒ› แƒ›แƒ˜แƒกแƒ˜ แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒ
28 แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒ“แƒแƒœ แƒ˜แƒก แƒแƒคแƒ˜แƒชแƒ˜แƒแƒšแƒฃแƒ แƒแƒ“ แƒฃแƒญแƒ”แƒ แƒก แƒ›แƒฎแƒแƒ แƒก Raspberry Pi 3B+ 64-แƒ‘แƒ˜แƒขแƒ˜แƒแƒœ แƒ•แƒ”แƒ แƒกแƒ˜แƒแƒจแƒ˜!

Raspberry Pi + Fedora (aarch64) = Wi-Fi Hotspot (แƒแƒœ แƒŸแƒแƒšแƒแƒก แƒ แƒแƒฃแƒขแƒ”แƒ แƒ˜ แƒšแƒฃแƒ แƒฏแƒ˜ แƒฅแƒฃแƒ“แƒ˜แƒ—)
แƒแƒ› แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜ แƒ•แƒ˜แƒกแƒแƒฃแƒ‘แƒ แƒ”แƒ‘ แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ”แƒ—แƒแƒ“แƒ–แƒ” Fedora (aarch64) on Raspberry Pi 3 แƒ›แƒแƒ“แƒ”แƒšแƒ˜ B + ะฒ แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ›แƒ˜แƒœแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ. แƒ›แƒแƒ™แƒšแƒ”แƒ“ แƒ•แƒ˜แƒกแƒแƒฃแƒ‘แƒ แƒ”แƒ‘ Wi-Fi แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒก แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜แƒก แƒแƒ›แƒแƒฆแƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒฎแƒแƒกแƒ˜แƒแƒ—แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ–แƒ”, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ’แƒแƒ›แƒแƒ•แƒšแƒ”แƒœแƒ˜แƒšแƒ˜แƒ แƒฉแƒ”แƒ›แƒ˜ แƒฌแƒ˜แƒœแƒ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒกแƒแƒชแƒ“แƒ”แƒšแƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“. CentOS 7.

0. แƒ แƒแƒช แƒ“แƒแƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ—

แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ˜แƒ’แƒ˜แƒ•แƒ”แƒ, แƒ แƒแƒช แƒฌแƒ˜แƒœแƒ แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜ แƒ˜แƒงแƒ แƒฉแƒแƒ›แƒแƒ—แƒ•แƒšแƒ˜แƒšแƒ˜:

  • Raspberry Pi 3 Model B+;
  • microSD >= 4GB (แƒ›แƒแƒ’แƒ•แƒ˜แƒแƒœแƒ”แƒ‘แƒ˜แƒ— แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก โ€žแƒ’แƒแƒ“แƒแƒขแƒแƒœแƒโ€œ 2GB แƒ“แƒ˜แƒกแƒ™แƒ–แƒ”);
  • แƒกแƒแƒ›แƒฃแƒจแƒแƒ แƒกแƒแƒ“แƒ’แƒฃแƒ แƒ˜ Linux-แƒ˜แƒ— แƒ“แƒ microSD แƒ‘แƒแƒ แƒแƒ—แƒ˜แƒก แƒฌแƒแƒ›แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ”แƒšแƒ˜แƒ—;
  • แƒกแƒแƒ“แƒ”แƒœแƒ˜แƒแƒœแƒ˜ แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜ Raspberry-แƒกแƒ แƒ“แƒ Linux-แƒ˜แƒก แƒกแƒแƒ›แƒฃแƒจแƒแƒ แƒกแƒแƒ“แƒ’แƒฃแƒ แƒก แƒจแƒแƒ แƒ˜แƒก (แƒแƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ›แƒแƒœแƒ˜แƒขแƒแƒ แƒ˜ แƒ“แƒ แƒ™แƒšแƒแƒ•แƒ˜แƒแƒขแƒฃแƒ แƒ แƒแƒ  แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒกแƒแƒญแƒ˜แƒ แƒ แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก), แƒ˜แƒœแƒขแƒ”แƒ แƒœแƒ”แƒขแƒ˜แƒก แƒฌแƒ•แƒ“แƒแƒ›แƒ แƒแƒ แƒ˜แƒ•แƒ” แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ˜แƒ“แƒแƒœ;
  • แƒ’แƒแƒคแƒแƒ แƒ—แƒแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒชแƒแƒ“แƒœแƒ Linux-แƒจแƒ˜ (แƒ˜แƒชแƒแƒ“แƒ” แƒ“แƒ แƒแƒ  แƒจแƒ”แƒ’แƒ”แƒจแƒ˜แƒœแƒ“แƒ”แƒก: แƒ’แƒแƒจแƒแƒ แƒ“แƒ, dd ะธ mkfs).

แƒ’แƒแƒ›แƒ”แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜ LFS- แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ Linux-แƒ˜แƒก แƒแƒจแƒ”แƒœแƒ”แƒ‘แƒ˜แƒกแƒแƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ Fedora แƒ“แƒ˜แƒกแƒขแƒ แƒ˜แƒ‘แƒฃแƒชแƒ˜แƒ˜แƒก แƒกแƒฃแƒ แƒแƒ—แƒ˜, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ™แƒ˜ แƒ›แƒแƒกแƒ–แƒ” แƒ“แƒแƒงแƒ แƒ“แƒœแƒแƒ‘แƒ˜แƒ— แƒจแƒ”แƒ˜แƒฅแƒ›แƒœแƒ”แƒ‘แƒ แƒ›แƒ˜แƒœแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ (โ€žแƒฌแƒงแƒแƒ แƒแƒ“แƒแƒœ แƒจแƒ”แƒ“แƒ’แƒ”แƒœแƒ˜แƒกโ€œ แƒ’แƒแƒ แƒ”แƒจแƒ”).

1. แƒแƒ แƒ˜แƒ’แƒ˜แƒœแƒแƒšแƒฃแƒ แƒ˜ แƒ“แƒ˜แƒกแƒขแƒ แƒ˜แƒ‘แƒฃแƒชแƒ˜แƒ˜แƒก แƒ›แƒแƒœแƒขแƒแƒŸแƒ˜

แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒœแƒ”แƒ“แƒšแƒ”แƒฃแƒšแƒ˜ แƒ’แƒแƒ›แƒแƒกแƒแƒฎแƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ™แƒแƒแƒ แƒ“แƒ˜แƒœแƒแƒขแƒ”แƒ‘แƒ˜ แƒ˜แƒœแƒขแƒ”แƒ แƒœแƒ”แƒขแƒจแƒ˜:
https://โ€ฆ/fedora-secondary/releases/โ€ฆ/Spins/aarch64/images/Fedora-Minimal-โ€ฆxz

microSD-แƒ–แƒ” แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ“แƒ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒแƒ›แƒ“แƒ” แƒกแƒแƒญแƒ˜แƒ แƒแƒ:

  1. แƒ’แƒแƒแƒคแƒแƒ แƒ—แƒแƒ•แƒ”แƒ— แƒคแƒแƒ˜แƒšแƒฃแƒ แƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก โ€žแƒซแƒ˜แƒ แƒ˜โ€œ (แƒ›แƒ”-3 แƒ“แƒแƒœแƒแƒงแƒแƒคแƒ˜, ext4)
    parted /dev/mmcblk0 resizepart 3 100%
    e2fsck -f /dev/mmcblk0p3; resize2fs /dev/mmcblk0p3; e2fsck -f /dev/mmcblk0p3
    for i in 1 2 3; do mkdir -p /mnt/$i; mount /dev/mmcblk0p$i /mnt/$i; done
    

  2. แƒ’แƒแƒ›แƒแƒ แƒ—แƒ”แƒ— SELinux
    echo 'SELINUX=disabled' > /mnt/3/etc/selinux/config
    

  3. แƒแƒ›แƒแƒ˜แƒฆแƒ”แƒ— แƒกแƒแƒฌแƒงแƒ˜แƒกแƒ˜ แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒแƒกแƒขแƒแƒขแƒ˜:
    find /mnt/3/etc/systemd/ -iname initial-setup.service -delete
    

  4. แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒก แƒ“แƒแƒจแƒ•แƒ”แƒ‘แƒ ssh-แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—:
    mkdir -p /mnt/3/root/.ssh
    cp -fv ~/.ssh/id_rsa.pub /mnt/3/root/.ssh/authorized_keys
    sed -i 's/#PermitRootLogin.*/PermitRootLogin yes/g' /mnt/3/etc/ssh/sshd_config
    

แƒแƒฎแƒšแƒ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒฉแƒแƒ›แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒแƒ— "แƒŸแƒแƒšแƒ" microSD-แƒ“แƒแƒœ แƒ“แƒ แƒ“แƒแƒฃแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ“แƒ”แƒ— แƒ›แƒแƒก แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—.

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

Raspberry Pi + Fedora (aarch64) = Wi-Fi Hotspot (แƒแƒœ แƒŸแƒแƒšแƒแƒก แƒ แƒแƒฃแƒขแƒ”แƒ แƒ˜ แƒšแƒฃแƒ แƒฏแƒ˜ แƒฅแƒฃแƒ“แƒ˜แƒ—)

rpm -qa | wc -l
444

2. แƒ›แƒ˜แƒœแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒแƒฌแƒงแƒแƒ‘แƒ

แƒกแƒแƒ›แƒฌแƒฃแƒฎแƒแƒ แƒแƒ“, แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒ˜แƒกแƒ’แƒแƒœ โ€žแƒ›แƒ˜แƒœแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒโ€œ แƒจแƒแƒ แƒก แƒแƒ แƒ˜แƒก แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒ›แƒแƒ™แƒ แƒซแƒแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒกแƒ’แƒแƒœ. แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒกแƒฃแƒ แƒแƒ—แƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ™แƒ˜แƒ“แƒ”แƒ• แƒฃแƒคแƒ แƒ แƒ›แƒชแƒ˜แƒ แƒ” แƒ˜แƒงแƒแƒก.

แƒแƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒฃแƒจแƒ•แƒแƒ— แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜ แƒ›แƒแƒšแƒ˜แƒœแƒ™แƒแƒ–แƒ”:

#!/bin/bash

. /etc/os-release
P=$(mktemp --directory $(pwd)/$ID-$VERSION_ID.XXX)

dnf --installroot=$P --releasever=$VERSION_ID --setopt=install_weak_deps=false 
--assumeyes install  
    bcm283x-firmware 
    dnf              
    grub2-efi-aa64   
    kernel           
    openssh-server   
    shim-aa64

for f in /boot/efi/EFI/fedora/grub.cfg 
         /boot/efi/EFI/fedora/grubenv  
         /boot/efi/rpi3-u-boot.bin     
         /etc/default/grub             
         /etc/fstab
do
  cp -fv $f $P$f
done

rm  -fv $P/dev/*
rm -rfv $P/var/cache/dnf

echo "--------------------------------------------------------------------------------"
du -hs $P

แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒฅแƒ•แƒ”แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜ แƒจแƒ”แƒ˜แƒฅแƒ›แƒœแƒ”แƒ‘แƒ แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒจแƒ˜ ($P) แƒแƒฎแƒแƒšแƒ˜ แƒ›แƒ˜แƒœแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ OS แƒ’แƒแƒ›แƒแƒชแƒ”แƒ›แƒ˜แƒก root แƒจแƒ˜แƒœแƒแƒแƒ แƒกแƒ˜แƒ—. แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ›แƒแƒ แƒ—แƒแƒ— Raspberry แƒ“แƒ แƒ“แƒแƒแƒ‘แƒ แƒฃแƒœแƒแƒ— microSD Linux-แƒ˜แƒก แƒกแƒแƒ›แƒฃแƒจแƒแƒ แƒกแƒแƒ“แƒ’แƒฃแƒ แƒ–แƒ”.

3. แƒ›แƒ˜แƒœแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ›แƒแƒœแƒขแƒแƒŸแƒ˜

แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ แƒ›แƒ—แƒแƒ•แƒ แƒ“แƒ”แƒ‘แƒ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ›แƒ˜แƒœแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ "แƒ’แƒแƒ›แƒแƒกแƒแƒฎแƒฃแƒšแƒ”แƒ‘แƒ˜แƒก" แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก (แƒฌแƒ˜แƒœแƒ แƒ”แƒขแƒแƒžแƒ–แƒ” แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜) แƒ’แƒแƒ“แƒแƒฌแƒ”แƒ แƒแƒ–แƒ” แƒกแƒžแƒ”แƒชแƒ˜แƒแƒšแƒฃแƒ แƒแƒ“ แƒ›แƒแƒ›แƒ–แƒแƒ“แƒ”แƒ‘แƒฃแƒš microSD-แƒ–แƒ” แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒก แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒจแƒ˜.

แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜แƒ 2 GB แƒ‘แƒแƒ แƒแƒ—แƒ˜ แƒ“แƒ แƒ›แƒแƒกแƒ–แƒ” แƒแƒ แƒ˜ แƒ“แƒแƒœแƒแƒงแƒแƒคแƒ˜:

  1. / แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก / efi - EFI+FAT32, แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ, 100MB;
  2. / (root) - EXT4, แƒ“แƒแƒ แƒฉแƒ”แƒœแƒ˜แƒšแƒ˜ แƒกแƒ˜แƒ•แƒ แƒชแƒ”.

microSD-แƒ˜แƒก แƒ›แƒแƒ›แƒ–แƒแƒ“แƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒ›แƒแƒกแƒ–แƒ” แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ™แƒแƒžแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ:

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

แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ’แƒแƒ›แƒแƒกแƒฌแƒแƒ แƒ”แƒ‘แƒ แƒแƒ แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒกแƒ”แƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก UUID-แƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ:

microSD:/boot/efi/EFI/fedora/grub.cfg
microSD:/boot/efi/EFI/fedora/grubenv

แƒ“แƒ แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜ แƒจแƒ”แƒœแƒแƒฎแƒฃแƒšแƒ˜_แƒจแƒ”แƒ›แƒแƒกแƒ•แƒšแƒ= แƒ‘แƒแƒšแƒ แƒคแƒแƒ˜แƒšแƒจแƒ˜

แƒคแƒแƒ˜แƒšแƒจแƒ˜:

microSD:/etc/fstab

แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ˜แƒžแƒแƒ•แƒแƒ— แƒซแƒ•แƒ”แƒšแƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” (แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜) แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒแƒšแƒจแƒ˜:

blkid | grep mmcblk | sort

แƒฉแƒแƒœแƒแƒชแƒ•แƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒกแƒ”แƒ•แƒ” แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒแƒกแƒฌแƒแƒ แƒแƒ— แƒจแƒ˜แƒœแƒแƒแƒ แƒกแƒ˜ แƒคแƒกแƒขแƒแƒ‘แƒ˜ microSD-แƒ–แƒ” แƒ˜แƒกแƒ”, แƒ แƒแƒ› แƒ“แƒแƒ›แƒแƒ’แƒ แƒ”แƒ‘แƒ˜แƒก แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ”แƒกแƒแƒ‘แƒแƒ›แƒ”แƒ‘แƒแƒ“แƒ”แƒก แƒแƒฎแƒแƒš แƒ“แƒแƒœแƒแƒงแƒแƒคแƒ˜แƒก UUID-แƒ”แƒ‘แƒก.

แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒœแƒแƒšแƒแƒ‘แƒ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ“ แƒฉแƒแƒ แƒ—แƒแƒ•แƒ— Raspberry-แƒก, แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒ˜แƒฆแƒฌแƒ”แƒฃแƒšแƒ˜ แƒ˜แƒฅแƒœแƒแƒก แƒžแƒแƒขแƒแƒ แƒ โ€žแƒงแƒแƒ•แƒแƒ แƒฏแƒ”แƒœแƒ˜แƒ—โ€œ - แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒ‘แƒ›แƒฃแƒšแƒ˜ (แƒกแƒฅแƒ”แƒ›แƒแƒขแƒฃแƒ แƒแƒ“):

ln -s /usr/lib/systemd/system/systemd-networkd.service 
  microSD:/etc/systemd/system/multi-user.target.wants

แƒ“แƒ แƒคแƒแƒ˜แƒšแƒ˜:

mkdir -p microSD:/etc/systemd/network
cat > microSD:/etc/systemd/network/dhcp.network << EOF
[Match]
Name=*
[Network]
DHCP=ipv4
EOF

แƒฌแƒแƒ แƒ›แƒแƒขแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฉแƒแƒ›แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒ›แƒแƒแƒฌแƒ”แƒกแƒ แƒ˜แƒ’แƒ”แƒ— แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ systemd-networkd:

systemctl disable systemd-networkd
systemctl enable systemd-networkd

แƒกแƒฃแƒžแƒ”แƒ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒฌแƒ•แƒ“แƒแƒ›แƒ ssh-แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ— แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒœแƒแƒ‘แƒ˜แƒฏแƒ˜ 1-แƒ˜แƒก แƒ›แƒกแƒ’แƒแƒ•แƒกแƒแƒ“.

แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒคแƒ แƒ—แƒฎแƒ˜แƒšแƒแƒ“ แƒ“แƒ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ“แƒแƒ˜แƒขแƒแƒœแƒแƒ— microSD "แƒŸแƒแƒšแƒแƒจแƒ˜" แƒ“แƒ แƒ“แƒแƒ˜แƒฌแƒงแƒแƒ— แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ 64-แƒ‘แƒ˜แƒขแƒ˜แƒแƒœ OS-แƒ—แƒแƒœ แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ— แƒ›แƒ˜แƒœแƒ˜แƒ›แƒแƒšแƒฃแƒ  แƒ•แƒ”แƒ แƒกแƒ˜แƒแƒจแƒ˜.

4. แƒ›แƒ–แƒ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ

แƒ–แƒ”แƒ›แƒแƒ— แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒฅแƒชแƒ˜แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ— แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒšแƒ˜ แƒ“แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก โ€žแƒ˜แƒ›แƒ˜แƒฏแƒ˜โ€œ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒฉแƒแƒ›แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒแƒ— แƒ‘แƒ›แƒฃแƒšแƒ˜แƒ“แƒแƒœ:
Fedora-Tiny-31-5.5.7-200.aarch64

แƒ”แƒก แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒแƒ แƒฅแƒ˜แƒ•แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒแƒ  แƒคแƒแƒ˜แƒšแƒก: แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ˜แƒก แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒก แƒ“แƒ TGZ OS แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒ—. แƒแƒ แƒฅแƒ˜แƒ•แƒ˜ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ˜แƒฎแƒกแƒœแƒแƒก Linux-แƒ˜แƒก แƒกแƒแƒ›แƒฃแƒจแƒแƒ แƒกแƒแƒ“แƒ’แƒฃแƒ แƒ–แƒ”, แƒฉแƒแƒกแƒ•แƒแƒ— microSD (แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜แƒ 2 GB แƒ‘แƒแƒ แƒแƒ—แƒ˜) แƒ“แƒ แƒ’แƒแƒฃแƒจแƒ•แƒแƒ— แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜ แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜แƒ— - แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜:

./install /dev/mmcblk0

แƒ˜แƒงแƒแƒ•แƒ˜แƒ— แƒคแƒ แƒ—แƒฎแƒ˜แƒšแƒแƒ“!

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

แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜แƒก แƒฃแƒจแƒ”แƒชแƒ“แƒแƒ›แƒแƒ“ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒ‘แƒแƒ แƒแƒ—แƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ“แƒแƒ˜แƒฌแƒงแƒแƒก "แƒŸแƒแƒšแƒแƒจแƒ˜" แƒ“แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒก: แƒ“แƒแƒญแƒ”แƒ แƒ dhcp-แƒ˜แƒ—, แƒžแƒแƒ แƒแƒšแƒ˜ - "1".

แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ แƒ’แƒแƒกแƒฃแƒคแƒ—แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒงแƒ•แƒ”แƒšแƒ ID แƒ“แƒ แƒ’แƒแƒกแƒแƒฆแƒ”แƒ‘แƒ˜แƒกแƒ’แƒแƒœ, แƒ แƒ˜แƒก แƒ’แƒแƒ›แƒแƒช แƒงแƒแƒ•แƒ”แƒšแƒ˜ แƒแƒฎแƒแƒšแƒ˜ แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ แƒฃแƒœแƒ˜แƒ™แƒแƒšแƒฃแƒ แƒ˜แƒ.

แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ—แƒฎแƒ”แƒš แƒ•แƒ˜แƒ›แƒ”แƒแƒ แƒ”แƒ‘, แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ - แƒ›แƒ˜แƒœแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜! แƒแƒ›แƒ˜แƒขแƒแƒ›, แƒแƒ  แƒ˜แƒœแƒ”แƒ แƒ•แƒ˜แƒฃแƒšแƒแƒ—: DNF แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒ, แƒ แƒแƒ› แƒ˜แƒก แƒ˜แƒ›แƒฃแƒจแƒแƒแƒก, แƒกแƒฌแƒแƒ แƒ˜แƒก โ€žแƒ’แƒแƒ›แƒแƒ’แƒแƒœแƒ”แƒ‘แƒโ€œ แƒ›แƒแƒ’แƒ˜แƒฌแƒ”แƒ•แƒ—. /etc/resolv.conf.

Raspberry-แƒ˜แƒก แƒชแƒ˜แƒ• แƒ“แƒแƒฌแƒงแƒ”แƒ‘แƒแƒก แƒ“แƒแƒแƒฎแƒšแƒแƒ”แƒ‘แƒ˜แƒ— 40 แƒฌแƒแƒ›แƒ˜ แƒกแƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ. แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก TTX แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’:

Raspberry Pi + Fedora (aarch64) = Wi-Fi Hotspot (แƒแƒœ แƒŸแƒแƒšแƒแƒก แƒ แƒแƒฃแƒขแƒ”แƒ แƒ˜ แƒšแƒฃแƒ แƒฏแƒ˜ แƒฅแƒฃแƒ“แƒ˜แƒ—)

rpm -qa | wc -l
191

5. แฒ•แƒแƒ˜ - แƒคแƒแƒ˜

แƒ›แƒ” แƒชแƒแƒขแƒแƒก แƒ•แƒ˜แƒกแƒแƒฃแƒ‘แƒ แƒ”แƒ‘ Wi-Fi แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒก แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜แƒก แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒฎแƒแƒกแƒ˜แƒแƒ—แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ–แƒ”. แƒ“แƒ”แƒขแƒแƒšแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒแƒ— แƒฉแƒ”แƒ›แƒก แƒฌแƒ˜แƒœแƒแƒก แƒ›แƒฃแƒฎแƒšแƒ˜.

EPEL แƒแƒฆแƒแƒ  แƒแƒ แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒ - แƒงแƒ•แƒ”แƒšแƒ แƒžแƒแƒ™แƒ”แƒขแƒ˜ แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒแƒคแƒ˜แƒชแƒ˜แƒแƒšแƒฃแƒ  แƒกแƒแƒชแƒแƒ•แƒ”แƒ‘แƒจแƒ˜.

แƒแƒšแƒ‘แƒแƒ— แƒฆแƒ˜แƒ แƒ“แƒ แƒ“แƒแƒœแƒ”แƒ‘แƒ”แƒ‘แƒ dnsmasq, แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ Fedora-แƒก, CentOS-แƒ˜แƒกแƒ’แƒแƒœ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒ˜แƒ—, แƒแƒฅแƒ•แƒก แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒฃแƒแƒฎแƒšแƒ”แƒกแƒ˜ systemd-networkd, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒแƒฅแƒ•แƒก แƒœแƒแƒ แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒฉแƒแƒจแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ DHCP/DNS แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜. แƒ›แƒแƒ’แƒ แƒแƒ› แƒคแƒแƒฅแƒขแƒ˜แƒ, แƒ แƒแƒ› RHEL8 แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒจแƒ˜ แƒฃแƒแƒ แƒ˜ แƒ—แƒฅแƒ•แƒ แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒกแƒขแƒ”แƒ™แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒแƒ–แƒ” NM-แƒ˜แƒก แƒ’แƒแƒ แƒ“แƒ, แƒแƒ  แƒจแƒ—แƒแƒแƒ’แƒแƒœแƒ”แƒ‘แƒก แƒœแƒ“แƒแƒ‘แƒแƒก แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒœแƒแƒ—แƒ”แƒšแƒ˜ แƒ›แƒแƒ›แƒแƒ•แƒšแƒ˜แƒก แƒ›แƒ˜แƒ›แƒแƒ แƒ— (แƒœแƒแƒซแƒ˜แƒ แƒแƒšแƒ”แƒ‘แƒ˜). แƒ›แƒแƒ™แƒšแƒ”แƒ“ แƒแƒ  แƒ›แƒ˜แƒชแƒ“แƒ˜แƒ.

แƒ’แƒแƒ แƒ“แƒ แƒแƒ›แƒ˜แƒกแƒ, แƒฉแƒแƒจแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ Wi-Fi แƒแƒ“แƒแƒžแƒขแƒ”แƒ แƒ˜แƒก แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒ“แƒ แƒแƒ˜แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก โ€žแƒ›แƒแƒžแƒแƒ แƒ•แƒโ€œ แƒจแƒ”แƒฃแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ Raspbian แƒ“แƒ˜แƒกแƒขแƒ แƒ˜แƒ‘แƒฃแƒชแƒ˜แƒ˜แƒ“แƒแƒœ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ’แƒแƒ“แƒ›แƒแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜ แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ  แƒ’แƒ˜แƒ—แƒฃแƒ‘แƒ˜.

แƒแƒกแƒ” แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒ Broadcom firmware แƒคแƒแƒ˜แƒšแƒ”แƒ‘แƒ˜ แƒฉแƒ”แƒ›แƒก Raspberry-แƒ–แƒ” (แƒกแƒฅแƒ”แƒ›แƒฃแƒ แƒแƒ“):

ls /usr/lib/firmware/brcm | grep 43455

 [612775] brcmfmac43455-sdio.bin
  [14828] brcmfmac43455-sdio.clm_blob
[symlink] brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt -> brcmfmac43455-sdio.txt
   [2099] brcmfmac43455-sdio.txt

แƒ›แƒแƒ— แƒ’แƒแƒ แƒ”แƒจแƒ” แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒ  แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ‘แƒ— 5 GHz/AC.

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

แƒ“แƒ แƒ›แƒ” แƒ›แƒ˜แƒงแƒ•แƒแƒ แƒก แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒ แƒฅแƒ›แƒ”แƒ•แƒ.

แƒแƒ›แƒ˜แƒก แƒ’แƒแƒกแƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒšแƒแƒ“ Fedora-แƒจแƒ˜ แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒฅแƒ›แƒœแƒแƒ— แƒกแƒ˜แƒ›แƒ‘แƒแƒšแƒฃแƒ แƒ˜ แƒ‘แƒ›แƒฃแƒšแƒ˜:

/etc/systemd/network/99-default.link -> /dev/null

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ™แƒ˜ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒ—แƒ˜ แƒกแƒแƒฎแƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ แƒฅแƒ›แƒ”แƒ•แƒ แƒฃแƒแƒ–แƒ แƒแƒ“ แƒฃแƒ“แƒ”แƒ•แƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ›แƒฎแƒแƒšแƒแƒ“ systemd-networkd-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—.

แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒแƒกแƒ” แƒฐแƒฅแƒ•แƒ˜แƒ แƒฉแƒ”แƒ›แƒก แƒ แƒแƒฃแƒขแƒ”แƒ แƒจแƒ˜ แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒš แƒฅแƒกแƒ”แƒšแƒฃแƒ  แƒ’แƒแƒ“แƒแƒ›แƒงแƒ•แƒแƒœแƒ”แƒ‘แƒก:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000

2: wan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000

3: lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000

4: int: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master lan state UP group default qlen 1000

5: ext: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master lan state UP group default qlen 1000

  • int - แƒฉแƒแƒจแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜, ext โ€” แƒ’แƒแƒ แƒ” (USB) Wi-Fi แƒแƒ“แƒแƒžแƒขแƒ”แƒ แƒ”แƒ‘แƒ˜ แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒ˜ โ€žแƒฎแƒ˜แƒ“แƒจแƒ˜โ€œ lan;
  • wan โ€” Ethernet แƒแƒ“แƒแƒžแƒขแƒ”แƒ แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒจแƒ˜แƒช แƒ˜แƒœแƒขแƒ”แƒ แƒœแƒ”แƒขแƒ˜ แƒแƒ แƒ˜แƒก แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜.

แฒจแƒ”แƒแƒ›แƒฉแƒœแƒ˜แƒ”? fq_codel - แƒ›แƒแƒ แƒ—แƒšแƒ แƒ›แƒแƒ’แƒแƒ แƒ˜ แƒ แƒแƒ›แƒ”แƒ. Linux-แƒ˜แƒก แƒแƒฎแƒแƒš แƒ‘แƒ˜แƒ แƒ—แƒ•แƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“, แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒแƒฎแƒ“แƒ”แƒœแƒ”แƒœ แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒš แƒกแƒแƒกแƒฌแƒแƒฃแƒšแƒ”แƒ‘แƒก แƒฃแƒ™แƒแƒ‘แƒ”แƒšแƒ แƒ“แƒ˜แƒแƒžแƒแƒ–แƒแƒœแƒจแƒ˜: แƒกแƒแƒกแƒขแƒ˜แƒ™แƒ˜ โ€žแƒขแƒแƒ แƒ”แƒœแƒขแƒ˜แƒก แƒฉแƒแƒ›แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒโ€œ แƒแƒ  แƒ’แƒแƒ›แƒแƒ˜แƒฌแƒ•แƒ”แƒ•แƒก แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ˜แƒก แƒฃแƒ”แƒชแƒแƒ  แƒ“แƒ”แƒ’แƒ แƒแƒ“แƒแƒชแƒ˜แƒแƒก แƒ›แƒ”แƒ–แƒแƒ‘แƒšแƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก. แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒฃแƒšแƒ˜ แƒแƒ แƒฎแƒ˜แƒ— โ€žแƒ”แƒ—แƒ”แƒ แƒ–แƒ”โ€œ แƒ›แƒแƒ›แƒฃแƒจแƒแƒ•แƒ” แƒกแƒแƒฎแƒšแƒ˜แƒก IP-แƒขแƒ”แƒšแƒ”แƒ•แƒ˜แƒ–แƒแƒ แƒ˜แƒช แƒ™แƒ˜ แƒแƒ  โ€žแƒ˜แƒ แƒฆแƒ•แƒ”แƒ•แƒโ€œ แƒ“แƒ แƒกแƒแƒ”แƒ แƒ—แƒแƒ“ แƒแƒ  โ€žแƒญแƒฃแƒญแƒงแƒ˜แƒแƒœแƒ”แƒ‘แƒกโ€œ!

แƒ“แƒ”แƒ›แƒแƒœแƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ›แƒ แƒ›แƒชแƒ˜แƒ แƒ” แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒ’แƒแƒœแƒ˜แƒชแƒแƒ“แƒ แƒฐแƒแƒกแƒขแƒแƒžแƒ˜.

แƒแƒฎแƒšแƒ แƒแƒกแƒ” แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒ (แƒฉแƒแƒจแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒแƒ“แƒแƒžแƒขแƒ”แƒ แƒ˜แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—):

[Unit]
Description=Hostapd IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator
After=network.target
BindsTo=sys-subsystem-net-devices-int.device

[Service]
Type=forking
PIDFile=/run/hostapd-int.pid
#ExecStartPre=/usr/sbin/iw dev int set power_save off
ExecStart=/usr/sbin/hostapd /path/to/hostapd-int.conf -P /run/hostapd-int.pid -B

[Install]
RequiredBy=sys-subsystem-net-devices-int.device

แƒ“แƒ "แƒฏแƒแƒ“แƒแƒกแƒœแƒฃแƒ แƒ˜" hostapd-int.conf แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก 5GHz/AC:

ssid=rpi
wpa_passphrase=FedoRullezZ

# 5180 MHz  [36] (20.0 dBm)
# 5200 MHz  [40] (20.0 dBm)
# 5220 MHz  [44] (20.0 dBm)
# 5240 MHz  [48] (20.0 dBm)
# 5745 MHz [149] (20.0 dBm)
# 5765 MHz [153] (20.0 dBm)
# 5785 MHz [157] (20.0 dBm)
# 5805 MHz [161] (20.0 dBm)
# 5825 MHz [165] (20.0 dBm)

channel=36
#channel=149

# channel+6
# http://blog.fraggod.net/2017/04/27/wifi-hostapd-configuration-for-80211ac-networks.html

vht_oper_centr_freq_seg0_idx=42
#vht_oper_centr_freq_seg0_idx=155

country_code=US

interface=int
bridge=lan

driver=nl80211

auth_algs=1
wpa=2
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP

macaddr_acl=0

hw_mode=a
wmm_enabled=1

# N
ieee80211n=1
require_ht=1
ht_capab=[HT40+][SHORT-GI-40][SHORT-GI-20]

# AC
ieee80211ac=1
ieee80211d=0
ieee80211h=0
vht_oper_chwidth=1
require_vht=1
vht_capab=[SHORT-GI-80]

แƒฉแƒ”แƒ›แƒ˜ Ericsson A1018s-แƒ˜แƒกแƒ’แƒแƒœ แƒ“แƒแƒ›แƒ–แƒแƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒžแƒแƒขแƒแƒ แƒ แƒคแƒแƒขแƒแƒจแƒแƒžแƒ˜:

(แƒ˜แƒœแƒขแƒ”แƒ แƒœแƒ”แƒขแƒ˜ - 100 แƒ›แƒ‘แƒ˜แƒขแƒ˜/แƒฌแƒ›)Raspberry Pi + Fedora (aarch64) = Wi-Fi Hotspot (แƒแƒœ แƒŸแƒแƒšแƒแƒก แƒ แƒแƒฃแƒขแƒ”แƒ แƒ˜ แƒšแƒฃแƒ แƒฏแƒ˜ แƒฅแƒฃแƒ“แƒ˜แƒ—)
แƒ“แƒ แƒ‘แƒแƒšแƒแƒก, แƒ›แƒชแƒ˜แƒ แƒ” FAQ.

6. แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ

6.1 แƒ แƒแƒขแƒแƒ› แƒฃแƒœแƒ“แƒ แƒ’แƒแƒแƒ™แƒ”แƒ—แƒแƒ— Wi-Fi แƒ แƒแƒฃแƒขแƒ”แƒ แƒ˜ Raspberry-แƒ–แƒ”?

แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒฃแƒžแƒแƒกแƒฃแƒฎแƒแƒก, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ "แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒแƒ แƒชแƒ“แƒ แƒ“แƒ แƒ”แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜".

แƒ›แƒแƒ’แƒ แƒแƒ› แƒกแƒ˜แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒ”แƒจแƒ˜, แƒ›แƒ”แƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ, แƒ แƒแƒ› แƒ—แƒ”แƒ›แƒ แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒกแƒ”แƒ แƒ˜แƒแƒ–แƒฃแƒšแƒ˜แƒ. "แƒกแƒ˜แƒกแƒฎแƒšแƒ˜แƒแƒœแƒ˜" แƒ˜แƒœแƒขแƒ”แƒ แƒœแƒ”แƒขแƒ˜แƒก แƒ”แƒžแƒแƒฅแƒแƒจแƒ˜, แƒ›แƒแƒฆแƒแƒ–แƒ˜แƒแƒจแƒ˜ แƒ แƒแƒฃแƒขแƒ”แƒ แƒ˜แƒก แƒงแƒ˜แƒ“แƒ•แƒ แƒ“แƒ แƒ›แƒ˜แƒกแƒ˜ แƒ›แƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒšแƒ˜แƒก แƒ›แƒซแƒ”แƒ•แƒšแƒแƒ“ แƒ“แƒแƒ แƒฉแƒ”แƒœแƒ แƒซแƒแƒšแƒ˜แƒแƒœ แƒกแƒแƒ•แƒแƒšแƒแƒšแƒ แƒžแƒ”แƒ แƒกแƒžแƒ”แƒฅแƒขแƒ˜แƒ•แƒแƒ. แƒ‘แƒ”แƒ•แƒ แƒก แƒฃแƒ™แƒ•แƒ” แƒ”แƒกแƒ›แƒ˜แƒก, แƒ แƒแƒ› CVE แƒแƒœ แƒฉแƒแƒจแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฃแƒ™แƒแƒœแƒ แƒ™แƒแƒ แƒ˜แƒ— แƒฏแƒ“แƒแƒ›แƒ แƒจแƒ”แƒฃแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ.

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

แƒแƒ›แƒ˜แƒขแƒแƒ›, โ€žแƒŸแƒแƒšแƒแƒกโ€œ แƒแƒ แƒฉแƒ”แƒ•แƒ แƒฌแƒ›แƒ˜แƒœแƒ“แƒ แƒ”แƒ™แƒแƒœแƒแƒ›แƒ˜แƒ™แƒฃแƒ แƒ˜ แƒœแƒแƒ‘แƒ˜แƒฏแƒ˜แƒ: แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒ˜ แƒ™แƒแƒ›แƒžแƒ˜แƒฃแƒขแƒ”แƒ แƒ˜ แƒ“แƒ แƒแƒ›แƒแƒ•แƒ” แƒ“แƒ แƒแƒก แƒ˜แƒแƒคแƒ˜. แƒ—แƒฃแƒ›แƒชแƒ, แƒแƒšแƒ‘แƒแƒ—, แƒแƒกแƒ”แƒ•แƒ” - แƒ›แƒแƒ—แƒ˜ "แƒแƒ แƒ›แƒแƒ’แƒ”แƒ‘แƒ˜แƒ—" แƒจแƒ˜แƒ’แƒœแƒ˜แƒ—.

6.2 แƒ›แƒแƒ’แƒ แƒแƒ› Raspberry แƒแƒ แƒ˜แƒก โ€žแƒ“แƒแƒ‘แƒแƒšแƒ˜ แƒ แƒแƒฃแƒขแƒ”แƒ แƒ˜โ€œ: แƒœแƒ”แƒšแƒ˜ แƒ“แƒ แƒ”แƒ แƒ—แƒ˜ Ethernet แƒžแƒแƒ แƒขแƒ˜แƒ—!

แƒ แƒแƒ’แƒแƒ แƒช แƒกแƒแƒฎแƒšแƒ˜แƒก Wi-Fi แƒ แƒแƒฃแƒขแƒ”แƒ แƒ˜, Raspberry แƒฉแƒ”แƒ›แƒ—แƒ•แƒ˜แƒก แƒฃแƒคแƒ แƒ แƒ“แƒแƒ›แƒแƒ™แƒ›แƒแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ. แƒฐแƒแƒ”แƒ แƒ˜แƒก แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ”แƒ–แƒ” แƒ–แƒ”แƒ›แƒแƒ— แƒฃแƒ™แƒ•แƒ” แƒ•แƒ˜แƒกแƒแƒฃแƒ‘แƒ แƒ”. แƒ“แƒ แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ”แƒ แƒ—แƒ˜ Ethernet, แƒแƒกแƒ”แƒ•แƒ”, Apple-แƒ˜แƒก แƒ›แƒกแƒ’แƒแƒ•แƒก แƒžแƒ แƒแƒ“แƒฃแƒฅแƒขแƒจแƒ˜ แƒ”แƒก แƒ“แƒแƒแƒฎแƒšแƒแƒ”แƒ‘แƒ˜แƒ— แƒ˜แƒ’แƒ˜แƒ•แƒ”แƒ!

แƒ›แƒแƒ’แƒ แƒแƒ› แƒกแƒ”แƒ แƒ˜แƒแƒ–แƒฃแƒšแƒแƒ“, แƒ แƒ แƒ—แƒฅแƒ›แƒ แƒฃแƒœแƒ“แƒ, แƒ›แƒ”แƒขแƒ˜ แƒ›แƒ˜แƒœแƒ“แƒ. แƒ“แƒ แƒ˜แƒ›แƒ˜แƒกแƒ“แƒ แƒ›แƒ˜แƒฃแƒฎแƒ”แƒ“แƒแƒ•แƒแƒ“, แƒ แƒแƒ› แƒฉแƒ”แƒ›แƒก แƒแƒฏแƒแƒฎแƒจแƒ˜ แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ แƒฃแƒกแƒแƒ“แƒ”แƒœแƒแƒ“ แƒแƒ แƒ˜แƒก แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜, แƒ–แƒแƒ’แƒฏแƒ”แƒ  แƒกแƒžแƒ˜แƒšแƒ”แƒœแƒซแƒ˜แƒก แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜ แƒ›แƒแƒ˜แƒœแƒช แƒกแƒแƒญแƒ˜แƒ แƒแƒ. แƒแƒกแƒ”แƒ—แƒ˜ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ›แƒ” แƒ›แƒแƒฅแƒ•แƒก "แƒ›แƒแƒ‘แƒ˜แƒšแƒฃแƒ แƒ˜ แƒ™แƒ”แƒ แƒ" แƒ›แƒแƒ แƒแƒ’แƒจแƒ˜:

แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ - แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜ แƒ แƒแƒ›Raspberry Pi + Fedora (aarch64) = Wi-Fi Hotspot (แƒแƒœ แƒŸแƒแƒšแƒแƒก แƒ แƒแƒฃแƒขแƒ”แƒ แƒ˜ แƒšแƒฃแƒ แƒฏแƒ˜ แƒฅแƒฃแƒ“แƒ˜แƒ—)

6.3 แƒ—แƒฃ แƒ”แƒก แƒ แƒแƒฃแƒขแƒ”แƒ แƒ˜แƒ, แƒ›แƒแƒจแƒ˜แƒœ แƒแƒ แƒแƒคแƒ”แƒ แƒ˜แƒ แƒœแƒแƒ—แƒฅแƒ•แƒแƒ›แƒ˜ TCP/IP-แƒ˜แƒก โ€žแƒ—แƒฃแƒœแƒ˜แƒœแƒ’แƒ˜แƒกโ€œ แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ”แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜แƒ!

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

6.4 แƒ แƒแƒขแƒแƒ› Fedora?

แƒ˜แƒ›แƒ˜แƒขแƒแƒ› แƒ แƒแƒ› แƒ›แƒแƒ›แƒฌแƒแƒœแƒก! Fedora แƒแƒ แƒ˜แƒก "แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜" แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ แƒ’แƒ”แƒ˜แƒ™แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒกแƒแƒช แƒ”แƒก แƒกแƒขแƒแƒขแƒ˜แƒ แƒ แƒ”แƒแƒšแƒฃแƒ แƒแƒ“ แƒแƒ แƒ˜แƒก แƒ’แƒแƒœแƒ™แƒฃแƒ—แƒ•แƒœแƒ˜แƒšแƒ˜. แƒฌแƒ”แƒ แƒ˜แƒก แƒ“แƒ แƒแƒก, แƒแƒšแƒ‘แƒแƒ— แƒ”แƒ แƒ—แƒแƒ“แƒ”แƒ แƒ—แƒ˜ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช Raspberry-แƒกแƒ—แƒ•แƒ˜แƒก 64-แƒ‘แƒ˜แƒขแƒ˜แƒแƒœ แƒ•แƒ”แƒ แƒกแƒ˜แƒแƒจแƒ˜ แƒแƒคแƒ˜แƒชแƒ˜แƒแƒšแƒฃแƒ แƒแƒ“ แƒแƒ แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒšแƒ˜ แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜ แƒžแƒ”แƒ แƒกแƒแƒœแƒแƒšแƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  (แƒ แƒแƒ›แƒšแƒ˜แƒกแƒ’แƒแƒœแƒแƒช แƒ•แƒ”แƒ  แƒ•แƒ˜แƒขแƒแƒœ แƒ‘แƒ˜แƒ แƒ—แƒ•แƒ˜ 5.6).

6.5 แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒ—แƒฃ แƒแƒ แƒ Bluetooth? แƒ แƒแƒ’แƒแƒ แƒ˜แƒ แƒ•แƒ˜แƒ“แƒ”แƒ/แƒฎแƒ›แƒ/GPIO?

แƒแƒ  แƒ•แƒ˜แƒชแƒ˜. แƒกแƒขแƒแƒขแƒ˜แƒ แƒ”แƒฎแƒ”แƒ‘แƒ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ›แƒ˜แƒœแƒ˜แƒ›แƒแƒšแƒฃแƒ  แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒแƒก แƒ“แƒ แƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ› แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒแƒก, แƒ แƒแƒ’แƒแƒ แƒช Wi-Fi แƒ แƒแƒฃแƒขแƒ”แƒ แƒก.

6.6 แƒ แƒแƒขแƒแƒ› แƒ˜แƒฌแƒงแƒ”แƒ‘แƒ แƒงแƒ•แƒ”แƒšแƒ แƒกแƒขแƒแƒขแƒ˜แƒ CentOS/Fedora/RedHat-แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ SELinux-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒ—?

แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒ แƒแƒ› แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ แƒ›แƒ˜แƒœแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜แƒ, แƒ›แƒแƒก แƒแƒ แƒช แƒแƒฅแƒ•แƒก firewall แƒแƒœ แƒฃแƒขแƒ˜แƒšแƒ˜แƒขแƒ แƒ›แƒ˜แƒกแƒ˜ แƒ“แƒแƒกแƒแƒงแƒ”แƒœแƒ”แƒ‘แƒšแƒแƒ“. แƒ•แƒ˜แƒกแƒแƒช แƒ”แƒก แƒกแƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ, แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ— แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒแƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜, แƒ แƒแƒช แƒ›แƒแƒก แƒกแƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ.

6.7 แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒจแƒ”แƒฃแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ, แƒžแƒแƒ แƒแƒšแƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ แƒจแƒ”แƒฃแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ - แƒแƒ  แƒแƒ แƒ˜แƒก passwd. แƒแƒ แƒช แƒžแƒ˜แƒœแƒ’แƒ˜, แƒแƒ แƒช แƒแƒ แƒแƒคแƒ”แƒ แƒ˜!

แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก DNF. แƒแƒœ แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ˜แƒก แƒ”แƒก แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ—แƒฅแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก - แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ— แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜.

6.8 แƒกแƒแƒ“ แƒแƒ แƒ˜แƒก SWAP? แƒ›แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” แƒชแƒฎแƒแƒ•แƒ แƒ”แƒ‘แƒ แƒแƒ  แƒจแƒ”แƒ›แƒ˜แƒซแƒšแƒ˜แƒ!

แฒ›แƒแƒ แƒ—แƒแƒšแƒ˜แƒ? แƒ™แƒแƒ แƒ’แƒ˜ แƒ›แƒแƒจแƒ˜แƒœ:

fallocate -l 1G /swap
chmod -v 0600 /swap
mkswap -f /swap
swapon -v /swap
grep "/swap" /etc/fstab || echo "/swap swap swap defaults 0 0" >> /etc/fstab

6.9 แƒ›แƒกแƒฃแƒ แƒก แƒ“แƒแƒฃแƒงแƒแƒ•แƒœแƒ”แƒ‘แƒšแƒ˜แƒ• แƒ’แƒแƒ“แƒ›แƒแƒ•แƒฌแƒ”แƒ แƒ แƒ›แƒ–แƒ แƒกแƒฃแƒ แƒแƒ—แƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ Wi-Fi แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒก แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜แƒ—!

แƒ˜แƒœแƒกแƒขแƒแƒšแƒ”แƒ แƒ˜แƒก โ€žแƒงแƒ•แƒ”แƒšแƒแƒกแƒ—แƒ•แƒ˜แƒกโ€œ แƒ›แƒแƒ›แƒ–แƒแƒ“แƒ”แƒ‘แƒแƒก แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒ“แƒ แƒ แƒ“แƒ แƒซแƒแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ แƒ“แƒแƒกแƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ. แƒ—แƒฃ (แƒ›แƒแƒฃแƒšแƒแƒ“แƒœแƒ”แƒšแƒแƒ“!) แƒ•แƒ˜แƒœแƒ›แƒ”แƒก แƒ”แƒก แƒ›แƒแƒ แƒ—แƒšแƒแƒช แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ แƒ“แƒ แƒกแƒแƒญแƒ˜แƒ แƒ แƒแƒฆแƒ›แƒแƒแƒฉแƒœแƒ“แƒ, แƒ›แƒแƒ’แƒ•แƒฌแƒ”แƒ แƒ”แƒ— แƒ“แƒ แƒ แƒแƒ›แƒ”แƒก แƒ›แƒแƒ•แƒ˜แƒคแƒ˜แƒฅแƒ แƒ”แƒ‘แƒ—.

แƒแƒ›แƒ˜แƒ— แƒ“แƒแƒ•แƒแƒ›แƒ—แƒแƒ•แƒ แƒ”แƒ‘.

แƒงแƒ•แƒ”แƒšแƒแƒก แƒ•แƒฃแƒกแƒฃแƒ แƒ•แƒ”แƒ‘ แƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒ แƒกแƒ”แƒ แƒคแƒ˜แƒœแƒ’แƒก แƒ“แƒ แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒ›แƒแƒฅแƒกแƒ˜แƒ›แƒแƒšแƒฃแƒ  แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒก!

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

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