Raspberry Pi + Fedora (aarch64) = Wi-Fi Hotspot (ΠΈΠ»ΠΈ ΠΌΠ°Π»ΠΈΠ½ΠΎΠ²Ρ‹ΠΉ Ρ€ΠΎΡƒΡ‚Π΅Ρ€ Π² синСй шляпС)

Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Raspberry Pi + CentOS = Wi-Fi Hotspot (ΠΈΠ»ΠΈ ΠΌΠ°Π»ΠΈΠ½ΠΎΠ²Ρ‹ΠΉ Ρ€ΠΎΡƒΡ‚Π΅Ρ€ Π² красной шляпС) я рассказал ΠΎ способС прСвращСния Β«ΠΌΠ°Π»ΠΈΠ½ΠΊΠΈΒ» Π² Π±Π΅ΡΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ доступа ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы CentOS. Π‘ΠΎΠ±Ρ€Π°Π² ΠΏΠΎ Ρ‚Π°ΠΊΠΎΠΌΡƒ Ρ‡Π΅Ρ€Ρ‚Π΅ΠΆΡƒ ΠΌΠΎΠΉ домашний Ρ€ΠΎΡƒΡ‚Π΅Ρ€, я ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΠ» своС творчСскоС эго ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» заряд спокойствия Π·Π° критичСски Π²Π°ΠΆΠ½Ρ‹ΠΉ элСмСнт ΠΌΠΎΠ΅ΠΉ ΡƒΡŽΡ‚Π½ΠΎΠΉ инфраструктуры. Однако ΠΎΡ‰ΡƒΡ‰Π΅Π½ΠΈΠ΅ нСзакончСнности Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ ΠΏΠ΅Ρ€Ρ„Π΅ΠΊΡ†ΠΈΠΎΠ½ΠΈΠ·ΠΌ Π½Π΅ Π΄Π°Π²Π°Π»ΠΈ покоя: Β«Π½Π΅ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€Π°Π²Π° Π½Π° сущСствованиС». ΠœΡ‹ΡΠ»ΡŒ ΠΎ Ρ‚ΠΎΠΌ, Β«Ρ‡Ρ‚ΠΎ ΠΈΠ΄Π΅Π°Π» ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ достигнут» Π½Π΅ ΠΏΠΎΠΊΠΈΠ΄Π°Π»Π° мСня Π½ΠΈ Π½Π° ΠΌΠΈΠ½ΡƒΡ‚Ρƒ.

И Π²ΠΎΡ‚ ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ‹ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· тСматичСских Ρ„ΠΎΡ€ΡƒΠΌΠΎΠ² я натолкнулся Π½Π° обсуТдСниС разрядности ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм для Β«ΠΌΠ°Π»ΠΈΠ½ΠΊΠΈΒ» (aarch64 vs armhfp): ΠΊΠ°ΠΊΠΈΠ΅ 64-Π±ΠΈΡ‚Π½Ρ‹Π΅ ОБ Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²Π»Π΅Π·Ρ‚ΡŒ ΠΈ Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° Raspberry вСрсии 3++?

Моя любимая CentOS для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ARM ΠΎΡ‚ Β«UserlandΒ» Π½Π΅ спСшила ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° ядро послСднСй вСрсии ΠΈ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ Π² 64-Π±ΠΈΡ‚Π½ΡƒΡŽ. А Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ EPEL, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΉ Π‘ΠΎΠ³ Π²Π΅ΡΡ‚ΡŒ ΠΎΡ‚ΠΊΡƒΠ΄Π° Π±Π΅Π· Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписи, являлся ΠΊΠΎΡˆΠΌΠ°Ρ€ΠΎΠΌ Π² ΠΌΠΎΠΉ нСспокойный сон…

Выступая Π°Π΄Π΅ΠΏΡ‚ΠΎΠΌ RPM-based дистрибутивов, я с ΡƒΠ΄ΠΈΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ», Ρ‡Ρ‚ΠΎ Π² обсуТдСниях ОБ для Β«ΠΌΠ°Π»ΠΈΠ½ΠΊΠΈΒ» Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π·Π°Π±Ρ‹Ρ‚ΠΎΠΉ оказалась Fedora! И это ΠΏΡ€ΠΈ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΅Π΅ Ρ€Π΅Π»ΠΈΠ·
с 28-ΠΎΠΉ вСрсии ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Raspberry Pi 3B+ Π² 64-Π±ΠΈΡ‚Π½ΠΎΠΌ исполнСнии!

