# linux-2.6.22.6-github **Repository Path**: yelujun/linux-2.6.22.6-github ## Basic Information - **Project Name**: linux-2.6.22.6-github - **Description**: No description available - **Primary Language**: Unknown - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-10-05 - **Last Updated**: 2024-06-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README kernel 编译配置简单说明: tar -zxf linux-2.6.22.6.tar.xz cd linux-2.6.22.6/ cp arch/arm/configs/xxxx_defconfig .config 或 make xxxx_defconfig vim Makefile 把 ARCH ?= $(SUBARCH) CROSS_COMPILE ?= 修改为 ARCH ?= arm CROSS_COMPILE ?= arm-linux- make -j4 或 make uImage -j4 使用jz2440补丁合入编译方法: tar jxvf linux-2.6.22.6.tar.bz2 cd linux-2.6.22.6/ patch -p1 < ../linux-2.6.22.6_jz2440_v2v3.patch cp config_ok .config make uImage -j4 编译时没有mkimage可以在编译完成后的uboot代码tools目录中把它拷到/usr/bin/目录下, 或者使用sudo apt install u-boot-tools 命令安装 清理文件(在linux源码根目录执行): make clean #清理编译的文件,但保留配置文件 make mrproper #移除所有编译生成的文件、配置文件和备份文件 make distclean #完全清理 配置内核 make config #遍历选择编译内核功能 make allyesconfig #启用内核全部功能 make allnoconfig #内核功能选项全部为否 make menuconfig #开启文本菜单选项,对窗口有限制,尽量调大窗口,否则会出错,使用此命令需安装gcc和ncurses-devel make gconfig #依赖GNome桌面环境及GNome的图形开发环境,gtk2 make kconfig #依赖KDE桌面环境及KDE的图形开发环境,qt make oldconfig #使用已有的.config,但会询问新增的配置项 make xconfig #图形化的配置(需要安装图形化系统) 编译kernel时makefile提示“混合的隐含和普通规则”错误 执行make menuconfig命令的时候,提示Makefile:421: *** 混和的隐含和普通规则。 停止。由于高版本make对Makefile的一些旧规则兼容不是很好,只需要修改Makefile文件即可。 解决流程: 1. 修改   config %config: scripts_basic outputmakefile FORCE    $(Q)mkdir -p include   $(Q)$(MAKE) $(build)=scripts/kconfig $@   $(Q)$(MAKE) -C $(srctree) KBUILD_SRC= .kernelrelease 修改为: config: scripts_basic outputmakefile FORCE    $(Q)mkdir -p include   $(Q)$(MAKE) $(build)=scripts/kconfig $@   $(Q)$(MAKE) -C $(srctree) KBUILD_SRC= .kernelrelease   %config: scripts_basic outputmakefile FORCE   $(Q)mkdir -p include   $(Q)$(MAKE) $(build)=scripts/kconfig $@   $(Q)$(MAKE) -C $(srctree) KBUILD_SRC= .kernelrelease 2. 修改   / %/: prepare scripts FORCE   $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \   $(build)=$(build-dir) 修改为:   /: prepare scripts FORCE    $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \   $(build)=$(build-dir)   %/: prepare scripts FORCE   $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \   $(build)=$(build-dir) 现在就可以正常编译了!