android - एंड्रॉइड गोल्डफ़िश 3.4 कर्नेल को कैसे संकलित करें और एमुलेटर पर चलाएं



android-emulator android-source (1)

लक्ष्य "goldfish_defconfig" एआरएम 926 के लिए कर्नेल को कॉन्फ़िगर करता है लेकिन अब एमुलेटर को कॉर्टेक्स ए 8 पर चलाने के लिए कॉन्फ़िगर किया गया है जो कि एक armv7 वास्तुकला है। इसके बजाय आपको "goldfish_armv7_defconfig" का उपयोग करना चाहिए

एमुलेटर के लिए 3.4 कर्नेल बनाने के लिए इन चरणों का पालन करें

git clone https://android.googlesource.com/kernel/goldfish.git
git checkout -t origin/android-goldfish-3.4 -b goldfish3.4

make ARCH=arm goldfish_armv7_defconfig
make ARCH=arm SUBARCH=arm CROSS_COMPILE=/Volumes/androidSpace/android_work/prebuilts/gcc/darwin-x86/arm/arm-eabi-4.6/bin/arm-eabi-

यह एक 3.4 कर्नेल बनाना चाहिए, जिसे आप इस तरह चला सकते हैं (मैं मान रहा हूँ कि आपकी निर्देशिका संरचना डिफ़ॉल्ट sdk ramdisk.img है)

./emulator -debug init -kernel /Volumes/androidSpace/goldfish/goldfish/arch/arm/boot/zImage -system /Volumes/androidSpace/android_work/out/target/product/generic/system.img -ramdisk /Volumes/androidSpace/android_work/out/target/product/generic/ramdisk.img -avd firstAvd -wipe-data

इसे आज़माएं और हमें बताएं

पहले मुझे बताएं कि मै मैक पर ओएस एक्स 10.7.5 के साथ काम कर रहा हूं। मैं गोल्डफ़िश 3.4 कर्नेल को इकट्ठा करने और एमुलेटर पर चलाने की कोशिश कर रहा हूं। यह ठीक तैयार है, लेकिन जब मैं इसे चलाने के लिए एमुलेटर खोलता है और जमा देता है। जब मैं "शीर्ष" करता हूं, तो मैं पागलपन की तरह चल रहा इम्यूलेटर देख सकता हूं लेकिन स्क्रीन पर कुछ भी नहीं मुड़ता है। यहां बताया गया है कि कैसे मैंने कर्नेल को संकलित किया

git clone https://android.googlesource.com/kernel/goldfish.git
git checkout -t origin/android-goldfish-3.4 -b goldfish3.4
make ARCH=arm goldfish_defconfig
make ARCH=arm SUBARCH=arm CROSS_COMPILE=/Volumes/androidSpace/android_work/prebuilts/gcc/darwin-x86/arm/arm-eabi-4.6/bin/arm-eabi-

तो मैं एमुलेटर के माध्यम से चलाता हूँ

./emulator -debug init -kernel /Volumes/androidSpace/goldfish/goldfish/arch/arm/boot/zImage -system /Volumes/androidSpace/android_work/out/target/product/generic/system.img -ramdisk /Volumes/androidSpace/android_work/out/target/product/generic/ramdisk.img -avd firstAvd -wipe-data

इम्यूलेटर चलाने से डीबग आउटपुट का अंतिम भाग यहाँ है

QEMU options list:
emulator: argv[00] = "./emulator64-arm"
emulator: argv[01] = "-android-hw"
emulator: argv[02] = "/Users/deathwillarrive/.android/avd/firstAvd.avd/hardware-qemu.ini"
Concatenated QEMU options:
./emulator64-arm -android-hw /Users/deathwillarrive/.android/avd/firstAvd.avd/hardware-qemu.ini
emulator: registered 'boot-properties' qemud service
emulator: nand_add_dev: system,size=0x22600000,initfile=/Volumes/androidSpace/android_work/out/target/product/generic/system.img,pagesize=512,extrasize=0
emulator: mapping 'system' NAND image to /tmp/android-deathwillarrive/emulator-2Wyv0t
emulator: nand_add_dev: userdata,size=0xc800000,file=/Users/deathwillarrive/.android/avd/firstAvd.avd/userdata-qemu.img,initfile=/Users/deathwillarrive/.android/avd/firstAvd.avd/userdata.img,pagesize=512,extrasize=0
emulator: registered 'boot-properties' qemud service
emulator: Adding boot property: 'dalvik.vm.heapsize' = '64m'
emulator: Adding boot property: 'qemu.sf.lcd_density' = '320'
emulator: Adding boot property: 'qemu.hw.mainkeys' = '0'
emulator: Adding boot property: 'qemu.sf.fake_camera' = 'none'
emulator: nand_add_dev: cache,size=0x4200000,file=/Users/deathwillarrive/.android/avd/firstAvd.avd/cache.img,pagesize=512,extrasize=0
emulator: Initializing hardware OpenGLES emulation support
emulator: Kernel parameters: qemu.gles=0 qemu=1 console=ttyS0 android.qemud=ttyS1 android.checkjni=1 ndns=1
emulator: Trace file name is not set

emulator: autoconfig: -scale 0.583594
emulator: Could not open file: (null)/system/build.prop: No such file or directory
emulator: control console listening on port 5554, ADB on port 5555
emulator: sent '0012host:emulator:5555' to ADB server
emulator: ping program: /Volumes/androidSpace/android_work/out/host/darwin-x86/bin/./DDSs

उत्पादन अभी जमा देता है क्या कोई 3.4 गोल्डफिश कर्नेल को बनाने के कदमों को जानता है।





android-source