Raspberry Pi + Fedora (aarch64) = Wi-Fi Hotspot (ΠΈΠ»ΠΈ ΠΌΠ°Π»ΠΈΠ½ΠΎΠ²Ρ‹ΠΉ Ρ€ΠΎΡƒΡ‚Π΅Ρ€ Π² синСй шляпС)
Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я расскаТу ΠΎ способС установки Fedora (aarch64) Π½Π° Raspberry Pi 3 Model B+ Π² экстра минимальном исполнСнии. ΠšΡ€Π°Ρ‚ΠΊΠΎ ΠΎΡΡ‚Π°Π½ΠΎΠ²Π»ΡŽΡΡŒ Π½Π° особСнностях поднятия Wi-Fi Ρ‚ΠΎΡ‡ΠΊΠΈ доступа, выявлСнных Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΎΠΏΡ‹Ρ‚Π½ΠΎΠΉ эксплуатации ΠΌΠΎΠ΅ΠΉ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π½Π° CentOS 7.

0. Π§Ρ‚ΠΎ понадобится

ВсС Ρ‚ΠΎΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ пСрСчислСно Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅:

  • Raspberry Pi 3 Model B+;
  • microSD >= 4GB (Π² послСдствии ΠΌΠΎΠΆΠ½ΠΎ «пСрСнСсти» систСму Π½Π° 2GB Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒ);
  • Рабочая станция с Linux ΠΈ ΠΊΠ°Ρ€Ρ‚Ρ€ΠΈΠ΄Π΅Ρ€ΠΎΠΌ microSD;
  • ΠŸΡ€ΠΎΠ²ΠΎΠ΄Π½Π°Ρ сСтСвая ΡΠ²ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΡŒ Β«ΠΌΠ°Π»ΠΈΠ½ΠΊΠΈΒ» ΠΈ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ станции с Linux (Π² этом случаС Π½Π΅ понадобятся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° для настройки), доступ Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ с ΠΎΠ±ΠΎΠΈΡ… устройств;
  • ΠŸΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹ΠΉ скилл Π² Linux (Π·Π½Π°Ρ‚ΡŒ ΠΈ Π½Π΅ Π±ΠΎΡΡ‚ΡŒΡΡ: parted, dd ΠΈ mkfs).

Подобно ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ LFS-сборкС собствСнного Linux, Π±ΡƒΠ΄Π΅Ρ‚ использован дистрибутивный ΠΎΠ±Ρ€Π°Π· Fedora, Π° ΠΏΠΎΡ‚ΠΎΠΌ Π½Π° Π΅Π³ΠΎ основС β€” создана минимальная систСма (Π±Π΅Π· «компиляции ΠΈΠ· исходников»).

1. Установка ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ дистрибутива

ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ raw-ΠΎΠ±Ρ€Π°Π·Π° систСмы Π² Π‘Π΅Ρ‚ΠΈ:
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 ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π΅ΠΉ ΠΏΠΎ сСти.

Π₯ΠΎΠ»ΠΎΠ΄Π½Ρ‹ΠΉ старт Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠΊΠΎΠ»ΠΎ ΠΏΠΎΠ»ΡƒΡ‚ΠΎΡ€Π° ΠΌΠΈΠ½ΡƒΡ‚. Π’Π’Π₯ систСмы послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ:

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) с содСрТимым корня Π½ΠΎΠ²ΠΎΠΉ минимальной Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΈ ОБ. МоТно Π²Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Β«ΠΌΠ°Π»ΠΈΠ½ΠΊΡƒΒ» ΠΈ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ microSD Π² Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΡΡ‚Π°Π½Ρ†ΠΈΡŽ Linux.

3. Установка минимальной систСмы

Установка сводится ΠΊ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ² минимального Β«ΠΎΠ±Ρ€Π°Π·Π°Β» ОБ (ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ шагС) Π½Π° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½ΡƒΡŽ microSD Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ.

Достаточно 2GB ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΈ Π΄Π²ΡƒΡ… Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² Π½Π° Π½Π΅ΠΉ:

  1. /boot/efi β€” EFI+FAT32, Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹ΠΉ, 100MB;
  2. / (ΠΊΠΎΡ€Π΅Π½ΡŒ) β€” EXT4, всС ΠΎΡΡ‚Π°Π²ΡˆΠ΅Π΅ΡΡ мСсто.

