2008年4月7日 星期一

build Linux kernel

解壓縮 linux-2.6.24.tar.bz2 to /usr/src/linux-2.6.24
cd /usr/src/linux-2.6.24
sudo make menuconfig (make menuconfig)

/* error message

HOSTCC scripts/basic/fixdep
HOSTCC scripts/basic/docproc
HOSTCC scripts/kconfig/conf.o
HOSTCC scripts/kconfig/kxgettext.o
HOSTCC scripts/kconfig/lxdialog/checklist.o
在包含自 scripts/kconfig/lxdialog/checklist.c:24 的檔案中:
scripts/kconfig/lxdialog/dialog.h:32:20: 錯誤: curses.h:沒有此一檔案或目錄
In file included from scripts/kconfig/lxdialog/checklist.c:24:
scripts/kconfig/lxdialog/dialog.h:97: 錯誤: expected specifier-qualifier-list before 「chtype」
scripts/kconfig/lxdialog/dialog.h:187: 錯誤: expected 「)」 before 「*」 token
scripts/kconfig/lxdialog/dialog.h:194: 錯誤: expected 「)」 before 「*」 token
scripts/kconfig/lxdialog/dialog.h:196: 錯誤: expected 「)」 before 「*」 token
scripts/kconfig/lxdialog/dialog.h:197: 錯誤: expected 「)」 before 「*」 token
scripts/kconfig/lxdialog/dialog.h:198: 錯誤: expected 「)」 before 「*」 token
scripts/kconfig/lxdialog/dialog.h:199: 錯誤: expected 「)」 before 「*」 token
scripts/kconfig/lxdialog/dialog.h:201: 錯誤: expected 「)」 before 「*」 token
scripts/kconfig/lxdialog/checklist.c:31: 錯誤: expected 「)」 before 「*」 token
scripts/kconfig/lxdialog/checklist.c:59: 錯誤: expected 「)」 before 「*」 token
scripts/kconfig/lxdialog/checklist.c:95: 錯誤: expected 「)」 before 「*」 token
scripts/kconfig/lxdialog/checklist.c: 在函式 「dialog_checklist」 中:
scripts/kconfig/lxdialog/checklist.c:116: 錯誤: 「WINDOW」 未宣告 (在此函式內第一次使用)
scripts/kconfig/lxdialog/checklist.c:116: 錯誤: (即使在一個函式內多次出現,每個未宣告的識別碼在其
scripts/kconfig/lxdialog/checklist.c:116: 錯誤: 所在的函式內只報告一次。)
scripts/kconfig/lxdialog/checklist.c:116: 錯誤: 「dialog」 未宣告 (在此函式內第一次使用)
scripts/kconfig/lxdialog/checklist.c:116: 錯誤: 「list」 未宣告 (在此函式內第一次使用)
scripts/kconfig/lxdialog/checklist.c:116: 警告: 逗號運算式的左運算元不起作用
scripts/kconfig/lxdialog/checklist.c:129: 警告: 隱含宣告函式 「getmaxy」
scripts/kconfig/lxdialog/checklist.c:129: 錯誤: 「stdscr」 未宣告 (在此函式內第一次使用)
scripts/kconfig/lxdialog/checklist.c:130: 錯誤: 「KEY_MAX」 未宣告 (在此函式內第一次使用)
scripts/kconfig/lxdialog/checklist.c:131: 警告: 隱含宣告函式 「getmaxx」
scripts/kconfig/lxdialog/checklist.c:137: 錯誤: 「COLS」 未宣告 (在此函式內第一次使用)
scripts/kconfig/lxdialog/checklist.c:138: 錯誤: 「LINES」 未宣告 (在此函式內第一次使用)
scripts/kconfig/lxdialog/checklist.c:140: 警告: 隱含宣告函式 「draw_shadow」
scripts/kconfig/lxdialog/checklist.c:142: 警告: 隱含宣告函式 「newwin」
scripts/kconfig/lxdialog/checklist.c:143: 警告: 隱含宣告函式 「keypad」
scripts/kconfig/lxdialog/checklist.c:143: 錯誤: 「TRUE」 未宣告 (在此函式內第一次使用)
scripts/kconfig/lxdialog/checklist.c:145: 警告: 隱含宣告函式 「draw_box」
scripts/kconfig/lxdialog/checklist.c:146: 錯誤: 「struct dialog_color」 沒具名為 「atr」 的成員
scripts/kconfig/lxdialog/checklist.c:146: 錯誤: 「struct dialog_color」 沒具名為 「atr」 的成員
scripts/kconfig/lxdialog/checklist.c:147: 警告: 隱含宣告函式 「wattrset」
scripts/kconfig/lxdialog/checklist.c:147: 錯誤: 「struct dialog_color」 沒具名為 「atr」 的成員
scripts/kconfig/lxdialog/checklist.c:148: 警告: 隱含宣告函式 「mvwaddch」
scripts/kconfig/lxdialog/checklist.c:150: 警告: 隱含宣告函式 「waddch」
scripts/kconfig/lxdialog/checklist.c:151: 錯誤: 「struct dialog_color」 沒具名為 「atr」 的成員
scripts/kconfig/lxdialog/checklist.c:154: 警告: 隱含宣告函式 「print_title」
scripts/kconfig/lxdialog/checklist.c:156: 錯誤: 「struct dialog_color」 沒具名為 「atr」 的成員
scripts/kconfig/lxdialog/checklist.c:157: 警告: 隱含宣告函式 「print_autowrap」
scripts/kconfig/lxdialog/checklist.c:164: 警告: 隱含宣告函式 「subwin」
scripts/kconfig/lxdialog/checklist.c:171: 錯誤: 「struct dialog_color」 沒具名為 「atr」 的成員
scripts/kconfig/lxdialog/checklist.c:171: 錯誤: 「struct dialog_color」 沒具名為 「atr」 的成員
scripts/kconfig/lxdialog/checklist.c:189: 警告: 隱含宣告函式 「print_item」
scripts/kconfig/lxdialog/checklist.c:192: 警告: 隱含宣告函式 「print_arrows」
scripts/kconfig/lxdialog/checklist.c:195: 警告: 隱含宣告函式 「print_buttons」
scripts/kconfig/lxdialog/checklist.c:197: 警告: 隱含宣告函式 「wnoutrefresh」
scripts/kconfig/lxdialog/checklist.c:199: 警告: 隱含宣告函式 「doupdate」
scripts/kconfig/lxdialog/checklist.c:202: 警告: 隱含宣告函式 「wgetch」
scripts/kconfig/lxdialog/checklist.c:210: 錯誤: 「KEY_UP」 未宣告 (在此函式內第一次使用)
scripts/kconfig/lxdialog/checklist.c:210: 錯誤: 「KEY_DOWN」 未宣告 (在此函式內第一次使用)
scripts/kconfig/lxdialog/checklist.c:220: 錯誤: 「FALSE」 未宣告 (在此函式內第一次使用)
scripts/kconfig/lxdialog/checklist.c:221: 警告: 隱含宣告函式 「scrollok」
scripts/kconfig/lxdialog/checklist.c:222: 警告: 隱含宣告函式 「wscrl」
scripts/kconfig/lxdialog/checklist.c:232: 警告: 隱含宣告函式 「wrefresh」
scripts/kconfig/lxdialog/checklist.c:293: 警告: 隱含宣告函式 「delwin」
scripts/kconfig/lxdialog/checklist.c:297: 錯誤: 「KEY_LEFT」 未宣告 (在此函式內第一次使用)
scripts/kconfig/lxdialog/checklist.c:298: 錯誤: 「KEY_RIGHT」 未宣告 (在此函式內第一次使用)
scripts/kconfig/lxdialog/checklist.c:310: 警告: 隱含宣告函式 「on_key_esc」
scripts/kconfig/lxdialog/checklist.c:312: 錯誤: 「KEY_RESIZE」 未宣告 (在此函式內第一次使用)
make[1]: *** [scripts/kconfig/lxdialog/checklist.o] Error 1
make: *** [menuconfig] Error 2

sudo apt-get install libncurses5-dev


nelsonchung@nelsonchung--ubuntu-NB:/usr/src/linux-2.6.24/scripts/kconfig/lxdialog$ sudo make menuconfig
make: *** No rule to make target `menuconfig'. Stop.

sudo apt-get install kernel-package

nelsonchung@nelsonchung--ubuntu-NB:/usr/src/linux-2.6.24/scripts/kconfig/lxdialog$ sudo apt-get install kernel-package
讀取套件清單中... 完成
了解套件依存關係中
Reading state information... 完成
The following packages were automatically installed and are no longer required:
python-pymad python-pyogg python-pyvorbis python-mutagen python-pysqlite2
Use 'apt-get autoremove' to remove them.
下列的【新】套件都將被安裝:
intltool-debian po-debconf
建議(Suggested)的套件:
linux-source kernel-source libdb3-dev docbook-utils
推薦(Recommended)的套件:
libmail-sendmail-perl libcompress-zlib-perl
下列的【新】套件都將被安裝:
intltool-debian kernel-package po-debconf
更新 0 個套件,新安裝 3 個套件,刪除 0 個套件,另不更新 0 個套件。
需要下載 659kB 的檔案。
解壓縮後將消耗 2683kB 的空間。
繼續執行嗎? 是按 [Y] 鍵,否按 [n] 鍵 y
下載:1 http://tw.archive.ubuntu.com gutsy/main intltool-debian 0.35.0+20060710.1 [31.6kB]
下載:2 http://tw.archive.ubuntu.com gutsy/main po-debconf 1.0.9 [117kB]
下載:3 http://tw.archive.ubuntu.com gutsy/main kernel-package 11.001 [510kB]
讀取 659kB 用了 14s (45.3kB/s)
選中了曾被取消選擇的套件 intltool-debian。
(正在讀取資料庫 ... 系統目前總共安裝有 138561 個檔案和目錄。)
正在解壓縮 intltool-debian (從 .../intltool-debian_0.35.0+20060710.1_all.deb) ...
選中了曾被取消選擇的套件 po-debconf。
正在解壓縮 po-debconf (從 .../po-debconf_1.0.9_all.deb) ...
選中了曾被取消選擇的套件 kernel-package。
正在解壓縮 kernel-package (從 .../kernel-package_11.001_all.deb) ...
正在設定 intltool-debian (0.35.0+20060710.1) ...
正在設定 po-debconf (1.0.9) ...
正在設定 kernel-package (11.001) ...

nelsonchung@nelsonchung--ubuntu-NB:/usr/src/linux-2.6.24/scripts/kconfig/lxdialog$ make menuconfig
make: *** No rule to make target `menuconfig'. Stop.


sudo apt-get install libqt3-mt-dev

nelsonchung@nelsonchung--ubuntu-NB:/usr/src/linux-2.6.24/scripts/kconfig/lxdialog$ sudo apt-get install libqt3-mt-dev
讀取套件清單中... 完成
了解套件依存關係中
Reading state information... 完成
The following packages were automatically installed and are no longer required:
python-pymad python-pyogg python-pyvorbis python-mutagen python-pysqlite2
Use 'apt-get autoremove' to remove them.
下列的【新】套件都將被安裝:
comerr-dev libaudio-dev libcupsys2-dev libgcrypt11-dev libgl1-mesa-dev
libglu1-mesa-dev libgnutls-dev libgnutlsxx13 libgpg-error-dev
libjpeg62-dev libkadm55 libkrb5-dev liblcms1-dev liblzo2-dev libmng-dev
libopencdk8-dev libpopt-dev libqt3-headers libtasn1-3-dev libxmu-dev
libxmu-headers libxt-dev mesa-common-dev qt3-dev-tools
建議(Suggested)的套件:
libgcrypt11-doc gnutls-doc gnutls-bin krb5-doc libqt3-i18n qt3-doc
推薦(Recommended)的套件:
libqt3-compat-headers
下列的【新】套件都將被安裝:
comerr-dev libaudio-dev libcupsys2-dev libgcrypt11-dev libgl1-mesa-dev
libglu1-mesa-dev libgnutls-dev libgnutlsxx13 libgpg-error-dev
libjpeg62-dev libkadm55 libkrb5-dev liblcms1-dev liblzo2-dev libmng-dev
libopencdk8-dev libpopt-dev libqt3-headers libqt3-mt-dev libtasn1-3-dev
libxmu-dev libxmu-headers libxt-dev mesa-common-dev qt3-dev-tools
更新 0 個套件,新安裝 25 個套件,刪除 0 個套件,另不更新 0 個套件。
需要下載 6095kB 的檔案。
解壓縮後將消耗 21.4MB 的空間。
繼續執行嗎? 是按 [Y] 鍵,否按 [n] 鍵 y
下載:1 http://tw.archive.ubuntu.com gutsy/main libxmu-headers 2:1.0.3-1ubuntu1 [20.7kB]
下載:2 http://tw.archive.ubuntu.com gutsy/main libxt-dev 1:1.0.5-3 [482kB]
下載:3 http://tw.archive.ubuntu.com gutsy/main libgnutlsxx13 1.6.3-1build1 [105kB]
下載:4 http://tw.archive.ubuntu.com gutsy/main libgpg-error-dev 1.4-2ubuntu1 [33.9kB]
下載:5 http://tw.archive.ubuntu.com gutsy/main libgcrypt11-dev 1.2.4-2ubuntu2 [249kB]
下載:6 http://tw.archive.ubuntu.com gutsy/main libtasn1-3-dev 0.3.9-1 [311kB]
下載:7 http://tw.archive.ubuntu.com gutsy/main libpopt-dev 1.10-3build1 [38.3kB]
下載:8 http://tw.archive.ubuntu.com gutsy/main libopencdk8-dev 0.5.13-2 [125kB]
下載:9 http://tw.archive.ubuntu.com gutsy/main liblzo2-dev 2.02-3 [139kB]
下載:10 http://tw.archive.ubuntu.com gutsy/main libgnutls-dev 1.6.3-1build1 [399kB]
下載:11 http://tw.archive.ubuntu.com gutsy-updates/main libkadm55 1.6.dfsg.1-7ubuntu0.1 [148kB]
下載:12 http://tw.archive.ubuntu.com gutsy-updates/main comerr-dev 2.1-1.40.2-1ubuntu1.1 [40.6kB]
下載:13 http://tw.archive.ubuntu.com gutsy-updates/main libkrb5-dev 1.6.dfsg.1-7ubuntu0.1 [88.6kB]
下載:14 http://tw.archive.ubuntu.com gutsy-updates/main libcupsys2-dev 1.3.2-1ubuntu7.5 [146kB]
下載:15 http://tw.archive.ubuntu.com gutsy/main mesa-common-dev 7.0.1-1ubuntu3 [182kB]
下載:16 http://tw.archive.ubuntu.com gutsy/main libgl1-mesa-dev 7.0.1-1ubuntu3 [26.0kB]
下載:17 http://tw.archive.ubuntu.com gutsy/main libglu1-mesa-dev 7.0.1-1ubuntu3 [258kB]
下載:18 http://tw.archive.ubuntu.com gutsy/main libjpeg62-dev 6b-14 [188kB]
下載:19 http://tw.archive.ubuntu.com gutsy/main liblcms1-dev 1.16-5ubuntu3 [626kB]
下載:20 http://tw.archive.ubuntu.com gutsy/main libmng-dev 1.0.9-1 [285kB]
下載:21 http://tw.archive.ubuntu.com gutsy-updates/main libqt3-headers 3:3.3.8really3.3.7-0ubuntu11.1 [355kB]
下載:22 http://tw.archive.ubuntu.com gutsy/main libxmu-dev 2:1.0.3-1ubuntu1 [54.8kB]
下載:23 http://tw.archive.ubuntu.com gutsy/main libaudio-dev 1.9-2 [506kB]
下載:24 http://tw.archive.ubuntu.com gutsy-updates/main qt3-dev-tools 3:3.3.8really3.3.7-0ubuntu11.1 [1239kB]
下載:25 http://tw.archive.ubuntu.com gutsy-updates/main libqt3-mt-dev 3:3.3.8really3.3.7-0ubuntu11.1 [49.0kB]
讀取 6095kB 用了 2m12s (46.1kB/s)
選中了曾被取消選擇的套件 libxmu-headers。
(正在讀取資料庫 ... 系統目前總共安裝有 138837 個檔案和目錄。)
正在解壓縮 libxmu-headers (從 .../libxmu-headers_2%3a1.0.3-1ubuntu1_all.deb) ...
選中了曾被取消選擇的套件 libxt-dev。
正在解壓縮 libxt-dev (從 .../libxt-dev_1%3a1.0.5-3_i386.deb) ...
選中了曾被取消選擇的套件 libgnutlsxx13。
正在解壓縮 libgnutlsxx13 (從 .../libgnutlsxx13_1.6.3-1build1_i386.deb) ...
選中了曾被取消選擇的套件 libgpg-error-dev。
正在解壓縮 libgpg-error-dev (從 .../libgpg-error-dev_1.4-2ubuntu1_i386.deb) ...
選中了曾被取消選擇的套件 libgcrypt11-dev。
正在解壓縮 libgcrypt11-dev (從 .../libgcrypt11-dev_1.2.4-2ubuntu2_i386.deb) ...
選中了曾被取消選擇的套件 libtasn1-3-dev。
正在解壓縮 libtasn1-3-dev (從 .../libtasn1-3-dev_0.3.9-1_i386.deb) ...
選中了曾被取消選擇的套件 libpopt-dev。
正在解壓縮 libpopt-dev (從 .../libpopt-dev_1.10-3build1_i386.deb) ...
選中了曾被取消選擇的套件 libopencdk8-dev。
正在解壓縮 libopencdk8-dev (從 .../libopencdk8-dev_0.5.13-2_i386.deb) ...
選中了曾被取消選擇的套件 liblzo2-dev。
正在解壓縮 liblzo2-dev (從 .../liblzo2-dev_2.02-3_i386.deb) ...
選中了曾被取消選擇的套件 libgnutls-dev。
正在解壓縮 libgnutls-dev (從 .../libgnutls-dev_1.6.3-1build1_i386.deb) ...
選中了曾被取消選擇的套件 libkadm55。
正在解壓縮 libkadm55 (從 .../libkadm55_1.6.dfsg.1-7ubuntu0.1_i386.deb) ...
選中了曾被取消選擇的套件 comerr-dev。
正在解壓縮 comerr-dev (從 .../comerr-dev_2.1-1.40.2-1ubuntu1.1_i386.deb) ...
選中了曾被取消選擇的套件 libkrb5-dev。
正在解壓縮 libkrb5-dev (從 .../libkrb5-dev_1.6.dfsg.1-7ubuntu0.1_i386.deb) ...
選中了曾被取消選擇的套件 libcupsys2-dev。
正在解壓縮 libcupsys2-dev (從 .../libcupsys2-dev_1.3.2-1ubuntu7.5_i386.deb) ...
選中了曾被取消選擇的套件 mesa-common-dev。
正在解壓縮 mesa-common-dev (從 .../mesa-common-dev_7.0.1-1ubuntu3_all.deb) ...
選中了曾被取消選擇的套件 libgl1-mesa-dev。
正在解壓縮 libgl1-mesa-dev (從 .../libgl1-mesa-dev_7.0.1-1ubuntu3_all.deb) ...
選中了曾被取消選擇的套件 libglu1-mesa-dev。
正在解壓縮 libglu1-mesa-dev (從 .../libglu1-mesa-dev_7.0.1-1ubuntu3_i386.deb) ...
選中了曾被取消選擇的套件 libjpeg62-dev。
正在解壓縮 libjpeg62-dev (從 .../libjpeg62-dev_6b-14_i386.deb) ...
選中了曾被取消選擇的套件 liblcms1-dev。
正在解壓縮 liblcms1-dev (從 .../liblcms1-dev_1.16-5ubuntu3_i386.deb) ...
選中了曾被取消選擇的套件 libmng-dev。
正在解壓縮 libmng-dev (從 .../libmng-dev_1.0.9-1_i386.deb) ...
選中了曾被取消選擇的套件 libqt3-headers。
正在解壓縮 libqt3-headers (從 .../libqt3-headers_3%3a3.3.8really3.3.7-0ubuntu11.1_i386.deb) ...
選中了曾被取消選擇的套件 libxmu-dev。
正在解壓縮 libxmu-dev (從 .../libxmu-dev_2%3a1.0.3-1ubuntu1_i386.deb) ...
選中了曾被取消選擇的套件 libaudio-dev。
正在解壓縮 libaudio-dev (從 .../libaudio-dev_1.9-2_i386.deb) ...
選中了曾被取消選擇的套件 qt3-dev-tools。
正在解壓縮 qt3-dev-tools (從 .../qt3-dev-tools_3%3a3.3.8really3.3.7-0ubuntu11.1_i386.deb) ...
選中了曾被取消選擇的套件 libqt3-mt-dev。
正在解壓縮 libqt3-mt-dev (從 .../libqt3-mt-dev_3%3a3.3.8really3.3.7-0ubuntu11.1_i386.deb) ...
正在設定 libxmu-headers (2:1.0.3-1ubuntu1) ...
正在設定 libxt-dev (1:1.0.5-3) ...
正在設定 libgnutlsxx13 (1.6.3-1build1) ...

正在設定 libgpg-error-dev (1.4-2ubuntu1) ...
正在設定 libgcrypt11-dev (1.2.4-2ubuntu2) ...
正在設定 libtasn1-3-dev (0.3.9-1) ...

正在設定 libpopt-dev (1.10-3build1) ...
正在設定 libopencdk8-dev (0.5.13-2) ...

正在設定 liblzo2-dev (2.02-3) ...
正在設定 libgnutls-dev (1.6.3-1build1) ...
正在設定 libkadm55 (1.6.dfsg.1-7ubuntu0.1) ...

正在設定 comerr-dev (2.1-1.40.2-1ubuntu1.1) ...

正在設定 libkrb5-dev (1.6.dfsg.1-7ubuntu0.1) ...
正在設定 libcupsys2-dev (1.3.2-1ubuntu7.5) ...
正在設定 mesa-common-dev (7.0.1-1ubuntu3) ...
正在設定 libgl1-mesa-dev (7.0.1-1ubuntu3) ...
正在設定 libglu1-mesa-dev (7.0.1-1ubuntu3) ...
正在設定 libjpeg62-dev (6b-14) ...
正在設定 liblcms1-dev (1.16-5ubuntu3) ...
正在設定 libmng-dev (1.0.9-1) ...
正在設定 libqt3-headers (3:3.3.8really3.3.7-0ubuntu11.1) ...
正在設定 libxmu-dev (2:1.0.3-1ubuntu1) ...
正在設定 libaudio-dev (1.9-2) ...
正在設定 qt3-dev-tools (3:3.3.8really3.3.7-0ubuntu11.1) ...

正在設定 libqt3-mt-dev (3:3.3.8really3.3.7-0ubuntu11.1) ...
Processing triggers for libc6 ...
ldconfig deferred processing now taking place

nelsonchung@nelsonchung--ubuntu-NB:/usr/src/linux-2.6.24/scripts/kconfig/lxdialog$ make menuconfig
make: *** No rule to make target `menuconfig'. Stop.


logout

login

sudo make mrproper

sudo make menuconfig

It's ok to start.

Processor type and features
Enable seccomp to safely compute untrusted bytecode
Timer frequency (from 250 to 1000MZ)
(程式反應速度較快)
Network device support
關掉
Ethernet (1000Mbit)
Ethernet (10000Mbit)
Token Ring driver support
ATM drivers
FDDI driver support
HIPPI driver support

sudo make clean
sudo make bzImage
AS arch/x86/boot/compressed/head_32.o
CC arch/x86/boot/compressed/misc_32.o
OBJCOPY arch/x86/boot/compressed/vmlinux.bin
HOSTCC arch/x86/boot/compressed/relocs
RELOCS arch/x86/boot/compressed/vmlinux.relocs
BUILD arch/x86/boot/compressed/vmlinux.bin.all
GZIP arch/x86/boot/compressed/vmlinux.bin.gz
LD arch/x86/boot/compressed/piggy.o
LD arch/x86/boot/compressed/vmlinux
OBJCOPY arch/x86/boot/vmlinux.bin
HOSTCC arch/x86/boot/tools/build
BUILD arch/x86/boot/bzImage
Root device is (8, 6)
Setup is 10936 bytes (padded to 11264 bytes).
System is 1737 kB
Kernel: arch/x86/boot/bzImage is ready (#1)

sudo make modules

ok
build 完
卻不太曉得要如何去設定 /boot/grub/menu.lst


Reference:
鳥哥的私房菜 - Linux 的核心編譯與管理

透過Facebook分享

沒有留言: