2.2.14 コンパイルしてみる
てっぺんの Makefile を grep CFLAGS_KERNEL してみたら何も出ず。仕方が無いので
$ make ARCH=i386 menuconfig
してみる事に。ちなみに i686 ではなく i386 でした。この頃のソレは今とちょっと違う模様。がしかし、menuconfig には Compile the kernel with debug info などという項目は無い。とりあえず CFLAGS に -g を代入して make してみようかな。
どうなる事やら。
とりあえず
ヤッてみよう。Makefile に手を入れて make を kickoff
$ diff Makefile Makefile.org 90c90 < CFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -g --- > CFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer $ make ARCH=i386 zImage
あ、-j 付けるの忘れた、って思ったらコンパイルが止まるな。
cc1: error: unrecognized command line option "-m486"
うう。これって gcc のバージョンの問題?
というか arch 配下に i686 とか無いな。ちなみに gcc は 4.4.5 です。
ぐぬぬ
grep してみた。
$ find |grep Makefile|xargs grep 486 ./arch/i386/Makefile:ifdef CONFIG_M486 ./arch/i386/Makefile:CFLAGS := $(CFLAGS) -m486 -DCPU=486 ./arch/i386/Makefile:CFLAGS := $(CFLAGS) -m486 -malign-loops=2 -malign-jumps=2 -malign-functions=2 -DCPU=586 ./arch/i386/Makefile:CFLAGS := $(CFLAGS) -m486 -malign-loops=2 -malign-jumps=2 -malign-functions=2 -DCPU=586 ./arch/i386/Makefile:CFLAGS := $(CFLAGS) -m486 -malign-loops=2 -malign-jumps=2 -malign-functions=2 -DCPU=686 $
中身を見てみたら以下な模様。
ifdef CONFIG_M686 CFLAGS := $(CFLAGS) -m486 -malign-loops=2 -malign-jumps=2 -malign-functions=2 -DCPU=686 endif
CONFIG_M686 って何だ。てか、ここのオプションを -m686 に変えれば良いのかどうか。でも Processor type and features なソコからはどうにもできなかったので手動で CONFIG_M686 に y をナニ。あと、arch/i386/Makefile の diff が以下。
$ diff arch/i386/Makefile arch/i386/Makefile.org 43c43 < CFLAGS := $(CFLAGS) -malign-loops=2 -malign-jumps=2 -malign-functions=2 -DCPU=686 --- > CFLAGS := $(CFLAGS) -m486 -malign-loops=2 -malign-jumps=2 -malign-functions=2 -DCPU=686 $
さ、これでどうなるか。
$ make ARCH=i386 zImage
駄目だorz
しかしよくよく考えるに最近 make-kpkg さえも自分でしてないなぁ。ええと -mtune=i686 とかってヤッてみれば良いのだろうか。
ぐぐ
コンパイルエラーがどさっと出るな。見てみたら以下な箇所あたりで出てますな。
#ifdef CONFIG_CDU31A extern void cdu31a_setup(char *str, int *ints); #endif CONFIG_CDU31A
何故に endif なソレに (ry
ちょっとこれはこれでぼちぼちやろう。あまりにも不毛なので。