android_kernel_cross_compile

 1.download android_kernel from http://source.android.com/source/downloading.html
git clone https://android.googlesource.com/kernel/samsung.git
check out to get android kernel
 1)git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/android-samsung-2.6.35-gingerbread
  remotes/origin/android-samsung-3.0-ics-mr1
  remotes/origin/master
  2)git checkout -b android-samsung-2.6.35-gingerbread  origin/android-samsung-2.6.35-gingerbread
2.cross compile
samsung$ ./cc
------------------
#!/bin/bash
export ARCH=arm
export CROSS_COMPILE=android2.3.4_32bit/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-
echo "begin set env ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE"
make smdk6410_android_defconfig
make zImage -j4
----------------------
Play patch
arch_arm_plat-samsung_pm.c.patch
drivers_serial_samsung.c.patch
3.config for ANDROID
1)device Drivers  --->
[*] Staging drivers  --->   
   Android  --->
[*] Android Drivers                                                                        
[*]   Android Binder IPC Driver                                                             
<*>   Android log driver                                                                   
[*]   Android RAM buffer console                                                           
[ ]     Enable verbose console messages on Android RAM console                             
[*]     Android RAM Console Enable error correction  --->                                  
[ ]     Start Android RAM console early                                                    
[*]   Timed output class driver (NEW)                                                      
<*>     Android timed gpio driver                                                           
[*]   Android Low Memory Killer  
2) Power management options  --->
[*] Wake lock                                                                              
[*]   Wake lock stats (NEW)                                                                
[*]   Userspace wake locks (NEW)                                                            
[*]   Early suspend (NEW)   
3) General setup  --->
[*] Enable the Anonymous Shared Memory Subsystem       
4.add DM9000 and NFS support
change:mach-smdk6410.c
  [*] Networking support  --->
   Networking options  --->
   <*> Packet socket
   <*> Unix domain sockets
  [*] TCP/IP networking     
  [*]   IP: kernel level autoconfiguration
  /********DM9000*************/
   Device Drivers  --->
   [*] Network device support  --->     
   [*]   Ethernet (10 or 100Mbit)  --->      
   <*>   DM9000 support   
  /********NFS*************/
  File systems  --->      
 [*] Network File Systems  --->
 <*>   NFS client support
 [*]     Root file system on NFS
 ----------------------------------------
 5.add S3C_FB
 change:mach-smdk6410.c
 static struct s3c_fb_pd_win smdk6410_fb_win0 = {
 /* this is to ensure we use win0 */
 .win_mode = {
  .pixclock = 41094,
  .left_margin = 2,
  .right_margin = 2,
  .upper_margin = 2,
  .lower_margin = 2,
  .hsync_len = 41,
  .vsync_len = 10,
  .xres  = 480,
  .yres  = 272,
 },
 .max_bpp = 32,
 .default_bpp = 16,
};
patching file drivers/video/Makefile
patching file drivers/video/Kconfig
Device Drivers  --->     
Graphics support  --->                                                                                                                                 
 <*> Support for frame buffer devices  --->
 <*>   Samsung S3C framebuffer support 
 Console display driver support  --->
 <*> Framebuffer Console support
 6.add POWER_SUPPLY
   Device Drivers  --->       
<*> Power supply class support  --->  
solve init: untracked pid n exited problem
6.add input device ts&key
patching file drivers/input/touchscreen/s3c2410_ts.c
patching file mach-smdk6410.c_gpio_keys.patch
  Device Drivers 
  Input device support  --->
   <*>   Event interface                                                                      
   [*]   Keyboards  --->  
   <*>   GPIO Buttons      
   [*]   Touchscreens  --->       
   <*>   Samsung S3C2410/generic touchscreen input driver  
7.add led to indicate
patching file mach-smdk6410.c_leds.patch
  Device Drivers  ---> 
  [*] LED Support  --->
  <*>   LED Class Support
  <*>     LED Support for GPIO connected LEDs    
  [*]     LED Trigger support       
  <*>       LED Heartbeat Trigger   
8.add audio device
patching file mach-smdk6410.c_audio.patch
patching file sound_soc_s3c24xx_Kconfig.patch
patching file sound/soc/s3c24xx/Makefile
patching file sound_soc_s3c24xx_s3c-dma.c.patch
patching file sound_soc_s3c24xx_s3c-i2s-v2.c.patch
   Device Drivers  --->
   <*> Sound card support  --->                                                               
   <*>   Advanced Linux Sound Architecture  --->  
   <*>   ALSA for SoC audio support  --->  
   <*>   SoC Audio for the Samsung S3CXXXX chips                                                 
   <*>   SoC AC97 Audio support for SMDK with WM9713                                          
9.add nand device
patching file mach-smdk6410.c_nand.patch
patching file drivers_mtd_nand_nand_base.c.patch
patching file arch_arm_plat-samsung_dev-nand.c.patch
 Device Drivers  --->
  <*> Memory Technology Device (MTD) support  --->
  [*]   MTD partitioning support
  <*>   Caching block device access to MTD devices
  <*>   NAND Device Support  --->
  <*>   NAND Flash support for Samsung S3C SoCs 
  [*]     Samsung S3C NAND Hardware ECC   
10. add yaffs2 filesystem support
 File systems  --->
 [*] Miscellaneous filesystems  --->
 <*>   YAFFS2 file system support 
11. add rtc device
 patch file drivers_rtc_rtc-s3c.c.patch
 change drivers/rtc/Makefile
 obj-$(CONFIG_RTC_DRV_S3C)       += rtc-s3c.o
  Device Drivers  --->
   <*> Real Time Clock  --->
   <*>   Samsung S3C series SoC RTC
   
 setenv ipaddr 10.50.25.20
setenv bootargs root=nfs nfsroot=10.50.25.10:/home/nfsdir ip=10.50.25.20 init=/init console=ttySAC0,115200

setenv bootcmd tftp 0xc0008000 zImage\;bootm 0xc0008000

setenv bootcmd nand read 50008000 100000 500000\;bootm 50008000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值