razerpen 发表于 2013-10-13 17:27:13

Kernel3.0.8配置问题

本帖最后由 razerpen 于 2013-10-16 19:47 编辑

光盘资料里的Kernel 3.0.8我一个代码没动过,只按视频教程里对make menuconfig进行修改。然后先是出现了一些常量没定义(好像是宽度,高度什么的)。因为看起来像宏定义,我就自己找进去定义了。后来是一个结构体重定义,我就用宏的方法解决了这个问题。后来编译了几分钟又出来什么东西没定义。因为都是小写字母的单词,我不知道它们是做什么用的。而且错误很多,也很乱。

也不用问是什么情况了,估计解决了这个问题又会出新的问题。

我就想知道视频教程里那个好像没什么问题的Kernel 3.0.5怎么样才能搞到。如果下载的话,不知道有没有这个资源,至少用git clone最多只能下载到75%,然后就停住了。

另外,视频里用的Kernel3.0.5和光盘里的3.0.8有5%~10%的不同。可能编译出错是版本不同的原因。如果可以,我还想问问3.0.8该怎么设置。

TQ-ZQL 发表于 2013-10-14 10:05:30

本帖最后由 TQ-ZQL 于 2013-10-14 10:06 编辑

以手册为准,将你的做法写一下,将错误也发一下

亚瑟王 发表于 2013-10-14 10:37:47

宽度高度的问题主要是你的终端的框不够大,全屏了就可以。
至于别的,请以TQ210的使用手册为准。
视频仅仅是教学用。教会过程。
实际用的源码、镜像、编译方法以使用手册为准。

razerpen 发表于 2013-10-14 20:12:26

我已将源码删掉,现在还没有重做。不过之前已经重做了三次了。这个论坛里有一个人问题和我一样。

arch/arm/mach-s5pv210/mach-smdkv210.c:191: error: variable 'smdkv210_fb_win0' has initializer but incomplete type
arch/arm/mach-s5pv210/mach-smdkv210.c:192: error: unknown field 'win_mode' specified in initializer
arch/arm/mach-s5pv210/mach-smdkv210.c:192: error: extra brace group at end of initializer
arch/arm/mach-s5pv210/mach-smdkv210.c:192: error: (near initialization for 'smdkv210_fb_win0')
arch/arm/mach-s5pv210/mach-smdkv210.c:201: warning: excess elements in struct initializer
arch/arm/mach-s5pv210/mach-smdkv210.c:201: warning: (near initialization for 'smdkv210_fb_win0')
arch/arm/mach-s5pv210/mach-smdkv210.c:202: error: unknown field 'max_bpp' specified in initializer
arch/arm/mach-s5pv210/mach-smdkv210.c:202: warning: excess elements in struct initializer
arch/arm/mach-s5pv210/mach-smdkv210.c:202: warning: (near initialization for 'smdkv210_fb_win0')
arch/arm/mach-s5pv210/mach-smdkv210.c:203: error: unknown field 'default_bpp' specified in initializer
arch/arm/mach-s5pv210/mach-smdkv210.c:203: warning: excess elements in struct initializer
arch/arm/mach-s5pv210/mach-smdkv210.c:203: warning: (near initialization for 'smdkv210_fb_win0')
arch/arm/mach-s5pv210/mach-smdkv210.c:206: error: variable 'smdkv210_lcd0_pdata' has initializer but incomplete type
arch/arm/mach-s5pv210/mach-smdkv210.c:207: error: unknown field 'win' specified in initializer
arch/arm/mach-s5pv210/mach-smdkv210.c:207: warning: excess elements in struct initializer
arch/arm/mach-s5pv210/mach-smdkv210.c:207: warning: (near initialization for 'smdkv210_lcd0_pdata')
arch/arm/mach-s5pv210/mach-smdkv210.c:208: error: unknown field 'vidcon0' specified in initializer
arch/arm/mach-s5pv210/mach-smdkv210.c:208: error: 'VIDCON0_VIDOUT_RGB' undeclared here (not in a function)
arch/arm/mach-s5pv210/mach-smdkv210.c:208: error: 'VIDCON0_PNRMODE_RGB' undeclared here (not in a function)
arch/arm/mach-s5pv210/mach-smdkv210.c:208: warning: excess elements in struct initializer
arch/arm/mach-s5pv210/mach-smdkv210.c:208: warning: (near initialization for 'smdkv210_lcd0_pdata')
arch/arm/mach-s5pv210/mach-smdkv210.c:209: error: unknown field 'vidcon1' specified in initializer
arch/arm/mach-s5pv210/mach-smdkv210.c:209: error: 'VIDCON1_INV_HSYNC' undeclared here (not in a function)
arch/arm/mach-s5pv210/mach-smdkv210.c:209: error: 'VIDCON1_INV_VSYNC' undeclared here (not in a function)
arch/arm/mach-s5pv210/mach-smdkv210.c:209: warning: excess elements in struct initializer
arch/arm/mach-s5pv210/mach-smdkv210.c:209: warning: (near initialization for 'smdkv210_lcd0_pdata')
arch/arm/mach-s5pv210/mach-smdkv210.c:210: error: unknown field 'setup_gpio' specified in initializer
arch/arm/mach-s5pv210/mach-smdkv210.c:210: error: 's5pv210_fb_gpio_setup_24bpp' undeclared here (not in a function)
arch/arm/mach-s5pv210/mach-smdkv210.c:210: warning: excess elements in struct initializer
arch/arm/mach-s5pv210/mach-smdkv210.c:210: warning: (near initialization for 'smdkv210_lcd0_pdata')
arch/arm/mach-s5pv210/mach-smdkv210.c: In function 'smdkv210_machine_init':
arch/arm/mach-s5pv210/mach-smdkv210.c:342: error: implicit declaration of function 's3c_fb_set_platdata'
make: *** Error 1
make: *** Error 2
我也是这个问题。
另外,Kernel3.0.8和Kernel3.0.5的make menuconfig选单有些不同。主要是多出来一些功能。但是视频里的步骤我已经重做两次了,没有一点起色。
还有就是那个帖子有人回说没有用到mach-smdkv210.c。
另外,我还看到一个奇怪的源文件vmlinux.c也出过错。可能和他的win-mode那条错误是相近的。

