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主界面起来了花了二个小时泪奔呀