玄箱HGカーネルコンパイル中

シリアルの抵抗を交換する時に、ついでに某所で言及されているクリスタルX4のpin2を10KΩでプルアップしてみた。
ntpdを止めて、1時間でどれだけずれるかのチェック

$ ntpdate -b ntp2.jst.mfeed.ad.jp; sleep 3600; ntpdate -b ntp2.jst.mfeed.ad.jp

1時間で-27.064179秒。某所の計算式(なんかアクセスできないのでこちら)を使って

32.522240MHz * 3600sec / (3600sec - 27.064179sec)
= 32.7685886MHz ≒ 32.768MHz

ということで、ほぼ理論値になっているようなので、カーネルを作り直す。

# apt-get install make gcc g++ libncurses5-dev patch
# mkdir /mnt/share/kernel
# cd /mnt/share/kernel
# wget http://www.genbako.com/kurobox-sources-2.6.20.patch
# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.tar.gz
# tar zxvf linux-2.6.20.tar.gz
# cd linux-2.6.20
# patch -Np1 < ../kurobox-sources-2.6.20.patch
# cp config_kuroboxhg .config
# export ARCH=ppc
# make oldconfig

で、arch/ppc/platforms/linkstation.cを修正。

#if defined(CONFIG_KUROBOXHG)
        freq=32522240;  /* {32.768MHz*(100% - 0.75%)} * 4 / 4 */
#elif defined(CONFIG_KUROBOX)

こんな感じのところを

#if defined(CONFIG_KUROBOXHG)
        freq=32768000;  /* 32.768MHz * 4 / 4 */
#elif defined(CONFIG_KUROBOX)

こんな感じで。

# make menuconfig
# make

待つこと1時間らしい。まだやってる。wktk


と、待つこと1時間くらい。

  GZIP    arch/ppc/boot/images/vmlinux.gz
  UIMAGE  arch/ppc/boot/images/uImage
"mkimage" command not found - U-Boot images will not be built
  Image: arch/ppc/boot/images/uImage not made
  LD      arch/ppc/boot/lib/built-in.o
  AS      arch/ppc/boot/lib/div64.o
  COPY    arch/ppc/boot/lib/inffast.c
  CC      arch/ppc/boot/lib/inffast.o
  COPY    arch/ppc/boot/lib/inflate.c
  CC      arch/ppc/boot/lib/inflate.o
  COPY    arch/ppc/boot/lib/inftrees.c
  CC      arch/ppc/boot/lib/inftrees.o
  AR      arch/ppc/boot/lib/lib.a
  LD      arch/ppc/boot/common/built-in.o
  CC      arch/ppc/boot/common/bootinfo.o
  CC      arch/ppc/boot/common/misc-common.o
  CC      arch/ppc/boot/common/ns16550.o
arch/ppc/boot/common/ns16550.c:21: error: ‘SERIAL_PORT_DFNS’ undeclared here (not in a function)
make[2]: *** [arch/ppc/boot/common/ns16550.o] エラー 1
make[1]: *** [arch/ppc/boot/common] エラー 2
make: *** [zImage] エラー 2

あちゃ、uImageを作るんだっけか。忘れてた。
げほっ、USBシリアルとかつなげようと思ってCONFIG_USB_SERIALにしたのが間違いだったか。む〜。