Linux大脑 "内核" 关于它

什么是内核

kernel(内核)是操作系统的核心,相当于人的大脑,掌控所有的硬件设备的控制权,也就是希望计算机帮你完成各项工作,那都需要通过内核的帮助才能完成,当然,如果你想实现的功能内核没有提供,那就必须添加相关的模块到内核中,就类似驱动程序,有了模块的支持我们计算机才能去操控硬件,完成我们想完成的工作

内核其实就是系统上面的一个文件,这个文件包含了驱动硬件的检测程序与驱动模块,内核文件在/boot目录下一个以vmlinuz开头的文件,有时候/boot下面有几个vmlinuz开头的文件,但是启动的时候只能加载一个,所以说Linux系统是个单内核,多模块的体系

Linux内核的官方网站是http://www.kernel.org,访问该网站可以获取内核各个版本的代码。其中网站主页上显示的是当前内核的最新稳定版本。

你可以通过https://www.kernel.org/pub/linux/kernel/来查找任何一个你想要的内核版本,并用wget来下载他

下面实例做一次内核编译(支持NTFS)

内核编译具体步骤

执行步骤:1、到www.kernel.org上下载相应的内核源码包

2、确认你的系统中已经具备了编译软件的基本条件,也就是要安装make ,gcc, gcc-c++ ,ncurses-devel和库工具等等 。  开发工具和库

3、解压内核源码包

4、配置内核编译参数

5、编译内核、安装编译好的内核与模块

6、查看或修改GRUB菜单(为了确认你是不是真的把内核安装好了)

7、重新启动系统,测试新内核的工作情况

1、下载相应内核源码包我这里就不下载了,(网速太慢了/(ㄒoㄒ)/~~)不过我本地有 linux-3.16.2.tar 你们可以去官网下载看看

2、安装开发组工具

[root@localhost ~]# yum groupinstall "Server Platform Development" "Development tools"

3、解压内核源码包

[root@localhost sdb1]# tar xvf linux-3.16.2.tar.xz

[root@localhost sdb1]# du -sh linux-3.16.2/

634Mlinux-3.16.2/

4、配置内核编译参数

由于我们只添加一个NTFS,我们把我们现有的环境.config拷贝到到源码包目录下

[root@localhost linux-3.16.2]# cp /boot/config-2.6.32-642.el6.x86_64 ./.config

[root@localhost linux-3.16.2]# make menuconfig 打开文本窗口,配置内核选项(这里依据.config文件中的定义)

如是想查询,某个参数在哪里,可以这样,在这个界面下,输入: / 然后再输入: NTFS  就显示如下:

选中NTFS选项后,保存.conf 保存后,按下esc或 选中Exit 进程退出

配置过程中:

[ ] : 表示不进行编译

[M] : 表示以模块的形式进行编译

[*] : 编译进内核中

5、编译内核

[root@localhost linux-3.16.2]# make [-j 2] 表示CPU线程编译

[root@localhost linux-3.16.2]# make modules_install  安装模块

[root@localhost linux-3.16.2]# make install  安装内核相关文件

6、查看或修改GRUB菜单(为了确认你是不是真的把内核安装好了)

[root@localhost linux-3.16.2]# vim /boot/grub/grub.conf

7、重新启动系统,测试新内核的工作情况

注意,在启动的时候,需要自己进来一下选择,否则默认还是以前的内核启动哦。除非你在上一步把默认启动项给改了。

我的第一项竟然是新内核

8、使用新内核启动系统后,查看内核版本

[root@localhost ~]# uname -r

3.16.2

[root@localhost ~]# uname -a

Linux localhost.localdomain 3.16.2 #1 SMP Mon Jul 25 10:34:36 CST 2016 x86_64 x86_64 x86_64 GNU/Linux

[root@localhost ~]#

内核模块操作

内核(模块)管理命令:

模块的作用:把具体功能封装好的程序。  比如,冲电宝。可以给所有手机冲电。

存放内核模块的目路径:

[root@localhost ~]# ll /lib/modules/

total 8

