make-kpkgめんどくせ

dpkg-architectureでSH4と答えるので、debian的にはSH4だと思っているのだけど、kernel側ではarchはshなので、多少の修正を加えたくらいでは、make-kpkgが通らない。
最適化が進むというのは、便利になると同時に不便になるということだな。


やっと見つけた。
そのへんを調停するのは"ruleset/misc/kernel_arch.mk"らしい。


とりあえず、このへんの修正でも通らない?

  • /usr/share/kernel-package/ruleset/misc/kernel_arch.mk
ifeq ($(architecture), sh4)
  KERNEL_ARCH:=sh
endif
  • /usr/share/kernel-package/Config/config.sh4
CONFIG_CPU_SH4=y
CONFIG_SH_FPU=y
CONFIG_SH_DMA_API=y
CONFIG_SH_DMA=y
CONFIG_SH_PCIDMA_NONCOHERENT=y
CONFIG_SERIAL_SH_SCI=y
CONFIG_SERIAL_SH_SCI_NR_UARTS=2
CONFIG_SERIAL_SH_SCI_CONSOLE=y
CONFIG_SH_STANDARD_BIOS=y
  • /usr/share/kernel-package/ruleset/arches/sh4.mk
### SH4

kimage := zImage
target = zImage
kimagesrc = arch/$(KERNEL_ARCH)/boot/zImage
kimagedest = $(INT_IMAGE_DESTDIR)/vmlinuz-$(version)
kelfimagesrc = vmlinux
kelfimagedest = $(INT_IMAGE_DESTDIR)/vmlinux-$(version)
DEBCONFIG = $(CONFDIR)/config.sh4

#Local variables:
#mode: makefile
#End:
  • /usr/share/kernel-package/ruleset/architecture.mk
# sh4
ifeq ($(strip $(architecture)),sh4)
include $(DEBDIR)/ruleset/arches/sh4.mk
endif

とりあえず、実行してみてoldconfigが走り始めたので、なんとか最後までいくといいな。


こういうBUG対応は、BSP向きではないんだろうな。
kernelビルドできないのは、アーキテクチャにとっては致命的じゃないかと思うのだけどな。