Raspberry Pi + Fedora (aarch64) = Wi-Fi Hotspot (raspberry pouara me te potae kikorangi)

I roto i te tuhinga Raspberry Pi + CentOS = Wi-Fi Hotspot (he pouara raspberry me te potae whero) I korero ahau mo tetahi huarahi ki te huri i te Raspberry hei waahi uru ahokore ma te whakamahi i te punaha whakahaere CentOS. Na roto i te whakahiato i taku pouara kaainga e ai ki tenei tuhi, i makona ahau i taku mahi auaha me te whakanui i te rangimarie o te hinengaro mo tetahi waahanga nui o taku hanganga aahua. Teie râ, ua haafifi te mana‘o o te oreraa e oti i te faaotiraa e te mana‘o tia roa i roto ia ’u: “aita e tiaraa to te hoê faahopearaa tano ore o te ohipa.” Ko te whakaaro "ka taea te whakatutuki i te mea tino pai" kaore i mahue i ahau mo te meneti.

Na i tetahi ra, i runga i tetahi o nga huihuinga kaupapa, i tae atu ahau ki tetahi korero mo te hohonutanga o nga punaha whakahaere o mua mo te Raspberry (aarch64 vs armhfp): ka taea e te OS 64-bit, te tikanga, te pai me te mahi i runga i te putanga Raspberry 3 ++?

Ko taku CentOS aroha mo te hoahoanga ARM mai i te "Userland" kaore i tere ki te huri ki te putanga hou o te kernel ka huri ki te 64-bit. A ko te whare putunga EPEL, hono mai i te Atua e mohio ana ki hea kaore he waitohu matihiko, he moemoea i roto i taku moe horekau...

I a au e korero ana hei piripono ki nga tohatoha RPM, i miharo ahau i te kitenga kua warewaretia te OS mo te Raspberry i roto i nga korerorero. Fedora! Na tenei ahakoa te meka e tona tuku
mai i te putanga 28 ka tautoko mana te Raspberry Pi 3B+ i roto i te putanga 64-bit!

Raspberry Pi + Fedora (aarch64) = Wi-Fi Hotspot (raspberry pouara me te potae kikorangi)
I roto i tenei tuhinga ka korero ahau mo te tikanga whakauru Fedora (aarch64) i runga i Pihikete Pi 3 Momo B + в mahi iti rawa atu. Ka korero poto ahau mo nga ahuatanga o te whakaara i tetahi waahi uru Wi-Fi, i kitea na te mahi whakamatautau o taku whirihoranga o mua CentOS 7.

0. He aha e hiahia ana koe

He rite tonu nga mea katoa ki te rarangi o mua:

  • Rahipere Pi 3 Tauira B+;
  • microSD>= 4GB (i muri mai ka taea e koe te "whakawhiti" te punaha ki te puku 2GB);
  • Te teihana mahi me te Linux me te panui kaari microSD;
  • Ko te hononga whatunga waea i waenga i te Raspberry me te teihana mahi Linux (i tenei keehi, kaore e hiahiatia he aroturuki me te papapātuhi mo te tatūnga), te uru Ipurangi mai i nga taputapu e rua;
  • Nga pukenga matatau i roto i te Linux (ki te mohio me te kore e mataku: wehe, dd и mkfs).

He rite ki te tukurua LFS-ko te hanga i a koe ake Linux, ka whakamahia te ahua tohatoha Fedora, katahi ka hangaia he punaha iti (kaore he "whakahiato mai i te puna").

1. Te whakaurunga o te tohatoha taketake

Nga ruruku o te ahua mata o te punaha i runga i te Ipurangi:
https://…/fedora-secondary/releases/…/Spins/aarch64/images/Fedora-Minimal-…xz

I muri i te tuhi i runga i te microSD me mua i te whakamahi, me:

  1. Roha te "pakiaka" o te punaha konae (waahanga tuatoru, ext3)
    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. Monokia SELinux
    echo 'SELINUX=disabled' > /mnt/3/etc/selinux/config
    

  3. Tango i te Ruānuku Tatūnga Tuatahi:
    find /mnt/3/etc/systemd/ -iname initial-setup.service -delete
    

  4. Whakaaetia te uru ma te 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
    

Na ka taea e koe te tango i te "rōpere" mai i te microSD ka hono atu ma te whatunga.

Kotahi me te hawhe meneti te timatanga o te makariri. TTX o te punaha i muri i te utaina:

Raspberry Pi + Fedora (aarch64) = Wi-Fi Hotspot (raspberry pouara me te potae kikorangi)

rpm -qa | wc -l
444

2. Te whakaemi i te punaha iti

Kia aroha mai, ko te "tuku iti" mai i nga kaiwhakawhanake ka puta he tawhiti atu i te iti rawa o te kohi rauemi. Ko te ahua o te punaha ka taea te iti ake.

Ki te mahi i tenei, me whakahaere koe i te tuhinga ki a 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

Whai muri i te whakahaere i te tuhinga, ka hangaia he raarangiroto ki te raarangi o naianei ($P) me nga ihirangi o te pakiaka o te putanga OS iti hou. Ka taea e koe te whakakore i te Raspberry me te whakahoki i te microSD ki te teihana mahi Linux.

3. Te whakaurunga o te punaha iti

Ko te whakaurunga ka heke ki te kape i nga konae "ahua" OS iti (i whiwhi i te taahiraa o mua) ki runga i te microSD kua oti te whakarite ki nga raarangi e tika ana.

He kaari 2GB me nga waahanga e rua kei runga ka nui:

  1. / whakaara / efi - EFI+FAT32, boot, 100MB;
  2. / (pakiaka) - EXT4, mokowā katoa e toe ana.

I muri i te whakarite i te microSD me te kape i nga konae ki reira, me:

  • whakatika OS boot;
  • whakakāhia te whatunga;
  • whirihora te uru ma te ssh.

Ko te whakatika whawhai ko te whakakapi i te UUID o nga waahanga kei roto i nga konae:

microSD:/boot/efi/EFI/fedora/grub.cfg
microSD:/boot/efi/EFI/fedora/grubenv

me te tawhā penapena_whakaurunga= i te kōnae whakamutunga

Kei te kōnae:

microSD:/etc/fstab

ka kitea e koe nga uara tawhito, me nga uara o naianei (kei te wa) kei roto i te putanga whakahau:

blkid | grep mmcblk | sort

I muri i te whakakapinga, me whakatika ano e koe nga ihirangi fstab i runga i te microSD kia rite nga tohu maunga ki nga UUID hou.

Ko te mahi whatunga i te wa tuatahi ka huri koe i te Raspberry ka taea te whakatutuki me te "marau" iti - hangaia he hononga (maataki):

ln -s /usr/lib/systemd/system/systemd-networkd.service 
  microSD:/etc/systemd/system/multi-user.target.wants

me te kōnae:

mkdir -p microSD:/etc/systemd/network
cat > microSD:/etc/systemd/network/dhcp.network << EOF
[Match]
Name=*
[Network]
DHCP=ipv4
EOF

Whai muri i te pai o te tango, whakapaia te whakarewatanga systemd-whatungad:

systemctl disable systemd-networkd
systemctl enable systemd-networkd

Ko te urunga superuser ma te ssh he rite te whirihora ki te taahiraa 1.

Ka oti nga mea katoa me te kore he he, ka taea e koe te neke i te microSD ki roto i te "rōpere" ka timata ki te mahi me te OS 64-bit i roto i te waahanga iti ake.

4. Pūnaha reri

Ko te "ahua" o te punaha kua oti, i hangaia kia rite ki nga tohutohu i runga ake nei, ka taea te tango mai i te hono:
Fedora-Tiny-31-5.5.7-200.aarch64

Ka noho tenei hei puranga e rua nga konae: te tuhinga whakauru me te TGZ me nga konae OS. Me wetewete te purongo ki runga i te teihana mahi Linux, whakauruhia he microSD (he nui te kaari 2GB) ka whakahaere i te tuhinga me te tawhā - te ingoa o te taputapu:

./install /dev/mmcblk0

Kia tupato!

Kaore he whakatupato, ka whakahōputuhia te taputapu ka whakauruhia te punaha whakahaere ki runga.

I muri i te mahi hapa-kore o te tuhinga, ka taea te whakarereke i te kaari ki te "rōpere" ka whakamahia: hopu ma te dhcp, kupuhipa - "1".

Kua whakakorehia e te punaha nga ID me nga taviri katoa, na reira he ahurei ia whakaurunga hou.

