於 Kernel 分類下的文章
Kernel介紹
Kernel (核心),是整個系統中最底層也是最重要的一部份。不但負責硬體的驅動,更提供了各種系統所需的核心功能、包括防火牆機制、是否支援 LVM 或 Quota 等檔案系統等…都是靠核心所負責的。 Linux Kernel,以 C語言寫成,符合POSIX標準,採用GNU通用公共許可證釋出,是目前最受歡迎的自由電腦作業系統核心
更多詳細內容可參考 :
系統環境
Centos 5.8-x86_64-bin
Kernel linux-2.6.39.4
安裝方式
安裝相關套件
在開始設定之前,請先安裝所需的套件
gcc gcc-c++ : 用於make 編譯時使用
ncurses-devel : 用於make menuconfig 時使用
1 |
[root@localhost ~]# yum -y install gcc gcc-c++ ncurses-devel |
下載所需要的 Kernel 2.6.x
Kernel 的版本有很多,請依照自己需要的下載
以下提供幾個常見的載點
1 2 3 4 |
[root@localhost ~]# cd /usr/src/kernels [root@localhost ~]# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.39.4.tar.gz [root@localhost ~]# tar -zxvpf linux-2.6.39.4.tar.gz [root@localhost ~]# cd linux-2.6.39.4 |
在編譯 Krenel 時常會出現很多奇奇怪怪的錯誤訊息,然後就不知道怎麼去解決。在這次編譯也遇到一些錯誤。借此次機會整理了一下,所遇到和網路上的一些錯誤訊息的解法。
以下的操作都是在 Linux-Krenel 的資料夾內。從錯誤訊息 2開始,在檔案編輯時前頭有「+」的表示新增此內容,反之「-」表示刪除此內容。
錯誤訊息 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
LD drivers/xen/built-in.o drivers/xen/blktap2-new/built-in.o: In function `blktap_ring_init': /usr/src/kernels/linux-2.6.38/drivers/xen/blktap2-new/ring.c:521: multiple definition of `blktap_ring_init' drivers/xen/blktap2/built-in.o:/usr/src/kernels/linux-2.6.38/drivers/xen/blktap2/ring.c:587: first defined here ld: Warning: size of symbol `blktap_ring_init' changed from 165 in drivers/xen/blktap2/built-in.o to 159 in drivers/xen/blktap2-new/built-in.o . . (略過) . drivers/xen/blktap2-new/built-in.o: In function `blktap_sysfs_create': /usr/src/kernels/linux-2.6.38/drivers/xen/blktap2-new/sysfs.c:168: multiple definition of `blktap_sysfs_create' drivers/xen/blktap2/built-in.o:/usr/src/kernels/linux-2.6.38/drivers/xen/blktap2/sysfs.c:300: first defined here ld: Warning: size of symbol `blktap_sysfs_create' changed from 317 in drivers/xen/blktap2/built-in.o to 224 in drivers/xen/blktap2-new/built-in.o make[2]: *** [drivers/xen/built-in.o] Error 1 make[1]: *** [drivers/xen] Error 2 make: *** [drivers] Error 2 |
解法
把這兩個取消不要勾選
1 2 3 4 5 |
[root@localhost ~]# make menuconfig Device Drivers ---> XEN ---> < > Block-device tap backend driver < > Block-device tap backend driver 2 |
近期迴響