编译内核提示“Restart config..”的问题分析和解决

问题现象:

编译内核的时候,已经拷贝默认配置文件到.config,但是在编译的时候依然提示“Restart config..”,而且还要一步步配置内核。

~/Android/allwinner/cqa64_android_v5.1/lichee/linux-3.10$ make -j8
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/conf
scripts/kconfig/conf --silentoldconfig Kconfig
drivers/net/wireless/bcmdhd/Kconfig:50:warning: defaults for choice values not supported
*
* Restart config...
*
*
* General setup
*
Cross-compiler tool prefix (CROSS_COMPILE) [] 
Local version - append to kernel release (LOCALVERSION) [] 
Automatically append version information to the version string (LOCALVERSION_AUTO) [N/y/?] n
Kernel compression mode
> 1. Gzip (KERNEL_GZIP) (NEW)
  2. Bzip2 (KERNEL_BZIP2) (NEW)
  3. LZMA (KERNEL_LZMA) (NEW)
  4. XZ (KERNEL_XZ) (NEW)
  5. LZO (KERNEL_LZO) (NEW)
choice[1-5?]:

问题分析:

一般从出现的错误信息找,全局搜索一下“Restart config”就能找到问题是怎样产生的。

linux-3.10$ grep "Restart config" . -Rn
./scripts/kconfig/conf.c:438:                    printf(_("*\n* Restart config...\n*\n"));
匹配到二进制文件 ./scripts/kconfig/conf
这样可以定位到“scripts/kconfig/conf.c”文件里,这个文件是make menuconfig会自动编译的,属于编译的工具之一。
static void check_conf(struct menu *menu)
{
        struct symbol *sym;
        struct menu *child;

        if (!menu_is_visible(menu))
                return;

        sym = menu->sym;
        if (sym && !sym_has_value(sym)) {
                if (sym_is_changable(sym) ||
                    (sym_is_choice(sym) && sym_get_tristate_value(sym) == yes)) {
                        if (input_mode == listnewconfig) {
                                if (sym->name && !sym_is_choice_value(sym)) {
                                        printf("%s%s\n", CONFIG_, sym->name);
                                }
                        } else if (input_mode != olddefconfig) {
                                if (!conf_cnt++)
                                        printf(_("*\n* Restart config...\n*\n"));
                                rootEntry = menu_get_parent_menu(menu);
                                conf(rootEntry);
                        }
                }
        }

        for (child = menu->list; child; child = child->next)
                check_conf(child);
}
















  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值