截至昨日
kernel.org 最新的穩定版核心 為 2.6.16.16
在進行選項選擇時
Block devices 中如果有選 ramdisk 時
記得要用 mkinitrd 來製作ramdisk喔
如果你有用到 ext3 又只編成模組的話是一定要借助 ramdisk 的幫忙的
以下是編譯過程
P.S. 版本記得自己換掉阿
===One touch===
make clean;make bzImage;make modules;cd /lib/modules;rm -rf 2.6.16.16.old/; mv 2.6.16.16/ 2.6.16.16.old;make modules_install;cp -f /usr/src/linux-2.6.16.16/arch/i386/boot/bzImage /boot/vmlinuz-2.6.16.16;cp -f /usr/src/linux-2.6.16.16/System.map /boot/System.map-2.6.16.16;mkinitrd -f /boot/initrd-2.6.16.16.img 2.6.16.16
===Step by step===
make clean
make bzImage
make modules
cd /lib/modules
mv 2.6.16.16 2.6.16.16.old
make modules_install
cp /usr/src/linux-2.6.16.16/arch/i386/boot/bzImage /boot/vmlinuz-2.6.16.16
cp /usr/src/linux-2.6.16.16/System.map /boot/System.map-2.6.16.16
mkinitrd /boot/initrd-2.6.16.16.img 2.6.16.16
error: expected specifier-qualifier-list before 'xxxxx'
最近在寫程式的時候
遇到一個前所未見的問題
一開始在網路上找不出個所以然
然而後來找到問題所在
是因為某個 include 的 header 中的某個特有型別未定義
通常在程式寫作時會將特殊型別
用 typedef xxx_xxx_xxx_long_long name short_name;
來將很長的型別名稱換成短的
而 expected specifier-qualifier-list before 'xxxx' 就表示 xxxx 這個型別未定義
這情形通常為函式庫正在改變中或是尚在撰寫中 Orz (為啥偏偏讓我遇上)
Fedora core 5
Kernel :2.6.16-1.2096_FC5
早知道就還是用我最熟的 debian 了 Orz
Reference: The C programming Language
http://math.ut.ee/~soolo/knr2/kandr.html
http://math.ut.ee/~soolo/knr2/appa.html
沒想到這問題的解是在這本C語言聖經本中找到
或者該說當年不是教聖經本所以只好自認了