إجراءات التثبيت واستكشاف الأخطاء وإصلاحها لنظام Android x86

بالنسبة للمستخدمين الذين يرغبون في الحصول على تجربة Android على سطح المكتب الخاص بهم ، هناك عدد قليل من أنظمة التشغيل القائمة على Android - ومع ذلك ، فإن العديد منها عبارة عن أنظمة تشغيل Android x86 (PrimeOS ، و Remix OS ، و Phoenix OS x86). هذا لأن Android x86 أبطأ التطوير لبعض الوقت ، وبالتالي قام مطورون آخرون بتوليه في غيابه.

ومع ذلك ، فقد أصدر Android x86 تحديثات ثابتة مؤخرًا ، بما في ذلك تحديث Android Oreo. لذلك ، إذا كنت ترغب في الاستمتاع بتجربة Android رائعة على سطح المكتب ، فمن الجيد تجربة Android x86 قبل تجربة أحد الفروع الأخرى ( على سبيل المثال ، توقف نظام Remix OS عن التطوير تمامًا).

المتطلبات:

  • Android x86 ISO
  • UNetbootin

إذا كنت تستخدم Ubuntu ، فيمكنك الحصول على UNetbootin باستخدام الأمر الطرفي: sudo apt-get install unetbootin

إذا كنت تستخدم نظام Arch Linux ، فيمكنك استخدام: pacman -S unetbootin

تركيب محرك أقراص فلاش USB

  1. قم بتشغيل UNetbootin ووجهه إلى ملف Android x86 ISO الخاص بك.
  2. اختر الآن "USB Drive" وانقر فوق موافق.
  3. سيبدأ UNetbootin في نسخ Android x86 إلى محرك أقراص فلاش USB ، وتحويله إلى أداة تثبيت محمولة.
  4. عند اكتمال العملية ، أعد تشغيل الكمبيوتر ، وقم بالتمهيد في قائمة BIOS.
  5. ابحث عن صفحة BIOS التي تتيح لك التمهيد مباشرة إلى وسائط معينة (HDD ، CD ، USB ، إلخ).
  6. اختر التمهيد مباشرة إلى محرك أقراص فلاش USB.
  7. ستظهر قائمة GRUB ، اختر تثبيت Android x86 على محرك الأقراص الثابتة.
  8. ستحتاج الآن إلى اختيار قسم للتثبيت عليه - إذا لم تكن متأكدًا ، فلا تقم بتهيئة القسم. أيضًا لا تكتب فوق قسم نظام التشغيل الآخر الخاص بك ، من الواضح.
  9. ستظهر مطالبة جديدة تسألك عما إذا كنت تريد تثبيت GRUB. إذا كنت تستخدم Windows بشكل أساسي مع عدم وجود نظام تشغيل Linux آخر على جهاز الكمبيوتر الخاص بك ، فاختر "نعم" . إذا كان لديك بالفعل Linux OS / GRUB على جهاز الكمبيوتر الخاص بك ، فمن المستحسن تثبيته عليه.
  10. ستظهر مطالبة أخرى تطلب "إنشاء نظام R / W". اختر نعم. سيؤدي هذا إلى "جذر" Android x86 وتمكين الوصول للقراءة والكتابة إلى قسم / النظام.
  11. أعد تشغيل جهاز الكمبيوتر الخاص بك واستمتع بتثبيت Android x86 الجديد.

لتثبيت CD / DVD

عملية التثبيت هي نفسها تقريبًا ، باستثناء أنك ستقوم بنسخ قرص مضغوط قابل للتمهيد من Android x86 ISO. يوجد بالفعل عدد كبير من برامج حرق ISO - يمكنك فقط استخدام Free ISO Burner.

