Raspberry Pi + Fedora (aarch64) = Wi-Fi เจนเฉŒเจŸเจธเจชเฉŒเจŸ (เจœเจพเจ‚ เจจเฉ€เจฒเฉ€ เจŸเฉ‹เจชเฉ€ เจตเจพเจฒเจพ เจฐเจธเจฌเฉ‡เจฐเฉ€ เจฐเจพเจŠเจŸเจฐ)

เจฒเฉ‡เจ– Raspberry Pi + CentOS = Wi-Fi เจนเฉŒเจŸเจธเจชเฉŒเจŸ (เจœเจพเจ‚ เจฒเจพเจฒ เจŸเฉ‹เจชเฉ€ เจตเจพเจฒเจพ เจฐเจธเจฌเฉ‡เจฐเฉ€ เจฐเจพเจŠเจŸเจฐ) เจฎเฉˆเจ‚ CentOS เจ“เจชเจฐเฉ‡เจŸเจฟเฉฐเจ— เจธเจฟเจธเจŸเจฎ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจ‡เฉฑเจ• เจฐเจพเจธเจฌเฉ‡เจฐเฉ€ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจตเจพเจ‡เจฐเจฒเฉˆเฉฑเจธ เจเจ•เจธเฉˆเจธ เจชเฉเจ†เจ‡เฉฐเจŸ เจตเจฟเฉฑเจš เจฌเจฆเจฒเจฃ เจฆเฉ‡ เจ‡เฉฑเจ• เจคเจฐเฉ€เจ•เฉ‡ เจฌเจพเจฐเฉ‡ เจ—เฉฑเจฒ เจ•เฉ€เจคเฉ€. เจ‡เจธ เจกเจฐเจพเจ‡เฉฐเจ— เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจ†เจชเจฃเฉ‡ เจ˜เจฐเฉ‡เจฒเฉ‚ เจฐเจพเจŠเจŸเจฐ เจจเฉ‚เฉฐ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเจ•เฉ‡, เจฎเฉˆเจ‚ เจ†เจชเจฃเฉ€ เจฐเจšเจจเจพเจคเจฎเจ• เจนเจ‰เจฎเฉˆ เจจเฉ‚เฉฐ เจธเฉฐเจคเฉเจธเจผเจŸ เจ•เฉ€เจคเจพ เจ…เจคเฉ‡ เจฎเฉ‡เจฐเฉ‡ เจ†เจฐเจพเจฎเจฆเจพเจ‡เจ• เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเฉ‡ เจฆเฉ‡ เจ‡เฉฑเจ• เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจคเฉฑเจค เจฒเจˆ เจฎเจจ เจฆเฉ€ เจธเจผเจพเจ‚เจคเฉ€ เจจเฉ‚เฉฐ เจ‰เจคเจธเจผเจพเจนเจค เจ•เฉ€เจคเจพเฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจนเฉฑเจฒ เจฆเฉ€ เจ…เจชเฉ‚เจฐเจฃเจคเจพ เจ…เจคเฉ‡ เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€ เจธเฉฐเจชเฉ‚เจฐเจจเจคเจพเจตเจพเจฆ เจฆเฉ€ เจญเจพเจตเจจเจพ เจจเฉ‡ เจฎเฉˆเจจเฉ‚เฉฐ เจชเจฐเฉ‡เจธเจผเจพเจจ เจ•เฉ€เจคเจพ: "เจ•เฉฐเจฎ เจฆเฉ‡ เจ…เจชเฉ‚เจฐเจฃ เจจเจคเฉ€เจœเฉ‡ เจฆเฉ€ เจฎเฉŒเจœเฉ‚เจฆเจ—เฉ€ เจฆเจพ เจ•เฉ‹เจˆ เจ…เจงเจฟเจ•เจพเจฐ เจจเจนเฉ€เจ‚ เจนเฉˆ." เจ‡เจน เจตเจฟเจšเจพเจฐ เจ•เจฟ "เจ†เจฆเจฐเจธเจผ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเจพ เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ" เจจเฉ‡ เจฎเฉˆเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจฎเจฟเฉฐเจŸ เจฒเจˆ เจตเฉ€ เจจเจนเฉ€เจ‚ เจ›เฉฑเจกเจฟเจ†เฅค

เจ…เจคเฉ‡ เจซเจฟเจฐ เจ‡เฉฑเจ• เจฆเจฟเจจ, เจฅเฉ€เจฎเฉˆเจŸเจฟเจ• เจซเฉ‹เจฐเจฎเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• 'เจคเฉ‡, เจฎเฉˆเจ‚ เจฐเจพเจธเจฌเฉ‡เจฐเฉ€ (aarch64 เจฌเจจเจพเจฎ armhfp) เจฒเจˆ เจฎเฉŒเจœเฉ‚เจฆเจพ เจ“เจชเจฐเฉ‡เจŸเจฟเฉฐเจ— เจธเจฟเจธเจŸเจฎเจพเจ‚ เจฆเฉ€ เจฌเจฟเฉฑเจŸ เจกเฉ‚เฉฐเจ˜เจพเจˆ เจฌเจพเจฐเฉ‡ เจšเจฐเจšเจพ เจ•เฉ€เจคเฉ€: เจœเฉ‹ เจ•เจฟ 64-เจฌเจฟเฉฑเจŸ OS, เจธเจฟเจงเจพเจ‚เจค เจตเจฟเฉฑเจš, เจฐเจพเจธเจฌเฉ‡เจฐเฉ€ เจธเฉฐเจธเจ•เจฐเจฃ 3 'เจคเฉ‡ เจซเจฟเฉฑเจŸ เจ…เจคเฉ‡ เจ•เฉฐเจฎ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆเฅค ++?

โ€œเจฏเฉ‚เจœเจผเจฐเจฒเฉˆเจ‚เจกโ€ เจคเฉ‹เจ‚ เจเจ†เจฐเจเจฎ เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจฒเจˆ เจฎเฉ‡เจฐเจพ เจชเจฟเจ†เจฐเจพ CentOS เจ•เจฐเจจเจฒ เจฆเฉ‡ เจจเจตเฉ€เจจเจคเจฎ เจธเฉฐเจธเจ•เจฐเจฃ เจคเฉ‡ เจœเจพเจฃ เจ…เจคเฉ‡ 64-เจฌเจฟเฉฑเจŸ เจตเจฟเฉฑเจš เจฌเจฆเจฒเจฃ เจฆเฉ€ เจ•เฉ‹เจˆ เจ•เจพเจนเจฒเฉ€ เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚ เจธเฉ€เฅค เจ…เจคเฉ‡ เจˆเจชเฉ€เจˆเจเจฒ เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€, เจฐเฉฑเจฌ เจœเจพเจฃเจฆเจพ เจนเฉˆ เจ•เจฟเฉฑเจฅเฉ‡ เจฌเจฟเจจเจพเจ‚ เจกเจฟเจœเฉ€เจŸเจฒ เจฆเจธเจคเจ–เจค เจฆเฉ‡, เจฎเฉ‡เจฐเฉ€ เจฌเฉ‡เจšเฉˆเจจ เจจเฉ€เจ‚เจฆ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจญเจฟเจ†เจจเจ• เจธเฉเจชเจจเจพ เจธเฉ€ ...

