不久前,买了一块天嵌E8的板,拿到资料后就试着编译一下所给的内核源码。
解压,进入源码目录,发现没有.config文件。于是:
#cp config_for_E8_Linux .config
然后,#make zImage
编译内核时,会出现这样的一个错误:
drivers/media/video/samsung/tv20/s5p_stda_grp.c: In function 's5ptvfb_set_par':
drivers/media/video/samsung/tv20/s5p_stda_grp.c:598:12: error: lvalue required as left operand of assignment
make[5]: *** [drivers/media/video/samsung/tv20/s5p_stda_grp.o] Error 1
make[4]: *** [drivers/media/video/samsung/tv20] Error 2
make[3]: *** [drivers/media/video/samsung] Error 2
make[2]: *** [drivers/media/video] Error 2
make[1]: *** [drivers/media] Error 2
make: *** [drivers] Error 2
看到这样的错误,怎么办?
1、进入出错文件:
#vi drivers/media/video/samsung/tv20/s5p_stda_grp.c +598
找到以下两处,分别作如下修改:
添加585行,修改597-601行
就这样修改完了,继续
#make zImage
等……呀……等……
AS arch/arm/boot/compressed/lib1funcs.o
LD arch/arm/boot/compressed/vmlinux
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready
zeng@zeng-linux:~/TQ210/Kernel_3.0.8_E8_for_Linux$
终于出现了熟悉又令人兴奋的几行了,恭喜你!
至于为什么要这样子改?
其实我也只是参考别人的源码,遇到这样的问题,网上一搜,只见论坛博客上有人问没人答,于是就决定写一篇来博客来分享分享。
CSDN处子作,水平有限,先凑合用着,详解后续补充!