التثبيت على جهاز افتراضي

  1. قم بتكوين جهاز VM الخاص بك بحيث يحتوي على 512 ميغابايت من ذاكرة الوصول العشوائي على الأقل ، على الرغم من أنه مع أحدث إصدار من Android x86 المستند إلى Oreo ، من المحتمل أن يكون هذا أعلى قليلاً.
  2. قم بتحميل ملف Android x86 ISO في قائمة VM ، وقم بتحميل ملف VM.
  3. ستظهر قائمة GRUB ، اختر تثبيت Android x86 على القرص الصلب.
  4. قم بإنشاء قسم جديد ، وقم بتثبيت Android x86 عليه. قم بتهيئة القسم بأحد التنسيقات المدعومة - ext3 و ext2 و ntfs و fat32. يرجى ملاحظة أنه إذا اخترت fat32 ، فسيظهر تحذير بأنه لا يمكنك حفظ البيانات في FAT32 - وبالتالي ، سيعمل Android x86 كقرص مضغوط مباشر ( لن يتم حفظ أي بيانات في النظام أثناء استخدامه) .
  5. اختر "نعم" عندما يطلب تثبيت برنامج bootloader GRUB ، والسماح له بجعل النظام R / W لتمكين الجذر.
  6. أعد التشغيل عندما ينتهي كل شيء.

إضافة Android x86 إلى قائمة GRUB

قم بتثبيت GRUB Customizer أولاً ، سيجعل هذه العملية أسهل بكثير.

sudo add-apt-repository ppa: danielrichter2007 / grub-customizer sudo apt-get update sudo apt-get install grub-customizer

قم الآن بتشغيل GRUB Customizer ، وإضافة إدخال GRUB جديد.

انقر فوق علامة التبويب "المصادر" ، وأدخل هذه الأوامر:

تعيين الجذر = "(hd0،4)" بحث - no-floppy --fs-uuid --set = root e1f9de05-8d18-48aa-8f08-f0377f663de3 linux androidx86 / kernel root = UUID = e1f9de05-8d18-48aa-8f08 -f0377f663de3 الهدوء androidboot.hardware = generic_x86 SRC = / androidx86 acpi_sleep = s3_bios، s3_mode initrd androidx86 /initrd.img

إذا لاحظت ، فقد قمنا بوضع بعض الأجزاء بخط عريض في تلك الأوامر. هذا لأنك تحتاج إلى تغييرها على النحو التالي.

ل جذر مجموعة = '(hd0،4) " ، تغيير (hd0،4) إلى القسم حيث تم تثبيت الروبوت إلى x86.

HD0 تعني SDA ، لذلك إذا قمت بتثبيت Android x86 على SDB ، فسيكون HD1 ، إلخ. الرقم بعد ذلك هو رقم القسم. لذا فإن hd0،4 سيكون SDA4 ، على سبيل المثال - إذا قمت بتثبيت Android x86 على SDA6 ، فستقوم بتغييره إلى hd0،6.

بالنسبة للجزء –set = root e1f9de05-8d18-48aa-8f08-f0377f663de3 ، فإن السلسلة العشوائية هي UUID للقسم حيث تم تثبيت Android x86. تحتاج إلى تغييره إلى UUID الصحيح. يمكنك الحصول على UUID الصحيح الخاص بك عن طريق إنشاء إدخال جديد في GRUB Customizer ، ثم الانتقال إلى علامة التبويب Options واختيار خيار "Linux" من القائمة المنسدلة.

في القائمة المنسدلة للقسم ، تحتاج إلى اختيار القسم الخاص بك ، ثم الانتقال إلى علامة التبويب المصدر. سيعرض UUID الخاص بك.

حيث قمنا بكتابة androidx86 / ، هذا هو جذر Android x86. تحتاج إلى تغييره إلى جذر Android x86 الفعلي ، من خلال الانتقال إلى قسم Android x86. يجب أن ترى مجلدًا باسم "android" ، وسيكون هذا هو جذر تثبيت Android x86 الخاص بك.

سيكون androidboot.hardware هو جهازك المحدد. إذا كنت تستخدم إصدارًا أقدم من Android x86 ، مثل إصدارات Android 4.03 ، فأنت بحاجة إلى تغييره إلى androidboot_hardware (بشرطة سفلية وليس نقطة). هذا غير ضروري تمامًا لأحدث إصدارات Android x86. عندما لا يتم تعيين androidboot.hardware في kernel cmdline ، ستظل عملية init تحصل على القيمة الصحيحة لـ ro.hardware. هذا يلغي ضرورة androidboot.hardware.

إليك قائمة الأجهزة التي يمكنك تغييرها إليها:

  • generic_x86: إذا لم يكن جهازك مدرجًا ، فاستخدم هذا
  • eeepc: أجهزة الكمبيوتر المحمولة EEEPC
  • asus_l laptop: أجهزة الكمبيوتر المحمولة ASUS (أجهزة الكمبيوتر المحمولة ASUS المدعومة فقط)

