【问题标题】:error after building Linux source code for android为 android 构建 Linux 源代码后出错
【发布时间】:2011-07-18 19:12:10
【问题描述】:

我已经为 android 编译了 Linux 内核源代码。构建源代码后出现错误,

也就是在

之后
$ARCH=arm CROSS_COMPILE=/path/to/mydroid/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- make

我明白了:

  CALL    scripts/checksyscalls.sh
  CHK     include/linux/compile.h
 Kernel: arch/x86/boot/bzImage is ready  (#1)
  Building modules, stage 2.
  MODPOST 2283 modules
WARNING: modpost: Found 1 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'

所以我做了以下:

root@ubuntu:~/common# make CONFIG_DEBUG_SECTION_MISMATCH=y
  CHK     include/linux/version.h
  CHK     include/linux/utsrelease.h

即使在这之后我得到了相同的输出

root@ubuntu:~/common# make
  CHK     include/linux/version.h
  CHK     include/linux/utsrelease.h
  SYMLINK include/asm -> include/asm-x86
  CALL    scripts/checksyscalls.sh
  CHK     include/linux/compile.h
Kernel: arch/x86/boot/bzImage is ready  (#3)
  Building modules, stage 2.
  MODPOST 2283 modules
WARNING: modpost: Found 1 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'

实际输出应该是

 Kernel: arch/arm/boot/Image is ready
 Kernel: arch/arm/boot/zImage is ready

我也多次执行“make”命令,现在arch/arm/boot/目录下没有“image”了。我尝试使用来自 arch/x86/boot 的映像运行模拟器,但这不起作用。它给了我一个错误。 实际的命令是

./emulator -avd my_avd -kernel ~/common/arch/arm/boot/zImage -show-kernel -verbose

现在,因为我在 /arch/arm/boot 中没有任何图像,所以我做了:

root@ubuntu:~/android-sdk-linux_x86/tools# ./emulator -avd avd1.5 -kernel ~/common/arch/x86/boot/bzImage -show-kernel -verbose

我得到了这个错误:

emulator: control console listening on port 5554, ADB on port 5555
emulator: can't connect to ADB server: Connection refused
emulator: ping program: /home/preetam/android-sdk-linux_x86/tools/ddms
emulator: ping command: /home/preetam/android-sdk-linux_x86/tools/ddms ping emulator 10.0
Unknown cp14 write op1:6 crn:0 crm:8 op2:6
qemu: fatal: Trying to execute code outside RAM or ROM at 0xff91c756

R00=00000000 R01=000005a1 R02=00000100 R03=00000000
R04=00000000 R05=00000000 R06=00000000 R07=00000000
R08=00000000 R09=00000000 R10=00000000 R11=00000000
R12=00000000 R13=00000000 R14=00010010 R15=ff91c756
PSR=400001f3 -Z-- T svc32
Aborted
root@ubuntu:~/android-sdk-linux_x86/tools# 

我不明白我在哪里做错了,我做了一些愚蠢的事情,请有人告诉我该如何解决这个问题。? 谢谢!

【问题讨论】:

  • 这与编程无关。最好在 superuser.com 或其他更相关的 stackexhange 部分下提出此类问题。

标签: build-process android-emulator makefile linux-kernel cross-compiling


【解决方案1】:

你可以试试跑:

ARCH=arm CROSS_COMPILE=/path/to/mydroid/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- make CONFIG_DEBUG_SECTION_MISMATCH=y

这样 make 使用 ARM 设置运行

另外,您正在编译哪个内核版本?你从哪里得到这个内核的?为什么不能直接使用 Android 项目中的内核?

【讨论】:

  • 我得到了它:root@ubuntu:~/common# ARCH=arm CROSS_COMPILE=~/mydroid/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm -eabi- 制作
  • 请帮我解决这个问题:: superuser.com/questions/260417/…
  • 我已经在编译的内核中启用了完整的 netfilter 支持。我无法在 android 模拟器中加载 zImage,请帮助我。
  • 最好为此打开一个新问题。不确定我会对此有多大帮助,但会有其他人可能会提供帮助。此外,发布启动错误日志也会有所帮助:)
  • 这是我的错误,我编译了 eclair 图像并尝试将其放入纸杯蛋糕模拟器中。现在,我再次完成了整个构建过程,我可以成功地将图像加载到模拟器中。并感谢您的帮助。
猜你喜欢
  • 2019-11-10
  • 2011-06-17
  • 1970-01-01
  • 2022-01-18
  • 1970-01-01
  • 1970-01-01
  • 2017-05-23
  • 2021-01-31
  • 2016-07-03
相关资源
最近更新 更多