[英]Can't run my goldfish kernel with android emulator
I am trying to compile the goldfish kernel: (is it the right branch? cross-compile toolchain?) 我正在尝试编译goldfish内核:(它是正确的分支吗?交叉编译工具链?)
git clone https://android.googlesource.com/kernel/goldfish
cd goldfish
git checkout -t origin/android-goldfish-3.10 -b android-goldfish-3.10
export ARCH=arm
export SUBARCH=arm
export PATH=/home/mrneumann/kurs/prebuilds/bin:$PATH
export CROSS_COMPILE=arm-eabi-
make goldfish_armv7_defconfig
make
I have zImage
and I am trying to run with the emulator: 我有zImage
并且正在尝试与模拟器一起运行:
emulator -verbose -show-kernel -avd hd4 -no-snapshot -kernel /home/mrneumann/kurs/goldfish/arch/arm/boot/zImage
The emulator starts, but it stops before running my kernel (when I run without option -kernel
, the emulator continues working and the boot animation starts, but in my case the screen is dark and the ADB says "Device offline". 模拟器已启动,但在运行内核之前已停止(当我不带选项-kernel
情况下运行时,模拟器将继续工作并启动动画,但是在我的情况下,屏幕变黑并且ADB表示“设备脱机”。
My AVD is Nexus S, API 15 armeabi-v7a. 我的AVD是Nexus S,API 15 armeabi-v7a。 What did I do wrong? 我做错了什么?
Here is instruction, how to build and run your own goldfish-kernel and kernel for it: 这是有关如何构建和运行自己的金鱼内核和内核的说明:
##build kernel
git clone https://android.googlesource.com/kernel/goldfish
cd goldfish
git checkout -t origin/android-goldfish-3.4 -b android-goldfish-3.4
make ARCH=arm goldfish_armv7_defconfig
make ARCH=arm SUBARCH=arm CROSS_COMPILE=/<path>/prebuilds/bin/arm-eabi-
##build module http://xdshao.com/2018/05/30/Android-exploitation-Build-an-android-kernel-module/
##add to config:
# CONFIG_MODULES is not set
CONFIG_MODULES=y
CONFIG_MODULE_FORCE_LOAD=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
##delete from config
#CONFIG_NF_CONNTRACK_IPV6=y
#CONFIG_IP6_NF_IPTABLES=y
#CONFIG_IP6_NF_FILTER=y
#CONFIG_IP6_NF_TARGET_REJECT=y
#CONFIG_IP6_NF_TARGET_REJECT_SKERR=y
#CONFIG_IP6_NF_MANGLE=y
#CONFIG_IP6_NF_RAW=y
#CONFIG_NETFILTER_XT_MATCH_QTAGUID=y
make clean
make
##run emulator
./emulator -verbose -show-kernel -avd hd4 -engine classic -no-snapshot -kernel /<path>/kurs/zImage
##run module
cd ~/Android/Sdk/platform-tools/
#./adb kill-server
./adb push /<path>/hello.ko /data/local/tmp
./adb shell
cd /data/local/tmp
insmod hello.ko
rmmod hello
rm hello.ko
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.