Chinyorwa
Zvino rimwe zuva, pane imwe yemaforamu ezvidzidzo, ndakasangana nenhaurirano nezve kudzika kweiyo iripo masisitimu ekushandisa eRaspberry (aarch64 vs armhfp): iyo 64-bit OS inogona, mumusimboti, kukwana uye kushanda paRaspberry vhezheni 3. ++?
Wangu wandinoda CentOS weArM architecture kubva ku "Userland" haana kukurumidza kushandura kune yazvino vhezheni yekernel uye kushandura kuita 64-bit. Uye iyo EPEL repository, yakabatana kubva kuna Mwari inoziva kupi pasina siginecha yedhijitari, yaive yakashata muhope dzangu dzisina kugadzikana ...
Ndichitaura semuteveri weRPM-based distributions, ndakashamisika kuona kuti OS yeRaspberry yakanga yakanganwa zvachose muhurukuro. Fedora! Uye izvi pasinei nokuti kusunungurwa kwayo
Muchikamu chino ndichataura pamusoro pekugadzirisa nzira Fedora (aarch64) pamusoro Raspberry Pi 3 Mhando B + в kuwedzera kuita kushoma. Ini ndichataura muchidimbu nezve maficha ekusimudza nzvimbo yeWi-Fi yekupinda, yakaonekwa semhedzisiro yekushanda kwekuyedza kwekumisikidzwa kwangu kwekare pa.
0. Zvauchazoda
Zvose zvakafanana nezvakanyorwa munyaya yapfuura:
- Raspberry Pi 3 Muenzaniso B+;
- microSD> = 4GB (gare gare unogona "kutamisa" system kune 2GB drive);
- Workstation neLinux uye microSD kadhi muverengi;
- Wired network yekubatanidza pakati peRaspberry neLinux workstation (mune iyi kesi, hapana yekuwedzera yekutarisa uye keyboard ichadikanwa pakuseta), kuwana Internet kubva kune ese maturusi;
- Unyanzvi hwepamusoro muLinux (kuziva uye kusatya:
akaparadzaniswa ,dd иmkfs ).
Zvakafanana nekudzokorora
1. Kuiswa kwekugovera kwepakutanga
Coordinates emufananidzo wakasvibira weiyo system paInternet:
Mushure mekurekodha pamicroSD uye usati waishandisa, unofanirwa:
- Wedzera iyo "mudzi" wefaira system (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
- Dzima SELinux
echo 'SELINUX=disabled' > /mnt/3/etc/selinux/config
- Bvisa Yekutanga Setup Wizard:
find /mnt/3/etc/systemd/ -iname initial-setup.service -delete
- Bvumira kupinda kuburikidza ne 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
Iye zvino unogona kudhawunirodha "raspberry" kubva kumicroSD uye batanidza kwairi kuburikidza netiweki.
Kutanga kunotonhora kunotora maminitsi imwe nehafu. TTX yehurongwa mushure mekurodha:
rpm -qa | wc -l
444
2. Kuunganidza hurongwa hushoma
Nehurombo, iyo "kugovera kushoma" kubva kune vanogadzira inoshanduka kuva kure kubva kune yakanyanya mwero mukushandisa zviwanikwa. Mufananidzo wehurongwa unogona kuitwa kunyange diki.
Kuti uite izvi, unofanirwa kumhanya script paMalinka:
#!/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
Mushure mekushandisa script, subdirectory ichagadzirwa mune yazvino dhairekitori ($P) nezviri mukati memudzi weiyo diki OS edition. Unogona kudzima Raspberry uye wodzosera iyo microSD kuLinux workstation.
3. Kuiswa kwemaitiro mashoma
Kuiswa kunowira pasi kukopa mashoma OS "mufananidzo" mafaera (akawanikwa munhanho yapfuura) pane yakanyatsogadzirirwa microSD mumadhairekitori akakodzera.
A 2GB kadhi uye zvikamu zviviri pairi zvakakwana:
- / bhuti / efi - EFI + FAT32, bhutsu, 100MB;
- / (mudzi) - EXT4, nzvimbo yese yasara.
Mushure mekugadzirira iyo microSD uye kukopa mafaera kwairi, unofanirwa:
- gadzirisa OS boot;
- vhura network;
- gadzirisa kupinda kuburikidza ne ssh.
Iyo bhutsu inogadzirisa ndeye kutsiva iyo UUID yezvikamu mumafaira:
microSD:/boot/efi/EFI/fedora/grub.cfg
microSD:/boot/efi/EFI/fedora/grubenv
uye parameter saved_entry= mufaira rekupedzisira
Mufaira:
microSD:/etc/fstab
iwe unogona kuwana hunhu hwekare, uye hwazvino (up-to-date) kukosha mune yekuraira kubuda:
blkid | grep mmcblk | sort
Mushure mekutsiva, iwe unofanirwawo kugadzirisa zviri mukati fstab pane microSD kuitira kuti mapoinzi egomo aenderane neiyo itsva partition UUIDs.
Kushanda kwetiweki paunotanga kuvhura Raspberry kunogona kuwanikwa nediki "crutch" - gadzira chinongedzo (schematically):
ln -s /usr/lib/systemd/system/systemd-networkd.service
microSD:/etc/systemd/system/multi-user.target.wants
uye faira:
mkdir -p microSD:/etc/systemd/network
cat > microSD:/etc/systemd/network/dhcp.network << EOF
[Match]
Name=*
[Network]
DHCP=ipv4
EOF
Mushure mekubudirira kudhawunirodha, rongedza kutanga
systemctl disable systemd-networkd
systemctl enable systemd-networkd
Superuser kuwana kuburikidza ne ssh inogadziriswa zvakafanana kune nhanho 1.
Kana waita zvese nemazvo uye pasina zvikanganiso, unogona kufambisa iyo microSD mu "raspberry" uye wotanga kushanda ne64-bit OS mune imwe yakawedzera shoma shanduro.
4. Yakagadzirira system
Iyo "mufananidzo" weiyo yapera sisitimu, yakagadzirwa zvinoenderana nemirairo iri pamusoro, inogona kutorwa kubva pane iyi link:
Iyi ichava dura rine mafaera maviri: iyo yekuisa script uye TGZ ine OS mafaera. Iyo chengetedzo inoda kuvhurwa paLinux workstation, isa microSD (2GB kadhi yakakwana) uye mhanyisa script neparameter - zita rechishandiso:
./install /dev/mmcblk0
Chenjera!
Pasina chero yambiro, mudziyo uchagadziriswa uye inoshanda sisitimu ichaiswa pairi.
Mushure mekuita kukanganisa-isina script, kadhi rinogona kurongwa zvakare mu "raspberry" uye rinoshandiswa: kubata kuburikidza nedhcp, password - "1".
Iyo sisitimu inocheneswa maID ese nemakiyi, ndosaka kuisirwa kutsva kwega kwega kwakasiyana.
Ndinodzokorora zvakare, iyo system - shoma! Naizvozvo, usavhunduke: DNF iripo, kuti ishande uchafanirwa "kugadzira" iyo chaiyo
Kutanga kunotonhora kweRaspberry kunotora anenge 40 seconds. TTX yehurongwa mushure mekurodha:
rpm -qa | wc -l
191
5. WiFi
Ini ndichagara zvishoma pane maficha ekushandisa Wi-Fi yekuwana nzvimbo. Kuti uwane mamwe mashoko, unogona kutarisa kune yangu yapfuura
EPEL haichadiwi - mapakeji ese ari muzvinyorwa zvepamutemo.
Zvingava zvakakodzera kurega
Kupfuurirazve, madhiraivha azvino eiyo yakavakirwa-mukati Wi-Fi adapta haigone "kubiwa" kubva kuRaspbian kugovera, asi kutorwa zvakananga kubva.
Izvi ndizvo zvinotaridzika seBroadcom firmware mafaera paRaspberry yangu (schematically):
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
Pasina ivo hauwane 5GHz/AC.
Nezve nhamba nemazita enzvimbo dzekubatanidza. Zvino ini ndinokurudzira zvakasimba kumunhu wese kuti asashandise "masevhisi" ekuchinja kwesoftware kunze kwekunge zvichidikanwa (
Uye ini ndinoda renaming interfaces.
Kuti uite izvi muFedora unofanirwa kugadzira chinongedzo chekufananidzira:
/etc/systemd/network/99-default.link -> /dev/null
uye zvino zvinozokwanisika kupa mazita ane musoro pasina kupuruzira
Semuenzaniso, izvi ndizvo zvinodaidzwa nemadhiri etiweki mune yangu router:
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 - yakavakirwa mukati, ext - ekunze (USB) maadapta eWi-Fi akaungana kuita "zambuko" Lan;
- wan - Ethernet adapta mune iyo Internet yakabatana.
Wazviona here?
Iyo daemon sevhisi faira yaita shanduko diki
Izvozvi zvinotaridzika seizvi (uchishandisa muenzaniso weiyo yakavakirwa-mukati adapta):
[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
Uye iyo "magic" hostapd-int.conf yekushanda mu5GHz/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]
Idiki photoshop yakagadzirwa kubva yangu Ericsson A1018s:
(Kubatana kweInternet - 100Mbit/sec)
Uye pakupedzisira, diki FAQ.
6. MIBVUNZO
6.1 Sei uchigadzira Wi-Fi router paRaspberry?
Mumwe anogona kupindura zviri nyore, senge "zvinonakidza kuyedza uye zvese izvo."
Asi kutaura zvazviri, zvinoratidzika kwandiri kuti musoro wacho wakakomba. Munguva yeInternet "yeropa", kutenga router muchitoro uye kuramba uchibatwa kumugadziri wayo itarisiro yakaipa kwazvo. Vanhu vazhinji vanotonzwisisa kuti kugara neCVE kana yakavakirwa-mukati kumashure hazvigoneke.
Ehe, iwe unogona kutamira kune WRT firmware kubva kune vanofarira. Panogona kunge paine kuvimba kwakawanda mavari, asi kana iwe usingade kuvimba navo, saka ingoshandisa chako chigadzirwa. Zvakanaka, komputa yakazara-yakazara kuitira kuti zvese zviri munyika zvigone kuitwa pairi. Panyaya yekufambisa, hongu.
Naizvozvo, kusarudza "raspberry" inzira yehupfumi chete: komputa chaiyo uye panguva imwechete isingadhuri. Kunyangwe, pamwe zvakare - ne "mbiri" yavo mukati.
6.2 Asi Raspberry i "yakaderera router": inononoka uye ine imwe Ethernet port!
Semusha Wi-Fi router, iyo Raspberry inondigutsa kupfuura ini. Ndatotaura nezve air speed kumusoro. Uye kune imwe chete Ethernet, zvakanaka, mune yakafanana chigadzirwa kubva kuApple yakafanana!
Asi zvakakomba, hongu ndinoda zvimwe. Uye zvisinei nekuti mumba mangu zvese zvishandiso zvakabatana zvisina waya, dzimwe nguva kubatana kwemhangura kuchiri kudikanwa. Panyaya dzakadai, ndine "mobile hub" mustock:
mudziyo - chinhu chakadai
6.3 Kana iyi iri router, saka hapana chinonzi "tuning" TCP / IP, nokuti izvi zvakakosha!
Pamusoro pekumisikidza network stack (tcp_fastopen, YeAH, nezvimwewo), ichi uye chinyorwa chakapfuura hachifukidze mamwe nuances, kunyanya, maitiro ekugadzirira microSD kuti ishandiswe zvakakwana (kunyangwe muisi achiedza kufomatika memori kadhi mukati. nzira inonyengera). Iyo nzira yekuvandudza haiperi, iwe unongoda kumira nenguva.
6.4 Nei Fedora?
Nokuti ndinoda! Fedora i "mainstream" system ye geeks, iyo chinyorwa ichi chakagadzirirwa chaizvo. Panguva yekunyora, pamwe iyo chete OS iyo yeRaspberry mu64-bit vhezheni inotsigirwa zviri pamutemo neakakosha vashandi vevagadziri (kubva vandisingakwanise kumirira.
6.5 Ko Bluetooth inoshanda here? Vhidhiyo/ruzha/GPIO yakamira sei?
Kusaziva. Chinyorwa chiri pamusoro pekuiswa kushoma kweiyo sisitimu uye kushandiswa kwayo kunotevera seWi-Fi router.
6.6 Nei zvese zvinyorwa nezve CentOS/Fedora/RedHat zvichitanga nekudzima SELinux?
Nekuti iyo sisitimu ishoma, haina kana firewall kana zvishandiso zvekuimisa. Ani nani anoida anogona kuisa nekuwedzera zvese zvavanoda.
6.7 Iyo sisitimu haigone kushandiswa, password haigone kuchinjwa - hapana passwd. Hapana ping, hapana chinhu!
kune
6.8 SWAP iripi? Handigoni kurarama pasina iye!
Ichokwadi here? OK ipapo:
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 Ndinoda kudhawunirodha chifananidzo chakagadzirirwa-chakagadzirwa chine yakagadziriswa Wi-Fi yekupinda nzvimbo!
Kugadzirira yekuisa "yemunhu wese" kunoda imwe nguva uye kushanda nesimba. Kana (kamwe kamwe!) Mumwe munhu anonyatsoona izvi zvinonakidza uye zvakakosha, nyora kwatiri uye tichauya nechimwe chinhu.
Ndichapedzisa neizvi.
Ndinoshuvira munhu wese kusefa kwakachengeteka uye kutonga kwakanyanya pamusoro pezvivakwa!
Source: www.habr.com