ProHoster > Blogi > antaminen > Raspberry Pi + Fedora (aarch64) = Wi-Fi-hotspot (tai vadelmareititin, jossa on sininen hattu)
Raspberry Pi + Fedora (aarch64) = Wi-Fi-hotspot (tai vadelmareititin, jossa on sininen hattu)
Artikkelissa Raspberry Pi + CentOS = Wi-Fi-hotspot (tai vadelmareititin punaisella hatulla) Puhuin tavasta muuttaa Raspberrysta langattoman tukiaseman käyttämällä CentOS-käyttöjärjestelmää. Kokoamalla kotireitittimeni tämän piirustuksen mukaan tyydytin luovan egoni ja sain mielenrauhaa piristystä kodikkaan infrastruktuurini tärkeästä osasta. Ratkaisun epätäydellisyyden tunne ja sisäinen perfektionismi kuitenkin ahdistivat minua: "työn epätäydellisellä tuloksella ei ole oikeutta olla olemassa." Ajatus, että "ihanne voidaan ja pitäisi saavuttaa" ei jättänyt minua hetkeksikään.
Ja sitten eräänä päivänä eräällä temaattisista foorumeista törmäsin keskusteluun Raspberryn olemassa olevien käyttöjärjestelmien bittisyvyydestä (aarch64 vs armhfp): mikä 64-bittinen käyttöjärjestelmä voi periaatteessa sopia ja toimia Raspberryn versiossa 3 ++?
Rakas CentOS:ni ARM-arkkitehtuurille "Userlandista" ei kiirehtinyt vaihtamaan ytimen uusimpaan versioon ja muuttumaan 64-bittiseksi. Ja Jumala tietää minne ilman digitaalista allekirjoitusta yhdistetty EPEL-arkisto oli painajainen levottomissa unissani...
Tässä artikkelissa puhun asennusmenetelmästä Fedora (aarch64) päälle Vadelma Pi 3 malli B + в extra minimaalinen suorituskyky. Pysähdyn lyhyesti Wi-Fi-tukipisteen nostamisen ominaisuuksiin, jotka tunnistettiin edellisen kokoonpanoni koekäytön tuloksena 7 CentOS.
0. Mitä tarvitset
Kaikki on sama kuin edellisessä artikkelissa:
Raspberry Pi 3 malli B+;
microSD >= 4 Gt (myöhemmin voit "siirtää" järjestelmän 2 Gt:n asemaan);
Työasema Linuxilla ja microSD-kortinlukijalla;
Langallinen verkkoyhteys Raspberryn ja Linux-työaseman välillä (tässä tapauksessa asennusta varten ei tarvita ylimääräistä näyttöä ja näppäimistöä), Internet-yhteys molemmista laitteista;
Edistynyt taito Linuxissa (tietää eikä pelätä: erosimme, dd и mkfs).
Samanlainen kuin iteratiivinen LFS-rakentamalla oma Linuxi, käytetään Fedora-jakelukuvaa, jonka pohjalta luodaan minimaalinen järjestelmä (ilman "lähdekoodista kääntämistä").
Nyt voit ladata "vadelman" microSD-kortilta ja muodostaa yhteyden siihen verkon kautta.
Kylmäkäynnistys kestää noin puolitoista minuuttia. Järjestelmän TTX latauksen jälkeen:
rpm -qa | wc -l
444
2. Minimaalisen järjestelmän kokoaminen
Valitettavasti kehittäjien "minimaalinen jakelu" osoittautuu resurssien kulutuksessa kaukana vaatimattomimmasta. Järjestelmäkuvaa voidaan pienentää vieläkin pienemmäksi.
Tätä varten sinun on suoritettava komentosarja Malinkassa:
#!/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
Kun komentosarja on suoritettu, nykyiseen hakemistoon luodaan alihakemisto ($P) uuden minimikäyttöjärjestelmän version juuren sisällöllä. Voit sammuttaa Raspberryn ja palauttaa microSD-kortin Linux-työasemaan.
3. Minimaalisen järjestelmän asennus
Asennus tiivistyy siihen, että käyttöjärjestelmän vähimmäiskuvatiedostot (saatu edellisessä vaiheessa) kopioidaan erityisesti valmistetulle microSD-muistikortille sopiviin hakemistoihin.
2GB kortti ja kaksi osiota siinä riittää:
/ Boot / efi - EFI+FAT32, käynnistys, 100 Mt;
/ (juuri) - ULK4, kaikki jäljellä oleva tila.
Kun olet valmistellut microSD-kortin ja kopioinut tiedostot siihen, sinun on:
korjaa käyttöjärjestelmän käynnistys;
kytke verkko päälle;
määritä pääsy ssh:n kautta.
Käynnistyskorjauksen tarkoituksena on korvata tiedostojen osien UUID:
Pääkäyttäjän pääsy ssh:n kautta määritetään samalla tavalla kuin vaiheessa 1.
Kun olet tehnyt kaiken huolellisesti ja ilman virheitä, voit siirtää microSD-kortin "vadelmaan" ja aloittaa työskentelyn 64-bittisellä käyttöjärjestelmällä ylimääräisessä minimiversiossa.
Tämä on arkisto, jossa on kaksi tiedostoa: asennuskomentosarja ja TGZ käyttöjärjestelmätiedostoineen. Arkisto on purettava Linux-työasemalla, asetettava microSD-kortti (2 Gt:n kortti riittää) ja suoritettava komentosarja parametrilla - laitteen nimi:
./install /dev/mmcblk0
Ole varovainen!
Ilman varoituksia laite alustetaan ja käyttöjärjestelmä asennetaan siihen.
Skriptin virheettömän suorittamisen jälkeen kortti voidaan järjestää uudelleen "vadelmaan" ja käyttää: catch dhcp:n kautta, salasana - "1".
Järjestelmä on tyhjennetty kaikista tunnuksista ja avaimista, minkä vuoksi jokainen uusi asennus on ainutlaatuinen.
Toistan vielä kerran, järjestelmä - minimaalinen! Siksi älä huolestu: DNF on saatavilla, jotta se toimisi, sinun on "keksittävä" oikea. / Etc / resolv.conf.
Raspberryn kylmäkäynnistys kestää noin 40 sekuntia. Järjestelmän TTX latauksen jälkeen:
rpm -qa | wc -l
191
5. WiFi
Pysähdyn hieman Wi-Fi-tukiaseman käyttöönoton ominaisuuksiin. Yksityiskohtia varten voit katsoa edellisestäni статье.
EPEL:ää ei enää tarvita - kaikki paketit ovat virallisissa arkistoissa.
Olisi varmaan kannattanut luovuttaa dnsmasq, koska Fedoralla, toisin kuin CentOS:lla, on melko uusi systemd-networkd, jossa on normaalit sisäänrakennetut DHCP/DNS-palvelimet. Mutta tosiasia on, että RHEL8-kehittäjät kieltäytyi tukemasta verkkopinoa millään muulla kuin NM:llä, ei herätä luottamusta projektin valoisaan tulevaisuuteen (huijarit). Lyhyesti sanottuna en ole kokeillut.
Lisäksi sisäänrakennetun Wi-Fi-sovittimen nykyisiä ohjaimia ei voida "varastaa" Raspbian-jakelusta, vaan ne voidaan ladata suoraan GitHub.
Tältä Broadcomin laiteohjelmistotiedostot näyttävät Raspberryssäni (kaaviollisesti):
Liittymien lukumäärästä ja nimistä. Suosittelen nyt kaikille vahvasti olemaan turvautumatta ohjelmistokytkimien "palveluihin", ellei se ole ehdottoman välttämätöntä (silta), jotka kuormittavat merkittävästi verkkopinoa ja heikentävät reititystä. Jos et aio käyttää useita langattomia sovittimia, sinun tulee käyttää vain fyysisiä liitäntöjä. Minulla on kaksi Wi-Fi-yhteyttä, joten yhdistän vain ne ohjelmistosillaksi (vaikka voit tehdä ilman tätä katsomalla hostapd-asetuksia eri tavalla).
Ja rakastan käyttöliittymien uudelleennimeämistä.
Voit tehdä tämän Fedorassa sinun on luotava symbolinen linkki:
/etc/systemd/network/99-default.link -> /dev/null
ja sitten on mahdollista antaa merkityksellisiä nimiä ilman tuijottamista udev, mutta vain käyttämällä systemd-networkd.
Esimerkiksi reitittimeni verkkosovittimia kutsutaan näin:
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 - sisäänrakennettu, ext - ulkoiset (USB) Wi-Fi-sovittimet, jotka on koottu "sillaksi" lan;
kalpea — Ethernet-sovitin, johon Internet on yhdistetty.
Huomasitko? fq_koodi - tosi siisti juttu. Yhdessä tuoreen Linux-ytimen kanssa ne tekevät todellisia ihmeitä langattomalla alueella: raju "torrent-lataus" ei johda äkilliseen nopeuden heikkenemiseen naapureiden keskuudessa. Jopa kodin IP-TV, joka toimii "over the air" ladatulla kanavalla, ei "hajoa" eikä "änki" ollenkaan!
Daemon-palvelutiedostoon on tehty pieniä muutoksia hostapd.
Se näyttää nyt tältä (käyttämällä esimerkkiä sisäänrakennetusta sovittimesta):
[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
Ja "maaginen" hostapd-int.conf työskentelyyn 5 GHz/AC:ssa:
Pieni photoshop, joka tehtiin Ericsson A1018:stani:
(Internet-yhteys - 100 Mbit/s)
Ja lopuksi pieni FAQ.
6. Ohje
6.1 Miksi tehdä Wi-Fi-reititin Raspberrylle?
Voidaan vastata yksinkertaisesti: "On mielenkiintoista kokeilla ja kaikkea muuta."
Mutta itse asiassa minusta näyttää siltä, että aihe on melko vakava. "Verisen" Internetin aikakaudella reitittimen ostaminen kaupasta ja sen valmistajan panttivangiksi jääminen on erittäin synkkä mahdollisuus. Monet ihmiset ymmärtävät jo, että istuminen CVE:n tai sisäänrakennetun takaoven kanssa ei ole mahdollista.
Tietysti voit siirtyä WRT-laiteohjelmistoon harrastajilta. Heihin luultavasti luotetaan enemmän, mutta jos et halua olla riippuvainen heistä, käytä vain omaa tuotettasi. Ihannetapauksessa täysikokoinen tietokone, jotta kaikki maailmassa voidaan toteuttaa siinä. Reitityksen suhteen tietysti.
Siksi "vadelman" valinta on puhtaasti taloudellinen liike: todellinen tietokone ja samalla edullinen. Tosin ehkä myös - "kaksoisilla" sisällä.
6.2 Mutta Raspberry on "matala reititin": hidas ja yhdellä Ethernet-portilla!
Kodin Wi-Fi-reitittimenä Raspberry on minulle enemmän kuin tyydyttävä. Ilmannopeudesta olen jo puhunut edellä. Ja Ethernet on vain yksi, no, samanlaisessa Applen tuotteessa se on suunnilleen sama!
Mutta vakavasti, tietysti haluaisin enemmän. Ja huolimatta siitä, että kotitaloudessani kaikki laitteet on kytketty langattomasti, joskus tarvitaan silti kupariliitäntä. Tällaisia tapauksia varten minulla on varastossa "mobiilikeskus":
laite - jotain tällaista
6.3 Jos tämä on reititin, TCP/IP:n "virittämisestä" ei puhuta mitään, koska se on tärkeää!
Verkkopinon (tcp_fastopen, YeAH jne.) lisäksi tämä ja edellinen artikkeli eivät kata muita vivahteita, etenkään prosessia, jossa microSD valmistetaan optimaalista käyttöä varten (vaikka asennusohjelma yrittää alustaa muistikortin hankala tapa). Parannusprosessi on loputon, sinun on vain lopetettava ajoissa.
6.4 Miksi Fedora?
Koska pidän! Fedora on "valtavirran" järjestelmä nörteille, joille tämä artikkeli on todella tarkoitettu. Kirjoitushetkellä ehkä ainoa käyttöjärjestelmä, jota Raspberryn 64-bittisessä versiossa tukee virallisesti huomattava joukko kehittäjiä (joita en malta odottaa ydin 5.6).
6.5 Toimiiko Bluetooth? Millainen on video/ääni/GPIO?
En tiedä. Artikkeli käsittelee järjestelmän minimaalista asennusta ja sen myöhempää käyttöä Wi-Fi-reitittimenä.
6.6 Miksi kaikki CentOS/Fedora/RedHat-artikkelit alkavat SELinuxin poistamisella käytöstä?
Koska järjestelmä on minimaalinen, siinä ei ole edes palomuuria tai apuohjelmia sen määrittämiseksi. Jokainen sitä tarvitseva voi asentaa lisäksi kaiken tarvitsemansa.
6.7 Järjestelmää ei voi käyttää, salasanaa ei voi vaihtaa - ei passwd. Ei pingiä, ei mitään!
On DNF. Tai tämä asennusvaihtoehto ei ole sinua varten - käytä kehittäjien jakelupakettia.
6.9 Haluan heti ladata valmiin kuvan määritetyllä Wi-Fi-tukiasemalla!
Asennusohjelman valmistaminen "kaikkia varten" vaatii aikaa ja vaivaa. Jos (yhtäkkiä!) joku todella pitää tätä mielenkiintoisena ja tarpeellisena, kirjoita meille, niin keksitään jotain.
Lopetan tähän.
Toivotan kaikille turvallista surffausta ja maksimaalista hallintaa infrastruktuurissa!