目次
OpenSolarisとは遠い昔、憧れた商用OSが遂にOpenSource?になる時代が着ちゃいましたね。 UNIXに衝撃を受けたのか、SVR4なのか・・なんなのかはわかりませんが、 その当時使ったのが Solaris(2.x系)だったことは間違いありません。と過去を振り返るのはさておき・・OpenSolaris/Nevada(≒Solaris11)使えるようにしてみましょ。
OpenSolaris projectとはOpenSolaris projectとはSun Microsystems, Incが支援するopen sourceプロジェクトです。 元々がSolaris OSのソースコードの一部であったもので、近年のOSS/Linuxの動向に合わせて このような形態を取るようになりました。今後、Sunが提供していくOS(2006-06だと、 Soalris 10)はOpenSolarisベースとなる(nevada/Solaris11以降)と思われます。公開して結構経つのに、今のところそんなニュースは聞こえてきませんが、 RedHat?とかSuSE、その他いろいろなLinuxのディストリビュータみたいな Solarisのディストリビュータがそのうち登場しちゃうんでしょうか? 世の中の自分が知ってるUNIX OSはOSSなのが、
そうでないものが、
とありますが、ある程度以上のシェア/品質/機能がある商用OSが、
ほぼそのまま公開されるのはこれが最初で、
きっと当分無いんじゃないかなと言う気がします。
以下は主にProject Overviewからの抜粋翻訳です。 なにから始める?kernel programmerになる必要も、たくさんの時間を費やす必要もなく、OpenSolaris projectに 参加する方法はいろいろあるそうです。Use Itまずはユーザとして使ってみる方向で。
Improve It何かあれば手を加える・・のかな。
Evangelize周りに広める術はいろいろあるが、すぐにできることはファンボタンを 貼ってみるだろう。(と思ったんだが、pyukiwikiの仕様上、貼り付けは改造しないと難しいっぽ。)面白そうなプロジェクト(2006-06-08 update)パッと見、onだけにOSかNetwork系だけかと思ったけど、こんなのも。
以下は主にON Downloads Centerから抜粋翻訳です。 最新版をbuildする方向で情報収集してます。 How do I start?step1まずはREADMEを全部読めとのお達し。そりゃそうだなということで、2006-07-07付けのものを読んでみたところを掻い摘んでみる。 README 前置き
ソースからコンパイルする場合に必要なのは、1,3,4,5の4点。これらには暗号関係で輸出入禁止に抵触する 可能性もあるが、そこはちゃんと自分で考慮するように。 README Currently Known Issues最新版はOpenSolaris.orgのNevada communityにあります。現時点の最小構成SXCR(Solaris eXpress Community Release)はNevada b32以降で、
README Installing from SourceREADMEでは /export/testws をworkspaceとして、手順が書いてある。
closed/root_PLATFORM 配下にはbinary が展開される。
$ cd /export/testws $ bldenv -d ./opensolaris.sh ここまで下準備。これ(bldenv)はビルド用環境変数を設定するだけのscriptです。 で、取説には書いてないけど、$SRC/Makefileのtarget 'setup'を事前に行わないと その後の各コンポーネント毎のbuildは動かないので、注意。 $ cd usr/src/cmd/vi $ dmake all
その他(install kernelsやBFU)は、Developer's Referenceを参照。 step2READMEを読み終えたら、 source tarballからのビルド(step3a)かpre-build archiveからインストール(step3b)のどちらかで必要なものを 取りそろえます。step3b (install /w pre-build archives)SXCRを用意して、BFUアーカイブ(on-bfu-DATE.PLATFORM.tar.bz2)と ビルドツール(SUNWonbld-DATE.PLATFORM.tar.bz2)を用意する。続きは上記のREADMEの通りでおk。step3a (build and install)step3bとの違いは、コンパイル済みのarchive(pkg相当品@BFU)をstep3bでは利用するのが、 ソース(on-src-DATE.tar.bz2)とclosed binary-ON components(on-closed-bins-DATE.PLATFORM.tar.bz2)に 変わること。後の手続きは上記のREADMEにあるとおり。Where can I get the files?4択です。
Now what?READMEには最新のONのソース・バイナリの情報と、ビルド・インストールの手順の詳細が書いてあります。 この手順は多くの人が使えますが、全ての人が使えるわけではありません。 うまくいかなくてもあきらめないで、参照情報を探りましょう。
/var/sadm/prod/com.sun.studio_11配下にbatch_uninstall_allから起動されるjvmで利用する クラスファイルが置いてあるので、ここにcdして実行しないと(試してないですが、)動かないと思います。 関連するpkgとしては大量にpkgaddされているので、手でpkgrmするのは考えない方がいいです。 # cd /var/sadm/prod/com.sun.studio_11 # ./batch_uninstall_all
DVD Assembly InstructionsDVDのISOイメージをdownloadした場合、
コンパイラ関連OpenSolarisのビルドに使えるコンパイラは、SUNWsproのccとGNUのgccです。 目的に応じてどっちにするか使い分けましょう。情報源は http://opensolaris.org/os/community/tools/ です。
GNU gcc[SEE ALSO] http://opensolaris.org/os/community/tools/gcc/
Sun Studio 10 Developer Tools(for OpenSolaris)[SEE ALSO] http://opensolaris.org/os/community/tools/sun_studio_tools/OpenSolaris向けのSUNWsproがreleaseされています。入手方法は2通り。 Option 1(install img)ここ からダウンロードできます。拾ったら適当に /optに展開して終わりです。Option 2(pkg)ここ からダウンロードできます。拾ったら適当にアーカイブを展開して、suしたら、以下でokです。# ./installer # cd patches # patchadd -M . patchelist
参考
今(2006-06-09)のところ、communityのprojectとして、cross compileをしてportingをしているのは、 PowerPC向け(要はMac向け)だけです。
Polaris向け差分情報Polaris向けに提供されている bldonの差分は /opt/bldon/bin/ppc/の下に入れる ctfmerge, ctfstabs, ctfconvertの3点で、全てダミーのkshスクリプトでした。他にはcross compile用のGNU binutil 2.16(=as,ar,ldとか)と gccです。
onbldのツール類bldenvbldenvは基本的に環境変数を設定するだけ。やってることは
unset LD_OPTIONS LD_LIBRARY_PATH LD_AUDIT LD_BIND_NOW LD_BREADTH LD_CONFIG unset LD_DEBUG LD_FLAGS LD_LIBRARY_PATH_64 LD_NOVERSION LD_ORIGIN unset LD_LOADFLTR LD_NOAUXFLTR LD_NOCONFIG LD_NODIRCONFIG LD_NOOBJALTER unset LD_PRELOAD LD_PROFILE unset CONFIG unset GROUP unset OWNER unset REMOTE unset ENV unset ARCH unset CLASSPATH
/opt/onbld/bin /opt/onbld/bin/${MACH} /opt/SUNWspro/bin /opt/teamware/ParallelMake/bin /usr/ccs/bin /usr/bin /usr/sbin /usr/ucb /usr/etc /usr/openwin/bin /usr/sfw/bin /opt/sfw/bin .
ENVLDLIBS1="-L$ROOT/lib -L$ROOT/usr/lib" ENVCPPFLAGS1="-I$ROOT/usr/include"
opensolaris.shbldenvに渡すスクリプト。これも環境変数を設定するだけ。 |