drwxr-xr-x. 7 root root 4096 Jul 25 08:43 2.6.32-642.el6.x86_64

drwxr-xr-x  3 root root 4096 Jul 25 12:31 3.16.2

[root@localhost ~]# cd /lib/modules/3.16.2/kernel/fs/

[root@localhost fs]# ls fat/

fat.ko  msdos.ko  vfat.ko

#Linux可以直接支持FAT32文件系统

插入模块:

insmod

作用:载入模块

例:载入模块fat.ko

[root@localhost fs]# insmod fat/fat.ko

查看当前系统中加载的模块

#lsmod    列出当前模块

[root@localhost fs]# lsmod | grep fat

fat                    59379  0

删除模块

#rmmod   fat  #删除模块 。跟上模块的名字

[root@localhost fs]# rmmod fat

[root@localhost fs]# lsmod | grep fat

[root@localhost fs]#

查看模块信息

#modinfo    查看模块信息

[root@localhost fs]# modinfo vfat

filename:       /lib/modules/3.16.2/kernel/fs/fat/vfat.ko

author:         Gordon Chaffee

description:    VFAT filesystem support

license:        GPL

alias:          fs-vfat

srcversion:     D2372BC4E9386742F7AE1A6

depends:        fat

intree:         Y

vermagic:       3.16.2 SMP mod_unload modversions

#modprobe    插入模块(可以自动解决模块之间的依赖关系,像yum可以自动解决rpm之间的依赖关系一样)

[root@localhost fat]# modprobe vfat

[root@localhost fat]# lsmod | grep fat

vfat                   10575  0

fat                    59379  1 vfat

#modprobe -r   删除模块和 rmmod一样 。删除时不能自动解决依赖关系的

开机加载某个驱动:

[root@localhost ~]# ll /etc/rc.local

lrwxrwxrwx. 1 root root 13 Jul 25 08:37 /etc/rc.local -> rc.d/rc.local

[root@localhost ~]# vim /etc/rc.local

实战-编译一个NTFS内核模块,实现linux挂载NTFS文件系统

安装 fuse:

[root@localhost ~]# tar zxvf fuse-2.8.3.tar.gz

[root@localhost ~]# cd fuse-2.8.3

[root@localhost fuse-2.8.3]# ./configure

[root@localhost fuse-2.8.3]# make && make install

安装:ntfs-3g

[root@localhost ~]# tar zxvf ntfs-3g-2011.1.15.tgz

[root@localhost ~]# cd ntfs-3g-2011.1.15

[root@localhost ntfs-3g-2011.1.15]# ./configure

[root@localhost ntfs-3g-2011.1.15]# make && make install

挂载:

插一个NTFS格式分的U盘。 然后把U盘导入到虚拟机中

[root@localhost ~]# mount -t ntfs-3g /dev/sdb1 /opt/

开机自动挂载:

[root@localhost ~]#  vim /etc/fstab

/dev/sdb1             /opt                 ntfs-3g   defaults        0 0