razerpen 发表于 2013-10-14 20:19:21

亚瑟王 发表于 2013-10-14 10:37 static/image/common/back.gif
宽度高度的问题主要是你的终端的框不够大,全屏了就可以。
至于别的,请以TQ210的使用手册为准。
视频仅仅 ...

你不会以为我那个错误是终端不够大,进不了make menuconfig吧。如果这样,我怎么还能照着视频里的设置呢?
我的问题是安卓内核源码出现奇怪的编译错误。怀疑视频里的教程不适用于Kernel3.0.8,或者因为视频里是用的Linux服务器新建一个用户,所以有些共用的东西就算他不装也能用。而我的Ubuntu是新的,可能会有一些东西不一样。
还有一个问题?内核编译完成后,得到的镜像和光盘里的出厂镜像是同一个东西吗?

razerpen 发表于 2013-10-14 20:42:52

TQ-ZQL 发表于 2013-10-14 10:05 static/image/common/back.gif
以手册为准,将你的做法写一下,将错误也发一下

我将Kernel3.0.8(光盘里的那个)解压到/opt/EmbedSky/Kernel/。
然后打开视频,一步一步地照着做。
发现make menuconfig中比视频里多出少量选项,比如选择平台的时候视频好像是smdkv210,我的多出一个tq210。为了保持一致,我和视频里选的同一个选项。我用的是TQ210开发板,但是因为是为了学习内核编译,并没打算真的运行这个内核,所以我没选TQ210,而是和视频选的一样。
之后又多出来一些选项,不过视频里的选项总能找到,我就没管它。
编译的时候,第一次因为没设置编译器,出现了视频中相同的错误。
改正后,视频里又出了一次编译错误,但是我没有遇到,而是遇到了另一个错误:一大堆的看起来像宏的没有定义,第二个和第三个看起来像是宽度和高度。我就进入那个文件,定义一个主要的宏,解决了这个问题。
随后就变得一发不可收拾,我又处理了一个结构体重定义的问题(结构体的名字要等我下次有时间的时候再做一次才知道)
最后,又是一些变量没定义。我就不想再搞下去了。
我想,这些问题应该是make menuconfig没配置正确。所以我想问下正确的配置Kernel 3.0.8的方法。
或者如果你说这是因为我用虚拟机编译才会出错。——没错,我用虚拟机编译完安卓用了两个下午。然后准备编译内核。发现手册里没有内核编译的教程,才选择看视频。结果坑爹的视频教程用的是3.0.5,光盘给的是3.0.8。
要是因为虚拟机的关系,我只能放弃安卓,转战Win CE了。因为该死的Ubuntu把我的电脑搞崩溃了,害得我一整天都在装系统。而且每次装UBUNTU都会有不一样的问题。有时候是中文不正常,有时候是重启一两次后就不能正常启动。
内核编译对我来说很重要,因为我打算做工业控制的,看好安卓的界面和开源特点,才学安卓。不能编译内核,安卓系统对我来说就没有意义。