RPM-เจ…เจงเจพเจฐเจฟเจค เจกเจฟเจธเจŸเจฐเฉ€เจฌเจฟเจŠเจธเจผเจจ เจฆเฉ‡ เจ…เจจเฉเจฏเจพเจˆ เจตเจœเฉ‹เจ‚ เจฌเฉ‹เจฒเจฆเฉ‡ เจนเฉ‹เจ, เจฎเฉˆเจจเฉ‚เฉฐ เจ‡เจน เจœเจพเจฃ เจ•เฉ‡ เจนเฉˆเจฐเจพเจจเฉ€ เจนเฉ‹เจˆ เจ•เจฟ เจฐเจพเจธเจฌเฉ‡เจฐเฉ€ เจฒเจˆ OS เจจเฉ‚เฉฐ เจšเจฐเจšเจพเจตเจพเจ‚ เจตเจฟเฉฑเจš เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจญเฉเฉฑเจฒ เจ—เจฟเจ† เจธเฉ€ เจซเฉ‡เจกเฉ‹เจฐเจพ! เจ…เจคเฉ‡ เจ‡เจน เจ‡เจธ เจคเฉฑเจฅ เจฆเฉ‡ เจฌเจพเจตเจœเฉ‚เจฆ เจ•เจฟ เจ‡เจธเจฆเฉ€ เจฐเจฟเจนเจพเจˆ
เจธเฉฐเจธเจ•เจฐเจฃ 28 เจคเฉ‹เจ‚ เจ‡เจน เจ…เจงเจฟเจ•เจพเจฐเจค เจคเฉŒเจฐ 'เจคเฉ‡ 3-เจฌเจฟเฉฑเจŸ เจธเฉฐเจธเจ•เจฐเจฃ เจตเจฟเฉฑเจš เจฐเจพเจธเจฌเฉ‡เจฐเฉ€ Pi 64B+ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจฆเจพ เจนเฉˆ!

Raspberry Pi + Fedora (aarch64) = Wi-Fi เจนเฉŒเจŸเจธเจชเฉŒเจŸ (เจœเจพเจ‚ เจจเฉ€เจฒเฉ€ เจŸเฉ‹เจชเฉ€ เจตเจพเจฒเจพ เจฐเจธเจฌเฉ‡เจฐเฉ€ เจฐเจพเจŠเจŸเจฐ)
เจ‡เจธ เจฒเฉ‡เจ– เจตเจฟเจš เจฎเฉˆเจ‚ เจ‡เฉฐเจธเจŸเจพเจฒเฉ‡เจธเจผเจจ เจตเจฟเจงเฉ€ เจฌเจพเจฐเฉ‡ เจ—เฉฑเจฒ เจ•เจฐเจพเจ‚เจ—เจพ เจซเฉ‡เจกเฉ‹เจฐเจพ (aarch64) 'เจคเฉ‡ เจฐเจธเจฌเฉ‡เจฐเฉ€ เจชเจพเจˆ 3 เจฎเจพเจกเจฒ เจฌเฉ€ + ะฒ เจตเจพเจงเฉ‚ เจ˜เฉฑเจŸเฉ‹-เจ˜เฉฑเจŸ เจชเฉเจฐเจฆเจฐเจธเจผเจจ. เจฎเฉˆเจ‚ เจ‡เฉฑเจ• เจตเจพเจˆ-เจซเจพเจˆ เจเจ•เจธเฉˆเจธ เจชเฉเจ†เจ‡เฉฐเจŸ เจจเฉ‚เฉฐ เจตเจงเจพเจ‰เจฃ เจฆเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ 'เจคเฉ‡ เจธเฉฐเจ–เฉ‡เจช เจตเจฟเฉฑเจš เจตเจฟเจšเจพเจฐ เจ•เจฐเจพเจ‚เจ—เจพ, เจœเฉ‹ เจ•เจฟ เจฎเฉ‡เจฐเฉ€ เจชเจฟเจ›เจฒเฉ€ เจธเฉฐเจฐเจšเจจเจพ เจฆเฉ‡ เจ…เจœเจผเจฎเจพเจ‡เจธเจผ เจ•เจพเจฐเจœ เจฆเฉ‡ เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚ เจชเจ›เจพเจฃเจฟเจ† เจ—เจฟเจ† เจธเฉ€ CentOS 7.

0. เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เฉ€ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ

เจธเจญ เจ•เฉเจ เจ‰เจนเฉ€ เจนเฉˆ เจœเจฟเจตเฉ‡เจ‚ เจชเจฟเจ›เจฒเฉ‡ เจฒเฉ‡เจ– เจตเจฟเฉฑเจš เจธเฉ‚เจšเฉ€เจฌเฉฑเจง เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€:

  • Raspberry Pi 3 เจฎเจพเจกเจฒ B+;
  • microSD >= 4GB (เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš เจคเฉเจธเฉ€เจ‚ เจธเจฟเจธเจŸเจฎ เจจเฉ‚เฉฐ 2GB เจกเจฐเจพเจˆเจต เจตเจฟเฉฑเจš "เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ" เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹);
  • เจฒเฉ€เจจเจ•เจธ เจ…เจคเฉ‡ เจฎเจพเจˆเจ•เฉเจฐเฉ‹ เจเจธเจกเฉ€ เจ•เจพเจฐเจก เจฐเฉ€เจกเจฐ เจจเจพเจฒ เจตเจฐเจ•เจธเจŸเฉ‡เจธเจผเจจ;
  • เจฐเจพเจธเจฌเฉ‡เจฐเฉ€ เจ…เจคเฉ‡ เจฒเฉ€เจจเจ•เจธ เจตเจฐเจ•เจธเจŸเฉ‡เจธเจผเจจ เจฆเฉ‡ เจตเจฟเจšเจ•เจพเจฐ เจตเจพเจ‡เจฐเจก เจจเฉˆเจŸเจตเจฐเจ• เจ•เจจเฉˆเจ•เจŸเฉ€เจตเจฟเจŸเฉ€ (เจ‡เจธ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš, เจธเฉˆเฉฑเจŸเจ…เฉฑเจช เจฒเจˆ เจ•เฉ‹เจˆ เจตเจพเจงเฉ‚ เจฎเจพเจจเฉ€เจŸเจฐ เจ…เจคเฉ‡ เจ•เฉ€เจฌเฉ‹เจฐเจก เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉ‹เจตเฉ‡เจ—เฉ€), เจฆเฉ‹เจตเจพเจ‚ เจกเจฟเจตเจพเจˆเจธเจพเจ‚ เจคเฉ‹เจ‚ เจ‡เฉฐเจŸเจฐเจจเฉˆเจŸ เจชเจนเฉเฉฐเจš;
  • เจฒเฉ€เจจเจ•เจธ เจตเจฟเฉฑเจš เจ‰เฉฑเจจเจค เจนเฉเจจเจฐ (เจœเจพเจฃเจจเจพ เจ…เจคเฉ‡ เจกเจฐเจจเจพ เจจเจนเฉ€เจ‚: เจ…เจฒเฉฑเจ—, dd ะธ mkfs).

เจฆเฉเจนเจฐเจพเจ“ เจฆเฉ‡ เจธเจฎเจพเจจ เจเจฒ.เจเจซ.เจเฉฑเจธ-เจคเฉเจนเจพเจกเฉ‡ เจ†เจชเจฃเฉ‡ เจฒเฉ€เจจเจ•เจธ เจจเฉ‚เฉฐ เจฌเจฃเจพเจ‰เจฃเจพ, เจซเฉ‡เจกเฉ‹เจฐเจพ เจกเจฟเจธเจŸเจฐเฉ€เจฌเจฟเจŠเจธเจผเจจ เจšเจฟเฉฑเจคเจฐ เจตเจฐเจคเจฟเจ† เจœเจพเจตเฉ‡เจ—เจพ, เจ…เจคเฉ‡ เจซเจฟเจฐ เจ‡เจธเจฆเฉ‡ เจ…เจงเจพเจฐ เจคเฉ‡, เจ‡เฉฑเจ• เจ˜เฉฑเจŸเฉ‹-เจ˜เฉฑเจŸ เจธเจฟเจธเจŸเจฎ เจฌเจฃเจพเจ‡เจ† เจœเจพเจตเฉ‡เจ—เจพ (โ€œเจธเจฐเฉ‹เจค เจคเฉ‹เจ‚ เจ•เฉฐเจชเจพเจ‡เจฒ เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚โ€)เฅค

1. เจฎเฉ‚เจฒ เจตเฉฐเจก เจฆเฉ€ เจธเจฅเจพเจชเจจเจพ

เจ‡เฉฐเจŸเจฐเจจเฉˆเฉฑเจŸ 'เจคเฉ‡ เจธเจฟเจธเจŸเจฎ เจฆเฉ‡ เจ•เฉฑเจšเฉ‡ เจšเจฟเฉฑเจคเจฐ เจฆเฉ‡ เจ•เฉ‹เจ†เจฐเจกเฉ€เจจเฉ‡เจŸเจธ:
https://โ€ฆ/fedora-secondary/releases/โ€ฆ/Spins/aarch64/images/Fedora-Minimal-โ€ฆxz

เจ‡เจธเจจเฉ‚เฉฐ เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจเจธเจกเฉ€ 'เจคเฉ‡ เจฐเจฟเจ•เจพเจฐเจก เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจน เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ:

  1. เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ เจฆเจพ "เจฐเฉ‚เจŸ" เจซเฉˆเจฒเจพเจ“ (เจคเฉ€เจœเจพ เจญเจพเจ—, ext3)
    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
    

เจนเฉเจฃ เจคเฉเจธเฉ€เจ‚ เจฎเจพเจˆเจ•เฉเจฐเฉ‹ เจเจธเจกเฉ€ เจคเฉ‹เจ‚ "เจฐเจธเจฌเฉ‡เจฐเฉ€" เจจเฉ‚เฉฐ เจกเจพเจ‰เจจเจฒเฉ‹เจก เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ…เจคเฉ‡ เจจเฉˆเจŸเจตเจฐเจ• เจฐเจพเจนเฉ€เจ‚ เจ‡เจธ เจจเจพเจฒ เจœเฉเฉœ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค

เจ เฉฐเจกเฉ‡ เจธเจผเฉเจฐเฉ‚ เจนเฉ‹เจฃ เจตเจฟเฉฑเจš เจกเฉ‡เจข เจฎเจฟเฉฐเจŸ เจฒเฉฑเจ—เจฆเฉ‡ เจนเจจเฅค เจฒเฉ‹เจก เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจธเจฟเจธเจŸเจฎ เจฆเจพ TTX:

Raspberry Pi + Fedora (aarch64) = Wi-Fi เจนเฉŒเจŸเจธเจชเฉŒเจŸ (เจœเจพเจ‚ เจจเฉ€เจฒเฉ€ เจŸเฉ‹เจชเฉ€ เจตเจพเจฒเจพ เจฐเจธเจฌเฉ‡เจฐเฉ€ เจฐเจพเจŠเจŸเจฐ)

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 เจเจกเฉ€เจธเจผเจจ เจฆเฉ‡ เจฐเฉ‚เจŸ เจฆเฉ€ เจธเจฎเฉฑเจ—เจฐเฉ€ เจฆเฉ‡ เจจเจพเจฒเฅค เจคเฉเจธเฉ€เจ‚ เจฐเจธเจฌเฉ‡เจฐเฉ€ เจจเฉ‚เฉฐ เจฌเฉฐเจฆ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ…เจคเฉ‡ เจฒเฉ€เจจเจ•เจธ เจตเจฐเจ•เจธเจŸเฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจเฉฑเจธเจกเฉ€ เจตเจพเจชเจธ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค

3. เจ‡เฉฑเจ• เจจเจฟเจŠเจจเจคเจฎ เจธเจฟเจธเจŸเจฎ เจฆเฉ€ เจธเจฅเจพเจชเจจเจพ

เจ‡เฉฐเจธเจŸเจพเจฒเฉ‡เจธเจผเจจ เจ˜เฉฑเจŸ เจคเฉ‹เจ‚ เจ˜เฉฑเจŸ OS "เจšเจฟเฉฑเจคเจฐ" เจซเจพเจˆเจฒเจพเจ‚ (เจชเจฟเจ›เจฒเฉ‡ เจชเฉœเจพเจ… เจตเจฟเฉฑเจš เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเฉ€เจ†เจ‚) เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจตเจฟเจธเจผเฉ‡เจธเจผ เจคเฉŒเจฐ 'เจคเฉ‡ เจคเจฟเจ†เจฐ เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจเจธเจกเฉ€ เจ‰เฉฑเจคเฉ‡ เจขเฉเจ•เจตเฉ€เจ‚ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจ•เจพเจชเฉ€ เจ•เจฐเจจ เจฒเจˆ เจ‰เจฌเจฒเจฆเฉ€ เจนเฉˆเฅค

เจ‡เฉฑเจ• 2GB เจ•เจพเจฐเจก เจ…เจคเฉ‡ เจ‡เจธ เจ‰เฉฑเจคเฉ‡ เจฆเฉ‹ เจญเจพเจ— เจ•เจพเจซเจผเฉ€ เจนเจจ:

  1. / boot / efi - EFI+FAT32, เจฌเฉ‚เจŸ, 100MB;
  2. / (เจฐเฉ‚เจŸ) - EXT4, เจฌเจพเจ•เฉ€ เจธเจพเจฐเฉ€ เจฅเจพเจ‚เฅค

เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจเจธเจกเฉ€ เจคเจฟเจ†เจฐ เจ•เจฐเจจ เจ…เจคเฉ‡ เจ‡เจธ เจตเจฟเฉฑเจš เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ€ เจจเจ•เจฒ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจน เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ:

  • OS เจฌเฉ‚เจŸ เจจเฉ‚เฉฐ เจ เฉ€เจ• เจ•เจฐเฉ‹;
  • เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจšเจพเจฒเฉ‚ เจ•เจฐเฉ‹;
  • ssh เจฆเฉเจ†เจฐเจพ เจชเจนเฉเฉฐเจš เจจเฉ‚เฉฐ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ•เจฐเฉ‹เฅค

เจฌเฉ‚เจŸ เจซเจฟเจ•เจธ เจซเจพเจˆเจฒเจพเจ‚ เจตเจฟเฉฑเจš เจญเจพเจ—เจพเจ‚ เจฆเฉ‡ UUID เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃเจพ เจนเฉˆ:

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

เจ…เจคเฉ‡ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ saved_entry= เจ†เจ–เจฐเฉ€ เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš

เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš:

microSD:/etc/fstab

เจคเฉเจธเฉ€เจ‚ เจ•เจฎเจพเจ‚เจก เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจตเจฟเฉฑเจš เจชเฉเจฐเจพเจฃเฉ‡ เจฎเฉเฉฑเจฒ, เจ…เจคเฉ‡ เจฎเฉŒเจœเฉ‚เจฆเจพ (เจ…เจช-เจŸเฉ‚-เจกเฉ‡เจŸ) เจฎเฉเฉฑเจฒ เจฒเฉฑเจญ เจธเจ•เจฆเฉ‡ เจนเฉ‹:

blkid | grep mmcblk | sort