linux 内核 ntfs,Linux大脑 内核 内核编译(NTFS)相关推荐

  1. linux内核centos6.9,CentOS6.9手动编译并更新Kernel内核版本

    Kernel是Linux操作系统的核心部分.它由操作系统中用于管理存储器.文件.外设和系统资源的那些部分组成.Kernel是操作系统的核心,掌控着所有硬件设备的控制权. 内核就是系统上面的一个文件,这 ...

  2. 新增linux驱动并重新编译内核,【转】配置并编译内核[更新到linux-2.6.29.2]

    有关内核精简的内容,看3楼. 一.下载源代码和编译软件准备下载内核源代码:http://www.kernel.org/ 注意,点击2.6.29内核的F版,即完整版. 如果你懒得去网站点联接,运行下列命 ...

  3. linux内核体系学习路径_Linux内核分析(一)linux体系简介|内核源码简介|内核配置编译安装...

    从本篇博文开始我将对linux内核进行学习和分析,整个过程必将十分艰辛,但我会坚持到底,同时在博文中如果那些地方有问题还请各位大神为我讲解. 今天我们会分析到以下内容: 1. Linux体系结构简介 ...

  4. 基于块的linux驱动程序,基于块的Linux驱动程序 块设备驱动 centos内核编译过程 操作系统课程设计...

    操作系统的课程设计,本人也是一头雾水地做完了课程设计,在这里贴下操作过程,放下当时参考的一篇CSDN文章链接:https://blog.csdn.net/cxy_chen/article/detail ...

  5. 编译Linux内核没有zImage,Linux 编译系统的简单介绍与内核编译安装

    这里不只是讲怎样编译.安装Linux内核的,更主要的是介绍内核的编译系统和各个重要的文件.最后还利用学到的编译.安装Linux内核去修改Linux的01调度变成随机调度.如果你只是需要编译.安装内核的 ...

  6. xilinx linux内核,Xilinx-Zynq Linux内核源码编译过程

    本文内容依据http://www.wiki.xilinx.com网址编写,编译所用操作系统为ubuntu 14 1.交叉编译环境的安装配置 2.uboot的编译 1)下载uboot源代码 下载uboo ...

  7. 【内核】linux内核启动流程详细分析【转】

    转自:http://www.cnblogs.com/lcw/p/3337937.html Linux内核启动流程 arch/arm/kernel/head-armv.S 该文件是内核最先执行的一个文件 ...

  8. linux5.5内核,一条命令就可以升级到Linux 5.5内核或Linux 5.5以上版本

    升级Linux内核其实很简单,本文介绍的方法只需要一条命令,至少能够升级到Linux 5.5内核版本.当然,脚本当中要是加入新的Linux内核,你就能够升级到那个新内核,也就是说可以升级到Linux ...

  9. linux内核报告,Linux升级内核报告.docx

    Linux升级内核报告精要 我的Linux 内核升级记录 准备工作内核安装包的下载下载地址为: HYPERLINK "/pub/linux/kernel/" /pub/linux/ ...

最新文章

  1. js里的document对象大全(DOM操作)
  2. Kafka单机Windows环境搭建
  3. 《Pro SQL Server Internals》部分翻译(P155-165)
  4. linux shell 基础 使用日志与心得
  5. linux 创建crontab文件位置,linux - 如何通过脚本创建crontab - Ubuntu问答
  6. 创建一个动物类 java_使用java面向对象创建动物类并输出动物信息
  7. ubuntu下NDK环境配置
  8. AOP五大通知注解详解
  9. 解封装(三):AVFormatContext分析
  10. BZOJ2388: 旅行规划
  11. Objective-c方法调用流程
  12. 2014年前端开发者如何提升自己
  13. linux加载dl580网卡驱动,HP DL580G5安装centos下的阵列卡驱动
  14. 如何比较两条回归直线
  15. 微信公众号python开发_基于Python的微信公众平台二次开发(Python常用框架、订阅号开发、公众号开发)...
  16. 苹果手机的微信记录怎么恢复?奉上超好用的恢复技巧,拿走不谢
  17. vscode 添加新建文件夹快捷键 (配置 when 属性)
  18. ABB机器人6.13版手册下载
  19. Word 表格顶页 处理办法
  20. win10如何去掉电脑桌面快捷方式图标小箭头?(强迫症必看)--附还原方法

热门文章

  1. 星特朗望远镜怎么样_入手曝光评测双筒望远镜星特朗和博冠有何区别?哪个好?体验报告揭秘...
  2. nginx / 安装、部署和启动
  3. linux模拟主机宕机,AIX HA模拟宕机--维护磁带机
  4. 外部表如何导入mysql_如何利用Oracle外部表导入文本文件的数据
  5. python 安装 HTMLtestRunner(转)
  6. HDU 3308 线段树求区间最长连续上升子序列长度
  7. .Net Core小技巧 - Swagger适配虚拟目录及二级目录
  8. HTML5移动端拖动惯性
  9. 双系统重装windows后如何恢复ubuntu启动项
  10. POJ 3621 Sightseeing Cows