ProHoster > بلوق > إدارة > Raspberry Pi + Fedora (aarch64) = نقطة اتصال Wi-Fi (أو Raspberry Blue Hat Router)
Raspberry Pi + Fedora (aarch64) = نقطة اتصال Wi-Fi (أو Raspberry Blue Hat Router)
المقال Raspberry Pi + CentOS = نقطة اتصال Wi-Fi (أو جهاز توجيه التوت بقبعة حمراء) تحدثت عن طريقة تحويل Raspberry إلى نقطة وصول لاسلكية باستخدام نظام التشغيل CentOS. من خلال تجميع جهاز التوجيه المنزلي الخاص بي وفقًا لهذا الرسم، فقد أرضيت غروري الإبداعي وحصلت على دفعة من راحة البال لعنصر مهم في بنيتي التحتية المريحة. ومع ذلك، فإن الشعور بعدم اكتمال الحل والكمال الداخلي يطاردني: "النتيجة غير الكاملة للعمل ليس لها الحق في الوجود". إن فكرة أن "المثالي يمكن ويجب تحقيقه" لم تتركني لمدة دقيقة.
ثم ذات يوم، في أحد المنتديات المواضيعية، صادفت مناقشة حول عمق البت في أنظمة التشغيل الحالية لـ Raspberry (aarch64 vs Armhfp): أي نظام تشغيل 64 بت يمكنه، من حيث المبدأ، أن يتناسب ويعمل على الإصدار 3 من Raspberry ++؟
لم يكن نظام CentOS المفضل لدي لبنية ARM من "Userland" في عجلة من أمره للتبديل إلى أحدث إصدار من kernel والتحول إلى 64 بت. ومستودع EPEL المتصل من مكان لا يعلمه الله بدون توقيع رقمي، كان بمثابة كابوس في نومي المضطرب...
في هذه المقالة سأتحدث عن طريقة التثبيت فيدورا (aarch64) في التوت بي 3 نموذج B + в الحد الأدنى من الأداء الإضافي. سأتناول بإيجاز ميزات رفع نقطة وصول Wi-Fi، والتي تم تحديدها نتيجة للتشغيل التجريبي للتكوين السابق على CentOS 7.
0. ما سوف تحتاجه
كل شيء هو نفسه كما هو مذكور في المقالة السابقة:
راسبيري باي 3 موديل B+؛
بطاقة microSD >= 4 جيجابايت (يمكنك لاحقًا "نقل" النظام إلى محرك أقراص بسعة 2 جيجابايت)؛
محطة عمل مزودة بنظام التشغيل Linux وقارئ بطاقات microSD؛
اتصال شبكة سلكية بين محطة عمل Raspberry وLinux (في هذه الحالة، لن تكون هناك حاجة إلى شاشة إضافية ولوحة مفاتيح إضافية للإعداد)، والوصول إلى الإنترنت من كلا الجهازين؛
مهارة متقدمة في نظام Linux (لمعرفة وعدم الخوف: افترقنا, dd и mkfs).
على غرار التكرارية LFS- بناء نظام Linux الخاص بك، سيتم استخدام صورة توزيع Fedora، ومن ثم بناءً عليها، سيتم إنشاء نظام مصغر (بدون "التجميع من المصدر").
يمكنك الآن تنزيل "التوت" من بطاقة microSD والاتصال به عبر الشبكة.
تستغرق البداية الباردة حوالي دقيقة ونصف. 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) مع محتويات جذر إصدار نظام التشغيل الأدنى الجديد. يمكنك إيقاف تشغيل Raspberry وإعادة بطاقة microSD إلى محطة عمل Linux.
3. تركيب نظام الحد الأدنى
يتلخص التثبيت في نسخ الحد الأدنى من ملفات "صورة" نظام التشغيل (التي تم الحصول عليها في الخطوة السابقة) على بطاقة microSD مُعدة خصيصًا في الدلائل المناسبة.
تكفي بطاقة سعة 2 جيجابايت وقسمين عليها:
/ التمهيد / EFI - EFI+FAT32، تمهيد، 100 ميجابايت؛
/ (الجذر) - EXT4، كل المساحة المتبقية.
بعد تجهيز بطاقة microSD ونسخ الملفات إليها، عليك القيام بما يلي:
إصلاح تمهيد نظام التشغيل؛
قم بتشغيل الشبكة
تكوين الوصول عبر SSH.
إصلاح التمهيد هو استبدال UUID للأقسام الموجودة في الملفات:
سيكون هذا أرشيفًا يحتوي على ملفين: البرنامج النصي للتثبيت وTGZ مع ملفات نظام التشغيل. يجب تفريغ الأرشيف على محطة عمل Linux، وإدخال بطاقة microSD (بطاقة سعة 2 جيجابايت كافية) وتشغيل البرنامج النصي باستخدام المعلمة - اسم الجهاز:
./install /dev/mmcblk0
كن حذرا!
وبدون أي تحذيرات سيتم فورمات الجهاز وتثبيت نظام التشغيل عليه.
بعد تنفيذ البرنامج النصي بدون أخطاء، يمكن إعادة ترتيب البطاقة في "التوت" واستخدامها: التقاط عبر dhcp، كلمة المرور - "1".
يتم مسح النظام من جميع المعرفات والمفاتيح، ولهذا السبب يكون كل تثبيت جديد فريدًا من نوعه.
وأكرر مرة أخرى، النظام - الحد الأدنى! لذلك، لا تنزعج: DNF متاح، ولكي يعمل، سيتعين عليك "اختراع" الحل الصحيح / الخ / resolv.conf.
تستغرق البداية الباردة لـ Raspberry حوالي 40 ثانية. TTX للنظام بعد التحميل:
rpm -qa | wc -l
191
5. واي فاي
سأتحدث قليلاً عن ميزات تنفيذ نقطة وصول Wi-Fi. للحصول على تفاصيل، يمكنك الرجوع إلى تقريري السابق مقالة.
لم تعد هناك حاجة إلى EPEL - جميع الحزم موجودة في المستودعات الرسمية.
ربما سيكون من المفيد الاستسلام دنسماسك، نظرًا لأن Fedora، على عكس CentOS، لديه شبكة systemd-networkd حديثة إلى حد ما، والتي تحتوي على خوادم DHCP/DNS عادية مدمجة. ولكن الحقيقة هي أنه في مطوري RHEL8 رفض دعم مكدس الشبكة بأي شيء آخر غير NM، لا يوحي بالثقة في المستقبل المشرق للمشروع (الأوغاد). باختصار لم أجربه
علاوة على ذلك، لا يمكن "سرقة" برامج التشغيل الحالية لمحول Wi-Fi المدمج من توزيع Raspbian، ولكن يمكن تنزيلها مباشرة من جيثب.
هذا ما تبدو عليه ملفات البرامج الثابتة من Broadcom على جهاز Raspberry الخاص بي (تخطيطيًا):
فيما يتعلق بعدد وأسماء الواجهات. الآن أوصي بشدة الجميع بعدم اللجوء إلى "خدمات" تبديل البرامج إلا في حالة الضرورة القصوى (جسر)، مما يؤدي إلى تحميل كبير على مكدس الشبكة وتثبيط التوجيه. إذا كنت لا تخطط للحصول على محولات لاسلكية متعددة، فيجب عليك استخدام الواجهات المادية فقط. لدي شبكتي Wi-Fi، لذلك أقوم بدمجهما فقط في جسر برمجي (على الرغم من أنه يمكنك الاستغناء عن ذلك من خلال النظر إلى إعداد hostapd بشكل مختلف).
وأنا أحب إعادة تسمية الواجهات.
للقيام بذلك في فيدورا تحتاج إلى إنشاء رابط رمزي:
/etc/systemd/network/99-default.link -> /dev/null
ومن ثم سيكون من الممكن إعطاء أسماء ذات معنى دون البحث أودف، ولكن فقط باستخدام 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
مادبا - مدمج، تحويلة - محولات Wi-Fi خارجية (USB) مجمعة في "جسر" الشبكة المحلية;
سقيم - محول إيثرنت الذي يتصل به الإنترنت.
لاحظت؟ fq_codel - شيء رائع حقا. جنبًا إلى جنب مع نواة Linux الجديدة، فإنهم يصنعون معجزات حقيقية في النطاق اللاسلكي: لن يؤدي "تنزيل التورنت" الشرس إلى تدهور مفاجئ في السرعة بين الجيران. حتى تلفزيون IP-TV المنزلي الذي يعمل "عبر الأثير" بقناة محملة لا "ينقطع" ولا "يتلعثم" على الإطلاق!
6.1 لماذا قم بإنشاء جهاز توجيه Wi-Fi على Raspberry؟
يمكن للمرء أن يجيب ببساطة، مثل "من المثير للاهتمام تجربة كل ذلك".
لكن في الحقيقة يبدو لي أن الموضوع خطير للغاية. في عصر الإنترنت "الدموي"، يعد شراء جهاز توجيه من أحد المتاجر والبقاء رهينة للشركة المصنعة له أمرًا كئيبًا للغاية. يدرك الكثير من الناس بالفعل أن الجلوس مع CVE أو الباب الخلفي المدمج غير ممكن.
بالطبع، يمكنك الانتقال إلى البرامج الثابتة WRT من المتحمسين. من المحتمل أن تكون هناك ثقة أكبر بهم، ولكن إذا كنت لا تريد الاعتماد عليهم، فما عليك سوى استخدام منتجك الخاص. من الناحية المثالية، جهاز كمبيوتر كامل بحيث يمكن تنفيذ كل شيء في العالم عليه. من حيث التوجيه بالطبع.
لذلك، فإن اختيار "التوت" هو خطوة اقتصادية بحتة: جهاز كمبيوتر حقيقي وفي نفس الوقت جهاز غير مكلف. على الرغم من أنه ربما أيضًا - مع وجود "الزوجي" بداخلهم.
6.2 لكن Raspberry هو "جهاز توجيه منخفض": بطيء وبه منفذ Ethernet واحد!
باعتباري جهاز توجيه Wi-Fi منزلي، فإن جهاز Raspberry أكثر من مرضٍ بالنسبة لي. لقد تحدثت بالفعل عن سرعة الهواء أعلاه. وهناك إيثرنت واحد فقط، حسنًا، في منتج مماثل من Apple، فهو نفس الشيء تقريبًا!
ولكن على محمل الجد، بالطبع أود المزيد. وعلى الرغم من أن جميع الأجهزة في منزلي متصلة لاسلكيًا، إلا أنه في بعض الأحيان لا يزال الاتصال النحاسي مطلوبًا. لمثل هذه الحالات، لدي "مركز متنقل" في المخزون:
الجهاز - شيء من هذا القبيل
6.3 إذا كان هذا جهاز توجيه، فلا يُقال شيء عن "ضبط" TCP/IP، لأن هذا مهم!
بالإضافة إلى إعداد مكدس الشبكة (tcp_fastopen، نعم، وما إلى ذلك)، لا تغطي هذه المقالة والمقالة السابقة الفروق الدقيقة الأخرى، على وجه الخصوص، عملية إعداد microSD للاستخدام الأمثل (على الرغم من أن المثبت يحاول تهيئة بطاقة الذاكرة في طريقة صعبة). عملية التحسين لا نهاية لها، تحتاج فقط إلى التوقف في الوقت المناسب.
6.4 لماذا فيدورا؟
لأنني أحب! يعد Fedora نظامًا "سائدًا" للمهوسين الذين تستهدفهم هذه المقالة بالفعل. في وقت كتابة هذا التقرير، ربما يكون نظام التشغيل الوحيد لـ Raspberry في إصدار 64 بت مدعومًا رسميًا من قبل فريق كبير من المطورين (الذين لا أستطيع الانتظار منهم) نواة 5.6).
6.5 هل يعمل البلوتوث؟ كيف حال الفيديو/الصوت/GPIO؟
لا أعرف. تتناول المقالة الحد الأدنى من تثبيت النظام واستخدامه لاحقًا كجهاز توجيه Wi-Fi.
6.6 لماذا تبدأ جميع المقالات المتعلقة بـ CentOS/Fedora/RedHat بتعطيل SELinux؟
نظرًا لأن النظام صغير الحجم، فهو لا يحتوي حتى على جدار حماية أو أدوات مساعدة لإعداده. يمكن لأي شخص يحتاج إليه تثبيت كل ما يحتاجه بالإضافة إلى ذلك.
6.7 لا يمكن استخدام النظام، ولا يمكن تغيير كلمة المرور - لا يوجد كلمة مرور. لا بينغ، لا شيء!
هنالك DNF. أو أن خيار التثبيت هذا ليس مناسبًا لك - استخدم مجموعة التوزيع من المطورين.