天天看點

Linux01-Linux編譯核心定制屬于自己的核心48

一、Kernel常用指令

    1、Kernel組成:

核心:/boot/vmlinuz-version

核心子產品(ko): /lib/modules/version/

    2、裝載子產品指令:

insmod

modprobe

    3、使用者空間:是通路、監控核心的方式:

    4、僞檔案系統/proc, /sys:

/proc/sys: 此目錄中的檔案很多是可讀寫的

/sys/: 某些檔案可寫

    5、設定核心參數值的方法:

        a、能立即生效,但無法永久有效:

            echo VALUE > /proc/sys/TO/SOMEFILE,如:echo 1 > /proc/sys/vm/drop_caches;

    sysctl -w kernel.hostname="NAME";

        b、永久有效:/etc/sysctl.conf

        c、修改檔案完成之後,執行如下指令可立即生效:

    sysctl -p :重讀/etc/sysctl.conf檔案

    sysctl -a: 顯示所有核心參數及其值

二、核心子產品管理

    1、核心子產品管理指令:

a、lsmod: 檢視核心子產品

    modprobe MOD_NAME:裝載某子產品

    modprobe -r MOD_NAME: 解除安裝某子產品

        b、modinfo MOD_NAME: 檢視子產品的具體資訊

            insmod /PATH/TO/MODULE_FILE: 裝載子產品

            rmmod MOD_NAME 移除子產品

        c、depmod /PATH/TO/MODILES_DIR 生成子產品的依賴關系

    2、編譯核心功能的選擇:

        核心中的功能除了核心功能之外,在編譯時,大多功能都有三種選擇:

a、不使用此功能;

b、編譯成核心子產品;

c、編譯進核心;

    3、編譯核心的環境make指令:GNU make utility to maintain groups of programs 

a、make gconfig: Gnome桌面環境使用,需要安裝圖形開發庫組:GNOME Software Development

b、make kconfig: KDE桌面環境使用,需要安裝圖形開發庫

c、make menuconfig: 文本模式下的執行視窗;

三、文本模式下如何手動編譯核心功能子產品

    1、挂載系統鏡像檔案 mount /dev/cdrom /media/cdrom

    2、建立本地yum服務檔案/etc/yum.repos.d/local.repo

[base]

name=Server

baseurl=file:///media/cdrom/CentOS

enabled=1

gpgcheck=0

    3、cd /etc/yum.repos.d/

    4、安裝圖形開發庫Development Libraries和Development Tools

        # yum groupinstall "Development Tools" "Development Libraries" 

    5、下載下傳Kernel linux-2.6.28.10.tar.gz

    6、解壓縮tar xf linux-2.6.28.10.tar.gz -C /usr/src

    7、# ln -sv linux-2.6.28.10 linux

    8、cd /usr/src/linux

    9、cp /boot/config-2.6.18-348.el5 /usr/src/linux/.config

    10、make menucofig,在打開的圖形視窗中開始編譯需要的功能子產品;

    11、make

    12、make modules_install

    13、make install

四、編譯核心功能子產品的其他指令

    1、screen指令,yum install screen 安裝後,可模拟多個桌面;

        a)screen -ls: 顯示已經建立的螢幕

        b)bscreen: 直接打開一個新的螢幕

    Ctrl+a, d: 拆除螢幕

        c)screen -r ID: 還原回某螢幕

            exit: 退出

    2、二次編譯時清理第一次編譯的核心子產品功能(清理前,如果有需要,請備份配置檔案.config檔案)

繼續閱讀