A cikkben Elmondtam, hogyan lehet a „malinát” vezeték nélküli hozzáférési ponttá alakítani a CentOS operációs rendszer segítségével. Az otthoni routerem összeszerelésével, amely egy ilyen tervrajz alapján készült, kielégítettem a kreatív egómat, és megkaptam a nyugalmat egy kritikus fontosságú elemmel kapcsolatban a kényelmes infrastruktúrám részeként. Azonban a megoldás befejezetlensége és a belső perfekcionizmus nem hagyott nyugodni: „a tökéletlen eredménynek nincs joga létezni”. Az a gondolat, hogy „az ideál elérhető és el is kell érni”, egy percig sem hagyott el.
Egy nap egy tematikus fórumon rábukkantam egy beszélgetésre az aktuális operációs rendszerek architektúrájáról a „malinához” (aarch64 vs armhfp): mely 64 bites operációs rendszerek férnek el és működnek a Raspberry 3++ verzión?
A kedvenc CentOS változatom az ARM architektúrához a „Userland”-tól nem sietett a legújabb kernelre váltani és 64 bites változattá válni. Az EPEL tároló, amelyet tudja Isten, honnan csatlakoztattak digitális aláírás nélkül, a rémálmomban jelent meg…
RPM-alapú disztribúciók híveként meglepetten tapasztaltam, hogy a „malinához” való operációs rendszerek megvitatása során teljesen elfelejtették Fedora! És mindez annak ellenére, hogy a kiadása

