首页 系统教程 操作系统 PC机编译内核的设置方法和设置:设置编译

PC机编译内核的设置方法和设置:设置编译

Mar 13, 2024 pm 02:52 PM
pc机 编译内核

PC机编译内核的设置方法和设置:设置编译

Thisisfreesoftware;seethesourceforcopyingconditions.ThereisNO

warranty;notevenforMERCHANTABILITYorFITNESSFORAPARTICULARPURPOSE.

注:arm的工具链,可以从这儿下载:回复“ARM”即可查看。

二、设置编译目标

在配置或编译内核之前,首先要确定目标CPU构架,以及编译时采用哪些工具链。这是最最基础的信息,首先要确定的。

假如你是为当前使用的PC机编译内核,则无须设置。

否则的话嵌入式linux 培训,就要明晰设置。

这儿以arm为例,来说明。

有两种设置方式():

a)更改Makefile

打开内核源码根目录下的Makefile,更改如下两个Makefile变量并保存。

ARCH:=arm

CROSS_COMPILE:=arm-linux-

注意,这儿cross_compile的设置,是假设所用的交叉工具链的gcc程序名称为arm-linux-gcc。假如实际使用的gcc名称是some-thing-else-gcc,则这儿照葫芦画瓢填some-thing-else-即可。反正,要省去名称中最后的gcc那3个字母。

b)每次执行make命令时,都通过命令行参数传入这种信息。

这似乎是通过make工具的命令行参数指定变量的值。

比如

配置内核时时,使用

makeARCH=armCROSS_COMPILE=arm-linux-menuconfig

编译内核时使用

makeARCH=armCROSS_COMPILE=arm-linux-

注意,实际上,对于编译PC机内核的情况,即使用户没有明晰设置,但并不是这两项没有配置。由于假如用户没有设置这两项,内核源码顶楼Makefile(坐落源码根目录下)会通过如下方法生成这两个变量的值。

SUBARCH:=$(shelluname-m|sed-es/i.86/i386/-es/sun4u/sparc64/

-es/arm.*/arm/-es/sa110/arm/

-es/s390x/s390/-es/parisc64/parisc/

-es/ppc.*/powerpc/-es/mips.*/mips/

-es/sh[234].*/sh/)

ARCH?=$(SUBARCH)

CROSS_COMPILE?=

经过前面的代码,ARCH弄成了PC编译机的arch,即SUBARCH。为此,假如PC机上uname-m输出的是ix86,则ARCH的值就成了i386。

而CROSS_COMPILE的值,倘若没配置,则为空字符串。这样一来所使用的工具链程序的名称,就不再有类似arm-linux-这样的前缀,就相当于使用了PC机上的gcc。

最后再多说两句,ARCH的值还须要再进一步做泛化。由于内核源码的arch目录下,不存在i386这个目录,也没有sparc64这样的目录。

因而顶楼makefile中又构造了一个SRCARCH变量,通过如下代码,生成他的值。这样一来,SRCARCH变量,才最终匹配到内核源码arch目录中的某一个构架名。

SRCARCH:=$(ARCH)

ifeq($(ARCH),i386)

SRCARCH:=x86

endif

ifeq($(ARCH),x86_64)

SRCARCH:=x86

endif

ifeq($(ARCH),sparc64)

SRCARCH:=sparc

endif

ifeq($(ARCH),sh64)

SRCARCH:=sh

endif

三、配置内核

内核的功能这么多,我们须要什么部份,每位部份编译成哪些方式(编进内核还是编成模块),每位部份的工作参数怎样,那些都是可以配置的。为此,在开始编译之前,我们须要建立出一份配置清单,放在内核源码根目录下,命名为.config文件,之后按照此.config文件,编译出我们须要的内核。

然而,内核的配置项太多了,一个一个配linux设置环境变量,太麻烦了。并且,不同的CPU构架,所能配置的配置项集合arm linux内核中arm中断实现详解,是不一样的。诸如,某种CPU的某个功能特点要不要支持的配置项arm linux内核中arm中断实现详解,就是与CPU构架有关的配置项。所以,内核提供了一种简单的配置方式。

以arm为例,具体做法如下。

a)依据我们的目标CPU构架,从内核源码arch/arm/configs目录下,找一个与目标系统最接近的配置文件(比如s3c2410_defconfig),拷贝到内核源码根目录下,命名为.config。

