نظام تشغيل شامل 64 بت ، من محمل التمهيد إلى مساحة المستخدمين.
يهاجر Lensoros بعيدًا عن Github ، لصالح Foss Codeberg.
Lensoros على Codeberg
أجهزة افتراضية مجانية ومتوافقة:
إذا كنت مهتمًا فقط بالتماسك حول Lensoros ، وعدم تحرير التعليمات البرمجية ، فإنني أوصي بإصدار تم إنشاؤه مسبقًا من صفحة الإصدارات. وسوف تشمل جميع الموارد والتعليمات اللازمة حول كيفية تشغيل العدسات. ضع في اعتبارك أن هذا سيفتقد الكثير من الميزات لضمان أقصى قدر من التوافق عبر الأنظمة. من خلال البناء من المصدر ، يمكنك البناء لنظامك الدقيق والحصول على كل ميزة ممكنة.
ملاحظة: لا توجد أتمتة لأي شيء باستثناء QEMU في الوقت الحالي. ومع ذلك ، هناك تعليمات حول كيفية إعداد جهاز افتراضي في VirtualBox و VMware Workstation Player.
عند إنشاء نظام إنشاء CMAKE ، يبحث عن QEMU على نظامك ؛ إذا وجدها ، فسيضيف الأهداف التالية إلى المشروع. استدعائهم لإطلاق QEMU من وسائط التمهيد Lensoros المقابلة ، بعد بنائه إذا لم يكن محدثًا.
الأهداف:
run_qemu - مباشرة من الدليل الذي يحاكي Lensoros.imgrunimg_qemu - Lensoros.imgruniso_qemu - Lensoros.isorunhda_qemu - Lensoros.bin (الأكثر شيوعًا)بالنسبة للأهداف التي لا تدعم حاليًا أقسام GPT (أي ISO ، IMG ، ومباشرة من الدليل) ، لا توجد مساحة مستخدمين متاحة حقًا . أعني ، هذا ممكن ، ولكن يجب عليك تعديل الأشياء لوضع عمليات ومكتبات المستخدمين في قسم التمهيد بدلاً من تقسيم بيانات مساحة المستخدمين ، ثم قم أيضًا بتعديل النواة لتحميلها من هناك.
على افتراض تم إنشاء نظام بناء CMake في الدليل الفرعي bld/ Subdore ، استدعاء مثل:
cmake --build bld --target < name of target > New لإنشاء جهاز افتراضي جديد (VM).Other والنسخة Other/Unknown (64-bit) .Do not add a virtual hard disk .Create لإنشاء الجهاز الظاهري الجديد.Settings .System داخل القائمة على اليسار.ICH9 .Enable EFI (special OSes only) .Storage داخل القائمة على اليسار.IDE ) ، وحدد Remove Controller .Storage Devices المسمى المنطقة ، وحدد AHCI (SATA) .Optical Drive أو Hard Disk اعتمادًا على ما إذا كنت ترغب في التمهيد من .iso أو .bin ، على التوالي.Add نافذة محدد الوسائط الافتراضية الجديدة التي تظهر.Optical Drive أو Hard Disk ، فاختر إما LensorOS.iso أو LensorOS.bin .Network داخل القائمة على اليسار.Serial Ports داخل القائمة على اليسار.Enable Serial Port ، ويتم تحديد COM1 ، IRQ هو 4 ، I/O Port هو 0x3F8 . Home في القائمة على الجانب الأيسر. انقر فوق Create a New Virtual Machine على اليمين.I will install the operating system later. خيار.Other ، ونسخة من Other 64-bit .Customize Hardware...New CD/DVD على اليسار ، ثم انقر فوق Advanced... على اليمين.SATA ، ثم انقر فوق OK .Use ISO image file ، ثم انقر فوق Browse...LensorOS.iso (الموجود في bin/ ).Remove بالقرب من المركز السفلي.Close في أسفل اليمين لإغلاق نافذة تكوين الأجهزة.Finish ..vmx في محرر نص.firmware="efi" . سيتعين عليك اختيار UEFI Shell بمجرد حذاء محطة عمل VMware في Lensoros (حتى لو كان يقول شيئًا ما Unsupported ).
هناك خطوات متعددة في عملية بناء Lensoros ، الموضحة هنا.
ملاحظة: من المتوقع أن تبدأ جميع كتل أوامر shell المعطاة مع دليل العمل في جذر المستودع.
قم بتنزيل وتثبيت التبعيات التالية على مستوى المشروع إذا لم يكن لديك بالفعل ، أو إذا لم يكن الإصدار لديك محدثًا.
sudo apt install build-essential makeبعد ذلك ، استنساخ رمز المصدر من المستودع. إذا كنت ترغب في تحرير الكود وتقديم المساهمات ، فتأكد من الشوكة أولاً واستنساخ من هذا المستودع.
git clone https://codeberg.org/LensPlaysGames/LensorOS.git سيؤدي ذلك إلى إنشاء دليل فرعي بعنوان LensorOS مع محتويات هذا المستودع في دليل العمل الحالي.
ملاحظة: سيتغير هذا القسم ، وقد تصبح أي معلومات هنا غير صحيحة أو قديمة في أي لحظة. ويرجع ذلك إلى أن يكون في منتصف محولات التمهيد المهاجرة إلى جهاز تشغيل Radii الذي تم إنشاؤه ذاتيًا.
جهاز تحميل التشغيل هو تطبيق EFI ؛ على وجه التحديد جهاز محمل OS مكتوب لمواصفات UEFI. (حاليا v2.9). تحدد هذه المواصفات استخدام PE32+ Executables مع نظام فرعي معين. كما تعلمون ، يتم استخدام تنسيق PE32+ أيضًا بواسطة Windows نظرًا لتنسيقه القابل للتنفيذ. هذا يعني أن برنامج التحويل البرمجي الذي ينشئ Windows Executables سيقوم بإنشاء التنسيق المناسب للتنفيذ لتطبيق EFI ، بالنظر إلى تعديل النظام الفرعي. ومع ذلك ، قبل عشرين عامًا أو نحو ذلك ، قرر GNU كتابة البرامج النصية لربط النقل المخصصة التي تنشئ PE32+ Executables من ELF Executables. هذا يعني أنه يتم استخدام برنامج التحويل البرمجي الذي يولد ELF Executables ، ثم يتم تحويل هذا التنفيذ إلى PE32+ قابل للتنفيذ مع النظام الفرعي المناسب لتطبيق EFI. لحسن الحظ ، يتم التعامل مع كل هذا من قبل نظام البناء.
إذا كان لديك بالفعل نظام بناء ، فيمكنك استخدام ما يلي لتحديث جهاز تحميل التشغيل (يوجد الهدف على UNIX فقط ):
cmake --build bld --target bootloaderعند البدء Fresh ، يمكنك تشغيل نظام Bootloader Build يدويًا.
قم ببناء التبعيات لمحمل التمهيد:
cd gnu-efi
make هذا لا يجب القيام به مرة واحدة فقط ، لتوليد libgnuefi.a .
من هنا ، يمكن بناء جهاز تحميل التشغيل القابل للتنفيذ باستخدام هدف تشغيل bootloader :
cd gnu-efi
make bootloaderانظر أدوات README
بمجرد استخدام مجموعة الأدوات ، تابع هنا.
أوصي بإلقاء نظرة على toolchain/config.cmake ورؤية ما هو موجود ، ولكن الذهاب مع الإعدادات الافتراضية هو كذلك.
أولاً ، قم بإنشاء نظام بناء باستخدام CMake. إذا اخترت نظام بناء مختلف ، فضع في اعتبارك ألا تكرم جميع أنظمة البناء طلبنا لاستخدام مجموعة أدوات مخصصة. أوصي Ninja ، لأنه يمكن أن تسرع أوقات البناء. نصيحة أخرى لتسريع أوقات البناء ؛ تثبيت ccache . تكتشف البرامج النصية CMake في هذا المشروع وتستخدمها تلقائيًا.
cmake -G Ninja -B bldيرجى العلم أن هناك رسائل مهمة في إخراج الأمر أعلاه والتي قد تفصل الأهداف الهامة لم يتم إنشاؤها بسبب عدم العثور على البرامج على النظام.
لبناء LIBC وبرامج Space ، وأخيراً القابلة للتنفيذ kernel ، تستدعي نظام الإنشاء الذي تم إنشاؤه بواسطة CMake:
cmake --build bldسيقوم CMake بإنشاء أهداف معينة إذا تم اكتشاف التبعيات المناسبة على النظام.
لمشاهدة قائمة بجميع الأهداف المتاحة ، استخدم الأمر التالي:
cmake --build bld --target helpأهداف العدسة الأكثر استخدامًا:
runhda_qemuimage_gptimage_vdiuserspacekernelفيما يلي قائمة بأهداف الإنشاء الحالية المتعلقة بتوليد وسائط التمهيد ، وكذلك تبعياتها المدرجة أسفل كل منها.
image_raw الجمع بين الموارد التنفيذية والمصممة لإنشاء وسائط التمهيد FAT32 المتوافقة مع UEFI.gnu-efi/x86_64/bootloader/main.efi .Kernel (يعتمد على boot/LensorOS/kernel.elf ).sudo apt install mtoolsimage_gpt قم بإنشاء صورة محرك أقراص صلبة قابلة للتمهيد من GPT من وسائط التمهيد FAT32.image_rawscripts .image_iso إنشاء ISO-9660 "El-torito" صورة CD-ROM القابلة للتشغيل من وسائط التمهيد FAT32.image_rawsudo apt install xorrisoimage_vdi تحويل صورة قرص RAW GPT-s-partiction إلى تنسيق صورة القرص الظاهري ( .vdi ).image_gptعلى سبيل المثال ، قد يتم إنشاء صورة التمهيد المتوافقة مع UEF32 FAT32 باستخدام الأمر التالي:
cmake --build bld --target image_rawيستغرق الأمر مجرد أمر واحد لإنشاء kernel من Lensoros ، وإنشاء وسائط التمهيد الجديدة ، ثم قم بتشغيل جهاز QEMU الظاهري في Lensoros.
cmake --build bld --target runhda_qemuبدأ العمل على Lensoros في 9 يناير 2022.
scripts/sysroot.sh ).