android2.3.04 lcd framebuffer porting

Device Drivers  --->
Graphics support  --->
<*> Support for frame buffer devices  --->
 Console display driver support  --->
 <*> Framebuffer Console support
 drivers/video/s3c-fb.c
 drivers/video/Makefile
add obj-$(CONFIG_FB_S3C6410)       += s3c-fb.o
 drivers/video/Kconfig
add config FB_S3C6410
 tristate "S3C6410 framebuffer support"
<*> S3C6410 framebuffer support
modify 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,
};

问题:
error: undefined reference to 'cfb_fillrect'
error: undefined reference to 'cfb_copyarea'
error: undefined reference to 'cfb_imageblit'
 
 modify drivers/video/Kconfig
 config FB_CIRRUS
 tristate "Cirrus Logic support"
 #depends on FB && (ZORRO || PCI)
 depends on FB || (ZORRO || PCI)
 select FB_CFB_FILLRECT
 select FB_CFB_COPYAREA
 select FB_CFB_IMAGEBLIT
 ---help---
   This enables support for Cirrus Logic GD542x/543x based boards on
   Amiga: SD64, Piccolo, Picasso II/II+, Picasso IV, or EGS Spectrum.

   If you have a PCI-based system, this enables support for these
   chips: GD-543x, GD-544x, GD-5480.

   Please read the file <file:Documentation/fb/cirrusfb.txt>.

   Say N unless you have such a graphics board or plan to get one
   before you next recompile the kernel.
Graphics support  --->
 <*> Support for frame buffer devices  --->
 <*>   Cirrus Logic support

问题
[    3.240000] Freeing init memory: 176K
[    3.550000] init: cannot open '/initlogo.rle'
[    3.780000] init: cannot find '/system/etc/install-recovery.sh', disabling 'flash_recovery'
[    3.800000] init: untracked pid 50 exited
[    3.800000] init: untracked pid 51 exited
修改init.rc
#on fs
# mount mtd partitions
    # Mount /system rw first to give the filesystem a chance to save a checkpoint
    #mount yaffs2 mtd@system /system
    #mount yaffs2 mtd@system /system ro remount
    #mount yaffs2 mtd@userdata /data nosuid nodev
    #mount yaffs2 mtd@cache /cache nosuid nodev

#on post-fs
    # once everything is setup, no need to modify /
  #  mount rootfs rootfs / ro remount
 
 #service ril-daemon /system/bin/rild
   # socket rild stream 660 root radio
   # socket rild-debug stream 660 radio system
    #user root
    #group radio cache inet misc audio sdcard_rw
 
#service flash_recovery /system/etc/install-recovery.sh
    #oneshot
 
service console /system/bin/sh
    console
    disabled
    #user shell  //root用户进入shell终端
 user root
    group log
定位:内核问题不断重启
General setup  --->
[*] Enable the Anonymous Shared Memory Subsystem
问题没有解决
在init.rc中增加
    setprop net.dns1 8.8.8.8
    setprop net.dns2 8.8.4.4
问题没有解决make clean后在重新编译吧
也不行
最后确定是内核的问题
CONFIG_DEFAULT_MMAP_MIN_ADDR=65536
改为
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
Android主界面起来了花了二个小时泪奔呀

 

你可能感兴趣的:(android,socket,Stream,System,buffer,reference)