Dalam artikel Raspberry Pi + CentOS = Wi-Fi Hotspot (atau router raspberry dengan topi merah) saya berbicara tentang cara mengubah raspberry menjadi titik akses nirkabel menggunakan sistem operasi CentOS. Setelah mengumpulkan router rumah saya dari gambar seperti itu, saya memuaskan ego kreatif saya dan menerima muatan ketenangan untuk elemen kritis infrastruktur nyaman saya. Namun, perasaan keputusan yang tidak lengkap dan perfeksionisme internal tidak memberikan istirahat: "hasil kerja yang tidak sempurna tidak memiliki hak untuk ada." Pikiran bahwa "cita-cita itu dapat dan harus dicapai" tidak meninggalkan saya sebentar.Dan kemudian suatu hari di salah satu forum tematik saya menemukan diskusi tentang kedalaman bit dari sistem operasi yang ada untuk "Malinka" (aarch64 vs armhfp): sistem operasi 64-bit mana yang pada dasarnya dapat cocok dan menghasilkan uang di Raspberry versi 3 ++?CentOS favorit saya untuk arsitektur ARM dari "Userland" tidak terburu-buru untuk beralih ke kernel versi terbaru dan berubah menjadi 64-bit. Dan repositori EPEL, yang terhubung dengan Tuhan yang tahu di mana tanpa tanda tangan digital, adalah mimpi buruk dalam mimpi saya yang bermasalah ...Berbicara sebagai penganut distribusi berbasis RPM, saya terkejut menemukan bahwa Fedora ternyata benar-benar dilupakan dalam diskusi OS untuk "raspberry" ! Dan terlepas dari kenyataan bahwa rilisdari versi ke-28 secara resmi mendukung Raspberry Pi 3B + dalam versi 64-bit!Pada artikel ini, saya akan berbicara tentang cara menginstal Fedora (aarch64) pada Raspberry Pi 3 Model B + dalam versi ekstra minimal . Saya akan membahas secara singkat fitur meningkatkan titik akses Wi-Fi yang diidentifikasi sebagai hasil dari percobaan pengoperasian konfigurasi saya sebelumnya pada CentOS 7 .0. Apa yang dibutuhkan
Semua sama seperti yang tercantum dalam artikel sebelumnya:- Raspberry Pi 3 Model B +;
- microSD> = 4GB (nanti Anda dapat "mentransfer" sistem ke drive 2GB);
- Linux workstation dengan pembaca kartu microSD;
- Koneksi jaringan kabel "raspberry" dan workstation dengan Linux (dalam hal ini, tidak diperlukan monitor dan keyboard tambahan untuk konfigurasi), akses Internet dari kedua perangkat;
- Keahlian tingkat lanjut di Linux (untuk mengetahui dan tidak takut: berpisah , dd dan mkfs ).
Seperti perakitan LFS- berulang dari Linux Anda sendiri, gambar distribusi Fedora akan digunakan, dan kemudian sistem minimal akan dibuat berdasarkan (tanpa "kompilasi dari sumber").1. Menginstal distribusi asli
Koordinat gambar mentah sistem di Web:https: //.../fedora-secondary/releases/.../Spins/aarch64/images/Fedora-Minimal-...xzSetelah ditulis ke microSD dan sebelum digunakan perlu :- Perpanjang "root" dari sistem file (bagian ke-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
- Nonaktifkan SELinux
echo 'SELINUX=disabled' > /mnt/3/etc/selinux/config
- Hapus panduan pengaturan awal:
find /mnt/3/etc/systemd/ -iname initial-setup.service -delete
- Izinkan akses 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
Sekarang Anda dapat mengunduh "raspberry" dari microSD dan menyambungkannya melalui jaringan.Awal yang dingin membutuhkan waktu sekitar satu setengah menit. Sistem TTX setelah boot:rpm -qa | wc -l
444
2. perakitan sistem minimal
Sayangnya, "distribusi minimal" dari pengembang jauh dari yang paling sederhana dalam konsumsi sumber daya. Gambar sistem dapat dibuat lebih kecil.Untuk melakukan ini, pada "raspberry" Anda perlu menjalankan skrip:#!/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
Setelah mengerjakan skrip, subdirektori ( $ P ) akan dibuat di direktori saat ini dengan isi dari root dari edisi OS minimal baru. Anda dapat mematikan "raspberry" dan mengembalikan microSD ke workstation Linux.3. Menginstal sistem minimum
Instalasi dikurangi untuk menyalin file dari "gambar" minimum OS (diperoleh pada langkah sebelumnya) ke microSD yang disiapkan secara khusus di direktori yang sesuai.Kartu 2GB dan dua bagian sudah cukup:- / boot / efi - EFI + FAT32, boot, 100MB;
- / (root) - EXT4, semua ruang tersisa.
Setelah menyiapkan microSD dan menyalin file ke sana, Anda perlu:- memperbaiki OS boot;
- nyalakan jaringan;
- konfigurasikan akses melalui ssh.
Memperbaiki unduhan terdiri dari mengganti UUID bagian dalam file:microSD:/boot/efi/EFI/fedora/grub.cfg
microSD:/boot/efi/EFI/fedora/grubenv
dan save_entry = parameter dalam file terakhirDalam file:microSD:/etc/fstab
Anda dapat menemukan nilai-nilai lama, dan yang saat ini (saat ini) di output dari perintah:blkid | grep mmcblk | sort
Setelah mengganti, Anda juga harus menyesuaikan konten fstab ke microSD sehingga titik pemasangan sesuai dengan UUID partisi baru.Pertama kali Anda mengaktifkan "raspberry", kinerja jaringan dapat dicapai dengan "kruk" kecil - buat tautan (secara skematis):ln -s /usr/lib/systemd/system/systemd-networkd.service \
microSD:/etc/systemd/system/multi-user.target.wants
dan file:mkdir -p microSD:/etc/systemd/network
cat > microSD:/etc/systemd/network/dhcp.network << EOF
[Match]
Name=*
[Network]
DHCP=ipv4
EOF
Setelah boot berhasil, bereskan peluncuran systemd-networkd :systemctl disable systemd-networkd
systemctl enable systemd-networkd
Akses pengguna super melalui ssh dikonfigurasi mirip dengan item 1.Setelah melakukan semuanya dengan rapi dan tanpa kesalahan, Anda dapat mengatur ulang microSD di "raspberry" dan mulai bekerja dengan OS 64-bit dalam kinerja ekstra minimal.4. Sistem siap
"Gambar" sistem selesai, dibuat sesuai dengan instruksi di atas, dapat diunduh dari tautan:Fedora-Tiny-31-5.5.7-200.aarch64Ini akan menjadi arsip yang berisi dua file: skrip instalasi dan TGZ dengan file OS. Arsip harus dibongkar pada workstation Linux, masukkan microSD (kartu 2GB sudah cukup) dan jalankan skrip dengan parameter - nama perangkat:./install /dev/mmcblk0
Hati-hati!
Tanpa peringatan apa pun, perangkat akan diformat dan sistem operasi diinstal di atasnya.
Setelah bebas dari kesalahan penulisan skrip, kartu dapat disusun ulang menjadi “raspberry” dan digunakan: untuk menangkap dengan dhcp, kata sandinya adalah “1”.Sistem ini dibersihkan dari semua jenis ID dan kunci, itulah sebabnya setiap instalasi baru unik.Saya ulangi lagi, sistemnya minimal ! Karena itu, jangan khawatir: DNF tersedia, karena fungsinya Anda harus “menyusun” /etc/resolv.conf yang benar .Awal dingin raspberry membutuhkan waktu sekitar 40 detik. Sistem TTX setelah boot:rpm -qa | wc -l
191
5. Wi-Fi
Saya akan sedikit membahas tentang fitur implementasi titik akses Wi-Fi. Untuk spesifiknya, Anda bisa merujuk ke artikel saya sebelumnya .EPEL tidak lagi diperlukan - semua paket terkandung dalam repositori resmi.Mungkin, akan lebih baik meninggalkan dnsmasq , karena Fedora, tidak seperti CentOS, memiliki systemd-networkd yang cukup baru, di mana terdapat server DHCP / DNS bawaan yang normal. Tetapi fakta bahwa di RHEL8 pengembang menolak untuk mendukung tumpukan jaringan dengan apa pun selain NM tidak menginspirasi kepercayaan akan masa depan yang cerah dari proyek (penjahat). Singkatnya, saya belum mencobanya.Lebih lanjut, driver saat ini dari adaptor Wi-Fi bawaan tidak dapat "dicuri" dari distribusi Raspbian, tetapi diunduh langsung dari github .Seperti inilah file firmware Broadcom pada “raspberry” saya (secara skematis):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
Tanpa mereka, 5GHz / AC tidak akan berfungsi.Tentang jumlah dan nama antarmuka. Sekarang saya sangat menyarankan agar setiap orang tanpa perlu khusus tidak menggunakan "layanan" switch perangkat lunak ( jembatan ), yang menambah beban signifikan ke tumpukan jaringan dan menghambat perutean. Jika beberapa adapter nirkabel tidak direncanakan, maka hanya antarmuka fisik yang harus digunakan. Saya memiliki dua Wi-Fi, jadi saya hanya menggabungkannya ke dalam jembatan perangkat lunak (walaupun Anda dapat melakukannya tanpa dengan mengambil tampilan berbeda pada pengaturan hostapd).Dan saya suka mengganti nama antarmuka.Untuk melakukan ini, buat tautan simbolis di Fedora:/etc/systemd/network/99-default.link -> /dev/null
dan kemudian akan memungkinkan untuk memberikan nama yang berarti tanpa bermain-main dengan udev , tetapi hanya dengan menggunakan systemd-networkd.Di sini, misalnya, disebut adapter jaringan di router saya: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
- adaptor Wi-Fi int -built-in, ekst -eksternal (USB) yang dipasang di lan "bridge" ;
- wan - Adaptor Ethernet yang terhubung dengan Internet.
Pernahkah Anda memperhatikan? fq_codel benar-benar hal yang baik. Bersama dengan kernel Linux yang baru, mereka bekerja dengan luar biasa dalam jangkauan nirkabel: “kualitas torrent” yang dahsyat tidak akan menyebabkan penurunan kecepatan secara tiba-tiba di antara tetangga. Bahkan bekerja "over the air" rumah IP-TV dengan saluran yang dimuat tidak "putus" dan tidak "gagap" dari kata sama sekali!File layanan daemon hostapd telah mengalami perubahan kecil .Sekarang terlihat seperti ini (menggunakan adaptor bawaan sebagai contoh):[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
ExecStart=/usr/sbin/hostapd /path/to/hostapd-int.conf -P /run/hostapd-int.pid -B
[Install]
RequiredBy=sys-subsystem-net-devices-int.device
Dan "magic" hostapd-int.conf untuk bekerja di 5GHz / AC:ssid=rpi
wpa_passphrase=FedoRullezZ
channel=36
vht_oper_centr_freq_seg0_idx=42
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
ieee80211n=1
require_ht=1
ht_capab=[HT40+][SHORT-GI-40][SHORT-GI-20]
ieee80211ac=1
ieee80211d=0
ieee80211h=0
vht_oper_chwidth=1
require_vht=1
vht_capab=[SHORT-GI-80]
Sedikit "photoshop" dibuat dari "Ericsson A1018s" saya:(Koneksi internet - 100Mbps) Dan sebagai kesimpulan, sebuah FAQ kecil.6. FAQ
6.1 Mengapa membuat router Wi-Fi di Raspberry?
Orang bisa menjawab dengan sederhana, dengan mengatakan "menarik untuk dicoba dan semua itu."Tetapi pada kenyataannya, menurut saya, topiknya cukup serius. Di era Internet "berdarah", membeli router di toko dan disandera oleh pabrikannya adalah prospek yang sangat membosankan. Banyak orang sudah mengerti bahwa tidak mungkin duduk dengan CVE atau kabel pintu belakang.Tentu saja, Anda dapat bermigrasi ke firmware WRT dari penggemar. Mungkin ada lebih banyak kepercayaan pada mereka, tetapi jika Anda tidak ingin bergantung pada mereka, maka hanya produk Anda sendiri. Idealnya, komputer yang lengkap untuk kemungkinan menerapkan segala sesuatu di dunia di atasnya. Dalam hal routing, tentu saja.Oleh karena itu, pilihan "raspberry" adalah langkah murni ekonomi: komputer nyata dan pada saat yang sama - murah. Meskipun, itu juga mungkin - dengan "dual" di dalamnya.6.2 Tapi Raspberry adalah "sub-router": lambat dan dengan satu port Ethernet!
Sebagai router Wi-Fi rumahan, "Malinka" lebih cocok untuk saya. Tentang kecepatan "melalui udara" sudah saya katakan di atas. Dan hanya satu Ethernet, well, dalam produk serupa dari Apple dengan cara yang kira-kira sama!Tapi serius, tentu saja saya ingin lebih. Dan terlepas dari kenyataan bahwa di rumah saya semua perangkat terhubung secara nirkabel, kadang-kadang koneksi tembaga masih diperlukan. Untuk kasus seperti itu, saya memiliki "hub seluler" di toko:6.3 Jika ini adalah router, maka tidak ada yang dikatakan tentang "tuning" dari TCP / IP, karena itu penting!
Selain mengatur tumpukan jaringan (tcp_fastopen, YeAH, dll.), Artikel ini dan sebelumnya tidak mengungkapkan nuansa lain, khususnya, proses mempersiapkan microSD untuk penggunaan yang optimal (meskipun penginstal mencoba memformat kartu memori dengan cara yang rumit). Proses peningkatan tidak ada habisnya, Anda hanya perlu berhenti tepat waktu.6.4 Mengapa Fedora?
Karena aku suka! Fedora - "arus utama" - sistem geeks, yang sebenarnya dimaksudkan untuk artikel ini. Pada saat penulisan, mungkin satu-satunya OS yang untuk Raspberry dalam versi 64-bit secara resmi didukung oleh staf pengembang yang signifikan (dari mana saya tidak bisa menunggu kernel 5.6 ).6.5 Apakah Bluetooth berfungsi? Bagaimana video / suara / GPIO?
Saya tidak tahu. Artikel ini adalah tentang instalasi minimal sistem dan penggunaan selanjutnya sebagai router Wi-Fi.6.6 Mengapa semua artikel CentOS / Fedora / RedHat mulai dengan menonaktifkan SELinux?
Karena sistemnya minimal, ia bahkan tidak memiliki firewall dan utilitas untuk pengaturannya. Siapa yang butuh itu - mereka dapat menginstal tambahan semua yang diperlukan.6.7 Sistem tidak dapat digunakan, kata sandi tidak dapat diubah - tanpa passwd. Tanpa ping, tidak ada!
Ada DNF . Atau opsi instalasi ini bukan untuk Anda - gunakan kit distribusi dari pengembang.6.8 Di mana SWAP? Aku tidak bisa hidup tanpanya!
Kebenaran? Baiklah: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 Saya ingin mengunduh gambar yang sudah jadi dengan titik akses Wi-Fi yang dikonfigurasi!
Untuk mempersiapkan pemasang "untuk semua" akan membutuhkan sejumlah waktu dan upaya. Jika (tiba-tiba!) Tampaknya benar-benar menarik dan perlu bagi seseorang - tulis, kita akan menemukan sesuatu.
Di atasnya - saya akan selesai.Saya berharap semua orang selancar aman dan kontrol maksimal atas infrastruktur!