Frage Wie man android goldfish 3.4 kernel kompiliert und auf Emulator läuft


Zunächst möchte ich Ihnen sagen, dass ich mit OS X 10.7.5 an MAC arbeite. Ich versuche, Goldfish 3.4 Kernel zu kompilieren und es auf Emulator auszuführen. Es kompiliert in Ordnung, aber wenn ich es starte, öffnet sich der Emulator und friert ein. Wenn ich ein "Top" mache, kann ich sehen, dass der Emulator wie verrückt läuft, aber nichts erscheint auf dem Bildschirm. Hier ist, wie ich den Kernel kompiliert habe

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-

Dann starte ich den Emulator über

./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

Hier ist der letzte Teil der Debug-Ausgabe beim Ausführen des Emulators

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

Der Ausgang friert hier einfach ein. Kennt jemand die Schritte, 3.4 Goldfish Kernel zu bauen.


6
2018-01-22 05:27


Ursprung


Antworten:


Das Ziel "goldfish_defconfig" konfiguriert den Kernel für einen ARM 926, aber der Emulator ist jetzt so konfiguriert, dass er auf Cortex A8 läuft, welches eine armv7-Architektur ist. Sie sollten stattdessen "goldfish_armv7_defconfig" verwenden.

Befolgen Sie diese Schritte, um einen 3.4 Kernel für den Emulator zu erstellen

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-

Dies sollte einen 3.4 Kernel erstellen, den Sie dann so ausführen können (ich nehme an, Ihre Verzeichnisstruktur hat standardmäßig 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

Probier es aus und lass es uns wissen


10
2018-01-22 05:30