Ebben a cikkben elmondom, hogyan kell telepíteni Fedora (aarch64) Gyorsan emlékezzünk vissza, hogyan működik a moduláris aritmetika. Az óra már egy ismert koncepció. Az órák használata Raspberry Pi 3 Model B+ be. extrém minimális változatban. Röviden megemlítem a Wi-Fi hozzáférési pont beállításának jellemzőit, amelyeket a korábbi konfigurációm tapasztalatai alapján tártunk fel .
0. Mire lesz szükség
Minden ugyanaz, mint az előző cikkben említetteknél:
- Raspberry Pi 3 Model B+;
- microSD >= 4GB (később a rendszert 2GB-os tárolóra is „át lehet helyezni”);
- Linux operációs rendszert futtató munkaállomás microSD kártyaolvasóval;
- A „malina” és a Linux munkaállomás közötti vezetékes hálózati kapcsolat (ebben az esetben nem szükséges további monitor és billentyűzet a beállításhoz), internet hozzáférés mindkét eszközön;
- Fejlett Linux tudás (tudni és nem félni: , és ).
Hasonlóan az iteratív -saját Linux összeállításhoz, a Fedora disztribúciós képét fogják használni, majd annak alapján készül egy minimális rendszer (az „forráskódból való fordítás” nélkül).
1. Az eredeti disztribúció telepítése
A rendszer nyers képméretének koordinátái az Interneten:
A microSD-re való felvétel után, a használat megkezdése előtt, teendők:
- Bővíteni kell a fájlrendszer "gyökerét" (3. partíció, 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 - Kapcsolja ki a SELinux-t
echo 'SELINUX=disabled' > /mnt/3/etc/selinux/config - Távolítsa el az első beállítás varázslót:
find /mnt/3/etc/systemd/ -iname initial-setup.service -delete - Engedélyezze a ssh hozzáférést:
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
Most már betöltheti a "malinát" a microSD-ről, és csatlakozhat hozzá hálózaton.
A hideg indítás körülbelül másfél percet vesz igénybe. A rendszer műszaki jellemzői indítás után:

rpm -qa | wc -l
444
2. Minimális rendszer összeállítása
Sajnos a fejlesztők "minimalista disztribúciója" messze nem a legkevesebb erőforrást igényli. A rendszer képe még kisebbé tehető.
Ehhez a "malinán" egy szkriptet kell futtatni:
#!/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
A szkript futtatása után a jelenlegi mappában létrejön egy alkönyvtár ($P) a új minimális OS kiadás gyökerének tartalmával. Le lehet állítani a "malinát" és vissza lehet helyezni a microSD-t a Linux munkaállomásba.
3. Minimális rendszer telepítése
A telepítés a minimalista OS "kép" fájljainak másolására korlátozódik (amelyet az előző lépésben nyertünk) egy külön készített microSD-re a megfelelő könyvtárakba.
Elég egy 2GB-os kártya és két partíció rajta:
- /boot/efi — EFI+FAT32, indító, 100MB;
- / (gyökér) — EXT4, az összes fennmaradó hely.
A microSD előkészítése és a fájlok másolása után teendők:
- javítani kell az OS indítását;
- bekapcsolni a hálózatot;
- beállítani a ssh hozzáférést.
Az indítás javítása a partíciók UUID-jának cseréjét jelenti a fájlokban:
microSD:/boot/efi/EFI/fedora/grub.cfg
microSD:/boot/efi/EFI/fedora/grubenv
és a paramétert saved_entry= az utolsó fájlban
A fájlban:
microSD:/etc/fstab
a régi értékeket találja, míg a jelenlegi (aktív) értékek a parancs kimenetében találhatók:
blkid | grep mmcblk | sort
A csere után a microSD-n az alábbiakat is módosítani kell fstab tartalmát, hogy a csatolási pontok megfeleljenek az új UUID partícióknak.
A hálózati működőképességet az első bekapcsoláskor egy kis "trükk" alkalmazásával lehet elérni — létre kell hozni egy linket (ábrázolva):
ln -s /usr/lib/systemd/system/systemd-networkd.service
microSD:/etc/systemd/system/multi-user.target.wants
és fájl:
mkdir -p microSD:/etc/systemd/network
cat > microSD:/etc/systemd/network/dhcp.network << EOF
[Match]
Name=*
[Network]
DHCP=ipv4
EOF
A sikeres indítás után állítsa be a rendszerindítást :
systemctl disable systemd-networkd
systemctl enable systemd-networkd
A root felhasználó ssh-n keresztüli hozzáférése hasonlóan konfigurálható, mint az 1. pontban.
Ha mindent gondosan és hibák nélkül hajtunk végre, akkor a microSD kártyát áthelyezhetjük a "malinkára" és elkezdhetjük használni a 64 bites OS-t extrém minimális kivitelben.
4. Kész rendszer
A fent említett útmutató szerint elkészített "kép" letölthető az alábbi linken:
Ez egy archivált fájlokat tartalmazó tömörített állomány lesz: egy telepítési skript és TGZ az OS fájljaival. Az archívumot ki kell csomagolni egy Linux munkagépen, be kell helyezni a microSD-t (elég egy 2GB-os kártya) és el kell indítani a skriptet a paraméterrel — az eszköz nevével:
.\/install \/dev\/mmcblk0
Legyünk óvatosak!
Figyelmeztetések nélkül az eszköz formázásra kerül és telepítésre kerül rá az operációs rendszer.
A skript zökkenőmentes futtatása után a kártyát áthelyezhetjük a "malinkába" és használhatjuk: dhcp-n keresztül csatlakozunk, a jelszó — "1".
A rendszer mentes minden ID-től és kulcstól, így minden új telepítés egyedi.
Újra megismétlem, a rendszer — minimális! Ezért ne rémüldözzön: a DNF elérhető, a működéséhez azonban "meg kell alkotni" a megfelelő .
A "malinka" hideg indítása körülbelül 40 másodpercet vesz igénybe. A rendszer specifikációi indítás után:

rpm -qa | wc -l
191
5. Wi-Fi
Kicsit részletesebben foglalkozom a Wi-Fi hotspot megvalósításának sajátosságaival. A részletekért bátran forduljon a korábbi .
Az EPEL mostantól nem szükséges — minden csomag az hivatalos tárolókban található.
Talán érdemes lenne elhagyni , mivel a Fedora esetében, a CentOS-szal ellentétben, elég friss a systemd-networkd, amelybe beépített DHCP\/DNS szerverek találhatók. De az a tény, hogy a RHEL8 fejlesztői , nem kínál bizalmat a projekt fényes jövője iránt (rossz fiúk). Szóval, nem próbáltam ki.
Továbbá, a beépített Wi-Fi adapter aktuális illesztőprogramjait nem kell "ellopni" a Raspbian disztribúcióból, hanem közvetlenül letöltheti a .
Így néznek ki a Broadcom firmware fájlok a "malinkámon" (vázlatosan):
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
Ezek nélkül nem fog menni az 5GHz\/AC.
A felületek számáról és elnevezéséről. Most már mindenkinek határozottan ajánlom, hogy különös szükség nélkül ne kelljen igénybe venni a "szolgáltatások" programozott switcheket (), amelyek jelentős terhelést jelentenek a hálózati veremben és elnyomják az irányítást. Ha nem tervez több vezeték nélküli adaptert, akkor csakis a fizikai interfészeket használja. Nekem két Wi-Fi adapterem van, ezért csak ezeket integrálom egy szoftverhídba (bár ezt meg lehet oldani másképpen is a hostapd beállításainak átgondolásával).
Én szeretem átnevezni az interfészeket.
Ehhez Fedora alatt szimbolikus linket kell létrehozni:
/etc/systemd/network/99-default.link -> /dev/null
és akkor értelmes neveket adhatunk anélkül, hogy a , csupán a systemd-networkd eszközeivel.
Például így hívják a hálózati adaptereket a routeremben:
1: lo: mtu 65536 qdisc noqueue állapot UNKNOWN csoport alap qlen 1000
2: wan: mtu 1500 qdisc fq_codel állapot UP csoport alap qlen 1000
3: lan: mtu 1500 qdisc noqueue állapot UP csoport alap qlen 1000
4: int: mtu 1500 qdisc fq_codel mester lan állapot UP csoport alap qlen 1000
5: ext: mtu 1500 qdisc mq mester lan állapot UP csoport alap qlen 1000
- egész — beépített, ext — külső (USB) Wi-Fi adapterek, amelyek „hídba” vannak integrálva lan;
- wan — Ethernet adapter, amelyhez az internet csatlakozik.
Észrevetted? — valóban hasznos dolog. Az új Linux kernel segítségével csodákra képesek a vezeték nélküli sávban: a vad „torrent letöltések” nem idéznek elő hirtelen sebességcsökkenést a szomszédoknál. Még a „légies” otthoni IP-TV sem „esik szét” és nem „dadog” a leterhelt csatornán sem!
Kis változtatásokat szenvedett el a démon szolgáltatási fájlja .
Most így néz ki (a beépített adapter példáján):
[Unit]
Description=Hostapd IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Hitelesítő
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
És a „varázslatos” hostapd-int.conf a 5GHz/AC munkához:
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]
Egy kis „Photoshop”, amit az „Ericsson A1018s” készített:
(internetkapcsolat — 100 Mbit/s)
És végül egy kis FAQ.
6. FAQ
6.1 Miért készítsünk Wi-Fi routert Raspberry-n?
Egyszerűen válaszolhatnánk, hogy "érdekes kipróbálni és ennyi".
De valójában, ahogyan én látom, ez meglehetősen komoly téma. A "véres" internet korában a boltban vásárolt routerrel és a gyártója foglyaként élni — elég szomorú kilátás. Sokan már megértették, hogy ülni egy CVE-vel vagy egy beépített hátsó ajtóval nem az igazi.
Természetesen migrálhatunk az entuziaszták WRT firmware-jére. Bennük talán nagyobb a bizalom, de ha attól sem akarunk függeni, akkor csak a saját termék. Ideális esetben – egy teljes számítógép, hogy az egész világot megvalósíthassuk rajta. A routing szempontjából, természetesen.
Ezért a „pisztácia” választása tisztán gazdasági lépés: egy igazi számítógép, ugyanakkor — megfizethető. Bár lehet, hogy neki is vannak „kettős” problémái.
6.2 De hát a Raspberry – „nem egy router”: lassú és csak egy Ethernet portja van!
Otthoni Wi-Fi routerként a „pisztácia” nekem bőven megfelel. A gyorsaságról „levegőben” már beszéltem fent. És a csak egy Ethernet, hát az Apple hasonló termékében mindez pontosan így van!
De komolyan, persze jó lenne, ha több lenne. És annak ellenére, hogy az összes eszközöm vezeték nélkül csatlakozik, néha mégis szükség van kábeles kapcsolatra. Ilyen esetekre a „mobil hub”-ot tartogatom:
eszköz — valami ilyesmi
6.3 Ha ez egy router, akkor semmit nem mondtak a TCP/IP „tuningról”, pedig ez fontos!
A hálózati verem beállításain kívül (tcp_fastopen, YeAH stb.), ebben és az előző cikkben nem említettek más különbségeket, különösen a microSD optimális használatra való előkészítésének folyamatát (bár az installer megpróbálja okosan formázni a memóriakártyát). A fejlődés folyamata végtelen, csak időben kell megállni.
6.4 Miért Fedora?
Mert tetszik! A Fedora — "mainstream" — a geekek rendszere, akinek ez a cikk szól. Íráskor talán az egyetlen OS, amely hivatalosan támogatott Raspberry-re 64 bites verzióban egy jelentős fejlesztői csapattal (akikre valahogy várok ).
6.5 Működik a Bluetooth? Mi a helyzet a video/zene/GPIO-val?
Nem tudom. A cikk a rendszer minimális telepítéséről és annak későbbi használatáról szól, mint Wi-Fi router.
6.6 Miért kezdődnek az összes cikk a CentOS/Fedora/RedHat rendszerről a SELinux letiltásával?
Mert a rendszer minimális, még tűzfal sem található benne, ahogy a tűzfal beállításához szükséges segédprogramok sem. Akinek szüksége van rá, az telepíthet minden szükséges komponenst.
6.7 A rendszer nem használható, nem lehet megváltoztatni a jelszót — nincs passwd. Nincs ping, semmi sincs!
Van . Vagy ez a telepítési lehetőség nem megfelel Önnek – használja a fejlesztők által biztosított disztribúciót.
6.8 Hol van a SWAP? Én nem tudok nélküle élni!
Tényleg? Nos, rendben:
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 Szeretném letölteni az előre beállított Wi-Fi hozzáférési ponttal rendelkező készenléti képet!
A "mindenki számára" kész installer előkészítése bizonyos időt és erőfeszítést igényel. Ha (valakinek!) ez valóban érdekesnek és szükségesnek tűnik – írjon, kitalálunk valamit.
Ezen be is fejezem.
Mindenkinek biztonságos böngészést és maximális irányítást kívánok az infrastruktúrája felett!
Forrás: habr.com
