|
とりあえず今後の為に build 出来るか練習してみた。野良ビルドでもいいが、以前やったこともあるし、せっかく debian を勉強するチャンスなので debian package 内で build してみる。 debian で、ソースパッケージを取得してビルドする。 1:apt-line に deb-src が無ければ追加して $ aptitude update or $ apt-get update 2:パッケージの build に必要なものをインストール # apt-get install build-essential devscripts # apt-get build-dep xserver-xorg-video-trident 3:作業するディレクトリにソースをダウンロード $ cd (作業するディレクトリ) $ apt-get -b source xserver-xorg-video-trident もし、そのままパッケージをビルドするなら -b オプションをつける $ apt-get source xserver-xorg-video-trident 4:ソースへの作業 4−1: src ディレクトリにて作業 (1)trident.h trident_driver.c に CyberBLADEXP2 の定義、エントリを追加 (trident_video.c にも何かあるが、とりあえず後回し) trident_drv.c static SymTabRec TRIDENTChipsets[] add entry static PciChipsets TRIDENTPciChipsets[] add entry
{ CYBERBLADEXP2, PCI_CHIP_9960, RES_SHARED_VGA },
static int ClockLimit[] add 230000,static int ClockLimit16bpp[] add 230000, static int ClockLimit24bpp[] add 115000, static int ClockLimit32bpp[] add 115000, TRIDENTPreinit swich (pTrident->chipset) case CYBERBLADEXP2 add (copied from CyberBLADExpAi1) TRIDENTModelinit (pTrident->chipset) case CYBERBLADEXP2 add (copied from CyberBLADExpAi1) TRIDENTscreeninit if(is3Dchip) (copied from CyberBLADExpAi1) (2)trident.ids に 10239960 を追加 !!!ところがこれをやるとビルド出来ない!!! trident.ids を削除すればいいが、それだと変更を反映できない。 ビルド中にパッチによって trident.ids を作っている??? パッチファイルを無理やりエディットしてみたが、うまく行かずにここから抜け出せない。二つファイルを作って、パッチファイルを作らないといけないのかな? そもそもパッチ当てたこと無いしなあ(あったかもしれないが、書いてある通りやるってパターンで全然覚えてない)、いまいちパッチの使い方が分らん。なんて書くと怒られそうだが。何をするもので、どうなってるかは何となくわかるんだけど。この辺は後で調べることにする。 4−2: このままではコンパイルできないので、定義を追加 /usr/include/xorg/xf86PciInfo.h #define PCI_CHIP_9960 0x9960 5:変更点を changelog に書く $ dch -n 6:パッケージの build $ debuild -us -uc ids のところが無ければビルド出来た。.deb もちゃんと出来ている。おおぉ!ちょっと感動。 ids は後で手動で書き換えれば、取り合えず試すことは出来るが、怖いのでまだやらない!! ちなみにお馴染みの dpkg -i hoge.deb でインストールは可能。 ids のところでハマったけど、それ以外は拍子抜けするほど簡単で驚き!.tar.gz からはまだやってないけど、確かに野良でビルドするよりは何倍も楽そう。 こういうシステムをうまく動かすには、見えないところでみんな努力してるんだろうなあと思って感謝。 また情報集めかな? 東芝の Linux サポートに相談したら、教えてくれるかしら……。Trident ももう無いし、古いものだからお願いすれば出してくれるかな……。
|

- >
- コンピュータとインターネット
- >
- コンピュータ
- >
- UNIX



