Debianでクロスコンパイラーを用いてkernelパッケージを作成するには。

dpkg-buildpackageじゃうまくビルドできない。

てか、コンパイル自体に失敗してしまった。

ちょっと考えてみると通常のkernelのパッケージングを行うmake-kpkgが使えそう。

早速実験!

$ cd linux
$ make ARCH=sh CROSS_COMPILE=sh4-linux-gnu- menuconfig
(省略)
$ make ARCH=sh CROSS_COMPILE=sh4-linux-gnu-
(省略)
  CC      net/sysctl_net.o
  CC      net/xfrm/xfrm_hash.o
  CC      net/xfrm/xfrm_input.o
  CC      net/xfrm/xfrm_output.o
  CC      net/xfrm/xfrm_algo.o
  CC [M]  net/xfrm/xfrm_user.o
  LD      net/xfrm/built-in.o
  LD      net/built-in.o
$ make ARCH=sh CROSS_COMPILE=sh4-linux-gnu- zImage
(省略)
  AS      arch/sh/boot/compressed/head_32.o
  CC      arch/sh/boot/compressed/misc_32.o
  OBJCOPY arch/sh/boot/compressed/vmlinux.bin
  GZIP    arch/sh/boot/compressed/vmlinux.bin.gz
  LD      arch/sh/boot/compressed/piggy.o
  LD      arch/sh/boot/compressed/vmlinux
  OBJCOPY arch/sh/boot/zImage
  Kernel: arch/sh/boot/zImage is ready
$ make-kpkg
make-kpkg: command not found

あれ?コマンドがないと言われてしまった。


make-kpkgはkernel-packageで提供されてるみたいなので、追加インストール。

# apt-get install kernel-package

再びコマンド実効してみる。

$ make-kpkg

おや、だめだ make config相当が始まってしまいx86コンパイルの設定項目が表示されてしまった。