注意,假若你是为当前PC机编译内核,最好拷贝如下文件到内核源码根目录下,做为初始配置文件。这个文件,是PC机当前运行的内核编译时使用的配置文件。

/lib/modules/`uname-r`/build/.config

这儿顺便多说两句,PC机内核的配置文件,选择的功能真是多。不编不晓得,一编才晓得。Linux发行方这样做的目的,可能是想让所发行的Linux才能满足用户的各类需求吧。

b)执行makemenuconfig对此配置做一些须要的更改,退出时选择保存,就将新的配置更新到.config文件中了。

以上是PC机编译内核的设置方法和设置:设置编译的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
威尔R.E.P.O.有交叉游戏吗?
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何计算Linux中的文件和目录:初学者指南 如何计算Linux中的文件和目录:初学者指南 Mar 19, 2025 am 10:48 AM

有效地计数Linux中的文件和文件夹:综合指南 知道如何快速计算Linux中的文件和目录对于系统管理员和管理大型数据集的任何人至关重要。本指南使用简单命令l演示

如何将用户添加到Linux中的多个组 如何将用户添加到Linux中的多个组 Mar 18, 2025 am 11:44 AM

有效管理用户帐户和组成员资格对于Linux/UNIX系统管理至关重要。 这样可以确保适当的资源和数据访问控制。 本教程详细介绍了如何将用户添加到Linux和Unix系统中的多个组中。 我们

如何从Commandline列出或检查所有已安装的Linux内核 如何从Commandline列出或检查所有已安装的Linux内核 Mar 23, 2025 am 10:43 AM

Linux内核是GNU/Linux操作系统的核心组件。由Linus Torvalds于1991年开发,是一种免费的开源,单片,模块化和多任务Unix样核。在Linux中,可以在Sing上安装多个内核

如何轻松地配置Flatpak应用程序的权限 如何轻松地配置Flatpak应用程序的权限 Mar 22, 2025 am 09:21 AM

Flatpak 应用权限管理利器:Flatseal 使用指南 Flatpak 是一款旨在简化 Linux 软件分发和使用的工具,它将应用程序安全地封装在一个虚拟沙箱中,用户无需 root 权限即可运行应用程序,同时不会影响系统安全。由于 Flatpak 应用位于此沙箱环境中,它们必须请求权限才能访问操作系统的其他部分、硬件设备(如蓝牙、网络等)和套接字(如 pulseaudio、ssh-auth、cups 等)。本指南将指导您如何在 Linux 上使用 Flatseal 轻松配置 Flatpak

如何在Ubuntu Linux中输入印度卢比符号 如何在Ubuntu Linux中输入印度卢比符号 Mar 22, 2025 am 10:39 AM

该简短指南说明了如何在Linux操作系统中键入印度卢比符号。前几天,我想在Word文档中键入“ Indian Rupee符号(€)”。我的键盘上有一个卢比符号,但我不知道如何键入它。后

YT-DLP命令:初学者的完整教程(2025) YT-DLP命令:初学者的完整教程(2025) Mar 21, 2025 am 11:00 AM

您是否曾经想从互联网中保存自己喜欢的视频?无论是有趣的猫视频还是您要稍后观看的教程,YT-DLP都可以提供帮助!在这个全面的YT-DLP教程中,我们将解释什么是YT-DLP,如何安装i

Linux最好使用的是什么? Linux最好使用的是什么? Apr 03, 2025 am 12:11 AM

Linux最适合用作服务器管理、嵌入式系统和桌面环境。1)在服务器管理中,Linux用于托管网站、数据库和应用程序,提供稳定性和可靠性。2)在嵌入式系统中,Linux因其灵活性和稳定性被广泛应用于智能家居和汽车电子系统。3)在桌面环境中,Linux提供了丰富的应用和高效的性能。

localsend-安全文件共享的开源空调替代品 localsend-安全文件共享的开源空调替代品 Mar 24, 2025 am 09:20 AM

如果您熟悉AirDrop,您就会知道这是Apple Inc.开发的一项流行功能,它可以使用Wi-Fi和Bluetooth在支持的Macintosh计算机和iOS设备之间进行无缝的文件传输。但是,如果您使用Linux并缺少O

See all articles