S3C6410 移植Android 内核
2010-05-31 17:35:00 来源:WEB开发网6.修改Linux kernel 源码
下载的kernel 文件是不支持smdk6400 开发板的,必须加入smdk6400 的配置文件到kernel 中,同时修改Kconfig 和Makefile 文件。
修改如下:
1> 选择 /arch/arm/mach-s3c2410/Makefile.boot 改为下面内容,
zreladdr-$(CONFIG_PLAT_S3C24XX) := 0x30008000
params_phys-$(CONFIG_PLAT_S3C24XX) := 0x30000100
zreladdr-$(CONFIG_PLAT_S3C64XX) := 0x50008000
params_phys-$(CONFIG_PLAT_S3C64XX) := 0x50000100
2> 从成熟的smdk6400 平台文件中拷贝下面文件到kernel 目录
/arch/arm/mach-s3c6400
/drivers/serial/s3c6400.c
/drivers/input/touchscreen/s3c-ts.c
/drivers/usb/gadget
3> 拷贝/drivers/android/ashmem.c 文件到相应目录下从另外的android kernel (The Android source code for 2.6.23 不包含此文件)
4> 修改相应的Kconfig 和Makefile 文件,使最终能编译到加载的smdk6400 文件。
7.配置Linux kernel
修改kernel 后进行配置,用到第2 步的编译工具
$ cd
$ make CROSS_COMPILE=
menuconfig
这时进入kernel 配置画面,注意配置Initramfs source file 选项指定到initial_ram_disk 文件。
8.修改root file system
配置Touchscreen 使之能正常工作, initial_ram_disk 文件下修改/etc/init.rc,加入下面内容
TSLIB_CONSOLEDEVICE none
TSLIB_FBDEVICE /dev/graphics/fb0
TSLIB_TSDEVICE /dev/input/ts0
TSLIB_CALIBFILE /etc/pointercal
TSLIB_CONFFILE /etc/ts.conf
TSLIB_PLUGINDIR /lib/ts
9. 编译Linux kernel
$ make CROSS_COMPILE=
zImage
编译成功,在arch/arm/boot 下面是生成的zImage 文件。
10.下载kernel image
进入Windows 系统,下载过程在Windows 系统中完成。
更多精彩
赞助商链接