เจฌเจฆเจฒเจฃ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเจฎเฉฑเจ—เจฐเฉ€ เจจเฉ‚เฉฐ เจตเฉ€ เจ เฉ€เจ• เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ fstab microSD เจ‰เฉฑเจคเฉ‡ เจคเจพเจ‚ เจ•เจฟ เจฎเจพเจŠเจ‚เจŸ เจชเฉเจ†เจ‡เฉฐเจŸ เจจเจตเฉ‡เจ‚ เจญเจพเจ— UUIDs เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐเฉ€ เจนเฉ‹เจฃเฅค

เจœเจฆเฉ‹เจ‚ เจคเฉเจธเฉ€เจ‚ เจชเจนเจฟเจฒเฉ€ เจตเจพเจฐ เจฐเจพเจธเจฌเฉ‡เจฐเฉ€ เจจเฉ‚เฉฐ เจšเจพเจฒเฉ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹ เจคเจพเจ‚ เจจเฉˆเจŸเจตเจฐเจ• เจ•เจพเจฐเจœเจ•เฉเจธเจผเจฒเจคเจพ เจ‡เฉฑเจ• เจ›เฉ‹เจŸเฉ€ เจœเจฟเจนเฉ€ "เจฌเจธเจพเจ–เจพ" เจจเจพเจฒ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆ - เจ‡เฉฑเจ• เจฒเจฟเฉฐเจ• เจฌเจฃเจพเจ“ (เจฏเฉ‹เจœเจจเจพเจคเจฎเจ• เจคเฉŒเจฐ 'เจคเฉ‡):

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 เจฆเฉ‡ เจธเจฎเจพเจจ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค

เจนเจฐ เจšเฉ€เจœเจผ เจจเฉ‚เฉฐ เจงเจฟเจ†เจจ เจจเจพเจฒ เจ…เจคเฉ‡ เจ—เจฒเจคเฉ€เจ†เจ‚ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจคเฉเจธเฉ€เจ‚ เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจเฉฑเจธเจกเฉ€ เจจเฉ‚เฉฐ "เจฐเจธเจฌเฉ‡เจฐเฉ€" เจตเจฟเฉฑเจš เจฒเฉˆ เจœเจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจตเจพเจงเฉ‚ เจจเจฟเจŠเจจเจคเจฎ เจธเฉฐเจธเจ•เจฐเจฃ เจตเจฟเฉฑเจš 64-เจฌเจฟเฉฑเจŸ OS เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค

4. เจคเจฟเจ†เจฐ เจธเจฟเจธเจŸเจฎ

เจ‰เจชเจฐเฉ‹เจ•เจค เจจเจฟเจฐเจฆเฉ‡เจธเจผเจพเจ‚ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ‡ เจ—เจ เจธเจฟเจธเจŸเจฎ เจฆเฉ€ "เจšเจฟเฉฑเจคเจฐ", เจฒเจฟเฉฐเจ• เจคเฉ‹เจ‚ เจกเจพเจŠเจจเจฒเฉ‹เจก เจ•เฉ€เจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆ:
Fedora-Tiny-31-5.5.7-200.aarch64

เจ‡เจน เจ‡เฉฑเจ• เจ†เจฐเจ•เจพเจˆเจต เจนเฉ‹เจตเฉ‡เจ—เจพ เจœเจฟเจธ เจตเจฟเฉฑเจš เจฆเฉ‹ เจซเจพเจˆเจฒเจพเจ‚ เจนเจจ: เจ‡เฉฐเจธเจŸเจพเจฒเฉ‡เจธเจผเจจ เจธเจ•เฉเจฐเจฟเจชเจŸ เจ…เจคเฉ‡ OS เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ TGZเฅค เจ…เจ•เจพเจ‡เจต เจจเฉ‚เฉฐ เจฒเฉ€เจจเจ•เจธ เจตเจฐเจ•เจธเจŸเฉ‡เจธเจผเจจ 'เจคเฉ‡ เจ…เจจเจชเฉˆเจ• เจ•เฉ€เจคเฉ‡ เจœเจพเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ, เจ‡เฉฑเจ• เจฎเจพเจˆเจ•เฉเจฐเฉ‹ เจเจธเจกเฉ€ เจชเจพเจ“ (เจ‡เฉฑเจ• 2GB เจ•เจพเจฐเจก เจ•เจพเจซเจผเฉ€ เจนเฉˆ) เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจจเจพเจฒ เจธเจ•เฉเจฐเจฟเจชเจŸ เจšเจฒเจพเจ“ - เจกเจฟเจตเจพเจˆเจธ เจฆเจพ เจจเจพเจฎ:

./install /dev/mmcblk0

เจธเจพเจตเจงเจพเจจ เจฐเจนเฉ‹!

เจฌเจฟเจจเจพเจ‚ เจ•เจฟเจธเฉ‡ เจšเฉ‡เจคเจพเจตเจจเฉ€ เจฆเฉ‡, เจกเจฟเจตเจพเจˆเจธ เจจเฉ‚เฉฐ เจซเจพเจฐเจฎเฉˆเจŸ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพ เจ…เจคเฉ‡ เจ‡เจธ 'เจคเฉ‡ เจ“เจชเจฐเฉ‡เจŸเจฟเฉฐเจ— เจธเจฟเจธเจŸเจฎ เจธเจฅเจพเจชเจค เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพเฅค

เจธเจ•เฉเจฐเจฟเจชเจŸ เจฆเฉ‡ เจ—เจฒเจคเฉ€-เจฐเจนเจฟเจค เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ•เจพเจฐเจก เจจเฉ‚เฉฐ "เจฐเจธเจฌเฉ‡เจฐเฉ€" เจตเจฟเฉฑเจš เจฎเฉเฉœ เจตเจฟเจตเจธเจฅเจฟเจค เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจตเจฐเจคเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ: dhcp เจฆเฉเจ†เจฐเจพ เจ•เฉˆเจš เจ•เจฐเฉ‹, เจชเจพเจธเจตเจฐเจก - "1".

เจธเจฟเจธเจŸเจฎ เจจเฉ‚เฉฐ เจธเจพเจฐเฉ€เจ†เจ‚ ID เจ…เจคเฉ‡ เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจคเฉ‹เจ‚ เจธเจพเจซเจผ เจ•เจฐ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจ‡เจธ เจฒเจˆ เจนเจฐ เจจเจตเฉ€เจ‚ เจ‡เฉฐเจธเจŸเจพเจฒเฉ‡เจธเจผเจจ เจตเจฟเจฒเฉฑเจ–เจฃ เจนเฉˆเฅค

เจฎเฉˆเจ‚ เจ‡เฉฑเจ• เจตเจพเจฐ เจซเจฟเจฐ เจฆเฉเจนเจฐเจพเจ‰เจ‚เจฆเจพ เจนเจพเจ‚, เจธเจฟเจธเจŸเจฎ - เจ˜เฉฑเจŸเฉ‹-เจ˜เฉฑเจŸ! เจ‡เจธ เจฒเจˆ, เจ˜เจฌเจฐเจพเจ“ เจจเจพ: DNF เจ‰เจชเจฒเจฌเจง เจนเฉˆ, เจ‡เจธเจฆเฉ‡ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเจนเฉ€ เจฆเฉ€ "เจ–เฉ‹เจœ" เจ•เจฐเจจเฉ€ เจชเจตเฉ‡เจ—เฉ€ /etc/resolv.conf.

เจฐเจธเจฌเฉ‡เจฐเฉ€ เจฆเฉ€ เจ เฉฐเจกเฉ€ เจธเจผเฉเจฐเฉ‚เจ†เจค เจฒเจ—เจญเจ— 40 เจธเจ•เจฟเฉฐเจŸ เจฒเฉˆเจ‚เจฆเฉ€ เจนเฉˆเฅค เจฒเฉ‹เจก เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจธเจฟเจธเจŸเจฎ เจฆเจพ TTX:

Raspberry Pi + Fedora (aarch64) = Wi-Fi เจนเฉŒเจŸเจธเจชเฉŒเจŸ (เจœเจพเจ‚ เจจเฉ€เจฒเฉ€ เจŸเฉ‹เจชเฉ€ เจตเจพเจฒเจพ เจฐเจธเจฌเฉ‡เจฐเฉ€ เจฐเจพเจŠเจŸเจฐ)

rpm -qa | wc -l
191

5. เจตเจพเจˆ-เจซเจพเจˆ

เจฎเฉˆเจ‚ เจตเจพเจˆ-เจซเจพเจˆ เจเจ•เจธเฉˆเจธ เจชเฉเจ†เจ‡เฉฐเจŸ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ 'เจคเฉ‡ เจฅเฉ‹เฉœเจพ เจงเจฟเจ†เจจ เจ•เจฐเจพเจ‚เจ—เจพเฅค เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจฒเจˆ, เจคเฉเจธเฉ€เจ‚ เจฎเฉ‡เจฐเฉ‡ เจชเจฟเจ›เจฒเฉ‡ เจฆเจพ เจนเจตเจพเจฒเจพ เจฆเฉ‡ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจฒเฉ‡เจ–.

EPEL เจฆเฉ€ เจนเฉเจฃ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆ - เจธเจพเจฐเฉ‡ เจชเฉˆเจ•เฉ‡เจœ เจ…เจงเจฟเจ•เจพเจฐเจค เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจนเจจเฅค

เจ‡เจน เจธเจผเจพเจ‡เจฆ เจนเจพเจฐ เจฎเฉฐเจจเจฃ เจฆเฉ‡ เจฏเฉ‹เจ— เจนเฉ‹เจตเฉ‡เจ—เจพ dnsmasq, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจซเฉ‡เจกเฉ‹เจฐเจพ, CentOS เจฆเฉ‡ เจ‰เจฒเจŸ, เจ‡เฉฑเจ• เจฌเจฟเจฒเจ•เฉเจฒ เจคเจพเจœเจผเจพ systemd-networkd เจนเฉˆ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจธเจงเจพเจฐเจจ เจฌเจฟเจฒเจŸ-เจ‡เจจ DHCP/DNS เจธเจฐเจตเจฐ เจนเจจเฅค เจชเจฐ เจคเฉฑเจฅ เจ‡เจน เจนเฉˆ เจ•เจฟ RHEL8 เจกเจฟเจตเฉˆเจฒเจชเจฐเจพเจ‚ เจตเจฟเฉฑเจš NM เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ เจนเฉ‹เจฐ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจšเฉ€เจœเจผ เจจเจพเจฒ เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจธเจŸเฉˆเจ• เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจ‡เจจเจ•เจพเจฐ เจ•เจฐ เจฆเจฟเฉฑเจคเจพ, เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฆเฉ‡ เจ‰เจœเจตเจฒ เจญเจตเจฟเฉฑเจ– เจตเจฟเฉฑเจš เจตเจฟเจธเจผเจตเจพเจธ เจฆเฉ€ เจชเฉเจฐเฉ‡เจฐเจจเจพ เจจเจนเฉ€เจ‚ เจฆเจฟเฉฐเจฆเจพ (เจฌเจฆเจจเจพเจฎเฉ€). เจธเฉฐเจ–เฉ‡เจช เจตเจฟเฉฑเจš, เจฎเฉˆเจ‚ เจ‡เจธเจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€ เจนเฉˆ.

เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจฌเจฟเจฒเจŸ-เจ‡เจจ เจตเจพเจˆ-เจซเจพเจˆ เจ…เจกเฉˆเจชเจŸเจฐ เจฒเจˆ เจฎเฉŒเจœเฉ‚เจฆเจพ เจกเฉเจฐเจพเจˆเจตเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจฐเจพเจธเจฌเฉ€เจ…เจจ เจกเจฟเจธเจŸเจฐเฉ€เจฌเจฟเจŠเจธเจผเจจ เจคเฉ‹เจ‚ "เจšเฉ‹เจฐเฉ€" เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ, เจชเจฐ เจ‡เจธ เจคเฉ‹เจ‚ เจธเจฟเฉฑเจงเจพ เจกเจพเจŠเจจเจฒเฉ‹เจก เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ. GitHub.

เจ‡เจน เจ‰เจน เจนเฉˆ เจœเฉ‹ เจฌเฉเจฐเฉŒเจกเจ•เจพเจฎ เจซเจฐเจฎเจตเฉ‡เจ…เจฐ เจซเจพเจˆเจฒเจพเจ‚ เจฎเฉ‡เจฐเฉ€ เจฐเจธเจฌเฉ‡เจฐเฉ€ 'เจคเฉ‡ เจฆเจฟเจ–เจพเจˆ เจฆเจฟเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจ (เจฏเฉ‹เจœเจจเจพเจคเจฎเจ• เจคเฉŒเจฐ' เจคเฉ‡):

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

