精华内容
下载资源
问答
  • make menuconfig
    2021-09-18 17:53:07

    1.和make menuconfig 相关的

    1–> Makefile 编译规则 ---------------(相当于)做饭的方法
    2–> Kconfig 内核配置选项-------------(相当于)菜单
    3–>.config 配置完成后的项 --------- (相当于)点好的饭菜

    2.当make menuconfig退出后,Linux会将所有配置以宏的形式保存在nclude/generated/autoconf.h

    更多相关内容
  • 自己整理的openwrt编译make menuconfig配置 使用说明: make menuconfig直接按照表格一选择即可,选项按颜色设定 白色字体项可以不选,为附加功能,按需选择 黑色字体项在配置里部分项默认选中,带标注的按需...
  • linux内核make menuconfig执行过程

    千次阅读 2022-02-12 10:58:45
    近两年一直有着写linux内核相关的想法,比如从Makefile执行 make menuconfigmake,到x86架构的引导启动过程。由于网上有较多相关的文章,便有些羞涩于自己动手写。现在想着无论自己水平如何,用自己的思路去追溯...

      近两年一直有着写linux内核相关的想法,比如从Makefile执行 make menuconfig、make,到x86架构的引导启动过程。由于网上有较多相关的文章,便有些羞涩于自己动手写。现在想着无论自己水平如何,用自己的思路去追溯代码并记录代码,应该强于融入别人的思想。
      本次采用5.9版本内核,通过代码分析、strace跟踪等形式按照自己的理解来写,写的不对的地方请跳过。

    make menuconfig

      示例在x86_64架构的Centos8.2虚拟机中进行,现在开始进入正题。
      打开Makefile文件:

    # SPDX-License-Identifier: GPL-2.0
    VERSION = 5
    PATCHLEVEL = 9
    SUBLEVEL = 0
    EXTRAVERSION =
    NAME = Kleptomaniac Octopus
    

      在开始的地方定义了linux版本信息,这些将在后面多次使用。

      …

    $(if $(filter __%, $(MAKECMDGOALS)), \
              $(error targets prefixed with '__' are only for internal use))
    

      MAKECMDGOALS属执行make时传入的参数(暂存到这个变量),比如输入make test,将会匹配到,执行 $(error targets prefixed with ‘__’ are only for internal use)),导致make停止执行

      …

     PHONY := __all
       __all:
    

      当make时没有传入参数规则,将默认执行__all流程

      …

    ifneq ($(sub_make_done),1)
    

      判断子级make配置是否完成,如果还没有完成执行条件内的语句

      …

    unexport LC_ALL
    LC_COLLATE=C
    LC_NUMERIC=C
    export LC_COLLATE LC_NUMERIC
    

      不让LC_ALL变量传入子级make(使用),传入LC_COLLATE LC_NUMERIC

      …

    ifeq ("$(origin V)", "command line")
      KBUILD_VERBOSE = $(V)
    endif
    ifndef KBUILD_VERBOSE
      KBUILD_VERBOSE = 0
    endif
    

      如果KBUILD_VERBOSE等于0,则上述命令将被隐藏;如果KBUILD_VERBOSE等于1,则显示上述命令;如果KBUILD_VERBOSE等于2,请给出重建每个目标的原因。
      这里默认执行KBUILD_VERBOSE = 0(quiet=quiet_,Q = @,只打印执行结果)

      …

    export quiet Q KBUILD_VERBOSE
    

      quiet Q KBUILD_VERBOSE变量传入子级make(使用)

      …

    ifeq ("$(origin O)", "command line")
      KBUILD_OUTPUT := $(O)
    endif
    
    ifneq ($(KBUILD_OUTPUT),)
    # Make's built-in functions such as $(abspath ...), $(realpath ...) cannot
    # expand a shell special character '~'. We use a somewhat tedious way here.
    abs_objtree := $(shell mkdir -p $(KBUILD_OUTPUT) && cd $(KBUILD_OUTPUT) && pwd)
    $(if $(abs_objtree),, \
         $(error failed to create output directory "$(KBUILD_OUTPUT)"))
    
    

      通过(make) O=指定输出目录或者通过KBUILD_OUTPUT变量,O=优先级高级KBUILD_OUTPUT变量,默认值为当前目录

      …

    abs_srctree := $(realpath $(dir $(lastword $(MAKEFILE_LIST))))
    

      abs_srctree得到Makefile绝对路径(由MAKEFILE_LIST变量经过 lastword、dir、realpath执行得到)

      …

    ifneq ($(abs_srctree),$(abs_objtree))
    
    MAKEFLAGS += --include-dir=$(abs_srctree)
    need-sub-make := 1
    endif
    

      在make menuconfig中abs_srctree与abs_objtree相同,未设置need-sub-make,need-sub-make=0

      …

    this-makefile := $(lastword $(MAKEFILE_LIST))
    

      this-makefile=Makefile

      …

    export sub_make_done := 1
    

      子级make配置完成

      …

    ifeq ($(need-sub-make),1)
    PHONY += $(MAKECMDGOALS) __sub-make
    
    $(filter-out $(this-makefile), $(MAKECMDGOALS)) __all: __sub-make
            @:
    
    __sub-make:
            $(Q)$(MAKE) -C $(abs_objtree) -f $(abs_srctree)/Makefile $(MAKECMDGOALS)
    ...
    

      上述说过need-sub-make=0,这里的分支将不执行(不执行子级Makefile)

      …

    ifeq ($(need-sub-make),)
    
    MAKEFLAGS += --no-print-directory
    

      进入分支,设置输出信息

      …

    ifeq ("$(origin C)", "command line")
      KBUILD_CHECKSRC = $(C)
    endif
    ifndef KBUILD_CHECKSRC
      KBUILD_CHECKSRC = 0
    endif
    

      使用“make C=1”只允许检查重新编译的文件,使用“make C=2”来启用对所有源文件的检查;这里为0,执行KBUILD_CHECKSRC = 0

      …

    ifeq ("$(origin M)", "command line")
      KBUILD_EXTMOD := $(M)
    endif
    
    $(if $(word 2, $(KBUILD_EXTMOD)), \
            $(error building multiple external modules is not supported))
    
    export KBUILD_CHECKSRC KBUILD_EXTMOD
    

      设置外部模块(.ko)目录

      …

    extmod-prefix = $(if $(KBUILD_EXTMOD),$(KBUILD_EXTMOD)/)
    

      extmod-prefix默认为空

      …

    ifeq ($(abs_srctree),$(abs_objtree))
            # building in the source tree
            srctree := .
            building_out_of_srctree :=
    else
            ifeq ($(abs_srctree)/,$(dir $(abs_objtree)))
                    # building in a subdirectory of the source tree
                    srctree := ..
            else
                    srctree := $(abs_srctree)
            endif
            building_out_of_srctree := 1
    endif
    

      abs_srctree与abs_objtree目录相同,srctree为当前目录,building_out_of_srctree为空

      …

    objtree         := .
    VPATH           := $(srctree)
    

      objtree为当前目录,VPATH为空

      …

    export building_out_of_srctree srctree objtree VPATH
    

      building_out_of_srctree srctree objtree VPATH变量传入子级make(使用)

      …

    version_h := include/generated/uapi/linux/version.h
    old_version_h := include/linux/version.h
    
    clean-targets := %clean mrproper cleandocs
    ...
    

      定义version_h、old_version_h路径,clean-targets清除规则等配置

      …

    ifeq ($(KBUILD_EXTMOD),)
            ifneq ($(filter %config,$(MAKECMDGOALS)),)
                    config-build := 1
                    ifneq ($(words $(MAKECMDGOALS)),1)
                            mixed-build := 1
                    endif
            endif
    endif
    

      默认config-build := 1

      …

    include scripts/Kbuild.include
    
    # Read KERNELRELEASE from include/config/kernel.release (if it exists)
    KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null)
    KERNELVERSION = $(VERSION)$(if $(PATCHLEVEL),.$(PATCHLEVEL)$(if $(SUBLEVEL),.$(SUBLEVEL)))$(EXTRAVERSION)
    export VERSION PATCHLEVEL SUBLEVEL KERNELRELEASE KERNELVERSION
    
    include scripts/subarch.include
    

      包含Kbuild.include,KERNELRELEASE和KERNELVERSION为5.9.0,包含subarch.include

      …

    ARCH            ?= $(SUBARCH)
    

      获取当前系统架构,默认x86

      …

    KCONFIG_CONFIG  ?= .config
    

      设置KCONFIG_CONFIG=.config(配置文件保存名称)

      …

    export KCONFIG_CONFIG
    
    export KBUILD_DEFCONFIG := defconfig
    

      KCONFIG_CONFIG KBUILD_DEFCONFIG变量传入子级make(使用),KBUILD_DEFCONFIG用于make defconfig

      …

    ...
    USERINCLUDE    := \
                    -I$(srctree)/arch/$(SRCARCH)/include/uapi \
                    -I$(objtree)/arch/$(SRCARCH)/include/generated/uapi \
                    -I$(srctree)/include/uapi \
                    -I$(objtree)/include/generated/uapi \
                    -include $(srctree)/include/linux/kconfig.h
    

      跳过gcc等一些编译相关信息,USERINCLUDE为-I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h

      …

    LINUXINCLUDE    := \
                    -I$(srctree)/arch/$(SRCARCH)/include \
                    -I$(objtree)/arch/$(SRCARCH)/include/generated \
                    $(if $(building_out_of_srctree),-I$(srctree)/include) \
                    -I$(objtree)/include \
                    $(USERINCLUDE)
    

      LINUXINCLUDE为-I./arch/x86/include -I./arch/x86/include/generated -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h

      …

    export KBUILD_LDS_MODULE := $(srctree)/scripts/module-common.lds
    ...
    export KBUILD_AFLAGS_KERNEL KBUILD_CFLAGS_KERNEL
    

      导入较多变量供子级make使用

      …

    PHONY += outputmakefile
    

      PHONY为__all scripts_basic outputmakefile

      …

    PHONY += scripts_basic
    scripts_basic:
            $(Q)$(MAKE) $(build)=scripts/basic
            $(Q)rm -f .tmp_quiet_recordmcount
    

      执行scripts_basic内分支(__all scripts_basic outputmakefile,这三个为需要执行的分支)

      …

    outputmakefile:
    

      执行outputmakefile内分支,make menuconfig只是经过一下这里

      …

    %config: outputmakefile scripts_basic FORCE
            $(Q)$(MAKE) $(build)=scripts/kconfig $@
    

      执行scripts/kconfig/Makefile文件

      …

    $(foreach f, mconf.o $(lxdialog), \
      $(eval HOSTCFLAGS_$f = $$(shell . $(obj)/mconf-cfg && echo $$$$cflags)))
    

      编译mconf.c,lxdialog/checklist.c lxdialog/inputbox.c lxdialog/menubox.c lxdialog/textbox.c lxdialog/util.c lxdialog/yesno.c,生成mconf工具(menuconfig用到的视图工具,参考mconf源码)

      …

    $(obj)/%conf-cfg: $(src)/%conf-cfg.sh FORCE
            $(call filechk,conf_cfg)
    

      在scripts/kconfig/文件夹内更新mconf-cfg脚本

      …

    menuconfig: $(obj)/mconf
            $< $(silent) $(Kconfig)
    

      到这里,menuconfig编译过程分析完成了,在根Makefile设置变量及运行条件,然后跳转到scripts/kconfig/生成mconf,通过scripts/kconfig/mconf Kconfig启动视图界面。

    展开全文
  • make menuconfig配置方法

    2022-09-17 18:06:41
    make menuconfig配置方法

    make menuconfig配置方法
    1.找到内核中的文件。例:sound/soc/samsung/s3c24xx-i2s.c

    2.打开其同等目录下的Makefile,查找"s3c24xx-i2c"

            找到:

            snd-soc-s3c24xx-i2s-objs := s3c24xx-i2s.o

            obj-$(CONFIG_SND_S3C24XX_I2S) += snd-soc-s3c24xx-i2s.o

            CONFIG_SND_S3C24XX_I2S即为配置项。

    3.make menuconfig;

        输入/SND_S3C24XX_I2S    (CONFIG_SND_S3C24XX_I2S也可以)

        回车,即可找到其配置方式,将其复制到UE中,对照这个方式来配置即可。

        查找后的结果示例:

            Symbol : xxx [=y]        表示xxx已经配置为y

            Type:      tristate表示三态(y,M,n) boolean表示二态(y,n)

            Prompt: 提示。后边的字符串就是最终要配置的项  //对应Kconfig的tristate后边的字符串

                  Depends on: 依赖的配置

                  Location :         该项配置所在的路径

                  Selects :            本项的选择所影响的选择

                  Selected by:      本项自己不能选择,只能被这个字符串中的内容来选择。

                  //Selects和Selected by示例:

                    Symbol: S3C24XX_DMA [=n]

                    ...

                    Prompt: S3C2410 DMA support

                        Selects: S3C_DMA [=n]

                    Symbol: S3C_DMA [=n]

                        Selected by: S3C24XX_DMA [=n] && PLAT_S3C24XX [=y] && ARCH_S3C24XX [=y]

                    如上,需要配置S3C_DMA时,无法直接配置,只能通过S3C24XX_DMA来配置

    make menuconfig时,从各个目录下的Kconfig文件获得配置项,最终全部汇总到根目录下的 .config 文件中

    make menuconfig的最后一步,会有提示,比如缺少了某个depends on,此时按下"Esc",然后按"h",即可查看Depends on。

    例:有的模块取决于另一模块,若另一模块配置为M,则本模块也得配置为M

    ./configure -help
    可以用此命令来查看配置文件。

    如:

    System types:

      --build=BUILD     configure for building on BUILD [guessed]

      --host=HOST       cross-compile to build programs to run on HOST [BUILD]

      --target=TARGET   configure for building compilers for TARGET [HOST]

    --host=arm-linux    表示编译出来的要运行于linux之下

    --target=arm-linux  表示目标是linux

    mkimage
    错误信息:"mkimage" command not found - U-Boot images will not be built

    解决方法1

    编译uboot,会在tools/路径下生成mkimage,将其拷贝到usr/bin/目录即可

    解决方法2

    sudo apt install uboot-mkimage      //旧版本ubuntu

    或者sudo apt install u-boot-tools     //新版本ubuntu
     

    展开全文
  • make menuconfig/.config/Kconfig解析

    千次阅读 2021-05-11 14:11:31
    在对linux进行编译,常用的命令是makemenuconfig,使用图形界面来对整个系统进行裁剪。当然,除了这条指令,还包括很多配置命令,比如make defconfig, makeoldconfig等。这里主要就make menuconfig的执行过程进行...

    在对linux进行编译,常用的命令是make

    menuconfig,使用图形界面来对整个系统进行裁剪。当然,除了这条指令,还包括很多配置命令,比如make defconfig, make

    oldconfig等。这里主要就make menuconfig的执行过程进行解析。

    一.准备工作

    包括(交叉)编译环境的建立,linux源码的下载与解压等。

    二.初步介绍

    跟make

    menuconfig这个命令相关的文件,包括三类,包括.config,Kconfig,Makefile。为什么不说三个,而说三类呢?因为

    Kconfig和Makefile是配合使用的,在很多的子目录都存在,而.config只存在于根目录中。这三个文件的作用分别是:

    Kconfig:定义了配置项

    .config:对配置项进行赋值

    Makefile:建立配置项的生成法则

    看到这里,可能有人就头疼了,到底什么是配置项,什么是生成法则。这里要求具有理解Makefile的能力,如果不懂的话,可以去找Makefile的相关资料。

    如果使用举例的话,比较容易理解。比如,我编写了mytest.c的文件,这里不关心mytest.c的内容。如果想把mytest.c编译到内核中,需要按照以下的步骤来完成。

    1)       将test.c放到任何一个目录中,这个目录只要求已存在Kconfig和Makefile中,比如源码根目录/arch/arm/目录中。

    2)       在这个目录的Kconfig中添加

    config MY_TEST

    bool “My Test”

    3)       在Makefile中添加

    obj-$(CONFIG_MY_TEST) = mytest.o

    4)       在.config中可以添加 CONFIG_MY_TEST = y来选中。

    或者在执行make menuconfig时,找到显示名为My Test的选项,使用空格选中。

    总而言之,就是如果需要向系统内核中添加一个功能,那么首先定义一个配置项对应于这个功能,添加到特定的Kconfig文件中。然后在Makefile

    里,定义这个配置项需要编译哪些文件。最后就可以通过make menuconfig或者直接修改.config来使能这个配置项。

    .config作为全局配置项的使能信息,存在于根目录中。里面内容基本上都是以下形式:

    CONFIG_XX_XX=y/n/m/0xFFFFFF/32/”XXXXXXX”

    其实,.config就是将执行make menuconfig后,对配置项的修改保存到一个文件中而已。如果没有.config时,make menuconfig会按照默认值来显示。

    三.配置的必要性

    在下载linux内核的时候,应该注意到了linux内核一般都很大,大概有70-80MB。这么大的内核对于PC来说,可能不是很大,但是对于嵌

    入式来说,那可就很大了。因为内核很大一部分都是常驻内存的,所以对于内存和硬盘来说,都是一种浪费。而且,内核中很大一部分也不需要被编译,比如

    arch目录是表示不同平台的信息,由于我们烧写的内核只用于一种平台,那么其他的目录完全是不需要烧写到内核里的。这样就要求,一部分文件需要编译,一

    部分文件不需要编译,这样就有了内核裁剪(配置)的需要了。而对于不同的配置方式,可能使用的手段是不同的,但是目的都是一样的,就是配置内核中需要编译

    的文件。通过编译后,内核的大小基本上是2.5MB。

    四.Kconfig语法

    1. 基本构成

    基本构成包括五种,menu/endmenu,menuconfig,config,choice/endchoice,source。下面就对每种详细介绍:

    (1)     menu/endmenu

    menu的作用,可以理解成一个目录,menu可以把其中一部分配置项包含到一个menu中,这样有利于配置的分类显示。menu与endmenu是一组指令,必须同时出现。menu和endmenu中包含的部分就是子目录中的配置项。

    比如,在init/Kconfig中24行(可能不同)显示为:

    menu "General setup"

    这样,就会生成一个目录,特征就是右侧会出现一个箭头,如图1中第一行。当点击确认键时,会进入这个菜单项,如图2。

    uid-24227137-id-3277449.html

    图1

    uid-24227137-id-3277449.html

    图2

    (2)     menuconfig

    menuconfig有点类似menu,但区别就在于menu后面多了一个config,这个menu是可以配置的,如图2中的第二行,前面比

    menu类型多了一个方框,通过空格可以修改这个配置项的选中状态。而且从格式上来看,也是有区别的。格式如init/Kconfig中1131行:

    menuconfig MODULES

    bool "Enable loadable module support"config

    if MODULES

    xx

    endif

    也就是说,配置项是位于if和endif中。其中的部分就是MODULES子目录显示的内容。如果选中了MODULE,那么if和endif中的内容可以显示。如果没有定义,就只能进入一个空目录。

    (3)     config

    config是构成Kconfig的最基本单元,其中定义了配置项的详细信息。定义的格式参考arch/arm/Kconfig中的第8行。

    config ARM

    bool

    default y

    select xxxxxxxxxx

    help

    ???????????

    可知,config需要定义名称,与menuconfig相同。这个名称不但用于裁剪内核中,还用于配置项之间的相互依赖关系中。

    config的类型有5种,分别是bool(y/n),tristate(y/m/n),string(字符串),hex(十六进

    制),integer(整数)。其中,需要特别介绍一下bool和tristate,bool只能表示选中和不选,而tristate还可以配置成模块

    (m),特别对于驱动程序的开发非常有用。

    其他语法如下:

    1)       prompt:提示,显示在make menuconfig中的名称,一般省略。下面两种写法相同。

    a.       bool “Networking Support”

    b.       bool

    prompt “Networking Support”

    2)       default:默认值

    一个配置项可以有多个默认值,但是只有第一个被定义的值是有效的。

    3)       depends on/requires:依赖关系

    如果依赖的配置项没有选中,那么就当前项也无法选中。

    4)       select:反向依赖

    如果当前项选中,那么也选中select后的选项。

    5)       range:范围,用于hex和integer

    range A B表示当前值不小于A,不大于B

    6)       comment:注释

    (4)     choice/endchoice

    choice的作用,多选一,有点像MFC中的Radio控件。参考arch/arm/Kconfig第205行。

    choice

    prompt "ARM system type"

    default ARCH_VERSATILE

    ???????

    config ARCH_S3C2410

    bool "Samsung S3C2410, S3C2412, S3C2413, S3C2440, S3C2442, S3C2443"

    select GENERIC_GPIO

    select ARCH_HAS_CPUFREQ

    select HAVE_CLK

    ???????

    endchoice

    显示的结果如图3,进入这一项后,显示结果如图4.

    uid-24227137-id-3277449.html

    图3

    uid-24227137-id-3277449.html

    图4

    可见,choice有点类似于menu,是在子窗口里选择,但是不同的是子窗口中只能选择一项。在prompt后会显示当前选择项的名称。

    (5)     source

    source只是将另外一个Kconfig文件直接复制到当前位置而已。但它的作用也是明显的,可以将这个系统贯穿在一起。从开始位置arch/arm/Kconfig,来将整个系统都作为配置型。

    五.配置分析

    当我们进入了linux源码的根目录时,输入make menuconfig。假设,此时根目录已经存在了.config,如果不存在,会自动生成。这时,在命令行显示如图5.

    uid-24227137-id-3277449.html

    图5

    显然,在执行make menuconfig时,会自动调用scripts/Kconfig/mconf

    arch/arm/Kconfig开始系统的配置,那么arch/arm/Kconfig就是配置的起点。这个文件会通过source指令来调用其他目录

    下的Kconfig文件,从而完成整体配置。这样,arch/arm/Kconfig就可以理解成main函数,而source指令就有点类似于

    include。可以按照上面的语法,来分析Kconfig文件。

    展开全文
  • Make menuconfig 报错解决

    千次阅读 2022-04-02 18:42:11
    遇到如上报错的时候,是缺少libcurses ,故执行:sudo apt-install libncurses* 然后执行make menuconfig 即可。
  • make menuconfig错误

    千次阅读 2021-12-19 15:39:06
    问题 HOSTCC scripts/basic/fixdep /bin/sh: 1: gcc: not found scripts/Makefile.host:90: recipe for target 'scripts/basic/fixdep' failed make[1]: *** [scripts/basic/fixdep] Error ...make: *** [scripts_ba
  • 当我们修改了驱动中的Kconfig文件 再次make menuconfig,就可以看到我们添加的wifi设备了: 按“y”把它编译进内核,保存 就可以看到根目录下的.config文件中,有了: 因此配置内核,我们就可以得到下面结论了: 1、...
  • /buildroot$ make menuconfig *** Unable to find the ncurses libraries or the *** required header files. *** 'make menuconfig' requires the ncurses libraries. *** *** Install ncurses (ncurses-devel or ...
  • make menuconfig报错: /kconfig/lxdialog/dialog.h:38:20: fatal error: curses.h: No such file or directory 解决方案: sudo apt-get install libncurses5-dev
  • make menuconfig 的使用-4

    千次阅读 2021-06-08 19:24:09
    make menuconfig 的使用 1.怎么进入到make menuconfig图形化界面? 首先进入到内核源码的路径下,然后输入make menuconfig即可打开这个界面。 2.make menuconfig图形化界面的操作。 1. 搜索功能 输入""/""即可弹出...
  • make menuconfig过程讲解

    千次阅读 2020-08-06 10:44:22
    make menuconfig 中把config_ok拷贝成为.config的原因 当我们在执行make menuconfig这个命令时,系统到底帮我们做了哪些工作呢? 这里面一共涉及到了一下几个文件我们来一一讲解 Linux内核根目录下的scripts...
  • SecureCRT make menuconfig乱码
  • make menuconfig 命令解析

    千次阅读 2020-06-02 23:53:03
    1、系统移植可以分为配置系统和编译系统两大块,其中通过命令makemenuconfig进行图形化界面配置的步骤为配置系统。 2、内核源码包中,不同的目录收集不同的代码块,要通过配置系统将“有用”的代码块“挑选”出来,...
  • make menuconfig缺少ncurses

    2021-12-05 17:07:59
    Ubuntu 14.04系统编译linux源码的make menuconfig命令时,得到了一个错误的提示,说我没有安装相应的库: Unable to find the ncurses libraries or the required header files.‘make menuconfig’ requires the ...
  • make menuconfig详解

    2021-03-05 11:39:17
    make menuconfig 图形化的内核配置make mrproper -----删除不必要的文件和目录.1 #make config(基于文本的最为传统的配置界面,不推荐使用)2 #make menuconfig(基于文本选单的配置界面,字符终端下推荐使用)注意:...
  • OpenWRT无线路由的make menuconfig配置

    千次阅读 2021-08-18 16:10:48
    2:打开图形化界面选择开发板型号 make menuconfig //注意终端界面不要放的太大,否则会报错 1:选择开发板的架构 Target System (MTK/Ralink APSoC (MIPS)) ---> //目标系统 (X) MTK/Ralink APSoC (MIPS) 2:...
  • make menuconfig配置内核时,*、M 、空格的意思
  • *** ‘make menuconfig’ requires the ncurses libraries. *** Install ncurses (ncurses-devel or libncurses-dev *** depending on your distribution) and try again. scripts/kconfig/Makef
  • 搞定负责模块的配置后,也把这个执行过程梳理了下,分享一下: 以make ARCH=arm menuconfig为例 $ARCH由linux内核根目录下的makefile文件决定,这里用的arm架构。 1、执行顶层的Makefile 由于定义了KBUILD_EXTMOD,...
  • 在进行内核配置,或者是对一些软件的配置和编译中,常常会遇到:make configmake menuconfigmake oldconfigmake xconfigmake defconfigmake gconfig ————————————————————...
  • make menuconfig使用

    2020-04-30 16:15:20
    makemenuconfig 下面一栏方向键(左右键)选择和退出
  • 转自:http://blog.csdn.net/mirkerson/article/details/45556403[FAQ01797]如何用make menuconfig配置kernel[DESCRIPTION]配置kernel部分是使用kernel的原生命令make menuconfig即可,但不同的软件版本稍有差别...
  • 最近在windows子系统编译执行make menuconfig时,提示如下报错: HOSTCC lxdialog/menubox.c <command-line>:0:12: fatal error: ncurses.h: No such file or directory compilation terminated. Makefile:...
  • u-boot make menuconfig过程分析 Makefile文件 %config: scripts_basic outputmakefile FORCE $(Q)$(MAKE) $(build)=scripts/kconfig $@ 展开为: %config: scripts_basic outputmakefile FORCE @make -f ./...
  • linux make menuconfig快速查找配置项

    千次阅读 2022-04-08 16:24:44
    linux make menuconfig快速查找配置项
  • MTK下的make menuconfig
  • make menuconfig执行报错

    千次阅读 2020-04-27 16:07:30
    1、flex:未找到命令 解决办法:yum install flex 2、bison:未找到命令 解决办法:yum install bison 缺什么安装什么,很简单 最后再次执行make menuconfig

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 40,787
精华内容 16,314
关键字:

make menuconfig