转自:http://blog.csdn.net/mirkerson/article/details/45556403
[FAQ01797]如何用make menuconfig配置kernel
[DESCRIPTION]
配置kernel部分是使用kernel的原生命令make menuconfig即可,但不同的软件版本稍有差别
[KEYWORD]
menuconfig
kernel
[SOLUTION]
${project name}为工程名
ICS/GB版本请在alps代码目录下shell:
./mk ${project name} new /* 在配置kernel前先保证new过,如果已经new过可以省却这步。new后会在kenerl目录
下生成.config,该文件在make menuconfig会用到,如果不存在.config文件则所有的kernel配置都会恢复成默认的 */
cd kernel /* 切换到kernel目录 */
TARGET_PRODUCT=${project name} makemenuconfig /* 使用menuconfig配置,修改选项后保存退出,此时会在
kernel目录下重新生成.config文件 */
将.config复制到mediatek/config/${project name}/autoconfig/kconfig/目录下并重命名为project
重新new kernel和用./mk bootimage即可下载
ICS2以后的版本请在alps代码目录下shell:
./mk ${project name} new /* 在配置kernel前先保证new过,如果已经new过可以省却这步。new后会在kenerl目录
下生成.config,该文件在make menuconfig会用到,如果不存在.config文件则所有的kernel配置都会恢复成默认的 */
cd kernel /* 切换到kernel目录 */
TARGET_PRODUCT=${project name} make O=outmenuconfig /*如果出现../mediatek/build/kernel/Makefile找不
到的错误,请用TARGET_PRODUCT=${project name} KBUILD_OUTPUT_SUPPORT=yes make O=outmenuconfig
配置完后,new kernel,如果还有错误可以用./mk mrproper kernel清除kernel并删除kernel/include/config目录
,然后再new kernel */
将out/.config复制到mediatek/config/${project name}/autoconfig/kconfig/目录下并重命名为project
重新new kernel和用./mk bootimage即可下载
按照《MTK_on_line_FAQ_SW_ALPS_20121114.pdf》上面提供的内容,我试了下面几种:
(1) TARGET_PRODUCT=${hsimobile77_ic2} KBUILD_OUTPUT_SUPPORT=yes makeO=out menuconfig
(2) TARGET_PRODUCT={hsimobile77_ic2} KBUILD_OUTPUT_SUPPORT=yes make O=outmenuconfig
(3) TARGET_PRODUCT=elink8783_tb_n KBUILD_OUTPUT_SUPPORT=yes make O=out menuconfig
例如MTK 8783代码
先编译内核,再menuconfig
./make_project.sh RH_F4L6V elink8783_tb_l1 W8011 kernel
TARGET_PRODUCT=full_elink8783_tb_l1 KBUILD_OUTPUT_SUPPORT=yes make O=out menuconfig
这样也可以make menuconfig:
由于内核配置文件是从这里拷来的:mt8783_src\device\elink\elink8783_tb_l1\elink\W8011\elink8783_tb_l1_debug_defconfig,
先复制到mt8783_src\kernel-3.10/arch/arm64/configs/elink8783_tb_l1_debug_defconfig
cp device/elink/elink8783_tb_l1/elink/W8011/elink8783_tb_l1_debug_defconfig kernel-3.10/arch/arm64/configs/elink8783_tb_l1_debug_defconfig
make -C /home/bill/work/mt8783_ori1121/out/target/product/elink8783_tb_l1/obj/KERNEL_OBJ KBUILD_SRC=/home/bill/work/mt8783_ori1121/kernel-3.10 KBUILD_EXTMOD="" -f /home/bill/work/mt8783_ori1121/kernel-3.10/Makefile elink8783_tb_l1_debug_defconfig ARCH=arm64
make -C /home/bill/work/mt8783_ori1121/out/target/product/elink8783_tb_l1/obj/KERNEL_OBJ KBUILD_SRC=/home/bill/work/mt8783_ori1121/kernel-3.10 KBUILD_EXTMOD="" -f /home/bill/work/mt8783_ori1121/kernel-3.10/Makefile menuconfig ARCH=arm64
后面2种都可以,如下图:
图1