เจ‰เจนเจจเจพเจ‚ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ 5GHz/AC เจจเจนเฉ€เจ‚ เจฎเจฟเจฒเฉ‡เจ—เจพเฅค

เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธเจพเจ‚ เจฆเฉ€ เจธเฉฐเจ–เจฟเจ† เจ…เจคเฉ‡ เจจเจพเจตเจพเจ‚ เจฌเจพเจฐเฉ‡เฅค เจนเฉเจฃ เจฎเฉˆเจ‚ เจธเจพเจฐเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจœเจผเฉ‹เจฐเจฆเจพเจฐ เจธเจฟเจซเจพเจฐเจธเจผ เจ•เจฐเจฆเจพ เจนเจพเจ‚ เจ•เจฟ เจ‰เจน เจธเจพเจซเจŸเจตเฉ‡เจ…เจฐ เจธเจตเจฟเฉฑเจšเจพเจ‚ เจฆเฉ€เจ†เจ‚ "เจธเฉ‡เจตเจพเจตเจพเจ‚" เจฆเจพ เจธเจนเจพเจฐเจพ เจจเจพ เจฒเฉˆเจฃ เจœเจฆเฉ‹เจ‚ เจคเฉฑเจ• เจ•เจฟ เจฌเจฟเจฒเจ•เฉเจฒ เจœเจผเจฐเฉ‚เจฐเฉ€ เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเจพ (เจชเฉเจฒ), เจœเฉ‹ เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจธเจŸเฉˆเจ• เจตเจฟเฉฑเจš เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจฒเฉ‹เจก เจชเฉ‡เจธเจผ เจ•เจฐเจฆเฉ‡ เจนเจจ เจ…เจคเฉ‡ เจฐเฉ‚เจŸเจฟเฉฐเจ— เจจเฉ‚เฉฐ เจฆเจฌเจพเจ‰เจ‚เจฆเฉ‡ เจนเจจเฅค เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจฎเจฒเจŸเฉ€เจชเจฒ เจตเจพเจ‡เจฐเจฒเฉˆเฉฑเจธ เจ…เจกเจพเจชเจŸเจฐ เจฐเฉฑเจ–เจฃ เจฆเฉ€ เจฏเฉ‹เจœเจจเจพ เจจเจนเฉ€เจ‚ เจฌเจฃเจพเจ‰เจ‚เจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเจฟเจฐเจซเจผ เจญเฉŒเจคเจฟเจ• เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆเฅค เจฎเฉ‡เจฐเฉ‡ เจ•เฉ‹เจฒ เจฆเฉ‹ เจตเจพเจˆ-เจซเจพเจˆ เจนเจจ, เจ‡เจธเจฒเจˆ เจฎเฉˆเจ‚ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• เจธเฉŒเจซเจŸเจตเฉ‡เจ…เจฐ เจฌเฉเจฐเจฟเจœ เจตเจฟเฉฑเจš เจœเฉ‹เฉœเจฆเจพ เจนเจพเจ‚ (เจนเจพเจฒเจพเจ‚เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจนเฉ‹เจธเจŸเฉˆเจชเจกเฉ€ เจธเฉˆเฉฑเจŸเจ…เฉฑเจช เจจเฉ‚เฉฐ เจตเฉฑเจ–เจฐเฉ‡ เจขเฉฐเจ— เจจเจพเจฒ เจฆเฉ‡เจ– เจ•เฉ‡ เจ‡เจธ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹).

