LinuX编译显示内核配置无效,配置编译内核(Linux kernel)

虽然以前也编译过内核,但是关于内核配置选项特别是有关本机驱动这块还是不熟悉,因为没有通过确定有效的途径知道当前工作正常的内核中到底使用了什么驱动模块来控制硬件,最近看到一本书《Linux kernel in a netshell》,感觉讲的还不错,所以记下笔记。

1.编译内核的工具

gcc

binutils(ld)    binutils是gcc的工具链,用来链接目标文件以及汇编。

make

util-linux-ng(fdformat)

module-init-tools(depmod)

tune2fs

NFS(showmount)

udev        udev是Linux中用来管理/dev目录的工具,它维护/dev目录下所有的设备文件。

2.下载wget/curl

3.编译

$make defconfig    defconfig是i386计算机上的默认配置,也就是Linus Torvalds计算机中的配置。

$make config        最原始的配置方式

$make menuconfig    文本字符界面配置

$make xconfig    X Window配置界面

$make            编译Kernel

4.高级编译选项

make -jN        N设置为你CPU内核数的两倍,代表编译内核所用的线程数量。

$make drivers/usb/serial    只编译目录drivers/usb/serial,但是不会生成模块映像文件

$make M=drivers/usb/serial    同上,但是会生成模块文件,但是不会影响已经编译好的内核,如果想要改变已经编译好的内核,则需要重新执行

$make

$make drivers/usb/serial/visor.ko    只编译个别文件

$make -O=/path/to/output/    将输出重定向到另一个目录,注意configure也必须使用-O重定向输出。

$make ARCH=x86_64 defconfig    设置目标计算机体系结构

$make ARCH=arm CROSS_COMPILE=/usr/bin/...    设置交叉编译。

$make CC="ccache gcc"    设置编译器变量CC

5.配置内核     1)查找当前内核配置文件.config,在许多发行版中,内核配置文件最有可能位于/usr/src/linux/下和/proc/config.gz文件。例如在我的ubuntu(karmic koala)中,有/usr/src/linux-headers-2.6.31-16-generic/.config     2)查看特定驱动的模块 这里以网卡为例,使用ifconfig可以看到本机网卡,lo是回环地址,eth0...等是真正工作的网卡。     $ifconfig     $ls /sys/class/net/ 上面两种方法都可以查看本机网卡。现在我们要找到网卡驱动在内核中使用哪个模块来控制。     3)找到相应的内核模块     $basename `readlink /sys/class/net/eth0/device/driver/module`     在我的电脑上输出是8139too,表示网卡驱动模块名是8139too。     4)查找相应模块在配置内核中的选项     $cd /usr/src/linux-headers-2.6.31-16/    注意这里不是16-generic,因为后者是中的大部分都是前者的链接。     $find -type f -iname "makefile"|xargs grep -i "8139too" 输出是./drivers/net/Makefile:obj-$(CONFIG_8139TOO) +=8139too.o     5)配置内核中的选项     $make menuconfig     然后按下'/‘键,输入搜索内容8139too,即可得到相关的配置选项。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/506333.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

arraylist线程安全吗_Java的线程安全、单例模式、JVM内存结构等知识梳理

java技术总结知其然,不知其所以然 !在技术的海洋里,遨游!做一个积极的人编码、改bug、提升自己我有一个乐园,面向编程,春暖花开!本篇以一些问题开头,请先不看答案,自己思…

linux 7查内核,查看CentOS7内核版本及发行版本

原文:https://blog..net/networken/article/details/79771212s1.查看内核版本[rootlocalhost ~]# uname -srLinux 4.15.11-1.el7.elrepo.x86_64[rootlocalhost ~]# uname -aLinux localhost.localdomain 4.15.11-1.el7.elrepo.x86_64 #1 SMP Mon Mar 19 11:46:06 ED…

python下载文件损坏_pythonw.exe停止工作,无法运行IDLE或任何.py文件 - python

此问题与任何代码都不完全相同。我认为我的安装(python 3.3.5)以某种方式损坏。我尝试了卸载和重新安装以及修复,但是没有任何效果。自从我上次运行任何python代码或进行涉及python的操作以来已经有一段时间了,所以我不能说我不小…

【GitHub精选项目】抖音/ TikTok 视频下载:TikTokDownloader 操作指南

前言 本文为大家带来的是 JoeanAmier 开发的 TikTokDownloader 项目,这是一个高效的下载 抖音/ TikTok 视频的开源工具。特别适合用户们保存他们喜欢的视频或分享给其他人。 TikTokDownloader 是一个专门设计用于下载 TikTok 视频的工具,旨在为用户提供一…

python的界面文字翻译_一个把网站全英文转成中文的方法,让你轻松看懂python官网...

近日,在看python官网(英文网站)时,使用了有道翻译工具查看了几个专有名词。无意间,有了是不是可以输入网站地址进行翻译的想法,翻译后的网站地址点击进去后,又是一个什么情况呢?小编…

linux配置redis服务,记一次linux下安装redis, 设置redis服务, 及添加环境变量

一. redis的安装cd /opt # 切换至opt目录下wget http://download.redis.io/releases/redis-3.2.9.tar.gz # 指定版本下载redistar xzf redis-3.2.9.tar.gz …

drools规则引擎技术指南_物联网规则引擎技术

