ProHoster > blog > Utawala > Raspberry Pi + Fedora (aarch64) = Wi-Fi Hotspot (au kipanga njia cha raspberry kilicho na kofia ya bluu)
Raspberry Pi + Fedora (aarch64) = Wi-Fi Hotspot (au kipanga njia cha raspberry kilicho na kofia ya bluu)
Katika makala Raspberry Pi + CentOS = Wi-Fi Hotspot (au kipanga njia cha raspberry kilicho na kofia nyekundu) Nilizungumza juu ya njia ya kugeuza Raspberry kuwa sehemu ya ufikiaji isiyo na waya kwa kutumia mfumo wa uendeshaji wa CentOS. Kwa kuunganisha kipanga njia changu cha nyumbani kulingana na mchoro huu, nilitosheleza ubinafsi wangu wa ubunifu na nikapata nyongeza ya amani ya akili kwa kipengele muhimu cha miundombinu yangu laini. Hata hivyo, hisia ya kutokamilika kwa suluhisho na ukamilifu wa ndani ilinisumbua: "matokeo yasiyo kamili ya kazi hayana haki ya kuwepo." Wazo la kwamba "lazima linaweza na linapaswa kupatikana" halikuniacha kwa dakika moja.
Na kisha siku moja, kwenye moja ya mabaraza ya mada, nilikutana na mjadala juu ya kina kidogo cha mifumo ya uendeshaji iliyopo ya Raspberry (aarch64 vs armhfp): ambayo 64-bit OS inaweza, kimsingi, kutoshea na kufanya kazi kwenye toleo la 3 la Raspberry. ++?
CentOS yangu mpendwa ya usanifu wa ARM kutoka "Userland" haikuwa na haraka ya kubadili toleo la hivi karibuni la kernel na kugeuka kuwa 64-bit. Na hazina ya EPEL, iliyounganishwa kutoka kwa Mungu anajua ni wapi bila saini ya dijiti, ilikuwa ndoto mbaya katika usingizi wangu usio na utulivu ...
Katika makala hii nitazungumzia kuhusu njia ya ufungaji Fedora (aarch64) juu ya Raspberry Pi 3 Mfano B + Π² utendaji mdogo wa ziada. Nitazingatia kwa ufupi vipengele vya kuinua eneo la ufikiaji la Wi-Fi, iliyotambuliwa kama matokeo ya uendeshaji wa majaribio ya usanidi wangu wa awali kwenye CentOS 7.
0. Utahitaji nini
Kila kitu ni sawa na ilivyoorodheshwa katika makala iliyotangulia:
Raspberry Pi 3 Model B+;
microSD > = 4GB (baadaye unaweza "kuhamisha" mfumo kwenye gari la 2GB);
Kituo cha kazi na Linux na kisoma kadi ya microSD;
Uunganisho wa mtandao wa waya kati ya Raspberry na kituo cha kazi cha Linux (katika kesi hii, hakuna ufuatiliaji wa ziada na kibodi utahitajika kwa ajili ya kuanzisha), upatikanaji wa mtandao kutoka kwa vifaa vyote viwili;
Ujuzi wa hali ya juu katika Linux (kujua na usiogope: kugawanyika, dd ΠΈ mkfs).
Sawa na kurudia LFS-kujenga Linux yako mwenyewe, picha ya usambazaji wa Fedora itatumika, na kisha kwa kuzingatia, mfumo mdogo utaundwa (bila "kukusanya kutoka kwa chanzo").
Sasa unaweza kupakua "raspberry" kutoka kwa microSD na kuunganisha nayo kupitia mtandao.
Kuanza kwa baridi huchukua kama dakika moja na nusu. TTX ya mfumo baada ya kupakia:
rpm -qa | wc -l
444
2. Kukusanya mfumo mdogo
Kwa bahati mbaya, "usambazaji mdogo" kutoka kwa watengenezaji hugeuka kuwa mbali na matumizi ya kawaida ya rasilimali. Picha ya mfumo inaweza kufanywa hata ndogo.
Ili kufanya hivyo, unahitaji kuendesha hati kwenye Malinka:
#!/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
Baada ya kuendesha hati, saraka ndogo itaundwa kwenye saraka ya sasa ($P) na yaliyomo kwenye mzizi wa toleo jipya la OS. Unaweza kuzima Raspberry na kurudisha microSD kwenye kituo cha kazi cha Linux.
3. Ufungaji wa mfumo mdogo
Ufungaji unatokana na kunakili faili ndogo za "picha" za OS (zilizopatikana katika hatua ya awali) kwenye microSD iliyoandaliwa maalum kwenye saraka zinazofaa.
Kadi ya 2GB na sehemu mbili juu yake zinatosha:
Boot / efi - EFI + FAT32, boot, 100MB;
/ (mizizi) - EXT4, nafasi yote iliyobaki.
Baada ya kuandaa microSD na kunakili faili kwake, unahitaji:
rekebisha boot ya OS;
fungua mtandao;
sanidi ufikiaji kupitia ssh.
Marekebisho ya buti ni kuchukua nafasi ya UUID ya sehemu kwenye faili:
Ufikiaji wa mtumiaji mkuu kupitia ssh umesanidiwa sawa na hatua ya 1.
Baada ya kufanya kila kitu kwa uangalifu na bila makosa, unaweza kuhamisha microSD kwenye "raspberry" na kuanza kufanya kazi na 64-bit OS katika toleo la ziada la chini.
4. Mfumo tayari
"Picha" ya mfumo uliomalizika, iliyoundwa kulingana na maagizo hapo juu, inaweza kupakuliwa kutoka kwa kiunga: Fedora-Tiny-31-5.5.7-200.aarch64
Hii itakuwa kumbukumbu iliyo na faili mbili: hati ya usakinishaji na TGZ iliyo na faili za OS. Kumbukumbu inahitaji kufunguliwa kwenye kituo cha kazi cha Linux, ingiza microSD (kadi ya 2GB inatosha) na uendesha hati kwa kigezo - jina la kifaa:
./install /dev/mmcblk0
Kuwa makini!
Bila maonyo yoyote, kifaa kitaundwa na mfumo wa uendeshaji utasakinishwa juu yake.
Baada ya utekelezaji wa hati bila hitilafu, kadi inaweza kupangwa upya katika "raspberry" na kutumika: catch kupitia dhcp, nenosiri - "1".
Mfumo umefutwa kwa vitambulisho na funguo zote, ndiyo sababu kila usakinishaji mpya ni wa kipekee.
Narudia tena, mfumo - Ndogo! Kwa hivyo, usiogope: DNF inapatikana, ili ifanye kazi utalazimika "kubuni" iliyo sahihi /etc/resolv.conf.
Kuanza kwa baridi kwa Raspberry huchukua sekunde 40. TTX ya mfumo baada ya kupakia:
rpm -qa | wc -l
191
5. WiFi
Nitakaa kidogo juu ya vipengele vya kutekeleza hatua ya kufikia Wi-Fi. Kwa maelezo, unaweza kurejelea yaliyotangulia Ibara ya.
EPEL haihitajiki tena - vifurushi vyote viko kwenye hazina rasmi.
Pengine ingefaa kukata tamaa dnsmasq, kwa kuwa Fedora, tofauti na CentOS, ina systemd-networkd ya hivi karibuni, ambayo ina seva za kawaida za DHCP/DNS zilizojengwa. Lakini ukweli ni kwamba katika watengenezaji wa RHEL8 alikataa kuunga mkono rundo la mtandao na kitu kingine chochote isipokuwa NM, haina kuhamasisha ujasiri katika siku zijazo mkali wa mradi (scoundrels). Kwa kifupi, sijajaribu.
Zaidi ya hayo, viendeshi vya sasa vya adapta ya Wi-Fi iliyojengwa haiwezi "kuibiwa" kutoka kwa usambazaji wa Raspbian, lakini kupakuliwa moja kwa moja kutoka. github.
Hivi ndivyo faili za firmware za Broadcom zinavyoonekana kwenye Raspberry yangu (kimkakati):
Kuhusu nambari na majina ya violesura. Sasa ninapendekeza sana kwa kila mtu asigeuke kwa "huduma" za swichi za programu isipokuwa lazima kabisa (daraja), ambayo huleta mzigo mkubwa kwenye safu ya mtandao na uelekezaji wa mfadhaiko. Ikiwa huna mpango wa kuwa na adapters nyingi zisizo na waya, basi unapaswa kutumia interfaces za kimwili tu. Nina Wi-Fi mbili, kwa hivyo ninazichanganya tu kwenye daraja la programu (ingawa unaweza kufanya bila hii kwa kuangalia usanidi wa hostapd tofauti).
Na ninapenda kubadilisha jina la violesura.
Ili kufanya hivyo katika Fedora unahitaji kuunda kiunga cha mfano:
/etc/systemd/network/99-default.link -> /dev/null
na hapo itawezekana kutoa majina yenye maana bila kuzuga udev, lakini kwa kutumia systemd-networkd pekee.
Kwa mfano, hivi ndivyo adapta za mtandao kwenye kipanga njia changu huitwa:
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 - iliyojengwa ndani, ext - Adapta za nje (USB) za Wi-Fi zimekusanywa kwenye "daraja" lan;
wan β Adapta ya Ethaneti ambamo Mtandao umeunganishwa.
Je, umeona? fq_code - jambo la kupendeza sana. Pamoja na kernel safi ya Linux, hufanya miujiza halisi katika safu ya wireless: "kupakua kwa torrent" kali haitasababisha uharibifu wa ghafla wa kasi kati ya majirani. Hata IP-TV ya nyumbani inayofanya kazi "juu ya hewa" na kituo kilichopakiwa haina "kuvunja" na haina "kugugumia" hata kidogo!
Faili ya huduma ya daemon imefanyiwa mabadiliko madogo mwenyeji.
Sasa inaonekana kama hii (kwa kutumia mfano wa adapta iliyojengwa):
[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
Na "uchawi" hostapd-int.conf ya kufanya kazi katika 5GHz/AC:
Photoshop ndogo iliyotengenezwa kutoka kwa Ericsson A1018s yangu:
(Muunganisho wa Mtandao - 100Mbit/sek)
Na hatimaye, Maswali madogo madogo.
6. Maswali
6.1 Kwa nini utengeneze kipanga njia cha Wi-Fi kwenye Raspberry?
Mtu anaweza kujibu kwa urahisi, kama "inafurahisha kujaribu na hayo yote."
Lakini kwa kweli, inaonekana kwangu kuwa mada hiyo ni mbaya sana. Katika enzi ya mtandao "umwagaji damu", kununua kipanga njia kwenye duka na kubaki mateka kwa mtengenezaji wake ni matarajio mabaya sana. Watu wengi tayari wanaelewa kuwa kukaa na CVE au mlango wa nyuma uliojengwa hauwezekani.
Bila shaka, unaweza kuhamia firmware ya WRT kutoka kwa wapendaji. Pengine kuna imani zaidi kwao, lakini ikiwa hutaki kuwategemea, basi tumia tu bidhaa yako mwenyewe. Kwa kweli, kompyuta kamili ili kila kitu ulimwenguni kiweze kutekelezwa juu yake. Kwa upande wa uelekezaji, bila shaka.
Kwa hiyo, kuchagua "raspberry" ni hatua ya kiuchumi: kompyuta halisi na wakati huo huo ni ya gharama nafuu. Ingawa, labda pia - na "mara mbili" yao ndani.
6.2 Lakini Raspberry ni "router ya chini": polepole na yenye bandari moja ya Ethernet!
Kama kipanga njia cha nyumbani cha Wi-Fi, Raspberry inaniridhisha zaidi. Tayari nimezungumza juu ya kasi ya hewa hapo juu. Na kuna Ethernet moja tu, vizuri, katika bidhaa sawa kutoka kwa Apple ni sawa!
Lakini kwa umakini, bila shaka ningependa zaidi. Na licha ya ukweli kwamba katika kaya yangu vifaa vyote vinaunganishwa bila waya, wakati mwingine uunganisho wa shaba bado unahitajika. Kwa hali kama hizi, nina "kitovu cha rununu" kwenye hisa:
kifaa - kitu kama hiki
6.3 Ikiwa hii ni router, basi hakuna kinachosemwa kuhusu "tuning" TCP / IP, kwa sababu hii ni muhimu!
Mbali na kusanidi kifurushi cha mtandao (tcp_fastopen, YeAH, n.k.), nakala hii na iliyotangulia haijumuishi nuances zingine, haswa, mchakato wa kuandaa microSD kwa matumizi bora (ingawa kisakinishi kinajaribu kuunda kadi ya kumbukumbu ndani. njia ngumu). Mchakato wa uboreshaji hauna mwisho, unahitaji tu kuacha kwa wakati.
6.4 Kwa nini Fedora?
Kwa sababu napenda! Fedora ni mfumo "wa kawaida" wa geeks, ambao makala haya yamekusudiwa. Wakati wa kuandika, labda OS pekee ambayo kwa Raspberry katika toleo la 64-bit inasaidiwa rasmi na wafanyakazi muhimu wa watengenezaji (ambao siwezi kusubiri punje 5.6).
6.5 Je, Bluetooth inafanya kazi? Je, video/sauti/GPIO vipi?
Sijui. Nakala hiyo inahusu usakinishaji mdogo wa mfumo na matumizi yake ya baadaye kama kipanga njia cha Wi-Fi.
6.6 Kwa nini makala yote kuhusu CentOS/Fedora/RedHat huanza kwa kuzima SELinux?
Kwa sababu mfumo ni mdogo, hauna hata firewall au huduma za kuiweka. Yeyote anayehitaji anaweza kusakinisha kila kitu anachohitaji.