Raspberry Pi + Fedora (aarch64) = Wi-Fi ہاٹ سپاٹ (یا نیلی ٹوپی والا رسبری راؤٹر)
مضمون میں Raspberry Pi + CentOS = Wi-Fi ہاٹ سپاٹ (یا سرخ ٹوپی والا رسبری راؤٹر) میں نے سینٹوس آپریٹنگ سسٹم کا استعمال کرتے ہوئے راسبیری کو وائرلیس رسائی پوائنٹ میں تبدیل کرنے کے طریقے کے بارے میں بات کی۔ اس ڈرائنگ کے مطابق اپنے گھر کے راؤٹر کو جمع کرکے، میں نے اپنی تخلیقی انا کی تسکین کی اور اپنے آرام دہ انفراسٹرکچر کے ایک اہم عنصر کے لیے ذہنی سکون حاصل کیا۔ تاہم، حل کے نامکمل ہونے کے احساس اور اندرونی کمال پسندی نے مجھے پریشان کیا: "کام کے نامکمل نتیجے کے وجود کا کوئی حق نہیں ہے۔" یہ خیال کہ "مثالی کیا جا سکتا ہے اور حاصل کیا جانا چاہیے" نے مجھے ایک منٹ کے لیے بھی نہیں چھوڑا۔
اور پھر ایک دن، موضوعاتی فورمز میں سے ایک پر، میں نے Raspberry (aarch64 بمقابلہ armhfp) کے لیے موجودہ آپریٹنگ سسٹمز کی تھوڑی گہرائی کے بارے میں بحث کی: جو 64-bit OS اصولی طور پر Raspberry ورژن 3 پر فٹ اور کام کر سکتا ہے۔ ++؟
"یوزر لینڈ" سے اے آر ایم آرکیٹیکچر کے لیے میرے پیارے سینٹوس کو دانا کے تازہ ترین ورژن پر جانے اور 64 بٹ میں تبدیل ہونے کی کوئی جلدی نہیں تھی۔ اور خدا جانے EPEL ذخیرہ، جہاں ڈیجیٹل دستخط کے بغیر، میری بے چین نیند میں ایک ڈراؤنا خواب تھا...
اس مضمون میں میں تنصیب کے طریقہ کار کے بارے میں بات کروں گا۔ Fedora (aarch64) پر راسبری پیئ 3 ماڈل B + в اضافی کم سے کم کارکردگی. میں وائی فائی ایکسیس پوائنٹ کو بڑھانے کی خصوصیات پر مختصراً غور کروں گا، جن کی شناخت میری سابقہ کنفیگریشن کے آزمائشی آپریشن کے نتیجے میں ہوئی ہے۔ CentOS 7.
0. آپ کو کیا ضرورت ہو گی
سب کچھ وہی ہے جیسا کہ پچھلے مضمون میں درج ہے:
Raspberry Pi 3 ماڈل B+;
microSD >= 4GB (بعد میں آپ سسٹم کو 2GB ڈرائیو میں "منتقل" کر سکتے ہیں)؛
لینکس اور مائیکرو ایس ڈی کارڈ ریڈر کے ساتھ ورک سٹیشن؛
راسبیری اور لینکس ورک سٹیشن کے درمیان وائرڈ نیٹ ورک کنیکٹیویٹی (اس صورت میں سیٹ اپ کے لیے کسی اضافی مانیٹر اور کی بورڈ کی ضرورت نہیں ہوگی)، دونوں آلات سے انٹرنیٹ تک رسائی؛
لینکس میں اعلی درجے کی مہارت (جاننا اور ڈرنا نہیں: منقسم, dd и mkfs).
تکراری کی طرح ایل ایف ایس۔-اپنا اپنا لینکس بناتے ہوئے، فیڈورا ڈسٹری بیوشن امیج کا استعمال کیا جائے گا، اور پھر اس کی بنیاد پر، ایک کم سے کم سسٹم بنایا جائے گا (بغیر "ذریعہ سے مرتب کیے")۔
اب آپ مائیکرو ایس ڈی سے "رسبری" ڈاؤن لوڈ کر سکتے ہیں اور نیٹ ورک کے ذریعے اس سے جڑ سکتے ہیں۔
ٹھنڈ شروع ہونے میں ڈیڑھ منٹ لگتے ہیں۔ لوڈ ہونے کے بعد سسٹم کا TTX:
rpm -qa | wc -l
444
2. ایک کم سے کم نظام کو جمع کرنا
بدقسمتی سے، ڈویلپرز کی طرف سے "کم سے کم تقسیم" وسائل کی کھپت میں سب سے زیادہ معمولی سے دور نکلی ہے۔ سسٹم امیج کو اور بھی چھوٹا بنایا جا سکتا ہے۔
ایسا کرنے کے لیے، آپ کو ملنکا پر اسکرپٹ چلانے کی ضرورت ہے:
#!/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 "امیج" فائلوں (پچھلے مرحلے میں حاصل کی گئی) کو خاص طور پر تیار کردہ مائیکرو ایس ڈی پر مناسب ڈائریکٹریز میں کاپی کرنے کے لیے ابلتی ہے۔
ایک 2 جی بی کارڈ اور اس پر دو پارٹیشن کافی ہیں:
/ بوٹ / ای میل - EFI+FAT32، بوٹ، 100MB؛
/ (root) - EXT4، تمام باقی جگہ۔
مائیکرو ایس ڈی تیار کرنے اور اس میں فائلیں کاپی کرنے کے بعد، آپ کو یہ کرنے کی ضرورت ہے:
OS بوٹ کو ٹھیک کریں؛
نیٹ ورک آن کریں؛
ssh کے ذریعے رسائی کو ترتیب دیں۔
بوٹ فکس فائلوں میں سیکشنز کے UUID کو تبدیل کرنا ہے:
ssh کے توسط سے سپر یوزر تک رسائی مرحلہ 1 کی طرح ترتیب دی گئی ہے۔
سب کچھ احتیاط سے اور غلطیوں کے بغیر کرنے کے بعد، آپ مائیکرو ایس ڈی کو "رسبری" میں منتقل کر سکتے ہیں اور ایک اضافی کم سے کم ورژن میں 64 بٹ OS کے ساتھ کام کرنا شروع کر سکتے ہیں۔
4. تیار نظام
تیار شدہ نظام کی "تصویر"، اوپر دی گئی ہدایات کے مطابق بنائی گئی، لنک سے ڈاؤن لوڈ کی جا سکتی ہے: Fedora-Tiny-31-5.5.7-200.aarch64
یہ ایک آرکائیو ہوگا جس میں دو فائلیں ہوں گی: انسٹالیشن اسکرپٹ اور OS فائلوں کے ساتھ TGZ۔ آرکائیو کو لینکس ورک سٹیشن پر کھولنے کی ضرورت ہے، ایک مائیکرو ایس ڈی ڈالیں (ایک 2 جی بی کارڈ کافی ہے) اور اسکرپٹ کو پیرامیٹر کے ساتھ چلائیں - ڈیوائس کا نام:
./install /dev/mmcblk0
ہوشیار رہو!
بغیر کسی وارننگ کے، ڈیوائس کو فارمیٹ کیا جائے گا اور اس پر آپریٹنگ سسٹم انسٹال ہو جائے گا۔
اسکرپٹ کے غلطی سے پاک عمل کے بعد، کارڈ کو "رسبری" میں دوبارہ ترتیب دیا جا سکتا ہے اور استعمال کیا جا سکتا ہے: dhcp کے ذریعے کیچ، پاس ورڈ - "1"۔
سسٹم تمام IDs اور کلیدوں سے صاف ہے، یہی وجہ ہے کہ ہر نئی تنصیب منفرد ہے۔
میں ایک بار پھر دہراتا ہوں، نظام - کم سے کم! لہذا، گھبرائیں نہیں: DNF دستیاب ہے، اس کے کام کرنے کے لیے آپ کو صحیح "ایجاد" کرنا پڑے گا۔ /etc/resolv.conf.
راسبیری کا سرد آغاز تقریباً 40 سیکنڈ لیتا ہے۔ لوڈنگ کے بعد سسٹم کا TTX:
rpm -qa | wc -l
191
5. وائی فائی
میں Wi-Fi ایکسیس پوائنٹ کو لاگو کرنے کی خصوصیات پر تھوڑا سا غور کروں گا۔ تفصیلات کے لیے، آپ میری سابقہ کا حوالہ دے سکتے ہیں۔ آرٹیکل.
EPEL کی مزید ضرورت نہیں ہے - تمام پیکجز سرکاری ذخیروں میں موجود ہیں۔
یہ شاید ترک کرنے کے قابل ہوگا۔ dnsmasqچونکہ Fedora، CentOS کے برعکس، کافی حالیہ systemd-networkd ہے، جس میں عام بلٹ ان DHCP/DNS سرورز ہیں۔ لیکن حقیقت یہ ہے کہ RHEL8 ڈویلپرز میں NM کے علاوہ کسی بھی چیز کے ساتھ نیٹ ورک اسٹیک کو سپورٹ کرنے سے انکار کر دیا۔، منصوبے کے روشن مستقبل میں اعتماد کو متاثر نہیں کرتا (بدمعاش)۔ مختصر میں، میں نے اس کی کوشش نہیں کی ہے.
مزید برآں، بلٹ ان وائی فائی اڈاپٹر کے موجودہ ڈرائیورز کو Raspbian ڈسٹری بیوشن سے "چوری" نہیں کیا جا سکتا، بلکہ براہ راست اس سے ڈاؤن لوڈ کیا جا سکتا ہے۔ گاٹہوب.
براڈکام فرم ویئر فائلیں میری راسبیری پر اس طرح نظر آتی ہیں (اسکیمیٹک طور پر):
انٹرفیس کی تعداد اور ناموں کے بارے میں۔ اب میں ہر ایک کو سختی سے مشورہ دیتا ہوں کہ وہ سافٹ ویئر سوئچز کی "سروسز" کا سہارا نہ لیں جب تک کہ بالکل ضروری نہ ہو (پل)، جو نیٹ ورک اسٹیک میں اہم بوجھ متعارف کراتے ہیں اور روٹنگ کو کم کرتے ہیں۔ اگر آپ متعدد وائرلیس اڈاپٹر رکھنے کا ارادہ نہیں رکھتے ہیں، تو آپ کو صرف فزیکل انٹرفیس استعمال کرنا چاہیے۔ میرے پاس دو وائی فائی ہیں، اس لیے میں صرف ان کو ایک سوفٹ ویئر برج میں جوڑتا ہوں (حالانکہ آپ اس کے بغیر ہوسٹاپ ڈی سیٹ اپ کو مختلف طریقے سے دیکھ کر کر سکتے ہیں)۔
اور مجھے انٹرفیس کا نام تبدیل کرنا پسند ہے۔
فیڈورا میں ایسا کرنے کے لیے آپ کو ایک علامتی لنک بنانا ہوگا:
/etc/systemd/network/99-default.link -> /dev/null
اور پھر اِدھر اُدھر کیے بغیر بامعنی نام دینا ممکن ہو جائے گا۔ udev، لیکن صرف systemd-networkd کا استعمال کرتے ہوئے
مثال کے طور پر، میرے روٹر میں موجود نیٹ ورک اڈاپٹر کو یہ کہتے ہیں:
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) وائی فائی اڈاپٹر ایک "پل" میں جمع لین;
ان - ایتھرنیٹ اڈاپٹر جس میں انٹرنیٹ منسلک ہے۔
کیا آپ نے نوٹس کیا؟ fq_codel - ایک بہت اچھی چیز. ایک تازہ لینکس کرنل کے ساتھ، وہ وائرلیس رینج میں حقیقی معجزے کرتے ہیں: ایک زبردست "ٹورینٹ ڈاؤن لوڈ" پڑوسیوں کے درمیان رفتار میں اچانک کمی کا باعث نہیں بنے گا۔ یہاں تک کہ ایک بھری ہوئی چینل کے ساتھ "اوور دی ایئر" چلانے والا گھریلو IP-TV بھی "بریک اپ" نہیں ہوتا ہے اور بالکل بھی "ہنگامہ" نہیں کرتا ہے!
ڈیمون سروس فائل میں معمولی تبدیلیاں کی گئی ہیں۔ میزبان.
یہ اب ایسا لگتا ہے (بلٹ ان اڈاپٹر کی مثال کا استعمال کرتے ہوئے):
[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:
میرے Ericsson A1018s سے بنائی گئی ایک چھوٹی سی فوٹوشاپ:
(انٹرنیٹ کنکشن - 100Mbit/sec)
اور آخر میں، ایک چھوٹا سا سوالات۔
6 عمومی سوالات
6.1 Raspberry پر Wi-Fi روٹر کیوں بنائیں؟
کوئی بھی سادہ سا جواب دے سکتا ہے، جیسے "کوشش کرنا دلچسپ ہے اور یہ سب۔"
لیکن درحقیقت مجھے لگتا ہے کہ موضوع کافی سنجیدہ ہے۔ "خونی" انٹرنیٹ کے دور میں، ایک اسٹور میں ایک روٹر خریدنا اور اس کے مینوفیکچرر کو یرغمال بنانا ایک بہت ہی مایوس کن امکان ہے۔ بہت سے لوگ پہلے ہی سمجھتے ہیں کہ CVE یا بلٹ ان بیک ڈور کے ساتھ بیٹھنا ممکن نہیں ہے۔
یقینا، آپ شائقین سے WRT فرم ویئر پر منتقل ہو سکتے ہیں۔ ان پر شاید زیادہ بھروسہ ہے، لیکن اگر آپ ان پر انحصار نہیں کرنا چاہتے، تو بس اپنی پروڈکٹ استعمال کریں۔ مثالی طور پر، ایک مکمل کمپیوٹر تاکہ دنیا کی ہر چیز کو اس پر لاگو کیا جا سکے۔ روٹنگ کے لحاظ سے، بالکل.
لہذا، "رسبری" کا انتخاب ایک خالص اقتصادی اقدام ہے: ایک حقیقی کمپیوٹر اور ایک ہی وقت میں ایک سستا۔ اگرچہ، شاید بھی - اندر ان کے "ڈبل" کے ساتھ۔
6.2 لیکن راسبیری ایک "کم راؤٹر" ہے: سست اور ایک ایتھرنیٹ پورٹ کے ساتھ!
گھریلو Wi-Fi روٹر کے طور پر، Raspberry میرے لیے تسلی بخش سے زیادہ ہے۔ میں پہلے ہی اوپر ہوا کی رفتار کے بارے میں بات کر چکا ہوں۔ اور صرف ایک ایتھرنیٹ ہے، ٹھیک ہے، ایپل سے ملتی جلتی پروڈکٹ میں یہ ایک جیسا ہی ہے!
لیکن سنجیدگی سے، یقیناً میں مزید چاہوں گا۔ اور اس حقیقت کے باوجود کہ میرے گھر میں تمام آلات وائرلیس طور پر جڑے ہوئے ہیں، بعض اوقات ایک تانبے کے کنکشن کی ضرورت ہوتی ہے۔ ایسے معاملات کے لیے، میرے پاس اسٹاک میں ایک "موبائل حب" ہے:
آلہ - کچھ اس طرح
6.3 اگر یہ روٹر ہے، تو TCP/IP کو "ٹیوننگ" کرنے کے بارے میں کچھ نہیں کہا جاتا، کیونکہ یہ اہم ہے!
نیٹ ورک اسٹیک (tcp_fastopen، YeAH، وغیرہ) کو ترتیب دینے کے علاوہ، یہ اور پچھلا مضمون دیگر باریکیوں کا احاطہ نہیں کرتا، خاص طور پر، زیادہ سے زیادہ استعمال کے لیے مائیکرو ایس ڈی کی تیاری کا عمل (حالانکہ انسٹالر میموری کارڈ کو فارمیٹ کرنے کی کوشش کرتا ہے۔ ایک مشکل طریقہ)۔ بہتری کا عمل لامتناہی ہے، آپ کو صرف وقت پر رکنے کی ضرورت ہے۔
6.4 فیڈورا کیوں؟
کیونکہ مجھے پسند ہے! فیڈورا گیکس کے لیے ایک "مین اسٹریم" سسٹم ہے، جن کے لیے یہ مضمون دراصل مقصود ہے۔ لکھنے کے وقت، شاید واحد OS جو Raspberry کے لیے 64-bit ورژن میں باضابطہ طور پر ڈویلپرز کے ایک اہم عملے کی حمایت کرتا ہے (جس سے میں انتظار نہیں کر سکتا۔ کرنل 5.6).
6.5 کیا بلوٹوتھ کام کرتا ہے؟ ویڈیو/آواز/GPIO کیسی ہے؟
نہیں معلوم۔ مضمون نظام کی کم سے کم تنصیب اور اس کے بعد وائی فائی روٹر کے طور پر استعمال کے بارے میں ہے۔
6.6 CentOS/Fedora/RedHat کے بارے میں تمام مضامین SELinux کو غیر فعال کرنے سے کیوں شروع ہوتے ہیں؟
چونکہ یہ نظام کم سے کم ہے، اس لیے اس میں اسے ترتیب دینے کے لیے فائر وال یا افادیت بھی نہیں ہے۔ جس کو بھی اس کی ضرورت ہے وہ اس کے علاوہ اپنی ضرورت کی ہر چیز کو انسٹال کر سکتا ہے۔
6.7 سسٹم کو استعمال نہیں کیا جا سکتا، پاس ورڈ تبدیل نہیں کیا جا سکتا - کوئی پاس ڈبلیو ڈی نہیں۔ کوئی پنگ نہیں، کچھ نہیں!
ہے ڈی این ایف. یا یہ انسٹالیشن آپشن آپ کے لیے نہیں ہے - ڈویلپرز سے ڈسٹری بیوشن کٹ استعمال کریں۔
6.9 میں فوری طور پر ایک ترتیب شدہ Wi-Fi رسائی پوائنٹ کے ساتھ ایک ریڈی میڈ تصویر ڈاؤن لوڈ کرنا چاہوں گا!
"سب کے لیے" انسٹالر کی تیاری میں کچھ وقت اور محنت درکار ہوگی۔ اگر (اچانک!) کسی کو واقعی یہ دلچسپ اور ضروری معلوم ہو تو ہمیں لکھیں اور ہم کچھ لے کر آئیں گے۔
میں اس کے ساتھ ختم کروں گا۔
میری خواہش ہے کہ ہر کوئی محفوظ سرفنگ کرے اور انفراسٹرکچر پر زیادہ سے زیادہ کنٹرول کرے!