物联网应用程序设计与典型的IT解决方案大不相同,因为它将物理操作技术(OT)与传感器、致动器和通信设备连接起来,并将数字信息技术(IT)与数据、分析和工作流连接起来。在企业环境中,物联网非常复…

linux中在工作空间编译cpp,linux tensorflow2.4.0 c++ 编译

1. bazel 版本要对应tensorflow的要求2.tensorflow 源码3.eigen4.protobuf 版本要对应tensorflow的要求(workspace.bzl 提到了这个要求)源码编译参考:https://blog.csdn.net/luo841297935/article/details/104417495其他1.CMakeLists.txtcmake_minimum_required (VERSION 2.8.8…

linux 2G内存够用吗,不管2G还是6G运存,为什么使用手机时都会先占用一半?

原标题:不管2G还是6G运存,为什么使用手机时都会先占用一半?以前安卓手机最大的缺陷就是运存问题,手机玩着玩着突然就运行内存不足了,为了运行更流畅手机运存从1G到2G…到8G,手机运存越来越大。但大家有没有…

python取列表前几个元素_Python下几种从一个序列中取出元素的方法

使用Python进行数据处理时,有时候会有这样的操作,比如从一个列表或者numpy array中随机取出一个元素,对一个列表中的元素进行shuffle,等等。虽然这些操作也可以通过编写很简短的程序完成,但我们使用Python有一点很重要…

c++ 写x64汇编 5参数_怀念9年前用纯C和汇编写的入侵检测软件

在翻出12年前用C#写的自我管理软件之后,进一步激发了本猫的怀旧情怀。上一篇在此:竟然无意间翻出12年前自己用C#写的程序这不,昨天竟然又找出2010年写的一款Windows系统入侵检测及防御小工具,当时命名是:NtInfoGuy!对于Windows的内部&#xf…

linux内核关闭网络巨帧xenomai,xenomai内核解析--双核系统调用(二)--应用如何区分xenomai/linux系统调用或服务...

版权声明:本文为本文为博主原创文章,转载请注明出处。如有错误,欢迎指正。1. 引出问题上一篇文章xenomai内核解析--双核系统调用(一)以X86处理器为例,分析了xenomai内核调用的流程,读了以后可能会觉得缺了点什么&#…

python怎么导入os模块_python之os模块

在自动化测试中,经常需要查找操作文件,比如说查找配置文件(从而读取配置文件的信息),查找测试报告(从而发送测试报告邮件),经常要对大量文件和大量路径进行操作,这就依赖…

linux7配置网卡绑定,CentOS7双网卡绑定配置

step1:创建绑定文件[rootnode-1 ~]# vi /etc/sysconfig/network-scripts/ifcfg-bond0TYPE"bond"BOOTPROTO"none"NAME"bond0"DEVICE"bond0"IPADDR"192.168.1.20"NETMASK"255.255.255.0"GATEWAY"192.168.1.1&q…

ubuntu复制文件到另一个文件夹_简单介绍一下电脑中的文件或文件夹的复制、移动及删除的操作方式...

大家好,我是波仔,今天又来跟各位学电脑基础的朋友们分享知识,让我们一起来学习吧。复制文件或文件夹在我们日常操作文件或文件夹的过程中,经常会遇到需要复制一些文件或文件夹什么的,下面我们就一起来分享一下常用的几…

Windows和linux提权方法,Windows与Linux本地用户提权体验(一)

无论是Windows系统还是linux系统都是基于权限控制的,其严格的用户等级和权限是系统安全的有力保证。这么严密的用户权限是否不可逾越呢?下面笔者反其道而行之进行Windows及Linux下的提权测试。一、windows下获取至高权限大家知道,在Windows系统中SYSTEM…

三相逆变器双pi控制器参数如何调节_光伏逆变器短路特性简析

1前言短路故障相对于其他故障类型来说是比较常见的,不同的设备的短路故障,大了讲都一样,细了说各有千秋,今天我们主要聊聊光伏逆变器的短路特征。电力系统中的电源,传统意义是指的是并入电力系统的同步发电机。但随着分…

linux安装多路径报错,Linux操作系统配置多路径通用教程(适用于(RHEL,CentOS,SuSE等)...

Linux操作系统配置多路径通用教程(适用于(RHEL,CentOS,SuSE等)猫先生 • 2019 年 06 月 01 日一,安装软件1,执行以下命令,检查当前系统中是否已经安装多路径工具:rpm -qa | grep device-mapper-multipathSuSE 系统 multipath 相关…

python脚本根据cookies自动登录网站_python实现带验证码网站的自动登陆实现代码...

早听说用python做网络爬虫非常方便,正好这几天单位也有这样的需求,需要登陆XX网站下载部分文档,于是自己亲身试验了一番,效果还不错。 本例所登录的某网站需要提供用户名,密码和验证码,在此使用了python的u…

鸟叔linux私房菜基础篇简体,鸟叔的Linux私房菜基础篇-学习笔记(一)

鸟叔的Linux私房菜基础篇-学习笔记(一)开机进入命令行模式:ctrlalt[F1-F6]的任意键进入命令行编辑界面ctrlaltF7进入图形界面模式开始下达指令[dmtsaistudy ~]$ command [-options] parameter1 parameter2 …一行指令中第一个输入的部分绝对是“指令(command)”或“可可执行文件…