Ka whakahoki ano ahau, ko te punaha - iti rawa! No reira, kaua e mataku: Kei te waatea te DNF, kia pai ai te mahi me "hanga" te mea tika /etc/resolv.conf.

Ko te timatanga makariri o te Raspberry e 40 hēkona. TTX o te punaha i muri i te utaina:

Raspberry Pi + Fedora (aarch64) = Wi-Fi Hotspot (raspberry pouara me te potae kikorangi)

rpm -qa | wc -l
191

5. WiFi

Ka noho poto ahau ki nga ahuatanga o te whakatinana i te waahi uru Wi-Fi. Mo nga korero motuhake, ka taea e koe te korero ki taku o mua Tuhinga.

Ko te EPEL kua kore e hiahiatia - kei roto katoa nga kete kei roto i nga putunga mana.

He pai pea te tuku dnsmasq, i te mea ko Fedora, kaore i rite ki a CentOS, he punaha-whatunga tata tonu nei, he tuumau DHCP/DNS kua hangaia. Engari ko te mea kei roto i nga kaihanga RHEL8 karekau i pai ki te tautoko i te puranga whatunga me tetahi mea ke atu i a NM, e kore e whakahihiko i te maia ki te maramatanga o te kaupapa (nga tangata kino). I te poto, kaore au i whakamatau.

I tua atu, kaore e taea te "tahae" nga taraiwa o naianei mo te urutau Wi-Fi i roto i te tohatoha Raspbian, engari ka tango tika mai i GitHub.

Koinei te ahua o nga konae firmware Broadcom i runga i taku Raspberry (whakaarohia):

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

Ki te kore ratou e kore koe e whiwhi 5GHz/AC.

Mo te maha me nga ingoa o nga atanga. Inaianei ka tino taunaki ahau ki nga tangata katoa kia kaua e uru ki nga "ratonga" o nga huringa rorohiko mena ka tino tika (piriti), e whakauru ana i te kawenga nui ki roto i te puranga whatunga me te whakaheke i te ararere. Mena karekau koe e whakaaro kia maha nga taapiri ahokore, me whakamahi koe i nga atanga tinana anake. E rua aku Wi-Fi, no reira ka whakakotahihia e au ki roto i te piriti rorohiko (ahakoa ka taea e koe te mahi me te kore tenei ma te titiro rereke ki te tatūnga hostapd).

A ka pai ahau ki te whakaingoa ano i nga atanga.

Hei mahi i tenei i Fedora me hanga e koe he hononga tohu:

/etc/systemd/network/99-default.link -> /dev/null

katahi ka taea te hoatu i nga ingoa whai kiko me te kore e pohehe udev, engari ma te whakamahi i te systemd-networkd anake.

Hei tauira, koinei te ingoa o nga urutau whatunga i taku pouara:

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 - i roto, ext — ko nga urutau Wi-Fi o waho (USB) kua huihuia ki te "piriti" lan;
  • wan — Whāurutau Ethernet e hono ana te Ipurangi.

I kite koe? fq_codel - he mea tino pai. I te taha o te kakano Linux hou, ka mahia e ratou nga merekara tuuturu i roto i te awhe ahokore: he "torrent download" e kore e arahi ki te heke ohorere o te tere i waenga i nga hoa noho tata. Ahakoa ko te IP-TV kaainga e mahi ana "i runga i te rangi" me te hongere utaina kaore e "pakaru" ka kore e "kapeke" rawa!

He iti nga huringa o te konae ratonga daemon hostapd.

He penei te ahua inaianei (ma te whakamahi i te tauira o te urutau whakaurunga):

[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

Me te "makutu" hostapd-int.conf mo te mahi i roto i te 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]

He whakaahua iti i hangaia mai i aku Ericsson A1018s:

(Hononga ipurangi - 100Mbit/hekona)Raspberry Pi + Fedora (aarch64) = Wi-Fi Hotspot (raspberry pouara me te potae kikorangi)
Ka mutu, he FAQ iti.

6.FAQ

6.1 He aha te mahi pouara Wi-Fi ki runga Raspberry?

Ka taea e tetahi te whakautu ngawari, penei "he pai ki te whakamatau me era atu."

Engari i roto i te meka, ki ahau nei he tino taumaha te kaupapa. I te wa o te Ipurangi "toto", ko te hoko i te pouara i roto i te toa me te noho mau tonu ki tana kaihanga he tino pouri. He maha nga taangata kua maarama kaore e taea te noho me te CVE me te kuaha kei muri.

Ae ra, ka taea e koe te heke ki te WRT firmware mai i nga kaiwhaiwhai. He nui ake pea te whakawhirinaki ki a raatau, engari ki te kore koe e hiahia ki te whakawhirinaki ki a raatau, whakamahia noa to hua ake. Ko te mea pai, he rorohiko tino pai kia taea ai te whakatinana i nga mea katoa o te ao ki runga. Mo te ararere, o te akoranga.

Na reira, ko te kowhiri i te "rōpere" he kaupapa ohaoha: he rorohiko pono me te wa ano he utu iti. Ahakoa, tera pea - me o raatau "ruarua" kei roto.

6.2 Engari he "pouara iti" a Raspberry: he puhoi me te tauranga Ethernet kotahi!

Hei pouara Wi-Fi kaainga, he pai ake te Raspberry ki ahau. Kua korero ahau mo te tere o te hau i runga ake nei. Na kotahi anake te Ethernet, pai, i roto i te hua rite mai i a Apple he rite tonu!

Engari tino nui, o te akoranga ka hiahia ahau ki etahi atu. A ahakoa te mea kei roto i taku whare ka hono nga taputapu katoa ma te ahokore, i etahi wa ka hiahiatia he hononga parahi. Mo enei keehi, kei a au he "pukoro waea" kei roto i nga taonga:

taputapu - he mea peneiRaspberry Pi + Fedora (aarch64) = Wi-Fi Hotspot (raspberry pouara me te potae kikorangi)

6.3 Mena he pouara tenei, kaore he korero mo te "whakarite" TCP/IP, na te mea he mea nui tenei!

I tua atu i te whakatuu i te puranga whatunga (tcp_fastopen, YeAH, me etahi atu), kaore tenei me te tuhinga o mua e hipoki ana i etahi atu ahuatanga, ina koa, ko te tukanga o te whakarite i te microSD mo te whakamahi tino pai (ahakoa ka ngana te kaiwhakauru ki te whakahōputu i te kaari mahara ki roto. he ara uaua). Ko te tukanga o te whakapai ake he mutunga, me mutu noa koe i te waa.

6.4 He aha a Fedora?

No te mea e pai ana ahau! Ko Fedora he punaha "auraki" mo nga geeks, mo ratou tenei tuhinga e tino tika ana. I te wa e tuhi ana, ko te OS anake mo te Raspberry i roto i te putanga 64-bit e tautokohia ana e nga kaimahi nui o nga kaihanga (kaore au e tatari pata 5.6).

6.5 Kei te mahi a Nihokikorangi? Kei te pehea te ataata/oro/GPIO?

Kaua e mohio. Ko te tuhinga e pa ana ki te iti rawa o te whakaurunga o te punaha me tana whakamahi i muri mai hei pouara Wi-Fi.

6.6 He aha nga tuhinga katoa mo CentOS/Fedora/RedHat ka timata ki te whakakore i a SELinux?

Na te mea he iti noa te punaha, karekau he papangaahi, taputapu taputapu ranei mo te whakarite. Ka taea e te hunga e hiahia ana ki te whakauru i nga mea katoa e hiahiatia ana e ratou.

6.7 Kaore e taea te whakamahi i te punaha, kaore e taea te whakarereke i te kupuhipa - kaore he passwd. Kaore he ping, kaore he mea!

He DNF. Kaore ranei tenei waahanga whakaurunga mo koe - whakamahia te kete tohatoha mai i nga kaihanga.

6.8 Kei hea te SWAP? Kaore e taea e au te ora me te kore ia!

He pono? Na ka pai:

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 Kei te pirangi au ki te tango tonu i tetahi ahua kua oti te hanga me te waahi uru Wi-Fi kua whirihorahia!

Ko te whakarite i tetahi kaitautauta "mo te katoa" ka hiahiatia he wa me te kaha. Mena (kua ohorere!) ka tino kitea e te tangata tenei mea whakamiharo me te tika, tuhia mai ki a maatau ka puta mai he mea.

Ka mutu tenei.

Kei te pirangi ahau kia noho haumaru nga tangata katoa ki te ngaru me te tino mana whakahaere mo nga hanganga!

Source: will.com

Tāpiri i te kōrero