Artiklis RÀÀkisin viisist, kuidas muuta "malino" juhtmeta juurdepÀÀsupunktiks kasutades CentOS operatsioonisĂŒsteemi. Koostades kodrouteri selle plaani jĂ€rgi, rahuldasin oma loome-ego ja sain rahu, teades, et see kriitiliselt oluline element mu mugavas infrastruktuuris on olemas. Siiski, lĂ”petamatuse tunne ja sisemine perfektsionism ei lasknud rahu leida: "puudulik töö on vÀÀriline eksisteerimise Ă”igustel." MĂ”te, et "idee on saavutatud", ei lahkunud mu peast hetkekski.
Ăhel pĂ€eval sattusin ĂŒhel foorumil arutusele olemasolevate operatsioonisĂŒsteemide arhitektuuride kohta "malino jaoks" (aarch64 vs armhfp): millised 64-bitised operatsioonisĂŒsteemid saavad ĂŒldse mahutada ja töötada Raspberry versiooniga 3++?
Minu lemmik CentOS ARM arhitektuurile "Userland" ei kiirustanud viimase versiooni tuumale ĂŒleminekuga ja 64-bitiseks muutumisega. EPEL hoidla, mis oli ĂŒhendatud jumal teab kust ilma digitaalse allkirjata, oli Ă”udusunenĂ€gu mu rahututes unedes...
RPM-pĂ”histe levikute pooldajauna avastasin ĂŒllatusega, et "malino" operatsioonisĂŒsteemide aruteludes on tĂ€iesti unustamata Fedora! Ja see tuleb arvestada, et selle vĂ€ljaanne