ПослС ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ microSD ΠΈ копирования Π½Π° Π½Π΅Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ², Π½ΡƒΠΆΠ½ΠΎ:

  • ΠΏΠΎΡ‡ΠΈΠ½ΠΈΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ОБ;
  • Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΡΠ΅Ρ‚ΡŒ;
  • Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ доступ ΠΏΠΎ 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, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚ΠΎΡ‡ΠΊΠΈ монтирования соотвСтствовали Π½ΠΎΠ²Ρ‹ΠΌ UUID Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ².

Π‘Π΅Ρ‚Π΅Π²ΠΎΠΉ работоспособности ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Β«ΠΌΠ°Π»ΠΈΠ½ΠΊΠΈΒ» ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ нСбольшим «костылСм» β€” ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ссылку (схСматично):

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-Π±ΠΈΡ‚Π½ΠΎΠΉ ОБ Π² экстра минимальном исполнСнии.

4. Готовая систСма

Β«ΠžΠ±Ρ€Π°Π·Β» Π³ΠΎΡ‚ΠΎΠ²ΠΎΠΉ систСмы, созданный ΠΏΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π²Ρ‹ΡˆΠ΅ инструкции, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΏΠΎ ссылкС:
Fedora-Tiny-31-5.5.7-200.aarch64

Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π°Ρ€Ρ…ΠΈΠ², содСрТащий Π² сСбС Π΄Π²Π° Ρ„Π°ΠΉΠ»Π°: скрипт инсталляции ΠΈ TGZ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ОБ. Архив Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°ΡΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ станции Linux, Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ microSD (достаточно 2GB ΠΊΠ°Ρ€Ρ‚Ρ‹) ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ β€” ΠΈΠΌΠ΅Π½Π΅ΠΌ устройства:

./install /dev/mmcblk0

Π‘ΡƒΠ΄ΡŒΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹!

Π‘Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΉ устройство Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ ΠΈ Π½Π° Π½Π΅Π³ΠΎ – установлСна опСрационная систСма.

ПослС Π±Π΅Π·ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎΠΉ ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ скрипта ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π² Β«ΠΌΠ°Π»ΠΈΠ½ΠΊΡƒΒ» ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ: Π»ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠΎ dhcp, ΠΏΠ°Ρ€ΠΎΠ»ΡŒ β€” Β«1Β».

БистСма ΠΎΡ‡ΠΈΡ‰Π΅Π½Π° ΠΎΡ‚ всяких ID ΠΈ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, ΠΈΠ·-Π·Π° Ρ‡Π΅Π³ΠΎ каТдая новая установка – ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Π°.

ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΡŽΡΡŒ Π΅Ρ‰Π΅ Ρ€Π°Π·, систСма β€” минимальна! ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π΅ ΠΏΡƒΠ³Π°ΠΉΡ‚Π΅ΡΡŒ: DNF β€” Π² Π½Π°Π»ΠΈΡ‡ΠΈΠΈ, для Π΅Π³ΠΎ работоспособности придСтся Β«ΡΠΎΡ‡ΠΈΠ½ΠΈΡ‚ΡŒΒ» ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ /etc/resolv.conf.

Π₯ΠΎΠ»ΠΎΠ΄Π½Ρ‹ΠΉ старт Β«ΠΌΠ°Π»ΠΈΠ½ΠΊΠΈΒ» Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠΊΠΎΠ»ΠΎ 40 сСкунд. Π’Π’Π₯ систСмы послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ:

Raspberry Pi + Fedora (aarch64) = Wi-Fi Hotspot (ΠΈΠ»ΠΈ ΠΌΠ°Π»ΠΈΠ½ΠΎΠ²Ρ‹ΠΉ Ρ€ΠΎΡƒΡ‚Π΅Ρ€ Π² синСй шляпС)

rpm -qa | wc -l
191

5. Wi-Fi

НСмного ΠΎΡΡ‚Π°Π½ΠΎΠ²Π»ΡŽΡΡŒ Π½Π° особСнностях Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Wi-Fi Ρ‚ΠΎΡ‡ΠΊΠΈ доступа. Π—Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚ΠΈΠΊΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΌΠΎΠ΅ΠΉ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅.

EPEL Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ понадобится β€” всС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ содСрТатся Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… рСпозиториях.

