玄箱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にしたのが間違いだったか。む〜。