Megat Sri Rama
CG Top Poster Club

- Messages
- 20,266
- Joined
- Aug 28, 2007
- Messages
- 20,266
- Reaction score
- 507
- Points
- 161
Masalah Linux pun ya, Android pun ya...
Aku tgh nak recompile kernel Android untuk Xperia X8, guna source code dari Sony Ericsson.
Environment : Ubuntu 10.10 over VirtualBox over Windows 7
Aku buat dua folder :
~/android/source/ : untuk source code dari SonyEricsson
~/myandroid/ : untuk source code dari Git repository dari Google (repo init -u git://android.git.kernel.org/platform/manifest.git), ia tak mengandungi source kernel, cuma cabang Platform sahaja, sebab yang penting adalah fail yang ada dalam folder /platform/toolchain seperti compiler.
working directory sewaktu compile adalah di ~/android/source/kernel/
Setting :
export ARCH=arm
export CROSS_COMPILE=arm-eabi-
export PATH=$PATH:~/myandroid/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin
.config aku ambil dari Android 1.6 X10
untuk telefon versi selepas dari 1.6 memang tiada fail /proc/config.gz dalam telefon.
pertama kali, aku compile tanpa ubah apa-apa. Semua OK.
kali kedua, aku make clean, aku ubah pada .config :
1. feature untuk swap support pada kernel
2. tukar processor kepada MSM_72X7
3. ubah board kepada "Shakira" (codename untuk X8)
kemudian aku dapat error ni :
android tu dua kali sebab username linux aku pun android.
aku dah google, tiada satu pun kes ni disebut.
aku dah periksa semua fail (ada 5) yang menyebut kata kunci "semc_gpio_event_matrix_func" semuanya memanggil header file dengan baik... malah aku tukar dari #include <header.file> jadi #include "header.file"
biasanya masalah compile "undefined reference to" dikatakan berkaitan soal linking sama ada dynamic atau static.
bagaimana nak ubah benda tu dalam "makefile" atau "make file" (android_kernel.mk)? bagaimana pula nak link secara statik/dinamik untuk fail ini sahaja...
dalam semua fail di bawah ~/android/sources tu, cuma 5 yang ada sebut "semc_gpio_event_matrix_func"
Fail berwarna merah tidak digunakan, ia untuk handphone SE model lain.
Berikut adalah fail-fail yang terlibat :
Aku tgh nak recompile kernel Android untuk Xperia X8, guna source code dari Sony Ericsson.
Environment : Ubuntu 10.10 over VirtualBox over Windows 7
Aku buat dua folder :
~/android/source/ : untuk source code dari SonyEricsson
~/myandroid/ : untuk source code dari Git repository dari Google (repo init -u git://android.git.kernel.org/platform/manifest.git), ia tak mengandungi source kernel, cuma cabang Platform sahaja, sebab yang penting adalah fail yang ada dalam folder /platform/toolchain seperti compiler.
working directory sewaktu compile adalah di ~/android/source/kernel/
Setting :
export ARCH=arm
export CROSS_COMPILE=arm-eabi-
export PATH=$PATH:~/myandroid/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin
.config aku ambil dari Android 1.6 X10
untuk telefon versi selepas dari 1.6 memang tiada fail /proc/config.gz dalam telefon.
pertama kali, aku compile tanpa ubah apa-apa. Semua OK.
kali kedua, aku make clean, aku ubah pada .config :
1. feature untuk swap support pada kernel
2. tukar processor kepada MSM_72X7
3. ubah board kepada "Shakira" (codename untuk X8)
kemudian aku dapat error ni :
Code:
arch/arm/mach-msm/built-in.o: In function `shakira_gpio_event_matrix_func':
/home/android/android/sources/kernel/arch/arm/mach-msm/board-shakira-keypad.c:90: undefined reference to `semc_gpio_event_matrix_func'
android tu dua kali sebab username linux aku pun android.
aku dah google, tiada satu pun kes ni disebut.
aku dah periksa semua fail (ada 5) yang menyebut kata kunci "semc_gpio_event_matrix_func" semuanya memanggil header file dengan baik... malah aku tukar dari #include <header.file> jadi #include "header.file"
biasanya masalah compile "undefined reference to" dikatakan berkaitan soal linking sama ada dynamic atau static.
bagaimana nak ubah benda tu dalam "makefile" atau "make file" (android_kernel.mk)? bagaimana pula nak link secara statik/dinamik untuk fail ini sahaja...
dalam semua fail di bawah ~/android/sources tu, cuma 5 yang ada sebut "semc_gpio_event_matrix_func"
- /home/android/android/sources/kernel/arch/arm/mach-msm/board-mimmi-keypad.c
- /home/android/android/sources/kernel/arch/arm/mach-msm/board-robyn-keypad.c
- /home/android/android/sources/kernel/arch/arm/mach-msm/board-shakira-keypad.c
- /home/android/android/sources/kernel/drivers/misc/semc/gpio_matrix/semc_gpio_matrix.c
- /home/android/android/sources/kernel/include/linux/semc/gpio_event.h
Fail berwarna merah tidak digunakan, ia untuk handphone SE model lain.
Berikut adalah fail-fail yang terlibat :
Last edited: