最強のBeBoxを作る貝々報(CD-R編)
Last update : 2001/07/09
追記3(2001/07/09)
CD-Rドライブを12倍速書き込みのTEAC CD-W512 SBに交換しました。
ところが、本体の速度が追いつかないのかどうも調子が悪く、8倍速に落としてもエラーが出ます。
12倍だと、当然もっとダメダメ。(最初の2,3MBでアウト〜)
そこで、cdrecordを最新のcdrtools-1.11a03付属の物に上げ、BURN-Freeオプションを
ONにしてみました。(driveropts=burnfree)
(BURN-Freeは、CDRToolsにおける、Burn-Proofなどバッファーオーバーラン対策の総称です。
TEACだと、Write-Proofというのかな?)
$ cdrecord -v dev=0,4,0 speed=12 -dummy driveropts=burnfree -data SampleData
結果は上々、12倍速でもエラー無しです。これでBeBoxでも安心して作業しながら焼けます。
8倍書き込みと12倍書き込みの速度を比べてみました。
(BeBox dual-133、dummyモード、driveropts=burnfree、データ:367312896 bytes)
| Writing time: | Fixating time:
|
X8 | 305.528s | 41.496s
|
X12 | 276.180s | 34.096s
|
余り変わらないかな?
最近は書き込み16倍速のもが有るから、それで試すともっと早くなるでしょう。
追記2(2000/06/05)
BeBitsにcdrecord1.9a1のR5 PPC用のバイナリとソース差分が出ています。
本家からcdrecord1.9a1を取ってきてこのパッチを当ててコンパイルしてみました。
注意点
- bebox-cc-beos.rulファイルについては前回と同じ修正が必要です。
- PPC用パッケージのinclude/にはいっているヘッダファイルを本家のinclude/の中に入れます。
- libfile/apprentice.cにisasciiをctype.hからコピーして足してやります。(R5のctype.hは直っているのか??)
#include <errno.h>
#include "file.h"
# define isascii(c) (((c) & ~0x7f) == 0) /* If C is a 7 bit value. */
以上で、cdrecordやmkisofs(mkhybridは統合されました)を含む、すべてのコマンドができると思います。
あとはフロントエンドだけ?
追記(2000/04/02)
- 本記事で使用したPanasonicのCW-7503はどうもBeOSと相性が悪く、ときどき
Trackerなどが反応しなくなります。その際はドライブのイジェクトボタン押して下さい。
R5では直っているかもしれませんが、他のドライブを検討したほうがよいと思います。
#####################################################
TrackerのMount→SettingでAutoMountを切っておくといいみたいです。(少し不便ですが)
#####################################################
- CdRecordはBeBitsに置かれているCDR-Toolsのものがいいようです。
本家から取ってきたものはそのままではコンパイルできないようです。
- オーディオケーブルが合うもの(特に本体側)が入手しずらいかと思います。
これからCD-Rを検討している人は、標準のCD-ROMドライブの交換よりも、外付けドライブに
するか、空きベイに入れることを検討して下さい。
ドライブの購入
(注:値段は2000年3月の物です)
事前調査でバルク物2万円以下ということで検討しました。
- フェイス ソニーCDU-948S 14980
- 秋葉帝 CW-7503 17800円
- ツクモ10号店 CW-7502 13980円
- DOSパラ 秋葉原2号店 CW-7502B 12000円(展示品1台のみ)
ここまでで、秋葉帝かなーとおもったんですが
- あきばおー1号店
- CW-7503 15999円
- CW-7502 12999円
ということで迷わずここに決定! 3000円の差で7503にしました。
Cdrecord1.8のコンパイル
BeBitsから落としたCdrecord1.8ですが、BeBoxでは単純にmakeとやってもダメダメです。
3日ほど考えて何とか本体をコンパイルできました。
1.Defaults.beosの修正
DEFAULTS/内にあるDefaults.beosを修正します。
- ###########################################################################
- #
- # Compiler stuff
- #
- ###########################################################################
- DEFCCOM= cc
- #DEFCCOM= gcc
- ###########################################################################
- #
- # If the next line is commented out, compilattion is done with max warn level
- # If the next line is uncommented, compilattion is done with minimal warnings
- #
- ###########################################################################
- CWARNOPTS=
-
- DEFINCDIRS= $(SRCROOT)/include
- #LDPATH= -L/opt/schily/lib
- #RUNPATH= -R $(INS_BASE)/lib -R /opt/schily/lib -R $(OLIBSDIR)
- #RUNPATH= -R $(INS_BASE)/lib -R $(OLIBSDIR)
2.powerpc-mwcc-beos.rulの修正
RULES/内にあるpowerpc-beos-mwcc.rulを修正してbebox-cc-beos.rulとして
保存します。
COPTOPT(最適化フラグ)はお好みのものをお使いください。
- #
- # XXX -DNO_FLOATINGPOINT use the printf() stuff of libroot.so
- #
- OSDEFS += -DNO_FLOATINGPOINT
-
- CPPOPTS= -relax_pointers -g -i- -I. -I$(ARCHDIR) -I$(OINCSDIR) $(INCDIRS:%=-I%) $(OSDEFS)
- COPTS=
- CWOPTS=
- COPTOPT= -O2
- KDEFINES= -DKERNEL -D_KERNEL
- COPTDYN= #-fpic
- COPTGPROF= #-pg
3.confugureの修正
conf/内にあるconfigureが拡張子判定で何故かこけるので修正します。
(ac_cv_exeext=noを追加します。)
- EMXOS2=
- test "$ac_cv_emxos2" = yes && EMXOS2=yes
-
-
- ac_cv_exeext=no
-
- echo $ac_n "checking for executable suffix""... $ac_c" 1 >&6
- echo "configure:752: checking for executable suffix" >&5
i
- f eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
以上の修正で、makeでcdrecordはコンパイルできると思います。
mkisoftとかmkhybridは恐らくソースの修正が必要となります。
(マクロの2重定義とかで引っかかるでしょう。)
CD作成
手順はBe-Inの掲示板に有った、ddとmkbfsを使って作成したBFSイメージファイルを
イメージデータとして焼く方法を採用しました。
(というよりこの記事がCDーR導入のきっかけとなりました。)
メディアには「Mr.DATA」を使用し、/homeの中身と、これまで作成したシェアドライブラリ
合計約400MBを8倍速で焼いて所用時間約7分でした。
(具体的手順はこちらをご覧ください。)
時々起動時の初期化に失敗しているのが気になりますが、焼いている途中での
エラーはないようなので良しとしましょう。
【最強のBeBoxを作る貝】
【BeBoxでOpenBeOS風コ〜ナ〜】
【Top Page】