Skip to content

إنشاء صورة Linux ورفعها (بما في ذلك Xinchuang)

طريقة الرفع الجديدة: استخدم أداة linuxupload (diskless_upload.sh). أمر واحد يتولّى بناء التعريفات وتقسيم القرص وتثبيت محمّل الإقلاع ورفع النظام، كل ذلك عبر معالج. تدعم x86_64 وتعدد معماريات Xinchuang (arm64 / loongarch64 / mips64el / riscv64)؛ ويختار السكربت الملف الثنائي الصحيح تلقائياً حسب uname -m.

1) ثبّت نظام التشغيل بصورة اعتيادية

ثبّت Linux كالمعتاد على جهاز فعلي أو جهاز افتراضي (بما في ذلك أنظمة Xinchuang مثل Kylin وUOS وopenEuler وAnolis). أكمل الإعداد الأساسي وثبّت البرامج التي تحتاجها.

2) احصل على الأداة وفكّ ضغطها

نزّل أداة التعبئة linuxupload.tar.gz، وانسخها إلى نظام Linux المثبّت ثم فكّ ضغطها:

يُرجى التواصل مع خدمة العملاء للحصول على الأداة.

bash
mkdir linuxupload
tar -xzf linuxupload.tar.gz -C linuxupload
cd linuxupload
ls -lah

أداة التعبئة بعد فكّ الضغط

عن المحتويات: diskless_upload.sh هو سكربت الرفع الرئيسي؛ ويحتوي bin/ على الملفات الثنائية لكل معمارية (vdmount / vdclient / rb_client وغيرها)، بينما efi/ وgrub/ وscripts/ وnewvhd/ هي ملفات الإقلاع والعميل.

3) شغّل أداة الرفع

⚠️ حول تعزيز الأمان في أنظمة Xinchuang: أنظمة Xinchuang مثل Kylin وUOS وopenEuler وAnolis تُفعّل تعزيز الأمان افتراضياً (KYSEC، SELinux، التحقق من التواقيع في وضع المطوّر، إلخ). وهذا يسبّب نوعين من المشكلات:

  1. حظر الصلاحيات — قد يُمنع بناء التعريفات أو التقسيم أو الكتابة على القرص مباشرةً؛
  2. إعادة الفحص التي تُبطئ / تُجمّد الرفع (أكثر خفاءً) — على سبيل المثال، يقوم خادم إعادة الفحص KYSEC في Kylin بقياس كل ملف يُكتب على قرص الشبكة، فيُعيد قراءة البيانات المكتوبة للتوّ بالكامل عبر الشبكة، مُشبعاً عرض النطاق ومُجوّعاً عمليات كتابة الرفع. العَرَض: يصل الرفع إلى منتصفه ثم تنهار السرعة أو تصل إلى الصفر ويبدو أنه متوقّف. إذا فقد الرفع كل تقدّمه في منتصف الطريق، فالسبب غالباً هو إعادة فحص آلية الأمان — عطّلها وسيستأنف.

النسخة الجديدة من diskless_upload.sh تعالج ذلك تلقائياً: قبل الرفع تُعطّل KYSEC مؤقتاً، وتوقف خادم إعادة الفحص، وتُوقِف مؤقتاً برامج مكافحة الفيروسات الشائعة (QAX / 360 / avserver في Kylin / ClamAV، إلخ)، وتعرض إشعاراً على الشاشة. في معظم الحالات لا تحتاج إلى أي إجراء يدوي.

إذا لم تشمل المعالجة التلقائية نظامك (best-effort)، أو ظل الرفع محظوراً / يتباطأ في منتصف الطريق، فعطّل الأمان يدوياً حسب الجدول أدناه قبل تشغيل السكربت (وكلها تتطلب root / sudo):

نظام Xinchuangآلية الأمانطريقة التعطيل / الدخول
Kylin / NeoKylin (V10، V11، سطح المكتب والخادم)KYSEC (أمان Kylin)في الطرفية نفّذ sudo setstatus disable للتعطيل المؤقت؛ أضِف -p لجعله دائماً (sudo setstatus disable -p، يبقى معطّلاً بعد إعادة التشغيل). إصدار الخادم يدعم أيضاً sudo security-switch --set custom؛ وعند الحاجة غيّر معامل إقلاع GRUB من security=kysec إلى security= فارغاً.
UnionTech UOSوضع المطوّرمركز التحكم ← عام ← وضع المطوّر، ثم فعّله عبر الإنترنت (تسجيل الدخول بحساب UnionID) أو دون اتصال (تصدير معلومات الجهاز ← تنزيل شهادة دون اتصال واستيرادها)؛ بعد التفعيل نفّذ sudo passwd root في الطرفية لضبط كلمة مرور root. ملاحظة: وضع المطوّر عملية باتجاه واحد — يُعطّل التحقق من التواقيع ولا يمكن التراجع عنه.
deepinوضع المطوّر / rootمثل وضع المطوّر في UOS؛ أو نفّذ sudo passwd root لضبط كلمة مرور ثم su - للتبديل إلى root.
openEulerSELinuxمؤقتاً: sudo setenforce 0 (يضبطه على permissive)؛ دائماً: حرّر /etc/selinux/config واضبط SELINUX=disabled ثم أعد التشغيل.
Anolis / الأنظمة القائمة على Red Hat (RHEL، CentOS، Rocky، Alma، إلخ)SELinuxمثل openEuler: sudo setenforce 0 (مؤقت) / اضبط SELINUX=disabled في /etc/selinux/config ثم أعد التشغيل (دائم).

