以前働いていた会社の先輩にもらいました.が,SIMM のソケットを 壊してしまったので,fj.fleemarket.comp (だったかな?)で メインボードを新たに入手しました.また NIC は Asante の新品を 秋葉原のラジオデパードの地下で入手しました.
ずいぶん前に買った,BJ-10v が用紙の有無をうまく検知できなくなり うっとおしくなってきたので,これを netatlk と組み合わせて Unix やできれば Windows マシンからも印刷できるようにしたいのですが どうも MacOS では無理なようです.(もしかしたら情報を探し出せてい ないのかも...)
NetBSD で StyleWriter が使えて,かつ PS ファイルも印刷できる ようなので,インストールしてみました.
NetBSD/mac68k ネットワーク活用ガイド,長谷川裕行,ナツメ社, ISBN4-8163-2644-8 にしたがってインストールは無事終了.
この本にはいっているのは NetBSD-1.3.3 です.手元にソースがある NetBSD-1.4.3 に上げたいのですが,コンパイルにものすごく時間がか かるので勉強の意味もあってクロス開発環境を作成してみることにしま した.(pkgsrc を使えば make 一発なんでしょうがegcs とか ftp しよ うとするのであきらめました.)なを,以下の手順は雑誌「インターフェー ス」 2000年4月号特集「開発者のための UNIX/Linux 入門」の pp.130-141「NetBSDの概要とハードウェアへの移植方法 斎藤正伸」を 大いに参考にしました.(というかそのままか?)
まず binutils を作成します.これは以下の通りで特に問題なく インストールできました.
$ zcat binutils-2.9.1.tar.gz | tar -xvf - $ cd binutils-2.9.1 $ ./configure --target=m68k-apple-netbsd $ gmake $ su Password: # gmake install
コンパイルの前に NetBSD/mac68k 用のへッダファイルを用意します.
$ su Password: # export MACHINE=mac68k # export MACHINE_ARCH=m68k # mkdir -p /usr/local/m68k-apple-netbsd/include # mkdir -p /var/tmp/crossroot/usr # ln -s /usr/local/m68k-apple-netbsd/include /var/tmp/crossroot/usr/include # export DESTDIR=/var/tmp/crossroot # cd /usr/src # make includes
いよいよコンパイルです.
$ zcat gcc-2.95.1.tar.gz | tar -xvf - $ cd gcc-2.95.1 $ ./configure --target=m68k-apple-netbsd $ gmake cross
libgcc2.a のコンパイルでエラー.(なんでじゃー!) とりあえずここまで.
そうこうするうちに、NetBSDのリリース自体にクロスコンパイルを する仕組みが標準で用意されたのでそれを使って行ってみました。
当然ですが、できました。しかも無茶苦茶簡単です。(とはいえ 何度かうまくいかなくてやり直しましたが。)
/path/to/src/build.sh にオプションをつけて実行するだけです。 以下は私の build.sh 起動方法。
#!/bin/sh if [ -z "$1" ]; then echo "machine must be specified." exit 1; fi MACH=$1 ROOT=$HOME/cross export DESTDIR=$ROOT/dest.$MACH export RELEASEDIR=$ROOT/rel.$MACH export MAKECONF=$ROOT/src/mk.conf cd $ROOT/src && ./build.sh -j 2 -m $MACH -u -U -O $ROOT/obj.$MACH -R $RELEASEDIR
これだけです。mk.conf の中身は空っぽです。最初 MANZ=yes を指定して いたのですが、指定していると最後に tarball を作るところで エラーになります。
前後してしまいますが、カーネルのクロスコンパイルは以下のようにします。
cd /path/to/src && ./build -m mac68k -u -t -O $ROOT/obj.$MACH
cd /path/to/src/sys/arch/$MACH/conf $ROOT/obj.$MACH/tools/obj.$MACH/tools.NetBSD-1.6-i386/bin/nbconfig GENERIC
cd ../compile/GENERIC $ROOT/obj.$MACH/tools/obj.$MACH/tools.NetBSD-1.6-i386/bin/nbmake-$MACH GENERIC
つうわけで簡単になりました。
クロスコンパイルは中断して,とにかく印刷できる環境を作ること にしました.
以下ですが、最近 NetBSD-1.5.2 にアップグレードしたときに ついでに印刷環境も再インストールしましたが、ghostscript, VFLib も pkgsrc から日本語が扱えるものが make 一発で構築できました。 ほんとうにパッケージのメンテナの方々、ありがとうございます。
stylewriter のプリンタドライバですがなにも書くことは ございません.pkgsrc を使ってインストールしました. いやーらくちんらくちんです.pkgsrc 作成者の方に感謝です.
注意点としては ghostscript は自分でインストールするので pkgsrc/print/ghostscript5というディレクトリは消してし まうか,名前を変更しておきます.これで一応依存関係は無視されるよ うです.
あと netatalk をコンパイルするときは make OPTOPTS="-O2 -m68030" とか しないと最適化が効きません.(-m68030 は付けなくても OK.)
ghostscript で TrueType フォントを使えるように VFlib-2.22 をインストールしておきます.
$ zcat VFlib-2.22-PL8.tar.gz | tar -xvf - $ cd VFlib-2.22/src $ patch -E -f < VFlib-2.22-Patch9 $ patch -E -f < VFlib-2.22-Patch10 $ vi Makefile $ make $ su Password: # make install # cd .. # cp vfontcap /usr/local/etc
ディレクトリを掘って,置きました.vfontcap にも反映しておきます.
# mkdir /usr/local/share/fonts/TrueType # cp [somewhere]/mincho.tt[ci] /usr/local/share/fonts/TrueType # vi /usr/local/etc/vfontcap
これも pkgsrc を使えばよいように思えますが,日本語が印刷できるよ うにするとか TrueType フォントで印刷できるようにするために別のマ シンの NetBSD で稼働しているのと同じ環境を作成することにしました. (もしかしたら日本語が使えるものが pkgsrc としてすでにあるのかも しれません.いやきっとあるにちがいないですが,別のマシンに自分で インストールしたことがあるのでここでも自分でインストールします.)
gs は ghostscript-5.10 をインストールしました. 手順は以下の通り.
まず gs5.10 を展開. $ zcat ghostscript-5.10.tar.gz | tar -xvf - ここで vflib を使えるようにするパッチをあてます. $ zcat gs5.10-vflib-1.2.tar.gz | tar -xvf - $ cd gs5.10 $ patch -p1 -E -f < ../gs5.10-vflib-1.2/gs5.10-vflib-1.2.diff jpeg, zlib, libpng を展開します. $ zcat jpeg-6b.tar.gz | tar -xvf - $ zcat ghostscript-5.10zlib.tar.gz | tar -xvf - $ ln -s zlib-1.1.3 zlib $ zcat libpng-1.0.3.tar.gz | tar -xvf - $ ln -s libpng-1.0.3 libpng 次に unix-gcc.mak を編集します. 今回は x11 を入れないので DEVICE_DEVS の x11 関係をコメントアウトします. $ vi unix-gcc.mak 変更個所は以下の通り. *** unix-gcc.mak 2001/03/11 01:36:14 1.1 --- unix-gcc.mak 2001/03/11 01:45:06 *************** *** 143,149 **** # You may need to change this if the IJG library version changes. # See jpeg.mak for more information. ! JSRCDIR=jpeg-6a JVERSION=6 # Define the directory where the PNG library sources are stored, --- 143,149 ---- # You may need to change this if the IJG library version changes. # See jpeg.mak for more information. ! JSRCDIR=jpeg-6b JVERSION=6 # Define the directory where the PNG library sources are stored, *************** *** 216,229 **** # gcc to accept ANSI-style function prototypes and function definitions. XCFLAGS= ! CFLAGS=-O $(GCFLAGS) $(XCFLAGS) # Define platform flags for ld. # SunOS 4.n may need -Bstatic. # XLDFLAGS can be set from the command line. ! XLDFLAGS= ! LDFLAGS=$(XLDFLAGS) # Define any extra libraries to link into the executable. # ISC Unix 2.2 wants -linet. --- 216,229 ---- # gcc to accept ANSI-style function prototypes and function definitions. XCFLAGS= ! CFLAGS=-O $(GCFLAGS) $(XCFLAGS) -I/usr/local/include # Define platform flags for ld. # SunOS 4.n may need -Bstatic. # XLDFLAGS can be set from the command line. ! XLDFLAGS=-L/usr/X11R6/lib ! LDFLAGS=$(XLDFLAGS) -L/usr/local/lib # Define any extra libraries to link into the executable. # ISC Unix 2.2 wants -linet. *************** *** 241,247 **** # Note that x_.h expects to find the header files in $(XINCLUDE)/X11, # not in $(XINCLUDE). ! XINCLUDE=-I/usr/local/X/include # Define the directory/ies and library names for the X11 library files. # XLIBDIRS is for ld and should include -L; XLIBDIR is for LD_RUN_PATH --- 241,247 ---- # Note that x_.h expects to find the header files in $(XINCLUDE)/X11, # not in $(XINCLUDE). ! XINCLUDE=-I/usr/X11R6/include # Define the directory/ies and library names for the X11 library files. # XLIBDIRS is for ld and should include -L; XLIBDIR is for LD_RUN_PATH そいでもって make してインストールです. $ make -f unix-gcc.mak $ su Password: # make install 次はフォントです. # zcat ghostscript-fonts-5.10a.tar.gz | (cd /usr/local/share/ghostscript/5.10vflib | tar -xvf - ) # zcat ghostscript-fonts-other-5.10.tar.gz | (cd /usr/local/share/ghostscript/5.10vflib | tar -xvf - )
あとはお好みの TrueType フォントを /usr/local/etc/vfontcap に設定した ところに展開します.
lpstyl 付属のものを元のものに追加しました.
printcap を編集してもいいですが,以下のようにしました.
# mknod /dev/stylewriter c 12 1 # chown daemon:daemon /dev/stylewriter
lpstyl のフィルタが /usr/pkg/bin/gs を想定し ているので以下のようにしました.
# ln -s /usr/local/bin/gs /usr/pkg/bin/gs
article9.ps とか自分の resume とか印刷してみましたがきれいに印刷 できました.
Comments, suggestions, and donations are welcome.
Go to index page
Copyright (c) 1999-2003 IKEDA Shigeru. ALL RIGHTS RESERVED.
Last modified $Date: 2003/10/06 10:38:40 $