kernel(核心)是作業系統的核心,相當于人的大腦,掌控所有的硬體裝置的控制權,也就是希望計算機幫你完成各項工作,那都需要通過核心的幫助才能完成,當然,如果你想實作的功能核心沒有提供,那就必須添加相關的子產品到核心中,就類似驅動程式,有了子產品的支援我們計算機才能去操控硬體,完成我們想完成的工作
核心其實就是系統上面的一個檔案,這個檔案包含了驅動硬體的檢測程式與驅動子產品,核心檔案在/boot目錄下一個以vmlinuz開頭的檔案,有時候/boot下面有幾個vmlinuz開頭的檔案,但是啟動的時候隻能加載一個,是以說Linux系統是個單核心,多子產品的體系
Linux核心的官方網站是http://www.kernel.org,通路該網站可以擷取核心各個版本的代碼。其中網站首頁上顯示的是目前核心的最新穩定版本。
你可以通過https://www.kernel.org/pub/linux/kernel/來查找任何一個你想要的核心版本,并用wget來下載下傳他
核心編譯具體步驟
執行步驟:
我這裡就不下載下傳了,(網速太慢了/(ㄒoㄒ)/~~)不過我本地有 linux-3.16.2.tar 你們可以去官網下載下傳看看
[root@localhost ~]# yum groupinstall "Server Platform Development" "Development tools"
[root@localhost sdb1]# tar xvf linux-3.16.2.tar.xz
[root@localhost sdb1]# du -sh linux-3.16.2/
634M linux-3.16.2/
由于我們隻添加一個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檔案中的定義)
<a href="http://s1.51cto.com/wyfs02/M00/87/38/wKiom1fXxdOC61STAADVxKAnPdg358.png" target="_blank"></a>
如是想查詢,某個參數在哪裡,可以這樣,在這個界面下,輸入: / 然後再輸入: NTFS 就顯示如下:
<a href="http://s2.51cto.com/wyfs02/M02/87/38/wKiom1fXxxvQUCGwAAqJ0mTvtAI428.gif" target="_blank"></a>
配置過程中:
[ ] : 表示不進行編譯
[M] : 表示以子產品的形式進行編譯
[*] : 編譯進核心中
[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 安裝核心相關檔案
[root@localhost linux-3.16.2]# vim /boot/grub/grub.conf
<a href="http://s1.51cto.com/wyfs02/M00/87/36/wKioL1fX1tqSS1n1AAD4MtEPa0A863.png" target="_blank"></a>
注意,在啟動的時候,需要自己進來一下選擇,否則預設還是以前的核心啟動哦。除非你在上一步把預設啟動項給改了。
[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]#
檢視子產品資訊
#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
<a href="http://s3.51cto.com/wyfs02/M02/87/39/wKiom1fX35LyyA8iAAA-gyR9D5I534.png" target="_blank"></a>
安裝 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
版權聲明:本文轉自 好筆記運維 51CTO部落格,原文連結:http://blog.51cto.com/zhang789/1852406,如需轉載請自行聯系原作者