لاستعادة تعزيز الأمان بعد الرفع: في Kylin نفّذ sudo setstatus enable -p؛ ولـ SELinux أعد SELINUX=enforcing في /etc/selinux/config ثم أعد التشغيل. وضع المطوّر في UOS لا يمكن التراجع عنه بعد تفعيله — يُرجى الانتباه.

شغّل السكربت بصلاحيات root:

bash
sudo ./diskless_upload.sh

يكتشف السكربت معمارية الجهاز تلقائياً، ويبني التعريفات المطابقة للنواة ويحمّلها (عبر الشبكة)، ثم يفتح معالج الرفع. املأ كل حقل حسب المطالبة (اضغط Enter بعد كل حقل):

معالج إعداد الرفع

الحقلالمعنى
[1/7] عنوان IP للخادمعنوان IP لخادم إقلاع vDisk
[2/7] اسم المسؤولحساب مسؤول الخادم
[3/7] كلمة مرور المسؤولكلمة مرور مسؤول الخادم
[4/7] اسم الصورةاسم الصورة المراد إنشاؤها
[5/7] حجم الصورة (غيغابايت)حجم القرص الافتراضي؛ يُوصى بأن يكون ≥ المساحة المستخدمة للنظام الحالي
[6/7] وضع الإقلاع1 = BIOS (تقليدي) / 2 = UEFI؛ يجب أن يطابق الجهاز الهدف
[7/7] لاحقة المعماريةاختياري؛ اضغط Enter للقيمة الافتراضية (يُكتشف عبر uname -m). للعتاد المُعدّل الذي يشترك في المعمارية لكنه يحتاج قرص إقلاع مخصّص (Huawei Kunpeng، Phytium، إلخ)، اكتب لاحقة مخصّصة (مثل kunpeng، ft2000)؛ تُحدّد تسمية ISO النشر / قرص الإقلاع والمعمارية المُبلَّغ عنها

4) أكّد وابدأ الرفع

يُعرض ملخص الإعداد. بعد التحقق منه، اكتب Y واضغط Enter للبدء:

ملخص الإعداد

بعد التأكيد، ينفّذ السكربت تلقائياً: تهيئة القرص الافتراضي وتقسيمه ← التهيئة (format) ← تثبيت محمّل الإقلاع (حسب BIOS/UEFI المختار) ← بناء initrd للإقلاع بلا قرص ← رفع النظام المحلي إلى القرص الافتراضي عبر rsync. يظهر التقدّم ونسبة الرفع على الشاشة.

5) اكتمال الرفع

عند انتهاء الرفع تظهر قائمة إجراءات:

  • r إعادة تشغيل النظام
  • s إيقاف تشغيل النظام
  • c إلغاء (رجوع)

أصبحت الصورة الآن مرفوعة إلى الخادم ويمكن تعيينها لأجهزة العملاء للإقلاع بلا قرص.

6) إنشاء قرص إقلاع من ISO النشر لنشر أجهزة أخرى

متى تستخدمه: الجهاز الهدف لا يملك ROM لـ PXE في بطاقة الشبكة / يصعب تغيير ترتيب الإقلاع الشبكي فيه، أو تريد قرص إقلاع «وصّله وثبّت» للنشر بكميات كبيرة. أثناء الرفع، يُولّد السكربت ISO نشر فوراً باستخدام نواة الجهاز المحلي؛ حوّله إلى ذاكرة USB لإقلاع أي جهاز فارغ والدخول في النشر، دون PXE ودون تغيير ترتيب الإقلاع في BIOS.

6.1 العثور على ISO المُولَّد

عند انتهاء الرفع، تعرض الشاشة مسار ISO. يكون اسم الملف على شكل vdisk-deploy-<arch>.iso (مثل vdisk-deploy-aarch64.iso، vdisk-deploy-x86_64.iso). يضمّ نواة الجهاز المحلي + قائمة الإقلاع + التعريفات، وهو بصيغة isohybrid (يمكن نسخه على قرص أو كتابته مباشرة على USB بـ dd).