НавСрноС, стоило Π±Ρ‹ ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ dnsmasq, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² Fedora, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ ΠΎΡ‚ CentOS, β€” достаточно свСТий systemd-networkd, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ β€” Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ встроСнныС DHCP/DNS сСрвСры. Но Ρ„Π°ΠΊΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π² RHEL8 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΎΡ‚ΠΊΠ°Π·Π°Π»ΠΈΡΡŒ ΠΎΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ сСтСвого стСка Ρ‡Π΅ΠΌ-Π»ΠΈΠ±ΠΎ ΠΊΡ€ΠΎΠΌΠ΅ NM, Π½Π΅ всСляСт увСрСнности Π² свСтлом Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (нСгодяи). ΠšΠΎΡ€ΠΎΡ‡Π΅, Π½Π΅ ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π».

Π”Π°Π»Π΅Π΅, Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ встроСнного Wi-Fi Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ Β«Π²ΠΎΡ€ΠΎΠ²Π°Ρ‚ΡŒΒ» ΠΈΠ· дистрибутива Raspbian, Π° ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ с github.

Π’ΠΎΡ‚ Ρ‚Π°ΠΊ выглядят Π½Π° ΠΌΠΎΠ΅ΠΉ Β«ΠΌΠ°Π»ΠΈΠ½ΠΊΠ΅Β» Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ Broadcom (схСматично):

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.

По ΠΏΠΎΠ²ΠΎΠ΄Ρƒ количСства ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠΉ интСрфСйсов. Π’Π΅ΠΏΠ΅Ρ€ΡŒ я ΡƒΠΆΠ΅ всСм Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ Π±Π΅Π· особой Π½ΡƒΠΆΠ΄Ρ‹ Π½Π΅ ΠΏΡ€ΠΈΠ±Π΅Π³Π°Ρ‚ΡŒ ΠΊ «услугам» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… свичСй (bridge), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ привносят Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π² сСтСвой стСк ΠΈ ΡƒΠ³Π½Π΅Ρ‚Π°ΡŽΡ‚ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ. Если Π½Π΅ планируСтся нСсколько бСспроводных Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠ², Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ слСдуСт ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ физичСскиС интСрфСйсы. Π£ мСня β€” Π΄Π²Π° Wi-Fi, поэтому Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΡ… я объСдиняю Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ мост (хотя ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ ΠΈ Π±Π΅Π· этого, ΠΏΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ взглянув Π½Π° настройку hostapd).

А ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ интСрфСйсы я люблю.

Для этого Π² Fedora Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ссылку:

/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

  • int β€” встроСнный, ext β€” внСшний (USB) Wi-Fi Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Ρ‹, собранныС Π² Β«Π±Ρ€ΠΈΠ΄ΠΆΒ» lan;
  • wan β€” Ethernet Π°Π΄Π°ΠΏΡ‚Π΅Ρ€, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚.

Π—Π°ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ? fq_codel β€” Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ зачСтная ΡˆΡ‚ΡƒΠΊΠ°. ВмСстС со свСТим ядром Linux творят настоящиС чудСса Π² бСспроводном Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅: Π»ΡŽΡ‚Ρ‹ΠΉ Β«Ρ‚ΠΎΡ€Π΅Π½Ρ‚-ΠΊΠ°Ρ‡Π΅ΠΊΒ» Π½Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎΠΉ Π΄Π΅Π³Ρ€Π°Π΄Π°Ρ†ΠΈΠΈ скорости Ρƒ сосСдСй. Π”Π°ΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π΅ Β«ΠΏΠΎ Π²ΠΎΠ·Π΄ΡƒΡ…ΡƒΒ» домашнСС IP-TV ΠΏΡ€ΠΈ Π½Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠΌ ΠΊΠ°Π½Π°Π»Π΅ Π½Π΅ «распадаСтся» ΠΈ Π½Π΅ «заикаСтся» ΠΎΡ‚ слова Π²ΠΎΠΎΠ±Ρ‰Π΅!

ΠŸΡ€Π΅Ρ‚Π΅Ρ€ΠΏΠ΅Π» нСбольшиС измСнСния сСрвисный Ρ„Π°ΠΉΠ» Π΄Π΅ΠΌΠΎΠ½Π° hostapd.

Выглядит Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ½ Ρ‚Π°ΠΊ (Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ встроСнного Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π°):

