(2007.01.14)
どうもカーネルがうまく作れない。
menuconfig
make dep
make modules
make
make zImage
とかしたいけど、make modulesでモジュールを作るのは文句ない。作れる。
しかし、カーネルを作るところで、このようになる。
arm-linux-gcc -D__KERNEL__ -I/hdd3/src/kernel-C3200/linux/include -Wall -Wstrict
-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -Uarm -fno-commo
n -pipe -mapcs-32 -D__LINUX_ARM_ARCH__=4 -march=armv4 -mtune=strongarm -mshort-
load-bytes -msoft-float -Uarm -nostdinc -iwithprefix include -DKBUILD_BASENAME
=compat -c -o compat.o compat.c
arm-linux-gcc -D__KERNEL__ -I/hdd3/src/kernel-C3200/linux/include -Wall -Wstrict
-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -Uarm -fno-commo
n -pipe -mapcs-32 -D__LINUX_ARM_ARCH__=4 -march=armv4 -mtune=strongarm -mshort-
load-bytes -msoft-float -Uarm -nostdinc -iwithprefix include -DKBUILD_BASENAME
=dma -DEXPORT_SYMTAB -c dma.c
arm-linux-gcc -D__ASSEMBLY__ -D__KERNEL__ -I/hdd3/src/kernel-C3200/linux/include
-mapcs-32 -D__LINUX_ARM_ARCH__=4 -march=armv4 -mno-fpu -msoft-float -c -o en
try-armv.o entry-armv.S
entry-armv.S: Assembler messages:
entry-armv.S:851: Error: bad instruction `clz r0,r6'
entry-armv.S:1011: Error: bad instruction `clz r0,r6'
make[1]: *** [entry-armv.o] Error 1
make[1]: Leaving directory `/hdd3/src/kernel-C3200/linux/arch/arm/kernel'
make: *** [_dir_arch/arm/kernel] Error 2
"clz"という機械語がないというらしい。
そうか!!
/usr/local/bin/asが悪いのか。これを新しいのと取り換えればいのか。
ということで
gas(GNU as)を入れることにした。そうすると、gas.READMEに、gasはbinutils
に含まれる。ということが書いてあったので、いまから
binutils-2.17.tar.gz?を入れることにする。
もう一度gccをインストールしなおそうと思って、今度は真面目に
% w3m install/index.html をしてみた。
あ、そうか、makeではなくてmake bootstrapをするんだったんだ。
これをすればasやldも作られ、インストールできるんだ。
と、気がついて、いまmake bootstrapしてるところ。