เจ…เจคเฉ‡ เจฎเฉˆเจจเฉ‚เฉฐ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจฆเจพ เจจเจพเจฎ เจฌเจฆเจฒเจฃเจพ เจชเจธเฉฐเจฆ เจนเฉˆ.

เจซเฉ‡เจกเฉ‹เจฐเจพ เจตเจฟเฉฑเจš เจ…เจœเจฟเจนเจพ เจ•เจฐเจจ เจฒเจˆ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจชเฉเจฐเจคเฉ€เจ• เจฒเจฟเฉฐเจ• เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ:

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

เจ…เจคเฉ‡ เจซเจฟเจฐ เจ†เจฒเฉ‡ เจฆเฉเจ†เจฒเฉ‡ เจ˜เฉเฉฐเจฎเจพเจ เจฌเจฟเจจเจพเจ‚ เจ…เจฐเจฅเจชเฉ‚เจฐเจจ เจจเจพเจฎ เจฆเฉ‡เจฃเจพ เจธเฉฐเจญเจต เจนเฉ‹เจตเฉ‡เจ—เจพ udev, เจชเจฐ เจธเจฟเจฐเจซเจผ 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

  • เจ‡เฉฐเจŸ - เจฌเจฟเจฒเจŸ-เจ‡เจจ, ext - เจฌเจพเจนเจฐเฉ€ (USB) Wi-Fi เจ…เจกเจพเจชเจŸเจฐ เจ‡เฉฑเจ• "เจฌเฉเจฐเจฟเจœ" เจตเจฟเฉฑเจš เจ‡เจ•เฉฑเจ เฉ‡ เจ•เฉ€เจคเฉ‡ เจ—เจ LAN;
  • Wan โ€” เจˆเจฅเจฐเจจเฉˆเฉฑเจŸ เจ…เจกเจพเจชเจŸเจฐ เจœเจฟเจธ เจตเจฟเฉฑเจš เจ‡เฉฐเจŸเจฐเจจเฉˆเจŸ เจ•เจจเฉˆเจ•เจŸ เจนเฉˆเฅค

เจ•เฉ€ เจคเฉเจธเฉ€เจ‚ เจจเฉ‹เจŸเจฟเจธ เจ•เฉ€เจคเจพ? fq_codel - เจ‡เฉฑเจ• เจธเฉฑเจšเจฎเฉเฉฑเจš เจตเจงเฉ€เจ† เจšเฉ€เจœเจผ. เจ‡เฉฑเจ• เจคเจพเจœเจผเจพ เจฒเฉ€เจจเจ•เจธ เจ•เจฐเจจเจฒ เจฆเฉ‡ เจจเจพเจฒ, เจ‰เจน เจตเจพเจ‡เจฐเจฒเฉˆเฉฑเจธ เจฐเฉ‡เจ‚เจœ เจตเจฟเฉฑเจš เจ…เจธเจฒ เจšเจฎเจคเจ•เจพเจฐ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเจจ: เจ‡เฉฑเจ• เจญเจฟเจ†เจจเจ• "เจŸเฉ‹เจฐเฉˆเจ‚เจŸ เจกเจพเจ‰เจจเจฒเฉ‹เจก" เจ—เฉเจ†เจ‚เจขเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจ…เจšเจพเจจเจ• เจ—เจคเฉ€ เจตเจฟเฉฑเจš เจ—เจฟเจฐเจพเจตเจŸ เจตเฉฑเจฒ เจ…เจ—เจตเจพเจˆ เจจเจนเฉ€เจ‚ เจ•เจฐเฉ‡เจ—เจพเฅค เจ‡เฉฑเจฅเฉ‹เจ‚ เจคเฉฑเจ• เจ•เจฟ เจ‡เฉฑเจ• เจฒเฉ‹เจก เจ•เฉ€เจคเฉ‡ เจšเฉˆเจจเจฒ เจฆเฉ‡ เจจเจพเจฒ "เจ“เจตเจฐ เจฆเฉ€ เจเจ…เจฐ" เจšเจฒเจพเจ‰เจฃ เจตเจพเจฒเจพ เจ‡เฉฑเจ• เจ˜เจฐเฉ‡เจฒเฉ‚ 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

เจ…เจคเฉ‡ 5GHz/AC เจตเจฟเฉฑเจš เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ "เจœเจพเจฆเฉ‚" hostapd-int.conf:

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 เจคเฉ‹เจ‚ เจฌเจฃเฉ€ เจ‡เฉฑเจ• เจ›เฉ‹เจŸเฉ€ เจซเฉ‹เจŸเฉ‹เจธเจผเจพเจช:

(เจ‡เฉฐเจŸเจฐเจจเฉˆเจŸ เจ•เจจเฉˆเจ•เจธเจผเจจ - 100Mbit/sec)Raspberry Pi + Fedora (aarch64) = Wi-Fi เจนเฉŒเจŸเจธเจชเฉŒเจŸ (เจœเจพเจ‚ เจจเฉ€เจฒเฉ€ เจŸเฉ‹เจชเฉ€ เจตเจพเจฒเจพ เจฐเจธเจฌเฉ‡เจฐเฉ€ เจฐเจพเจŠเจŸเจฐ)
เจ…เจคเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš, เจ‡เฉฑเจ• เจ›เฉ‹เจŸเจพ FAQ.

6. เจ…เจ•เจธเจฐ เจชเฉเฉฑเจ›เฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจธเจตเจพเจฒ

6.1 เจฐเจธเจฌเฉ‡เจฐเฉ€ 'เจคเฉ‡ เจตเจพเจˆ-เจซเจพเจˆ เจฐเจพเจŠเจŸเจฐ เจ•เจฟเจ‰เจ‚ เจฌเจฃเจพเจ“?

เจ•เฉ‹เจˆ เจธเจฟเจฐเจซเจผ เจœเจตเจพเจฌ เจฆเฉ‡ เจธเจ•เจฆเจพ เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ "เจ‡เจน เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจจเจพ เจฆเจฟเจฒเจšเจธเจช เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจน เจธเจญเฅค"