[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. FAQ

6.1 Π—Π°Ρ‡Π΅ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ Wi-Fi Ρ€ΠΎΡƒΡ‚Π΅Ρ€ Π½Π° Raspberry?

МоТно Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ просто, ΠΌΠΎΠ» «интСрСсно ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ всС Ρ‚Π°ΠΊΠΎΠ΅Β».

Но Π½Π° самом Π΄Π΅Π»Π΅, ΠΊΠ°ΠΊ ΠΌΠ½Π΅ каТСтся, Ρ‚Π΅ΠΌΠ° достаточно ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Π°Ρ. Π’ эпоху Β«ΠΊΡ€ΠΎΠ²ΠΎΠΏΡ€ΠΎΠ»ΠΈΡ‚Π½ΠΎΠ³ΠΎΒ» Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π° ΠΏΠΎΠΊΡƒΠΏΠ°Ρ‚ΡŒ Ρ€ΠΎΡƒΡ‚Π΅Ρ€ Π² ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅ ΠΈ ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ Π·Π°Π»ΠΎΠΆΠ½ΠΈΠΊΠΎΠΌ Π΅Π³ΠΎ производитСля β€” вСсьма унылая пСрспСктива. Π‘ΠΈΠ΄Π΅Ρ‚ΡŒ с CVE- ΠΈΠ»ΠΈ Π²ΡˆΠΈΡ‚Ρ‹ΠΌ бэкдором ΡƒΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ нСльзя.

РазумССтся, ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠΈΠ³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° WRT-ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ ΠΎΡ‚ энтузиастов. ДовСрия ΠΊ Π½ΠΈΠΌ, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, большС, Π½ΠΎ Ссли Π½Π΅ хочСтся Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΈ ΠΎΡ‚ Π½ΠΈΡ…, Ρ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ β€” собствСнноС ΠΈΠ·Π΄Π΅Π»ΠΈΠ΅. Π’ ΠΈΠ΄Π΅Π°Π»Π΅ – ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ для возмоТности Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° Π½Π΅ΠΌ всСго Π½Π° свСтС. Π’ ΠΏΠ»Π°Π½Π΅ Ρ€ΠΎΡƒΡ‚ΠΈΠ½Π³Π°, разумССтся.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Π²Ρ‹Π±ΠΎΡ€ Β«ΠΌΠ°Π»ΠΈΠ½ΠΊΠΈΒ» β€” чисто экономичСский Ρ…ΠΎΠ΄: настоящий ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΈ ΠΏΡ€ΠΈ этом β€” Π½Π΅Π΄ΠΎΡ€ΠΎΠ³ΠΎΠΉ. Π₯отя, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠΆΠ΅ β€” со своими «двоянами» Π²Π½ΡƒΡ‚Ρ€ΠΈ.

6.2 Но вСдь Raspberry – Β«Π½Π΅Π΄ΠΎΡ€ΠΎΡƒΡ‚Π΅Ρ€Β»: ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ ΠΈ с ΠΎΠ΄Π½ΠΈΠΌ Ethernet ΠΏΠΎΡ€Ρ‚ΠΎΠΌ!

Как домашний Wi-Fi Ρ€ΠΎΡƒΡ‚Π΅Ρ€, Β«ΠΌΠ°Π»ΠΈΠ½ΠΊΠ°Β» мСня устраиваСт Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ. ΠŸΡ€ΠΎ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Β«ΠΏΠΎ Π²ΠΎΠ·Π΄ΡƒΡ…ΡƒΒ» я ΡƒΠΆΠ΅ рассказал Π²Ρ‹ΡˆΠ΅. А всСго ΠΎΠ΄ΠΈΠ½ 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?

ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ систСма – минимальна, Π² Π½Π΅ΠΉ Π½Π΅Ρ‚ Π΄Π°ΠΆΠ΅ Ρ„Π°ΠΉΡ€Π²ΠΎΠ»Π° ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ ΠΏΠΎ Π΅Π³ΠΎ настройкС. ΠšΠΎΠΌΡƒ потрСбуСтся – ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ всС Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ.

6.7 БистСмой Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ, нСльзя ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ β€” Π½Π΅Ρ‚ passwd. НСт ping-Π°, Π½Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ!

Π•ΡΡ‚ΡŒ 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!

Для ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ инсталлятора «для всСх» потрСбуСтся Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ усилий. Если (Π²Π΄Ρ€ΡƒΠ³!) ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ это Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ покаТСтся интСрСсным ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ – ΠΏΠΈΡˆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π΅ΠΌ.

На этом β€” Π·Π°ΠΊΠΎΠ½Ρ‡Ρƒ.

Π–Π΅Π»Π°ΡŽ всСм бСзопасного сСрфинга ΠΈ максимального контроля Π½Π°Π΄ инфраструктурой!

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com