ලිපිය
ඉන්පසු එක් දිනක්, තේමාත්මක සංසදවලදී, Raspberry (aarch64 vs armhfp) සඳහා පවතින මෙහෙයුම් පද්ධතිවල බිට් ගැඹුර පිළිබඳ සාකච්ඡාවක් මට හමු විය: 64-bit OS හට ප්රතිපත්තිමය වශයෙන්, Raspberry අනුවාදය 3 ට ගැලපෙන සහ ක්රියා කළ හැකිය. ++?
"Userland" වෙතින් ARM ගෘහ නිර්මාණ ශිල්පය සඳහා මගේ ආදරණීය CentOS කර්නලයේ නවතම අනුවාදයට මාරු වී 64-bit බවට පත් කිරීමට ඉක්මන් නොවීය. ඩිජිටල් අත්සනක් නොමැතිව මගේ නොසන්සුන් නින්දේ බියකරු සිහිනයක් වූයේ කොතැනදැයි දෙවියන් වහන්සේගෙන් සම්බන්ධ වූ EPEL ගබඩාව දනී.
RPM-පාදක බෙදාහැරීම් අනුගාමිකයෙකු ලෙස කතා කරමින්, Raspberry සඳහා වන OS සාකච්ඡාවලදී සම්පූර්ණයෙන්ම අමතක වී ඇති බව දැකීමෙන් මම පුදුමයට පත් විය. Fedora! සහ මෙය නිකුත් කිරීම යන කාරනය නොතකා
මෙම ලිපියෙන් මම ස්ථාපන ක්රමය ගැන කතා කරමි ෆෙඩෝරා (aarch64) මත රාස්ප්බෙරි පයි 3 මාදිලිය B + в අමතර අවම කාර්ය සාධනය. මගේ පෙර වින්යාසය අත්හදා බැලීමේ ප්රතිඵලයක් ලෙස හඳුනාගත් Wi-Fi ප්රවේශ ලක්ෂ්යයක් ඉහළ නැංවීමේ විශේෂාංග පිළිබඳව මම කෙටියෙන් වාසය කරමි.
0. ඔබට අවශ්ය දේ
පෙර ලිපියේ ලැයිස්තුගත කර ඇති පරිදි සෑම දෙයක්ම සමාන වේ:
- Raspberry Pi 3 මාදිලිය B+;
- microSD >= 4GB (පසුව ඔබට පද්ධතිය 2GB ධාවකයකට "මාරු" කළ හැක);
- Linux සහ microSD කාඩ් කියවනය සමඟ වැඩපොළ;
- Raspberry සහ Linux වැඩපොළ අතර රැහැන්ගත ජාල සම්බන්ධතාව (මෙම අවස්ථාවේදී, පිහිටුවීම සඳහා අමතර මොනිටරයක් සහ යතුරු පුවරුවක් අවශ්ය නොවනු ඇත), උපාංග දෙකෙන්ම අන්තර්ජාල ප්රවේශය;
- ලිනක්ස් හි උසස් කුසලතා (දැන ගැනීමට සහ බිය නොවන්න:
වෙන් විය ,dd иmkfs ).
පුනරාවර්තනයට සමානයි
1. මුල් බෙදාහැරීම ස්ථාපනය කිරීම
අන්තර්ජාලයේ පද්ධතියේ අමු රූපයේ ඛණ්ඩාංක:
එය microSD මත පටිගත කිරීමෙන් පසුව සහ එය භාවිතා කිරීමට පෙර, ඔබ කළ යුත්තේ:
- ගොනු පද්ධතියේ "root" පුළුල් කරන්න (3 වන කොටස, 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
- SELinux අක්රීය කරන්න
echo 'SELINUX=disabled' > /mnt/3/etc/selinux/config
- මූලික සැකසුම් විශාරද ඉවත් කරන්න:
find /mnt/3/etc/systemd/ -iname initial-setup.service -delete
- 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
දැන් ඔබට microSD වෙතින් "raspberry" බාගත කර ජාලය හරහා එය සම්බන්ධ කළ හැකිය.
සීතල ආරම්භය විනාඩි එකහමාරක් පමණ ගත වේ. පැටවීමෙන් පසු පද්ධතියේ TTX:
rpm -qa | wc -l
444
2. අවම පද්ධතියක් එකලස් කිරීම
අවාසනාවකට මෙන්, සංවර්ධකයින්ගේ "අවම බෙදාහැරීම" සම්පත් පරිභෝජනයෙන් වඩාත්ම නිහතමානී නොවේ. පද්ධති රූපය ඊටත් වඩා කුඩා කළ හැක.
මෙය සිදු කිරීම සඳහා, ඔබ 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
ස්ක්රිප්ට් එක ක්රියාත්මක කිරීමෙන් පසු, වත්මන් නාමාවලියෙහි උප බහලුමක් සාදනු ලැබේ ($P) නව අවම OS සංස්කරණයේ මූලයේ අන්තර්ගතය සමඟ. ඔබට Raspberry ක්රියා විරහිත කර මයික්රෝ එස්ඩී ලිනක්ස් වැඩපොළ වෙත ආපසු යා හැක.
3. අවම පද්ධතියක් ස්ථාපනය කිරීම
ස්ථාපනය සිදු වන්නේ අවම OS "පින්තූර" ගොනු (පෙර පියවරේදී ලබාගත්) විශේෂයෙන් සකස් කරන ලද මයික්රෝ එස්ඩී වෙත සුදුසු නාමාවලි වෙත පිටපත් කිරීමයි.
2GB කාඩ්පතක් සහ එහි කොටස් දෙකක් ප්රමාණවත්ය:
- / boot / efi - EFI+FAT32, boot, 100MB;
- / (මූල) - EXT4, ඉතිරි සියලු ඉඩ.
මයික්රෝ එස්ඩී සකස් කර එයට ගොනු පිටපත් කිරීමෙන් පසු, ඔබට අවශ්ය වන්නේ:
- OS ආරම්භය නිවැරදි කරන්න;
- ජාලය සක්රිය කරන්න;
- ssh හරහා ප්රවේශය වින්යාස කරන්න.
ඇරඹුම් නිවැරදි කිරීම යනු ලිපිගොනු වල කොටස්වල UUID ප්රතිස්ථාපනය කිරීමයි:
microSD:/boot/efi/EFI/fedora/grub.cfg
microSD:/boot/efi/EFI/fedora/grubenv
සහ පරාමිතිය saved_entry= අවසාන ගොනුවේ
ගොනුවේ:
microSD:/etc/fstab
ඔබට පැරණි අගයන් සහ වත්මන් (යාවත්කාලීන) අගයන් විධාන ප්රතිදානයේ සොයා ගත හැක:
blkid | grep mmcblk | sort
ප්රතිස්ථාපනය කිරීමෙන් පසුව, ඔබ ද අන්තර්ගතය නිවැරදි කළ යුතුය fstab microSD මත සවිකරන ස්ථාන නව UUID කොටස් වලට අනුරූප වේ.
ඔබ මුලින්ම රාස්ප්බෙරි සක්රිය කරන විට ජාල ක්රියාකාරිත්වය කුඩා “කිහිලිකරු” සමඟ ලබා ගත හැකිය - සබැඳියක් සාදන්න (ක්රමානුකූලව):
ln -s /usr/lib/systemd/system/systemd-networkd.service
microSD:/etc/systemd/system/multi-user.target.wants
සහ ගොනුව:
mkdir -p microSD:/etc/systemd/network
cat > microSD:/etc/systemd/network/dhcp.network << EOF
[Match]
Name=*
[Network]
DHCP=ipv4
EOF
සාර්ථක බාගත කිරීමෙන් පසු, දියත් කිරීම පිළිවෙලට කරන්න
systemctl disable systemd-networkd
systemctl enable systemd-networkd
ssh හරහා සුපිරි පරිශීලක ප්රවේශය පියවර 1 ට සමානව වින්යාස කර ඇත.
සෑම දෙයක්ම ප්රවේශමෙන් හා දෝෂ නොමැතිව සිදු කිරීමෙන්, ඔබට microSD "raspberry" වෙත ගෙන යා හැකි අතර අතිරේක අවම අනුවාදයකින් 64-bit OS සමඟ වැඩ කිරීම ආරම්භ කළ හැකිය.
4. සූදානම් පද්ධතිය
ඉහත උපදෙස් අනුව සාදන ලද නිමි පද්ධතියේ "රූපය" සබැඳියෙන් බාගත හැකිය:
මෙය ගොනු දෙකක් අඩංගු සංරක්ෂිතයක් වනු ඇත: ස්ථාපන ස්ක්රිප්ට් සහ OS ගොනු සහිත TGZ. සංරක්ෂිතය ලිනක්ස් වැඩපොළක අසුරා ගත යුතු අතර, මයික්රෝ එස්ඩී (2GB කාඩ්පතක් ප්රමාණවත්) ඇතුළු කර පරාමිතියක් සමඟ ස්ක්රිප්ට් ධාවනය කළ යුතුය - උපාංගයේ නම:
./install /dev/mmcblk0
පරෙස්සම් වන්න!
කිසිදු අනතුරු ඇඟවීමකින් තොරව, උපාංගය ආකෘතිකරණය කර මෙහෙයුම් පද්ධතිය එය මත ස්ථාපනය කරනු ඇත.
ස්ක්රිප්ට් දෝෂයකින් තොරව ක්රියාත්මක කිරීමෙන් පසු, කාඩ්පත “රාස්ප්බෙරි” බවට නැවත සකස් කර භාවිතා කළ හැකිය: dhcp, මුරපදය - “1” හරහා අල්ලා ගන්න.
පද්ධතිය සියලු හැඳුනුම්පත් සහ යතුරු වලින් ඉවත් කර ඇත, ඒ නිසා සෑම නව ස්ථාපනයක්ම අද්විතීය වේ.
මම නැවත වරක් කියමි, පද්ධතිය - අවම! එමනිසා, කලබල නොවන්න: DNF තිබේ, එය ක්රියාත්මක වීමට නම් ඔබට නිවැරදි එක "නිපදවීමට" සිදුවේ.
Raspberry හි සීතල ආරම්භය තත්පර 40 ක් පමණ ගත වේ. පැටවීමෙන් පසු පද්ධතියේ TTX:
rpm -qa | wc -l
191
5. වයි-ෆයි
Wi-Fi ප්රවේශ ලක්ෂ්යයක් ක්රියාත්මක කිරීමේ විශේෂාංග ගැන මම ටිකක් වාසය කරමි. විශේෂතා සඳහා, ඔබට මගේ පෙර සඳහන් කළ හැකිය
EPEL තවදුරටත් අවශ්ය නොවේ - සියලුම පැකේජ නිල ගබඩාවල අඩංගු වේ.
එය අත්හැරීම වටී
තවද, බිල්ට් Wi-Fi ඇඩැප්ටරය සඳහා වත්මන් ධාවක Raspbian බෙදාහැරීමෙන් "සොරකම්" කළ නොහැක, නමුත් සෘජුවම බාගත කර ඇත.
මගේ Raspberry හි Broadcom ස්ථිරාංග ගොනු පෙනෙන්නේ මෙයයි (ක්රමානුකූලව):
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
ඔවුන් නොමැතිව ඔබට 5GHz/AC නොලැබේ.
අතුරුමුහුණත් ගණන සහ නම් සම්බන්ධයෙන්. අත්යවශ්ය නම් මිස මෘදුකාංග ස්විචවල “සේවා” වෙත නොයන ලෙස මම දැන් සෑම කෙනෙකුටම තරයේ නිර්දේශ කරමි (
මම අතුරු මුහුණත් නැවත නම් කිරීමට කැමතියි.
Fedora හි මෙය සිදු කිරීම සඳහා ඔබ සංකේතාත්මක සබැඳියක් සෑදිය යුතුය:
/etc/systemd/network/99-default.link -> /dev/null
එතකොට වටේ පිටේ ගහන්නේ නැතිව අර්ථවත් නම් දෙන්න පුළුවන් වේවි
උදාහරණයක් ලෙස, මගේ රවුටරයේ ඇති ජාල ඇඩැප්ටර හඳුන්වන්නේ මෙයයි:
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 - බිල්ට්, එම් - බාහිර (USB) Wi-Fi ඇඩැප්ටර "පාලමකට" එකලස් කර ඇත ලාන්;
- අවශ්යයි - අන්තර්ජාලය සම්බන්ධ කර ඇති ඊතර්නෙට් ඇඩැප්ටරය.
ඔබ දුටුවාද?
ඩීමන් සේවා ගොනුව සුළු වෙනස්කම් වලට භාජනය වී ඇත
එය දැන් මේ වගේ (බිල්ට් ඇඩැප්ටරයක උදාහරණය භාවිතා කරමින්):
[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
සහ 5GHz/AC හි වැඩ කිරීම සඳහා "මැජික්" hostapd-int.conf:
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]
මගේ Ericsson A1018s වලින් හදපු පොඩි photoshop එකක්:
(අන්තර්ජාල සම්බන්ධතාවය - 100Mbit/sec)
අවසාන වශයෙන්, කුඩා නිති අසන පැනයක්.
6. නිති අසන පැන
6.1 Raspberry මත Wi-Fi රවුටරයක් සාදා ගන්නේ ඇයි?
කෙනෙකුට සරලව පිළිතුරු දිය හැකිය, "උත්සාහ කිරීම රසවත් සහ ඒ සියල්ල."
නමුත් ඇත්ත වශයෙන්ම, මාතෘකාව තරමක් බරපතල බව මට පෙනේ. "ලේවැකි" අන්තර්ජාලයේ යුගයේ දී, ගබඩාවක රවුටරයක් මිලදී ගැනීම සහ එහි නිෂ්පාදකයාට ප්රාණ ඇපකරුවන් ලෙස සිටීම ඉතා අශෝභන අපේක්ෂාවකි. CVE හෝ බිල්ට්-ඉන් පිටුපස දොරක් සමඟ වාඩි වී සිටීම කළ නොහැකි බව බොහෝ අය දැනටමත් තේරුම් ගෙන ඇත.
ඇත්ත වශයෙන්ම, ඔබට උද්යෝගිමත් අයගෙන් WRT ස්ථිරාංග වෙත සංක්රමණය කළ හැකිය. ඔවුන් කෙරෙහි වැඩි විශ්වාසයක් ඇත, නමුත් ඔබට ඔවුන් මත යැපීමට අවශ්ය නැතිනම්, ඔබේම නිෂ්පාදනයක් භාවිතා කරන්න. ඉතා මැනවින්, සම්පූර්ණ පරිගණකයක් වන අතර එමඟින් ලෝකයේ සෑම දෙයක්ම ක්රියාත්මක කළ හැකිය. මාර්ගගත කිරීම සම්බන්ධයෙන්, ඇත්ත වශයෙන්ම.
එබැවින්, "raspberry" තෝරා ගැනීම තනිකරම ආර්ථිකමය පියවරකි: සැබෑ පරිගණකයක් සහ ඒ සමගම මිල අඩු එකක්. කෙසේ වෙතත්, සමහර විට - ඇතුළත ඔවුන්ගේ “ද්විත්ව” සමඟ.
6.2 නමුත් Raspberry යනු "අඩු රවුටරයකි": මන්දගාමී සහ එක් ඊතර්නෙට් වරායක් සමඟ!
නිවසේ Wi-Fi රවුටරයක් ලෙස, Raspberry මට සතුටුදායකයි. මම දැනටමත් ඉහත වාතයේ වේගය ගැන කතා කර ඇත. සහ ඇත්තේ එක් ඊතර්නෙට් එකක් පමණි, හොඳයි, ඇපල් වෙතින් සමාන නිෂ්පාදනයක් තුළ එය සමාන වේ!
නමුත් බැරෑරුම් ලෙස, ඇත්ත වශයෙන්ම මම තවත් කැමතියි. මගේ නිවසේ සියලුම උපාංග රැහැන් රහිතව සම්බන්ධ වී ඇතත්, සමහර විට තඹ සම්බන්ධතාවයක් තවමත් අවශ්ය වේ. එවැනි අවස්ථා සඳහා, මා සතුව “ජංගම කේන්ද්රයක්” තොගයේ ඇත:
උපාංගය - මේ වගේ දෙයක්
6.3 මෙය රවුටරයක් නම්, TCP/IP "සුසර කිරීම" ගැන කිසිවක් නොකියයි, මන්ද මෙය වැදගත් වේ!
ජාල තොගය (tcp_fastopen, YeAH, ආදිය) සැකසීමට අමතරව, මෙය සහ පෙර ලිපිය වෙනත් සූක්ෂ්මතා ආවරණය නොකරයි, විශේෂයෙන්, ප්රශස්ත භාවිතය සඳහා microSD සකස් කිරීමේ ක්රියාවලිය (ස්ථාපකය මතක කාඩ්පත සංයුති කිරීමට උත්සාහ කළද උපක්රමශීලී ක්රමයක්). වැඩිදියුණු කිරීමේ ක්රියාවලිය නිමක් නැත, ඔබ නියමිත වේලාවට නැවැත්විය යුතුය.
6.4 ෆෙඩෝරා ඇයි?
මම කැමති නිසා! Fedora යනු ගීක්වරුන් සඳහා වන “ප්රධාන ධාරාවේ” පද්ධතියකි, ඔවුන් සඳහා මෙම ලිපිය ඇත්ත වශයෙන්ම අදහස් කෙරේ. ලියන අවස්ථාව වන විට, සමහර විට 64-bit අනුවාදයේ Raspberry සඳහා වන එකම මෙහෙයුම් පද්ධතියට සැලකිය යුතු සංවර්ධකයින් කාර්ය මණ්ඩලයක් නිල වශයෙන් සහාය දක්වයි (මට බලා සිටිය නොහැක
6.5 බ්ලූටූත් වැඩ කරන්නේද? වීඩියෝව/ශබ්ද/GPIO කොහොමද?
දන්නේ නැහැ. ලිපිය පද්ධතියේ අවම ස්ථාපනය සහ Wi-Fi රවුටරයක් ලෙස පසුව භාවිතා කිරීම ගැන ය.
6.6 CentOS/Fedora/RedHat පිළිබඳ සියලුම ලිපි SELinux අක්රිය කිරීමෙන් ආරම්භ වන්නේ ඇයි?
පද්ධතිය අවම වන නිසා, එය සැකසීම සඳහා ගිනි පවුරක් හෝ උපයෝගිතා පවා නොමැත. එය අවශ්ය ඕනෑම කෙනෙකුට අවශ්ය සියල්ල අතිරේකව ස්ථාපනය කළ හැක.
6.7 පද්ධතිය භාවිතා කළ නොහැක, මුරපදය වෙනස් කළ නොහැක - මුරපදයක් නොමැත. පිං නැත, කිසිවක් නැත!
ඇත
6.8 SWAP කොහෙද? මට ඔහු නොමැතිව ජීවත් විය නොහැක!
ඒක ඇත්තක්ද? හරි එහෙනම්:
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 වින්යාස කළ Wi-Fi ප්රවේශ ලක්ෂ්යයක් සහිත සූදානම් කළ රූපයක් වහාම බාගත කිරීමට මම කැමතියි!
"සියල්ලන් සඳහා" ස්ථාපකයක් සූදානම් කිරීම සඳහා යම් කාලයක් සහ වෑයමක් අවශ්ය වනු ඇත. (හදිසියේම!) යමෙකු මෙය සිත්ගන්නාසුළු හා අවශ්ය යැයි සලකන්නේ නම්, අපට ලියන්න, අපි යමක් ඉදිරිපත් කරන්නෙමු.
මම මේකෙන් ඉවර කරන්නම්.
සෑම කෙනෙකුටම ආරක්ෂිත රළ පහරක් සහ යටිතල පහසුකම් පිළිබඳ උපරිම පාලනයක් ප්රාර්ථනා කරමි!
මූලාශ්රය: www.habr.com