⚠️ ISO خاص بكل معمارية: ISO لـ arm64 يُقلع أجهزة arm64 فقط، وISO لـ x86_64 يُقلع أجهزة x86_64 فقط. استخدم ISO المُولَّد على جهاز بنفس معمارية الهدف.

6.2 كتابة ISO على ذاكرة USB

⚠️ يجب الكتابة بوضع DD (صورة) — لا تستخدم وضع ISO أبداً! هذا الـ ISO صورة إقلاع هجينة من إنتاج grub-mkrescue، ولا يمكن كتابتها إلا كما هي على كامل القرص (raw). فإذا استخدمت «وضع صورة ISO» الافتراضي في Rufus، يُعاد تحزيم الملفات وتظهر عند الإقلاع error: unknown filesystem ثم تسقط في grub rescue>. بعد الضغط على START في Rufus، وعند ظهور مربّع الحوار «ISOHybrid image detected»، اختر بالتأكيد Write in DD Image mode (وضع صورة DD)؛ أو استخدم ببساطة balenaEtcher (يكتب دائماً كما هو ولا يسأل عن الوضع — الأكثر أماناً). بعد الكتابة قد يطلب Windows تهيئة USB أو يعرضه بسعة صغيرة/غير قابل للقراءة — وهذا طبيعي، لا تقم بتهيئته.

اختر إحدى الطرق (ستُمحى البيانات الموجودة على USB — تأكّد من اختيار الجهاز الصحيح):

  • Windows: استخدم Rufus أو balenaEtcher لكتابة ISO على USB. وعندما يسأل Rufus عن «وضع ISO / DD»، اختر وضع DD.

  • Linux / macOS: اكتبه مباشرة بـ dd (تأكّد أولاً من اسم جهاز USB بـ lsblk واستبدل /dev/sdX به — لا تكتب على القرص الخطأ):

    bash
    sudo dd if=vdisk-deploy-aarch64.iso of=/dev/sdX bs=4M status=progress conv=fsync
  • يمكنك أيضاً نسخ ISO على قرص DVD.

6.3 نشر أجهزة أخرى من قرص الإقلاع

  1. صِل ذاكرة USB المُجهّزة بـالجهاز الهدف، وتأكّد من أنه على نفس الشبكة مع خادم إقلاع vDisk؛
  2. شغّل الجهاز واضغط مفتاح قائمة الإقلاع المؤقتة (غالباً F12 / F11 / F9 / Esc، حسب اللوحة الأم) للإقلاع مؤقتاً من USB (دون تغيير ترتيب الإقلاع الافتراضي في BIOS ودون PXE)؛
  3. في قائمة الإقلاع، اختر الانضمام إلى جهاز / تحديد الجهاز المراد إقلاعه؛
  4. اتبع التعليمات لـتنزيل الصورة وتثبيتها؛ وبعد الانتهاء يمكن للجهاز الإقلاع بلا قرص كالمعتاد؛
  5. يمكن إعادة استخدام نفس USB لعدة أجهزة بـنفس المعمارية.

يُقلع ISO على كلٍّ من البرنامج الثابت BIOS وUEFI؛ ويجب أن يطابق «نوع الجهاز / معمارية المعالج» للهدف في لوحة التحكم برنامجه الثابت ومعماريته الفعليين (انظر النشر غير المتجانس).

ملاحظات

يلزم اتصال بالإنترنت طوال العملية: تُجمَّع التعريفات عن بُعد عبر الإنترنت؛ وبدون شبكة لا يمكن إكمال الرفع.

يجب أن يطابق وضع الإقلاع (BIOS / UEFI) البرنامج الثابت للعميل الهدف، وإلا فقد يفشل العميل في الإقلاع.

يُعالَج تعدد معماريات Xinchuang تلقائياً، ويختار السكربت الملف الثنائي للمعمارية الصحيحة حسب uname -m. والنسخة الجديدة من السكربت تُخفّف تعزيز الأمان تلقائياً (KYSEC، إلخ؛ انظر الخطوة 3 أعلاه) قبل الرفع؛ وإذا ظل الرفع محظوراً، أو انهارت السرعة / وصلت إلى الصفر في منتصف الطريق وبدا متوقّفاً، فالأرجح أن آلية الأمان تُعيد فحص قرص الشبكة — عطّلها يدوياً حسب الخطوة 3 ثم أعِد المحاولة.

ISO النشر خاص بكل معمارية؛ ويُقلع ISO واحد أجهزة بنفس المعمارية فقط (انظر الخطوة 6).