其中路径不用说了,要换,cpu有x个核心就make -jx。
然后等待编译完成。
然后还要build
modules,因为一些模块的驱动编译成模块了,而且放到了initramfs里。参考以下脚本,很简单,应该都能看懂,如果没改这些驱动不更新也可以。
#!/bin/sh
myinitramfs="/media/workplace_ext4/initram"
compiler="/media/5CA4D4B1A4D48F40/GS2_kernel/arm-2009q3/bin/arm-none-linux-gnueabi-"
#rm -rf ${myinitramfs}/lib/modules/*.ko
cp drivers/bluetooth/bthid/bthid.ko
${myinitramfs}/lib/modules/bthid.ko
cp drivers/net/wireless/bcm4330/Desire HD.ko
${myinitramfs}/lib/modules/Desire HD.ko
cp drivers/samsung/j4fs/j4fs.ko
${myinitramfs}/lib/modules/j4fs.ko
cp drivers/samsung/fm_si4709/Si4709_driver.ko
${myinitramfs}/lib/modules/Si4709_driver.ko
cp drivers/scsi/scsi_wait_scan.ko
${myinitramfs}/lib/modules/scsi_wait_scan.ko
cp drivers/samsung/vibetonz/vibrator.ko
${myinitramfs}/lib/modules/vibrator.ko
cp drivers/media/video/gspca/gspca_main.ko
${myinitramfs}/lib/modules/gspca_main.ko
cp drivers/staging/android/logger.ko
${myinitramfs}/lib/modules/logger.ko
cp fs/cifs/cifs.ko ${myinitramfs}/lib/modules/cifs.ko
cp fs/lockd/lockd.ko ${myinitramfs}/lib/modules/lockd.ko
cp fs/nfs/nfs.ko ${myinitramfs}/lib/modules/nfs.ko
cp net/sunrpc/auth_gss/auth_rpcgss.ko
${myinitramfs}/lib/modules/auth_rpcgss.ko
cp net/sunrpc/auth_gss/rpcsec_gss_krb5.ko
${myinitramfs}/lib/modules/rpcsec_gss_krb5.ko
cp net/sunrpc/sunrpc.ko ${myinitramfs}/lib/modules/sunrpc.ko
chmod 644 ${myinitramfs}/lib/modules/*.ko
#add -march=armv7-a -mtune=cortex-a9 -mfpu=neon to Makefile
KBUILD_CFLAGS
make -j `cat /proc/cpuinfo |grep -c ^processor`
EXTRA_AFLAGS=-mfpu=neon ARCH=arm CROSS_COMPILE=${compiler}
INSTALL_MOD_PATH=${myinitramfs}
CONFIG_INITRAMFS_SOURCE=${myinitramfs} CONFIG_INITRAMFS_ROOT_UID=0
CONFIG_INITRAMFS_ROOT_GID=0
然后打包/arch/arm/boot/zImage:tar cvf GT-I9100_Kernel.tar
zImage就可以用odin刷内核了。
如果能启动,但某些模块有问题需要调试,可以在android里安装一个终端,执行dmesg可以看内核输出的信息(就是代码里的printk的输出信息)。