Esihlokweni
Kwathi ngolunye usuku, kwenye yezinkundla ezinezihloko, ngathola ingxoxo mayelana nokujula kancane kwezinhlelo zokusebenza ezikhona zeRaspberry (aarch64 vs armhfp): iyiphi i-64-bit OS, empeleni, engalingana futhi isebenze kuRaspberry version 3. ++?
I-CentOS yami ethandekayo yokwakhiwa kwe-ARM evela ku- “Userland” ibingajahile ukushintshela enguqulweni yakamuva ye-kernel bese iphenduka i-64-bit. Futhi inqolobane ye-EPEL, exhunywe kuNkulunkulu uyazi lapho ngaphandle kwesiginesha yedijithali, bekuyiphupho elibi ebuthongweni bami obungaphumuli...
Ngikhuluma njengomlandeli wokusabalalisa okusekelwe ku-RPM, ngamangala ukuthola ukuthi i-OS ye-Raspberry yayikhohliwe ngokuphelele ezingxoxweni. Fedora! Futhi lokhu naphezu kweqiniso lokuthi ukukhululwa kwayo
Kulesi sihloko ngizokhuluma ngendlela yokufaka I-Fedora (aarch64) on I-Raspberry Pi 3 Isibonelo B + в ukusebenza okuncane okungeziwe. Ngizogxila kafushane ezicini zokukhulisa indawo yokufinyelela ye-Wi-Fi, ekhonjwe njengomphumela wokusebenza kwesilingo sokucushwa kwami kwangaphambilini
0. Yini ozoyidinga
Konke kuyafana njengoba kubhalwe esihlokweni esedlule:
- I-Raspberry Pi 3 Model B+;
- microSD > = 4GB (kamuva ungakwazi "ukudlulisa" uhlelo kudrayivu engu-2GB);
- Indawo yokusebenza ene-Linux kanye nesifundi sekhadi le-MicroSD;
- Uxhumano lwenethiwekhi enezintambo phakathi kweRaspberry nesiteshi sokusebenzela se-Linux (kulokhu, akukho kuqapha okwengeziwe nekhibhodi ezodingeka ukuze kumiswe), ukufinyelela ku-inthanethi kusuka kumadivayisi womabili;
- Ikhono elithuthukisiwe ku-Linux (ukwazi futhi ungesabi:
ahlukaniswe ,dd иmkfs ).
Okufana nokuphindaphinda
1. Ukufakwa kokusatshalaliswa kwangempela
Izixhumanisi zesithombe esingahluziwe sesistimu ku-inthanethi:
Ngemuva kokuyiqopha ku-microSD nangaphambi kokuyisebenzisa, udinga:
- Nweba “impande” yesistimu yefayela (i-3rd partition, 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
- Khubaza i-SELinux
echo 'SELINUX=disabled' > /mnt/3/etc/selinux/config
- Susa Iwizadi Yokusetha Yokuqala:
find /mnt/3/etc/systemd/ -iname initial-setup.service -delete
- Vumela ukufinyelela nge-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
Manje usungakwazi ukulanda "i-raspberry" ku-microSD futhi uxhume kuyo ngenethiwekhi.
Ukuqala okubandayo kuthatha cishe umzuzu owodwa nesigamu. I-TTX yesistimu ngemva kokulayisha:
rpm -qa | wc -l
444
2. Ukuhlanganisa isistimu encane
Ngeshwa, "ukusabalalisa okuncane" okuvela kubathuthukisi kuvela kude nokunesizotha kakhulu ekusetshenzisweni kwezinsiza. Isithombe sesistimu singenziwa sibe sincane nakakhulu.
Ukuze wenze lokhu, udinga ukusebenzisa iskripthi ku-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
Ngemva kokuqalisa iskripthi, uhlu lwemibhalo olungaphansi luzokwakhiwa ohlwini lwemibhalo lwamanje ($P) ngokuqukethwe kwempande yenguqulo encane ye-OS entsha. Ungacisha iRaspberry bese ubuyisela i-microSD endaweni yokusebenza ye-Linux.
3. Ukufakwa kwesistimu encane
Ukufakwa kubilisa ekukopishelweni okuncane kwamafayela "esithombe" se-OS (atholwe esinyathelweni sangaphambilini) ku-microSD elungiselelwe ngokukhethekile ezinhlwini zemibhalo ezifanele.
Ikhadi le-2GB nama-partitions amabili kulo kwanele:
- / i-boot / efi - EFI+FAT32, ibhuthi, 100MB;
- / (impande) - EXT4, sonke isikhala esisele.
Ngemuva kokulungisa i-microSD nokukopisha amafayela kuyo, udinga:
- lungisa i-OS boot;
- vula inethiwekhi;
- lungisa ukufinyelela nge-ssh.
Ukulungiswa kokuqalisa ukufaka esikhundleni se-UUID yezigaba kumafayela:
microSD:/boot/efi/EFI/fedora/grub.cfg
microSD:/boot/efi/EFI/fedora/grubenv
kanye nepharamitha i-saved_entry= efayeleni lokugcina
Efayelini:
microSD:/etc/fstab
ungathola amanani amadala, kanye namanani amanje (abuyekeziwe) kokuphumayo komyalo:
blkid | grep mmcblk | sort
Ngemva kokushintsha, kufanele futhi ulungise okuqukethwe fstab ku-microSD ukuze izindawo zokukhweza zihambisane ne-UUID entsha yokuhlukanisa.
Ukusebenza kwenethiwekhi lapho uqala ukuvula i-Raspberry kungafinyelelwa "ngenduku" encane - dala isixhumanisi (ngokuhlelwa):
ln -s /usr/lib/systemd/system/systemd-networkd.service
microSD:/etc/systemd/system/multi-user.target.wants
kanye nefayela:
mkdir -p microSD:/etc/systemd/network
cat > microSD:/etc/systemd/network/dhcp.network << EOF
[Match]
Name=*
[Network]
DHCP=ipv4
EOF
Ngemva kokulanda ngempumelelo, lungisa ukwethulwa
systemctl disable systemd-networkd
systemctl enable systemd-networkd
Ukufinyelela komsebenzisi omkhulu nge-ssh kulungiselelwe ngendlela efanayo nesinyathelo 1.
Ngemuva kokwenza konke ngokucophelela futhi ngaphandle kwamaphutha, ungahambisa i-microSD "ku-raspberry" futhi uqale ukusebenza nge-64-bit OS kunguqulo encane eyengeziwe.
4. Uhlelo olulungile
"Isithombe" sohlelo oluqediwe, oludalwe ngokwemiyalo engenhla, lungalandwa kusixhumanisi:
Lokhu kuzoba ingobo yomlando equkethe amafayela amabili: iskripthi sokufaka kanye ne-TGZ enamafayela e-OS. Ingobo yomlando idinga ukuthululwa endaweni yokusebenza ye-Linux, faka i-microSD (ikhadi elingu-2GB lanele) bese uqhuba iskripthi ngepharamitha - igama ledivayisi:
./install /dev/mmcblk0
Qaphela!
Ngaphandle kwanoma yiziphi izexwayiso, idivayisi izofomethwa futhi isistimu yokusebenza izofakwa kuyo.
Ngemva kokukhishwa kweskripthi ngaphandle kwamaphutha, ikhadi lingahlelwa kabusha libe “ku-raspberry” futhi lisetshenziswe: bamba nge-dhcp, iphasiwedi - “1”.
Isistimu isuliwe kuwo wonke ama-ID nokhiye, yingakho ukufakwa okusha ngakunye kuhlukile.
Ngiyaphinda futhi, uhlelo - okuncane! Ngakho-ke, ungethuki: I-DNF iyatholakala, ukuze isebenze kuzodingeka “usungule” elungile
Ukuqala okubandayo kwe-Raspberry kuthatha imizuzwana engama-40. I-TTX yesistimu ngemva kokulayisha:
rpm -qa | wc -l
191
5. I-Wi-Fi
Ngizogxila kancane ezicini zokusebenzisa indawo yokufinyelela ye-Wi-Fi. Ukuze uthole imininingwane eyengeziwe, ungabheka okwedlule kwami
I-EPEL ayisadingeki - wonke amaphakheji aqukethwe kumakhosombe asemthethweni.
Cishe kungakufanelekela ukuyeka
Ngaphezu kwalokho, abashayeli bamanje be-adaptha ye-Wi-Fi eyakhelwe ngaphakathi abakwazi "ukuntshontshwa" ekusabalaliseni i-Raspbian, kodwa balandwe ngqo kusuka.
Yilokhu amafayela e-firmware e-Broadcom abukeka ngayo ku-Raspberry yami (ngokuhlelwa):
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
Ngaphandle kwazo ngeke uthole i-5GHz/AC.
Mayelana nenombolo namagama ezindawo zokusebenzelana. Manje ngincoma kakhulu kuwo wonke umuntu ukuthi angaphendukeli “ezinsizakalweni” zokushintshwa kwesoftware ngaphandle uma kunesidingo (
Futhi ngiyathanda ukuqamba kabusha i-interfaces.
Ukwenza lokhu ku-Fedora udinga ukudala isixhumanisi esingokomfanekiso:
/etc/systemd/network/99-default.link -> /dev/null
futhi-ke kuzokwazi ukunikeza amagama anencazelo ngaphandle kokupopola
Isibonelo, yilokhu okubizwa ngama-adaptha enethiwekhi kumzila wami:
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 - eyakhelwe ngaphakathi, ext - ama-adaptha angaphandle (e-USB) e-Wi-Fi ahlanganiswe “kwibhuloho” lan;
- wan — I-adaptha ye-Ethernet lapho i-inthanethi ixhunywe khona.
Ubonile?
Ifayela lesevisi ye-daemon lenze izinguquko ezincane
Manje kubukeka kanje (usebenzisa isibonelo se-adaptha eyakhelwe ngaphakathi):
[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
Kanye ne-hostapd-int.conf “yomlingo” yokusebenza ku-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]
I-photoshop encane eyenziwe ngama-Ericsson A1018s ami:
(Uxhumano lwe-inthanethi - 100Mbit/sec)
Futhi ekugcineni, i-FAQ encane.
6. I-FAQ
6.1 Kungani wenze irutha ye-Wi-Fi ku-Raspberry?
Umuntu angaphendula kalula, njengokuthi “kuyajabulisa ukuzama nakho konke lokho.”
Kodwa empeleni, kubonakala kimi ukuthi isihloko sibucayi kakhulu. Esikhathini se-intanethi "egcwele igazi", ukuthenga i-router esitolo kanye nokuthunjwa okuhlala kumkhiqizi wayo kuyithemba elibi kakhulu. Abantu abaningi sebeyaqonda ukuthi ukuhlala ne-CVE noma i-backdoor eyakhelwe ngaphakathi akunakwenzeka.
Kunjalo, ungakwazi ukuthuthela ku-firmware ye-WRT kusuka kwabashisekayo. Cishe kukhona ukwethemba okwengeziwe kubo, kodwa uma ungafuni ukuncika kubo, vele usebenzise umkhiqizo wakho. Ngokufanelekile, ikhompuyutha egcwele ukuze konke okusemhlabeni kusetshenziswe kuyo. Mayelana nomzila, kunjalo.
Ngakho-ke, ukukhetha "okusajingijolo" kuwumnyakazo wezomnotho kuphela: ikhompyutha yangempela futhi ngesikhathi esifanayo engabizi. Nakuba, mhlawumbe futhi - "ngokuphindwe kabili" kwabo ngaphakathi.
6.2 Kodwa i-Raspberry “irutha ephansi”: ihamba kancane futhi inembobo eyodwa ye-Ethernet!
Njengomzila we-Wi-Fi yasekhaya, i-Raspberry ingaphezu kokunganelisa kimi. Sengike ngakhuluma ngesivinini somoya ngenhla. Futhi kune-Ethernet eyodwa kuphela, kahle, kumkhiqizo ofanayo ovela kwa-Apple icishe ifane!
Kodwa ngokungathí sina, yebo ngingathanda okwengeziwe. Futhi naphezu kweqiniso lokuthi endlini yami wonke amadivaysi axhunywe ngaphandle kwentambo, ngezinye izikhathi uxhumano lwethusi lusadingeka. Ezimweni ezinjalo, "nginehabhu yeselula" esitokweni:
idivayisi - into efana nale
6.3 Uma lokhu kuyi-router, ngakho-ke akukho okushiwo "ngokulungisa" i-TCP/IP, ngoba lokhu kubalulekile!
Ngaphezu kokusetha isitaki senethiwekhi (tcp_fastopen, YeAH, njll.), lesi sihloko kanye nendatshana edlule azibandakanyi amanye ama-nuances, ikakhulukazi, inqubo yokulungiselela i-microSD ukuze isetshenziswe kahle (yize isifaki sizama ukufometha imemori khadi ku. indlela ekhohlisayo). Inqubo yokuthuthukisa ayipheli, udinga nje ukuyeka ngesikhathi.
6.4 Kungani iFedora?
Ngoba ngithanda! I-Fedora iyisistimu “ejwayelekile” yama-geek, le ndatshana ehloselwe yona. Ngesikhathi sokubhala, mhlawumbe i-OS kuphela yokuthi i-Raspberry ku-64-bit version isekelwa ngokusemthethweni abasebenzi ababalulekile babathuthukisi (engingakwazi ukulinda kubo
6.5 Ingabe i-Bluetooth iyasebenza? Injani ividiyo/umsindo/GPIO?
Angazi. I-athikili imayelana nokufakwa okuncane kohlelo kanye nokusetshenziswa kwayo okulandelayo njengerutha ye-Wi-Fi.
6.6 Kungani zonke izindatshana ezimayelana ne-CentOS/Fedora/RedHat ziqala ngokukhubaza i-SELinux?
Ngenxa yokuthi uhlelo luncane, alunalo ngisho ne-firewall noma izinsiza zokulumisa. Noma ubani oyidingayo angafaka ngaphezu kwalokho konke akudingayo.
6.7 Uhlelo alukwazi ukusetshenziswa, iphasiwedi ayikwazi ukushintshwa - no passwd. Akukho ping, akukho lutho!
Zikhona
6.8 Ikuphi i-SWAP? Angeke ngikwazi ukuphila ngaphandle kwakhe!
Ingabe kuliqiniso? Uma kunjalo kulungile:
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 Ngingathanda ukulanda ngokushesha isithombe esenziwe ngomumo ngendawo yokufinyelela ye-Wi-Fi emisiwe!
Ukulungiselela isifaki "sawo wonke umuntu" kuzodinga isikhathi nomzamo. Uma (ngokungazelelwe!) othile ethola ngempela lokhu okuthakazelisayo futhi kudingekile, sibhalele futhi sizofika nokuthile.
Ngizoqeda ngalokhu.
Ngifisela wonke umuntu ukusefa okuphephile nokulawula ingqalasizinda!
Source: www.habr.com