เจชเจฐ เจ…เจธเจฒ เจตเจฟเฉฑเจš, เจ‡เจน เจฎเฉˆเจจเฉ‚เฉฐ เจฒเฉฑเจ—เจฆเจพ เจนเฉˆ เจ•เจฟ เจตเจฟเจธเจผเจพ เจ•เจพเจซเจผเฉ€ เจ—เฉฐเจญเฉ€เจฐ เจนเฉˆ. "เจ–เฉ‚เจจเฉ€" เจ‡เฉฐเจŸเจฐเจจเฉˆเจŸ เจฆเฉ‡ เจฏเฉเฉฑเจ— เจตเจฟเฉฑเจš, เจ‡เฉฑเจ• เจธเจŸเฉ‹เจฐ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจฐเจพเจŠเจŸเจฐ เจ–เจฐเฉ€เจฆเจฃเจพ เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ‡ เจจเจฟเจฐเจฎเจพเจคเจพ เจจเฉ‚เฉฐ เจฌเฉฐเจงเจ• เจฌเจฃเจพเจ‰เจฃเจพ เจ‡เฉฑเจ• เจฌเจนเฉเจค เจนเฉ€ เจจเจฟเจฐเจพเจธเจผเจพเจœเจจเจ• เจธเฉฐเจญเจพเจตเจจเจพ เจนเฉˆ. เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจฒเฉ‹เจ• เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจธเจฎเจเจฆเฉ‡ เจนเจจ เจ•เจฟ CVE เจœเจพเจ‚ เจฌเจฟเจฒเจŸ-เจ‡เจจ เจฌเฉˆเจ•เจกเฉ‹เจฐ เจจเจพเจฒ เจฌเฉˆเจ เจฃเจพ เจธเฉฐเจญเจต เจจเจนเฉ€เจ‚ เจนเฉˆเฅค

เจฌเฉ‡เจธเจผเฉฑเจ•, เจคเฉเจธเฉ€เจ‚ เจ‰เจคเจธเจผเจพเจนเฉ€เจ†เจ‚ เจคเฉ‹เจ‚ WRT เจซเจฐเจฎเจตเฉ‡เจ…เจฐ เจตเจฟเฉฑเจš เจฎเจพเจˆเจ—เฉเจฐเฉ‡เจŸ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจ‰เจจเฉเจนเจพเจ‚ เจตเจฟเฉฑเจš เจธเจผเจพเจ‡เจฆ เจœเจผเจฟเจ†เจฆเจพ เจญเจฐเฉ‹เจธเจพ เจนเฉˆ, เจชเจฐ เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจ‰เจจเฉเจนเจพเจ‚ 'เจคเฉ‡ เจจเจฟเจฐเจญเจฐ เจจเจนเฉ€เจ‚ เจฐเจนเจฟเจฃเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡, เจคเจพเจ‚ เจธเจฟเจฐเจซเจผ เจ†เจชเจฃเฉ‡ เจ‰เจคเจชเจพเจฆ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹เฅค เจ†เจฆเจฐเจธเจผเจ• เจคเฉŒเจฐ 'เจคเฉ‡, เจ‡เฉฑเจ• เจชเฉ‚เจฐเจพ เจ•เฉฐเจชเจฟเจŠเจŸเจฐ เจคเจพเจ‚ เจœเฉ‹ เจฆเฉเจจเฉ€เจ† เจฆเฉ€ เจนเจฐ เจšเฉ€เจœเจผ เจ‡เจธ 'เจคเฉ‡ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเฉ€ เจœเจพ เจธเจ•เฉ‡เฅค เจฐเฉ‚เจŸเจฟเฉฐเจ— เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš, เจฌเฉ‡เจธเจผเจ•.

เจ‡เจธ เจฒเจˆ, "เจฐเจธเจฌเฉ‡เจฐเฉ€" เจฆเฉ€ เจšเฉ‹เจฃ เจ•เจฐเจจเจพ เจ‡เฉฑเจ• เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจ†เจฐเจฅเจฟเจ• เจšเจพเจฒ เจนเฉˆ: เจ‡เฉฑเจ• เจ…เจธเจฒ เจ•เฉฐเจชเจฟเจŠเจŸเจฐ เจ…เจคเฉ‡ เจ‰เจธเฉ‡ เจธเจฎเฉ‡เจ‚ เจ‡เฉฑเจ• เจธเจธเจคเจพ. เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจธเจผเจพเจ‡เจฆ เจ‡เจน เจตเฉ€ - เจ…เฉฐเจฆเจฐ เจ‰เจจเฉเจนเจพเจ‚ เจฆเฉ‡ "เจกเจฌเจฒเจœเจผ" เจฆเฉ‡ เจจเจพเจฒ.

6.2 เจชเจฐ เจฐเจธเจฌเฉ‡เจฐเฉ€ เจ‡เฉฑเจ• "เจ˜เฉฑเจŸ เจฐเจพเจŠเจŸเจฐ" เจนเฉˆ: เจนเฉŒเจฒเฉ€ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจˆเจฅเจฐเจจเฉˆเฉฑเจŸ เจชเฉ‹เจฐเจŸ เจจเจพเจฒ!

เจ‡เฉฑเจ• เจ˜เจฐเฉ‡เจฒเฉ‚ Wi-Fi เจฐเจพเจŠเจŸเจฐ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš, เจฐเจธเจฌเฉ‡เจฐเฉ€ เจฎเฉ‡เจฐเฉ‡ เจฒเจˆ เจคเจธเฉฑเจฒเฉ€เจฌเจ–เจธเจผ เจคเฉ‹เจ‚ เจตเฉฑเจง เจนเฉˆเฅค เจฎเฉˆเจ‚ เจ‰เฉฑเจชเจฐ เจนเจตเจพ เจฆเฉ€ เจ—เจคเฉ€ เจฌเจพเจฐเฉ‡ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ—เฉฑเจฒ เจ•เฉ€เจคเฉ€ เจนเฉˆเฅค เจ…เจคเฉ‡ เจ‡เฉฑเจฅเฉ‡ เจธเจฟเจฐเจซ เจ‡เฉฑเจ• เจˆเจฅเจฐเจจเฉˆเฉฑเจŸ เจนเฉˆ, เจ–เฉˆเจฐ, เจเจชเจฒ เจฆเฉ‡ เจธเจฎเจพเจจ เจ‰เจคเจชเจพเจฆ เจตเจฟเฉฑเจš เจ‡เจน เจฒเจ—เจญเจ— เจธเจฎเจพเจจ เจนเฉˆ!

เจชเจฐ เจ—เฉฐเจญเฉ€เจฐเจคเจพ เจจเจพเจฒ, เจฌเฉ‡เจธเจผเจ• เจฎเฉˆเจ‚ เจนเฉ‹เจฐ เจšเจพเจนเจพเจ‚เจ—เจพ. เจ…เจคเฉ‡ เจ‡เจธ เจคเฉฑเจฅ เจฆเฉ‡ เจฌเจพเจตเจœเฉ‚เจฆ เจ•เจฟ เจฎเฉ‡เจฐเฉ‡ เจ˜เจฐ เจตเจฟเฉฑเจš เจธเจพเจฐเฉ€เจ†เจ‚ เจกเจฟเจตเจพเจˆเจธเจพเจ‚ เจตเจพเจ‡เจฐเจฒเฉˆเฉฑเจธ เจคเฉŒเจฐ 'เจคเฉ‡ เจ•เจจเฉˆเจ•เจŸ เจนเฉเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจ, เจ•เจˆ เจตเจพเจฐ เจคเจพเจ‚เจฌเฉ‡ เจฆเฉ‡ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค เจ…เจœเจฟเจนเฉ‡ เจฎเจพเจฎเจฒเจฟเจ†เจ‚ เจฒเจˆ, เจฎเฉ‡เจฐเฉ‡ เจ•เฉ‹เจฒ เจธเจŸเจพเจ• เจตเจฟเฉฑเจš เจ‡เฉฑเจ• "เจฎเฉ‹เจฌเจพเจˆเจฒ เจนเฉฑเจฌ" เจนเฉˆ:

เจกเจฟเจตเจพเจˆเจธ - เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฆเจพ เจ•เฉเจRaspberry Pi + Fedora (aarch64) = Wi-Fi เจนเฉŒเจŸเจธเจชเฉŒเจŸ (เจœเจพเจ‚ เจจเฉ€เจฒเฉ€ เจŸเฉ‹เจชเฉ€ เจตเจพเจฒเจพ เจฐเจธเจฌเฉ‡เจฐเฉ€ เจฐเจพเจŠเจŸเจฐ)

6.3 เจœเฉ‡เจ•เจฐ เจ‡เจน เจ‡เฉฑเจ• เจฐเจพเจŠเจŸเจฐ เจนเฉˆ, เจคเจพเจ‚ "เจŸเจฟเจŠเจจเจฟเฉฐเจ—" TCP/IP เจฌเจพเจฐเฉ‡ เจ•เฉเจ เจจเจนเฉ€เจ‚ เจ•เจฟเจนเจพ เจœเจพเจ‚เจฆเจพ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจน เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจนเฉˆ!

เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจธเจŸเฉˆเจ• (tcp_fastopen, YeAH, เจ†เจฆเจฟ) เจธเจฅเจพเจชเจค เจ•เจฐเจจ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจ‡เจน เจ…เจคเฉ‡ เจชเจฟเจ›เจฒเจพ เจฒเฉ‡เจ– เจนเฉ‹เจฐ เจธเฉ‚เจ–เจฎเจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจธเจผเจพเจฎเจฒ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ, เจ–เจพเจธ เจคเฉŒเจฐ 'เจคเฉ‡, เจ…เจจเฉเจ•เฉ‚เจฒ เจตเจฐเจคเฉ‹เจ‚ เจฒเจˆ เจฎเจพเจˆเจ•เฉเจฐเฉ‹ เจเจธเจกเฉ€ เจคเจฟเจ†เจฐ เจ•เจฐเจจ เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† (เจนเจพเจฒเจพเจ‚เจ•เจฟ เจ‡เฉฐเจธเจŸเจพเจฒเจฐ เจฎเฉˆเจฎเจฐเฉ€ เจ•เจพเจฐเจก เจจเฉ‚เฉฐ เจซเจพเจฐเจฎเฉˆเจŸ เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ‡เฉฑเจ• เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจคเจฐเฉ€เจ•เจพ). เจธเฉเจงเจพเจฐ เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจฌเฉ‡เจ…เฉฐเจค เจนเฉˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเจฎเฉ‡เจ‚ เจธเจฟเจฐ เจฐเฉเจ•เจฃ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉˆ.

6.4 เจซเฉ‡เจกเฉ‹เจฐเจพ เจ•เจฟเจ‰เจ‚?

เจ•เจฟเจ‰เจ‚เจ•เจฟ เจฎเฉˆเจจเฉ‚เฉฐ เจชเจธเฉฐเจฆ เจนเฉˆ! เจซเฉ‡เจกเฉ‹เจฐเจพ เจ—เฉ€เจ•เจธ เจฒเจˆ เจ‡เฉฑเจ• "เจฎเฉเฉฑเจ– เจงเจพเจฐเจพ" เจธเจฟเจธเจŸเจฎ เจนเฉˆ, เจœเจฟเจธ เจฒเจˆ เจ‡เจน เจฒเฉ‡เจ– เจ…เจธเจฒ เจตเจฟเฉฑเจš เจคเจฟเจ†เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจฒเจฟเจ–เจฃ เจฆเฉ‡ เจธเจฎเฉ‡เจ‚, เจธเจผเจพเจ‡เจฆ เจ‡เจ•เฉ‹ OS เจœเฉ‹ เจฐเจพเจธเจฌเฉ‡เจฐเฉ€ เจฒเจˆ 64-เจฌเจฟเฉฑเจŸ เจธเฉฐเจธเจ•เจฐเจฃ เจตเจฟเฉฑเจš เจ…เจงเจฟเจ•เจพเจฐเจค เจคเฉŒเจฐ 'เจคเฉ‡ เจกเจฟเจตเฉˆเจฒเจชเจฐเจพเจ‚ เจฆเฉ‡ เจ‡เฉฑเจ• เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจฃ เจธเจŸเจพเจซ เจฆเฉเจ†เจฐเจพ เจธเจฎเจฐเจฅเจค เจนเฉˆ (เจœเจฟเจธ เจคเฉ‹เจ‚ เจฎเฉˆเจ‚ เจ‡เฉฐเจคเจœเจผเจพเจฐ เจจเจนเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฆเจพ) เจ•เจฐเจจเจฒ 5.6).

6.5 เจ•เฉ€ เจฌเจฒเฉ‚เจŸเฉเฉฑเจฅ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ? เจตเฉ€เจกเฉ€เจ“/เจธเจพเจŠเจ‚เจก/GPIO เจ•เจฟเจนเฉ‹ เจœเจฟเจนเจพ เจนเฉˆ?

เจชเจคเจพ เจจเจนเฉ€เจ‚เฅค เจฒเฉ‡เจ– เจธเจฟเจธเจŸเจฎ เจฆเฉ€ เจ˜เฉฑเจŸเฉ‹-เจ˜เฉฑเจŸ เจ‡เฉฐเจธเจŸเจพเจฒเฉ‡เจธเจผเจจ เจ…เจคเฉ‡ Wi-Fi เจฐเจพเจŠเจŸเจฐ เจตเจœเฉ‹เจ‚ เจ‡เจธเจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจฌเจพเจฐเฉ‡ เจนเฉˆเฅค

6.6 CentOS/Fedora/RedHat เจฌเจพเจฐเฉ‡ เจธเจพเจฐเฉ‡ เจฒเฉ‡เจ– SELinux เจจเฉ‚เฉฐ เจ…เจฏเฉ‹เจ— เจ•เจฐเจจ เจจเจพเจฒ เจ•เจฟเจ‰เจ‚ เจธเจผเฉเจฐเฉ‚ เจนเฉเฉฐเจฆเฉ‡ เจนเจจ?

เจ•เจฟเจ‰เจ‚เจ•เจฟ เจธเจฟเจธเจŸเจฎ เจฌเจนเฉเจค เจ˜เฉฑเจŸ เจนเฉˆ, เจ‡เจธ เจตเจฟเฉฑเจš เจ‡เจธเจจเฉ‚เฉฐ เจธเจฅเจพเจชเจค เจ•เจฐเจจ เจฒเจˆ เจซเจพเจ‡เจฐเจตเจพเจฒ เจœเจพเจ‚ เจ‰เจชเจฏเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจตเฉ€ เจจเจนเฉ€เจ‚ เจนเจจเฅค เจ•เฉ‹เจˆ เจตเฉ€ เจœเจฟเจธเจจเฉ‚เฉฐ เจ‡เจธเจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจ‰เจน เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ เจ‰เจน เจธเจญ เจ•เฉเจ เจธเจฅเจพเจชเจค เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ เจœเจฟเจธเจฆเฉ€ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฒเฉ‹เฉœ เจนเฉˆเฅค

6.7 เจธเจฟเจธเจŸเจฎ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€, เจชเจพเจธเจตเจฐเจก เจฌเจฆเจฒเจฟเจ† เจจเจนเฉ€เจ‚ เจœเจพ เจธเจ•เจฆเจพ - เจ•เฉ‹เจˆ เจชเจพเจธเจตเจฐเจก เจจเจนเฉ€เจ‚เฅค เจ•เฉ‹เจˆ เจชเจฟเฉฐเจ— เจจเจนเฉ€เจ‚, เจ•เฉเจ เจจเจนเฉ€เจ‚!

เจนเจจ 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

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