ошибка после сборки исходного кода Linux для Android - PullRequest
0 голосов
/ 19 марта 2011

Я скомпилировал исходный код ядра Linux для Android. После создания источника я получил ошибку,

то есть после

$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". Я попытался запустить эмулятор с образом из архива / 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# 

Я не понимаю, где я делаю неправильно, я сделал что-то глупое, пожалуйста, кто-нибудь, скажите, как я могу решить это? спасибо!

1 Ответ

1 голос
/ 23 марта 2011

Вы можете попробовать запустить:

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 напрямую?

...