النصائح والحيل النهائية

يتعذر على Android x86 استخدام Android Market ، لذلك توجد حلول بديلة للحصول على تطبيقات Android.

أولا يجب عليك تمكين مصادر غير معروفة. انتقل إلى الإعدادات> التطبيقات> تمكين مصادر غير معروفة ، وتجاهل مربع حوار التحذير.

يمكنك الآن تنزيل ملفات APK وتثبيتها من خارج Google Play. هناك الكثير من متاجر تطبيقات الطرف الثالث ، فقط كن حذرًا حقًا. بعض من أفضل المتاجر هي:

  • معامل XDA
  • AndAppStore
  • أبتويد
  • APKMirror

كيفية عرض قيمة البطارية الصحيحة

Android was developed for specific batteries in mind, thus an Android-based OS will show incorrect battery values on different hardware platforms (such as a laptop). In order to correct this, there are a few things to tweak.

In Linux, applications collect the battery status through sysfs, where the battery status is located in /sys/class/power_supply/. Different platforms, however, may give you a different directory layout under /sys/class/power_supply/, but Android hardcodes the directory layout to /sys/class/power_supply/. To resolve this issue, you can add new entries in vendor/asus/eeepc/system.prop, where the user can change the value of these entries to correctly configure the sysfs directory layout for different platforms. These entries are:

ro.sys.fs.power_supply.ac=/AC0 ro.sys.fs.power_supply.bat=/BAT0 ro.sys.fs.power_supply.ac.feature.online=/online ro.sys.fs.power_supply.bat.feature.status=/status ro.sys.fs.power_supply.bat.feature.present=/present ro.sys.fs.power_supply.bat.feature.capacity.now=/charge_now ro.sys.fs.power_supply.bat.feature.capacity.full=/charge_full ro.sys.fs.power_supply.bat.feature.voltage.now=/voltage_now ro.sys.fs.power_supply.bat.feature.voltage.full=/voltage_full ro.sys.fs.power_supply.bat.feature.tech=/technology #ro.sys.fs.power_supply.bat.features.bat.health is not supported #ro.sys.fs.power_supply.bat.features.bat.temperature is not supported

In essence, these entries tell the Android battery service code to look for the information in the correct place.

To implement your own battery status handling code, simply re-implement the IBatteryServiceStatus class in frameworks/base/libs/utils/IBatteryServiceStatus.cpp, replacing frameworks/base/libs/utils/BatteryServiceStatus.cpp with your own implementation.

To Wake up the Machine

Unlike other OS, you cannot simply wake up the system from sleep status by moving around the mouse or hitting a random keyboard button.

You can only use ESC, Menu, left, right, up and down keys to wake up the system. To wake up the system, you have to hold the keys mentioned above for at least 1 second. You can push menu key when keyguard screen showing up to unlock screen, and you can use mouse to turn the wheel on the keyguard screen to unlock screen.

How to boot Android x86 on Unsupported Graphics

عند تشغيل Live-CD ، من القائمة التي تقدم خيارات تمهيد متنوعة ، اضغط على مفتاح Tab في لوحة المفاتيح. سيعرض هذا موجه التمهيد.

الآن يجب أن ترى شيئًا مثل:

kernel initrd = / initrd.img root = / dev / ram0 androidboot_hardware = generic_x86 acpi_sleep = s3_bios، s3_mode video = -16 quiet SRC = DATA = DPI = 240

يجب عليك تعديل هذا السطر ، أولاً عن طريق إزالة "الهدوء" لمعرفة ما تعرضه رسائل kernel.

ثم يمكنك تعيين معلمات وضع الفيديو المختلفة. يمكنك استخدام NoModeSet ، الذي يعطل إعداد وضع kernel ويوجه kernel إلى عدم ضبط دقة الرسوم تلقائيًا. بدلاً من ذلك ، يمكنك استخدام Xforcevesa ، الذي يفرض استخدام برنامج تشغيل VESA.

العب باستخدام هذه المعلمات لمعرفة أيها يناسبك - يمكنك أيضًا تعيينهما معًا "nomodeset xforcevesa".

العلامات android