Selles artiklis rÀÀgin ma installimise viisist Fedora (aarch64) . Tundub, et Raspberry Pi 3 Model B+ ja ÀÀrmiselt minimaalses vormis. LĂŒhidalt peatun Wi-Fi juurdepÀÀsupunkti seadistamise eripĂ€radel, mis tuvastati minu varasema konfiguratsiooni kasutamise kĂ€igus .
0. Mida on vaja
KÔik sama, mis on loetletud eelnevas artiklis:
- Raspberry Pi 3 Model B+;
- microSD >= 4GB (hiljem vĂ”ib sĂŒsteemi "ĂŒle kanda" 2GB mĂ€lukaardile);
- Tööstusjaam Linuxiga ja microSD kaardilugejaga;
- Juhtmega vĂ”rguĂŒhendus "malino" ja Linuxi tööstusjaama vahel (sellisel juhul ei ole seadistamiseks vaja tĂ€iendavat monitori ja klaviatuuri), internetiĂŒhendus mĂ”lemas seadmes;
- Arvuti oskused Linuxis (teada ja mitte karta: , ja ).
Sarnaselt iteratiivsele - oma Linuxi koostamise protsessis kasutatakse Fedora distributsioonipilti, ja selle alusel luuakse minimaalne sĂŒsteem (ilma "allika koodist kompileerimiseta").
1. Originaal-distreerituse installimine
SĂŒsteemi raw-pildi koordinaadid vĂ”rgus:
PĂ€rast selle kirjutamist microSD-le ja enne kasutamise alustamist tuleb:
- Laieneda failisĂŒsteemi âjuurâ (3. partitsioon, 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 - Sellel tuleb keelata SELinux
echo 'SELINUX=disabled' > /mnt/3/etc/selinux/config - Eemaldada esmakordse seadistamise meistriklass:
find /mnt/3/etc/systemd/ -iname initial-setup.service -delete - Lubada ssh-ĂŒhendus:
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
NĂŒĂŒd saab laadida âmalinatâ microSD-lt ja sellelevĂ”rgus juurde pÀÀseda.
KĂŒlm kĂ€ivitamine vĂ”tab aega umbes poolteist minutit. SĂŒsteemi tehnilised nĂ€itajad pĂ€rast kĂ€ivitamist:

rpm -qa | wc -l
444
2. Minimaalset sĂŒsteemi koguda
Kahjuks ei osutu arendajate âminimaalne distributsioonâ kaugel kĂ”ige tagasihoidlikumaks ressursside tarbimisel. SĂŒsteemi pilti on vĂ”imalik veelgi vĂ€iksemaks teha.
Selleks tuleb âmalinasâ kĂ€ivitada skript:
#!/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Àrast skripti kÀivitamist luuakse praeguses kataloogis alamkataloog ($P) koos uue minimaalsete versiooni OS-i juure sisu.
3. Minimaalse sĂŒsteemi installimine
Installatsioon hĂ”lmab minimaalse âpildiâ OS-i (saadud eelmisel sammul) failide kopeerimist spetsiaalselt ettevalmistatud microSD-le vastavatesse kataloogidesse.
Piisab 2GB kaardist ja kahest partitsioonist:
- /boot/efi â EFI+FAT32, kĂ€ivitus, 100MB;
- / (juur) â EXT4, kogu ĂŒlejÀÀnud ruum.
PĂ€rast microSD ettevalmistamist ja failide kopeerimist tuleb:
- parandada OS-i kÀivitamine;
- lĂŒlitada sisse vĂ”rk;
- seada ĂŒles ssh-ĂŒhendus.
SĂŒsteemi kĂ€vitamise parandamine seisneb UUID partitsioonide muutmises failides:
microSD:/boot/efi/EFI/fedora/grub.cfg
microSD:/boot/efi/EFI/fedora/grubenv
ja parameeter saved_entry= viimas failis
Failis:
microSD:/etc/fstab
saab leida vanad vÀÀrtused, praegused (aktuaalsed) â kĂ€su vĂ€ljundis:
blkid | grep mmcblk | sort
PĂ€rast muutmist tuleb samuti kohandada sisu fstab microSD-l, et montaaĆŸipunktid vastaksid uutele UUID-dele.
VĂ”rgutöökindluse saavutamiseks âmalinaâ esimesel kĂ€ivitamisel saab kasutada vĂ€ikest âkĂ”rvakatetâ â luua link (skeemiliselt):
ln -s /usr/lib/systemd/system/systemd-networkd.service
microSD:/etc/systemd/system/multi-user.target.wants
ja fail:
mkdir -p microSD:/etc/systemd/network
cat > microSD:/etc/systemd/network/dhcp.network << EOF
[Match]
Name=*
[Network]
DHCP=ipv4
EOF
PÀrast edukat laadimist - korda kÀivitamine :
systemctl disable systemd-networkd
systemctl enable systemd-networkd
Superkasutajale ssh kaudu juurde pÀÀsemine seadistatakse sarnaselt p.1.
Kui kĂ”ik on hoolikalt ja vigadeta tehtud, vĂ”ib microSD kaardi âmalinasseâ paigaldada ja alustada tööga 64-bitise OS-i ÀÀrmiselt minimalistlikus versioonis.
4. Valmis sĂŒsteem
Valmis sĂŒsteemi âpiltâ, loodud ĂŒlaltoodud juhendi kohaselt, on vĂ”imalik alla laadida jĂ€rgmisel lingil:
See on arhiv, mis sisaldab kahte faili: installatsiooniskripti ja TGZ OS-failidega. Arhiv tuleb vÀlja pakkida Linuxi töökohas, sisestada microSD (2GB kaardi kasutamine on piisav) ja kÀivitada skript jÀrgmise parameetriga - seadme nimega:
.\/install \/dev\/.mmcblk0
Ole ettevaatlik!
Ilma igasuguste hoiatusteta vormindatakse seade ja sellele - installitakse operatsioonisĂŒsteem.
PĂ€rast skripti vigadeta tĂ€itmist vĂ”ib mĂ€lukaardi paigaldada âmalinasseâ ja kasutada: saada ip dhcp kaudu, parool - â1â.
SĂŒsteem on puhastatud igasugustest ID-dest ja vĂ”tmetest, mistĂ”ttu on iga uus installatsioon ainulaadne.
Kordan veel kord, sĂŒsteem - minimaalne! Ărge kartke: DNF on olemas, selle töökindluse tagamiseks tuleb âvĂ€ljamĂ”eldaâ Ă”ige .
KĂŒlm kĂ€ivitamine âmalinastâ kestab umbes 40 sekundit. SĂŒsteemi TTH pĂ€rast kĂ€ivitamist:

rpm -qa | wc -l
191
5. Wi-Fi
Veidi peatun Wi-Fi juurdepÀÀsupunkti rakendamise eripÀradel. Konkreetse info saamiseks vÔib viidata minu varasemale .
EPEL ei ole nĂŒĂŒd vajalik - kĂ”ik paketid on ametlikes hoidlatest.
VĂ”ib-olla oleks pidanud loobuma , kuna Fedoral, erinevalt CentOS-ist, on piisavalt vĂ€rske systemd-networkd, milles - normaalsed sisseehitatud DHCP/DNS serverid. Kuid fakt, et RHEL8 arendajad , ei sisenda usku projekti heasse tulevikku (reprobates). LĂŒhidalt, ei ole proovinud.
Edasi, praeguseid sisseehitatud Wi-Fi adapteri draivereid ei pea âvarastamaâ Raspbiani distributsioonist, vaid saab alla laadida otse .
Nii nĂ€evad minu âmalinasâ Broadcomi pĂŒsivara failid (scheematiliselt):
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
Ilma nendeta ei saa 5GHz/AC.
Seoses liideste arvu ja nimetustega. NĂŒĂŒd soovitan kĂ”igile tungivalt mitte kasutada "teenuseid" tarkvaraliste switch'ide kohta,), mis lisavad olulise koormuse vĂ”rgustikku ja pĂ€rsivad marsruutimist. Kui ei plaanita mitmeid traadita adaptereid, tuleks kasutada vaid fĂŒĂŒsilisi liideseid. Mul on kaks Wi-Fi-d, seega liidan vaid need tarkvarasillaks (kuigi saab hakkama ka ilma selleta, kui vaadata hostapd seadeid teisiti).
Ja ma armastan liideseid ĂŒmber nimetada.
Selleks tuleb Fedora'is luua sĂŒmboolne link:
/etc/systemd/network/99-default.link -> /dev/null
ja siis saab mÔistlikke nimesid anda, nuputamata , vaid ainult systemd-networkd vahenditega.
NÀiteks minu ruuteri vÔrguadapterid on nimetatud jÀrgmiselt:
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
2: wan: mtu 1500 qdisc fq_codel state UP group default qlen 1000
3: lan: mtu 1500 qdisc noqueue state UP group default qlen 1000
4: int: mtu 1500 qdisc fq_codel master lan state UP group default qlen 1000
5: ext: mtu 1500 qdisc mq master lan state UP group default qlen 1000
- int â sisseehitatud, ext â vĂ€line (USB) Wi-Fi adapter, mis on kokku pandud "sillaks" lan;
- wan â Ethernet adapter, kuhu on ĂŒhendatud internet.
Kas mĂ€rkate? â tĂ”eliselt hea asi. Koos uue Linuxi tuumaga teevad nad traadita sagedusalas tĂ”elisi imesid: ulatuslik "torrent-tĂ”mme" ei pĂ”hjusta naabrite kiirusel jĂ€rsku langust. Isegi "Ă”hus" töötav kodune IP-TV ei "lagune" ja ei "kĂ”hise" koormatud kanali korral ĂŒleĂŒldse!
Teenusefail demonile on veidi muutunud .
NĂŒĂŒd nĂ€eb see vĂ€lja nii (sisseehitatud adapteri nĂ€itel):
[Unit]
Description=Hostapd IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS autentifikaator
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
Ja "maagiline" hostapd-int.conf 5GHz/AC töökeskkonnaks:
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]
Veidi âPhotoshopâ, mis on tehtud minu âEricsson A1018sâ telefoniga:
(ĂŒhendus Internetiga â 100 Mbit/s)
Ja lÔpetuseks vÀike KKK.
6. KKK
6.1 Miks teha Wi-Fi ruuter Raspberry'l?
Lihtsalt vastates vĂ”iks öelda, et âhuvitav proovida ja nii edasiâ.
Aga tegelikult on see teema minu arvates piisavalt tĂ”sine. Ajal, mil internet on 'veretuks' muutunud, on poodides ruuteri ostmine ja tootja Ă”nnele jÀÀmine ĂŒsna igav perspektiiv. Paljudele on nĂŒĂŒd selge, et ei saa istuda CVE- vĂ”i sisse ehitatud tagauste otsas.
Mugavalt saab minna ĂŒle entusiastide WRT-firmware'idele. Neile usaldatakse tĂ”enĂ€oliselt rohkem, kuid kui ei soovi neistki sĂ”ltuda, siis ainus vĂ”imalus â oma toode. Ideaalis â tĂ”eline arvuti, millel on vĂ”imalik ellu viia kĂ”ik, mida soovid. Muidugi, ruutimise osas.
SeetĂ”ttu, valik 'malinki' â puhtalt majanduslik samm: tĂ”eline arvuti ja samas â odav. Kuigi, vĂ”imalik, sellel on ka oma 'kahemĂ”ttelisused'.
6.2 Aga Raspberry on ju 'odavruuter': aeglane ja ĂŒhe Etherneti pordiga!
Koduse Wi-Fi ruuterina rahuldab 'malinka' mind rohkem kui piisavalt. Kiirus 'Ă”hus' on nagu juba eespool mainitud. Ja ĂŒksainus Ethernet, noh, sarnases Apple'i tootes on peaaegu sama!
Aga tĂ”siselt öeldes, muidugi tahaks rohkem. Ja kuigi kĂ”ik minu seadmed on ĂŒhendatud juhtmevabalt, on mĂ”nikord ikka vajalik ka vaskĂŒhendus. Sellisteks juhtudeks on mul varuks 'mobiilne hub':
seade â selline
6.3 Kui see on ruuter, siis ei öelda midagi TCP/IP âtuunimiseâ kohta, kuna see on oluline!
Lisaks vĂ”rgu stack'i seadistamisele (tcp_fastopen, YeAH jne) ei kĂ€sitletud selles ega eelnevas artiklis teisi nĂŒansse, sealhulgas microSD ettevalmistamise protseduuri optimaalseks kasutamiseks (tĂ”si, installer proovib mĂ€lukaarti nutikal viisil vormindada). TĂ€iendamise protsess on lĂ”putu, tuleb lihtsalt Ă”igel ajal peatuda.
6.4 Miks Fedora?
Sest mulle meeldib! Fedora on "peavool" - geeniusĂŒsteem, kellele see artikkel on mĂ”eldud. Artikli kirjutamise hetkel on see vĂ”ib-olla ainus operatsioonisĂŒsteem, mis on Raspberry jaoks ametlikult 64-bitise variandina toetatud arendajate suure meeskonna poolt (kellelt ma pole kuidagi vastust saanud). ).
6.5 Kas Bluetooth töötab? Kuidas on video/heli/GPIO-ga?
Ei tea. Artikkel kĂ€sitleb sĂŒsteemi minimaalselt installimist ja selle jĂ€rgmist kasutamist Wi-Fi ruuterina.
6.6 Miks kĂ”ik artiklid CentOS/Fedora/RedHat kohta algavad SELinux'i vĂ€ljalĂŒlitamisega?
Sest sĂŒsteem on minimaalne, selles pole isegi tulemĂŒra ja seadistamise utiliite. Kellel on vajadus, saavad lisada kĂ”ik vajalikud tööriistad.
6.7 SĂŒsteemi ei ole vĂ”imalik kasutada, parooli ei saa muuta â ei ole passwd'i. Pole ping'i, pole midagi!
Jah . VĂ”i see installimise variant ei sobi teile â kasutage arendajate distribuutorit.
6.8 Aga kus on SWAP? Ilma selleta ei saa!
TÔesti? Noh, hea:
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 Tahaksin kohe valmis kujundatud pilti Wi-Fi juurdepÀÀsupunktiga alla laadida!
Installatori ettevalmistamine "kĂ”igile" vĂ”tab veidi aega ja jĂ”upingutusi. Kui (kui!) kellelegi see tĂ”esti huvitav ja vajalik paistab â kirjutage, mĂ”tleme midagi vĂ€lja.
Sellega lÔpetan.
Soovin kĂ”igile turvalist surfamist ja maksimaalset kontrolli infrastruktuuri ĂŒle!
Allikas: habr.com
