Lazy Diary @ Hatena Blog

PowerShell / Java / miscellaneous things about software development, Tips & Gochas. CC BY-SA 4.0/Apache License 2.0

Vine Linux で kernel の update

kernel, header, doc の RPM は無事にインストールが済むんだけど、rpm -Uvh kernel-source-2.4.22-0vl2.11.i386.rpm すると

パッケージ makefile は file index 中に見つかりません 

というメッセージが大量に出力される。原因不明。

これが原因なのか分からないけれど、make menuconfig はできるのに make xconfig ができない。

# make xconfig
rm -f include/asm
( cd include ; ln -sf asm-i386 asm)
make -C scripts kconfig.tk
make[1]: 入ります ディレクトリ `/usr/src/linux-2.4.22/scripts'
gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -c -o tkparse.o tkparse.c
gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -c -o tkcond.o tkcond.c
gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -c -o tkgen.o tkgen.c
gcc -o tkparse tkparse.o tkcond.o tkgen.o
cat header.tk >> ./kconfig.tk
./tkparse < ../arch/i386/config.in >> kconfig.tk
-: 214: can't handle dep_bool/dep_mbool/dep_tristate condition
make[1]: *** [kconfig.tk] エラー 1
make[1]: 出ます ディレクトリ `/usr/src/linux-2.4.22/scripts'
make: *** [xconfig] エラー 2
# 

kernel の src.rpm を持ってきて rebuild すればいい、という話があるようなので試す。partition の空き容量が少ないので、/usr/tmp2/rpm/{BUILD, RPMS, SOURCES, SPECS, SRPMS} を作り、/root で ln -s /usr/tmp2/rpm とした後に実行する……がエラー。

gcc -D__KERNEL__ -I/usr/tmp2/rpm/BUILD/linux-2.4.22/include -Wall -Wstrict-prototypes \
 -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe \
 -mpreferred-stack-boundary=2 -march=i386  -Os  -nostdinc -iwithprefix include \
 -DKBUILD_BASENAME=exoparg1 -c -o exoparg1.o exoparg1.c
{standard input}: Assembler messages:
{standard input}:595: Error: suffix or operands invalid for `jmp'

怒られるオペランドは jmp だったり xchg だったり一定しない。何だこれは。