亚瑟王 发表于 2013-10-15 10:01:10

razerpen 发表于 2013-10-14 20:19 static/image/common/back.gif
你不会以为我那个错误是终端不够大,进不了make menuconfig吧。如果这样,我怎么还能照着视频里的设置呢? ...

一般情况下出现宽度不够的说明的时候就是终端过小引起的,有时候我的电脑无意中缩小了终端也会出现这样的报错的。

亚瑟王 发表于 2013-10-15 10:09:42

razerpen 发表于 2013-10-14 20:42 static/image/common/back.gif
我将Kernel3.0.8(光盘里的那个)解压到/opt/EmbedSky/Kernel/。
然后打开视频,一步一步地照着做。
发现 ...

在三楼我也说过了,视频仅供参考,实际的请参考TQ210的使用手册。
毕竟我们的光盘在不断更新中,资料的版本也在不断的变化。没办法做到视频和实际代码同步,所以请以对应资料光盘中的使用手册为准。视频仅仅是辅助教程,引导你学会如何解压源码、配置源码等步骤和实际操作。
配置选项:第一版的源码用的是smdkv210,第二部开始就更新为tq210了。在我们提供的内核源码中都有对应的配置单的,按照使用手册直接用配置单就可以了,如果要学习如何配置,建议挨个配置选项看一遍,特别是这个配置选项的help资料。

razerpen 发表于 2013-10-16 19:45:26

亚瑟王 发表于 2013-10-15 10:09 static/image/common/back.gif
在三楼我也说过了,视频仅供参考,实际的请参考TQ210的使用手册。
毕竟我们的光盘在不断更新中,资料的版 ...

谢谢,已经找到了。
手册里的那段文字藏得很深,我一开始都没发现。
建议专门针对新手出一个有顺序的教程,毕竟写在半中间的地方很不好找。如果不去找,谁会想到Android内核的编译会在开发板使用手册,而不是Android开发手册里。而且我也不知道按什么顺序去阅读会比较顺利。

razerpen 发表于 2013-10-16 20:00:08

razerpen 发表于 2013-10-16 19:45 static/image/common/back.gif
谢谢,已经找到了。
手册里的那段文字藏得很深,我一开始都没发现。
建议专门针对新手出一个有顺序的教 ...

还有一件事情想不通:你们没事干嘛把默认的配置单重命名保存啊。如果是为了存档,用户可以自己去存。而且有光盘在,根本不需要特别保存一个副本。如果用户不想用那个配置单,也可以自己删除。
难道配置单在第一次设置以后会导致整个文件夹里的东西无法还原了吗?

亚瑟王 发表于 2013-10-17 10:04:48

razerpen 发表于 2013-10-16 20:00 static/image/common/back.gif
还有一件事情想不通:你们没事干嘛把默认的配置单重命名保存啊。如果是为了存档,用户可以自己去存。而且 ...

众口难调,使用手册里面讲解了配置单的位置的,也讲解了如何配置的,看了就知道了。
页: [1]
查看完整版本: Kernel3.0.8配置问题