最近の更新 |
||||||
OpenSolarisの話題から |
日々雑感 |
|||||
Solaris Kernelについて |
OpenSolaris上でアプリを使う |
|||||
|
木曜日 6 22, 2006
プロジェクト パルサー (Project Pulsar -- embedded solaris on PowerPC)
Project Pulsar -- Embedded Solaris on PowerPC 先日、Sun LabのOpen Houseがあって、SolarisをPowerPCアーキに移植する プロジェクト・パルサーをやっているTom Riddleさんのプレゼを聞く機会が ありました。 PowerPCへの移植に前々から興味があったので、早速隣のビルへと(^^:)でかけ、幾つか勝手な質問をぶつけてみました。 (注) Tom Riddleと聞いて最初に思ったのは、Harry Potterに出てくる若き日のLord Voldmortのことでした(^-^) ちなみにTom Riddleさんは、06/01付けのメールで、OpenSolarisのPowerPC communityに、 PowerPCアーキでブート したことを連絡しています。 Q1. Solarisのソースツリーをconfiguration systemライクにしないの? まず質問したのは、configuration systemのことでした。 Solarisの場合、SPARCの仕様やx86サポートなどからも異なったCPUアーキを サポートできるようにソースツリーが構成されています。 とはいうものの、幾千というシステムをサポートする組み込みシステムでは、 eCosのような洗練された configuration systemを導入した方がやりやすいのではないかと思って 質問してみました。 この道(?)の先駆者であるeCosと (embedded)Linuxを 例にあげ、Solarisのソースツリー構成をより組み込み向けに見直して、PowerPCを サポートする可能性はないのかと聞いてみたのですが、現状のPowerPCサポートは、 Solaris 2.6で行ったものをOpenSolarisに組み込む形で行われていて、そこまでは 考えていないという答えでした。 実は、SunはSolaris2.5.1でPowerPC (PRePプラットフォーム向け)をサポート しており、まだ Solaris 2.5.1 PowerPC Edition Installing Solaris Software といったドキュメントでその痕跡をみることができます。 Q2. 他のRTOSのインタフェースはサポートしないの? 続いて、他の組み込みRTOSへの対応、例えば uITRONインタフェース のサポートの可能性、を聞いてみたのですが、感じあまり興味なさそうでした。(^^;) つまりは、RTOSの領域までは当面踏み込むつもりはなく、あくまで(Embedded)Solaris = SRV4 + (soft)RT拡張のままであるということ、かも知れません。 Q3. サブシステムをモジュール化してMicro Kernelにはしないの? L4 Micro Kernelを使った取り組み -- 例えば、 L4 + Linuxや、L4 + uITRONなどが巷では実装されていること -- をあげ、 組み込み向けにSolarisをMicro Kernelアーキに対応させるつもりはないだろうか、 また、uCLinuxのようにMMUがないCPUへの 対応や組み込みには重い(だろう)SVR4のVMを考えると、カーネルサブシステムを モジュール化して(今以上に自由度を上げて)選択する仕組みが必要ではないかと質問してみました。 ※ 例えば、「Open SourceなCPU」にあるSPARC V8 coreのLeonは、SPARC CPUですが、 MMUがありません。(SPARCの仕様上、MMUは自由に実装できる) やはりというか、当然というか、そこまでaggressiveな取り組みは一切(^^:)考えて いないようでした。こういうデフォルメ的な取り組みは、オープンソースな 活動でやることなのかも知れません。 Q4. Device Driverの対応は? 最後に組み込みプラットフォームのDevice Driverの対応はどうするつもりなのかを 聞いてみたのですが、今の作業はSun LabにあるPegasosベースのマシンで行っていて、 それ以外のドライバはCommunityに任せたいという意向のようでした。 Pegasosベースのマシンといっていたのは、たぶんメールにある ODW (Open Desktop Workstation)のことではないかと思います。 (PowerPC G4 1GHzを使用したマシンということのようです)
ちなみにTom Riddleさんのメールにある URL に行くと、PowerPC上でブート可能なunixがダウンロードできます。(^^)
Technorati Tag:
OpenSolaris
Posted at 06:04午前 6 22, 2006 by eota in opensolaris | Comments[4]
月曜日 5 22, 2006
OpenSolarisに対応したQemu-0.8.1 (Qemu-0.8.1 supports OpenSolaris)
次を↓実行して、CDROMからNexentaを起動。 % /opt/qemu/bin/qemu -cdrom /vol/rdsk/elatte_livecd user -m 200 (注: 僕のlaptopは256MBしかないので、-mでは200を指定してsingle userでブート。でも普通は512MB辺りを指定するようです。)
今回OpenSolarisが対応されたqemu-0.8.1のソースはこちらからダウンできます。 ○ qemu-0.8.1(ソー ス) また、既にパッケージ化したものも配布されていて(*3)、それはこちらからダウンできます。 ○ PMqemu-0.8.1.i386.pkg (link先をダウンしてね) 前回書き忘れたのですが、gccコンパイラにバグがあるようで、版数が低いとqemuが誤動作してcoreを吐いてしまいます。(=_=) qemu-0.8.0のOpenSolaris対応中に、このバグに見事にはまりました。^^: デバッカの指す該当付近のソースはどうも問題ないように見えるのですが、生成されたバイナリをディスアセンブルすると、どうもおかしい、、そんな場合は、 このコンパイラのバグに遭遇している可能性が大です。 SUNWgccのバージョンが11.10.0,REV=2005.05.28.01.25のもの(最初のリリース)だと、このバグが潜んでいるようです。 バージョンを11.10.0,REV=2005.09.23.01.45にしましたら消えましたので、最近のものには居ないだろうと思います。 僕の場合、gccのpackageをSolaris Expressから引っこ抜いて置き換え対処しました。 この方法では、SUNWgccとSUNWgccruntimeの2つを置き換えることになります。 ○ SUNWgcc -- CDの4枚目に入っている パス名: cdrom/sol_11_x86_4/Solaris_11/Product/SUNWgcc ○ SUNWgccruntime -- CDの2枚目に入っている パス名: cdrom/sol_11_x86_2/Solaris_11/Product/SUNWgccruntime 作業はpkgrm(*4)してpkgaddするだけなので、簡単です。 (手順) 1. SUNWgcc (削除) # pkgrm SUNWgcc (追加) # cd /cdrom/sol_11_x86_4/Solaris_11/Product # pkgadd -d . SUNWgcc 2. SUNWgccruntime (削除) # pkgrm SUNWgccruntime (追加) # cd /cdrom/sol_11_x86_2/Solaris_11/Product/ # pkgadd -d . SUNWgccruntime 今回は、最近リリースされたQemu-0.8.1についてでした。 ではでは。。。(^-^) (*1) SunのBen Taylorさんが、Qemuに差分を差し出してくれたようです。 (*2) -net nic -net userでできるらしいのですがよく知りません。^-^; (*3) Patrick Mauritzさんがビルドしたものです。Patrickさんは、OpenBIOSというieee1275ベースのLinuxBIOSのようなオープンな BIOSを開発しています。 (*4) pkgrmするときに、パッケージの依存関係で警告が出されますが、無視します。 Technorati Tag: OpenSolaris Posted at 06:03午前 5 22, 2006 by eota in application | Comments[4]
月曜日 4 24, 2006
OpenSolarisでLinux+QEMUを動かす(Running Linux with QEMU on OpenSolaris)
元々、Linux/BSDなどunix likeなOSで動作するように書かれているQEMUですので、 OpenSolarisで動作させるようにするのはそう難しいことではない....のはずだったんですが(^.^:)、 とはいうものの、Networkのところ -- Linux/BSDのtun/tap interfaceのところ -- で見事つまずき、今回ちょっとできてなくて、結局Networkは動いていないです、はい。(^-^:) OpenSolarisの場合、tun tunneling STREAMS module を使えばよいのではないかと勝手に 推測しているんですが、tun STREAMS moduleでIPv4-in-IPv4のtunnelingまで 確認したところで、取りあえず今回は作業はストップ。 (SolarisのIP tunnelingについては、man tun, man ifconfigなどを参照下さいな) そんなわけで、どなたか対応してましたら、是非連絡を下さいまし。(_0_) 取りあえず今回は中途半端で申し訳ないと思いつつ、途中までの段階のQEMUです。 ☆ QEMUをOpenSolarisでコンパイルする... 1. QEMUのソースを入手 QEMUのサイトからダウンしたソースに、取りあえずの、作者から怒られそうな半端なhackを施したソースを使用しました。...^-^; 使ったsourceはこちらです → qemu-0.8.0-opensolaris.tar.gz (OpenSolaris 対応版) 2. QMUをコンパイル 上のソースを展開して、 % gtar xvfz qemu-0.8.0-opensolaris.tar.gz % cd qemu-0.8.0 x86しか対応していないので、configureには次のように指定します。 prefixはお好みですが、ここでは/opt/qemuを指定しています。 % ./configure --target-list=i386-softmmu --prefix=/opt/qemu --disable-gfx-check その後、gmakeを使ってコンパイルしインストールします。 % gmake % su # gmake install ☆ Linux をQEMUで動かす 動かすLinuxには、QEMUのサイトにあった、linux-test-0.5.1.tar.gzを使いました。 qemuを上の例のように/opt/qemu/binの下に落とした場合、shellのpathを切るか、 展開してできるlinux-testの下にあるqemu.shを編集するかして、pathを通します。 そして、qemu.shを起動してlinuxをブートです。 その時のログは、こんな感じでした。 % qemu.sh (qemu) Linux version 2.4.21 (bellard@voyager.localdomain) (gcc version 3.2.2 20030222 (Red Hat Linux 3.2.2-5)) #5 Tue Nov 11 18:18:53 CET 2003 BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 000000000009fc00 (usable) BIOS-e820: 0000000000100000 - 0000000008000000 (usable) 128MB LOWMEM available. On node 0 totalpages: 32768 zone(0): 4096 pages. zone(1): 28672 pages. zone(2): 0 pages. Kernel command line: console=ttyS0 root=/dev/hda sb=0x220,5,1,5 ide2=noprobe ide3=noprobe ide4=noprobe ide5=noprobe ide_setup: ide2=noprobe ide_setup: ide3=noprobe ide_setup: ide4=noprobe ide_setup: ide5=noprobe Initializing CPU#0 Detected 1996.819 MHz processor. Console: colour VGA+ 80x25 Calibrating delay loop... 3348.88 BogoMIPS Memory: 126116k/131072k available (1210k kernel code, 4568k reserved, 266k data, 64k init, 0k highmem) : hda: QEMU HARDDISK, ATA DISK drive hdc: QEMU CD-ROM, ATAPI CD/DVD-ROM drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 ide1 at 0x170-0x177,0x376 on irq 15 hda: attached ide-disk driver. hda: 20480 sectors (10 MB) w/256KiB Cache, CHS=20/16/63 hdc: attached ide-cdrom driver. hdc: ATAPI 4X CD-ROM drive, 512kB Cache Uniform CD-ROM driver Revision: 3.12 Partition check: hda: Soundblaster audio driver Copyright (C) by Hannu Savolainen 1993-1996 NET4: Linux TCP/IP 1.0 for NET4.0 IP Protocols: ICMP, UDP, TCP, IGMP IP: routing cache hash table of 1024 buckets, 8Kbytes TCP: Hash tables configured (established 8192 bind 16384) NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. VFS: Mounted root (ext2 filesystem) readonly. Freeing unused kernel memory: 64k freed EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended Linux version 2.4.21 (bellard@voyager.localdomain) (gcc version 3.2.2 20030222 (Red Hat Linux 3.2.2-5)) #5 Tue Nov 11 18:18:53 CET 2003 QEMU Linux test distribution (based on Redhat 9) Type 'exit' to halt the system SIOCSIFADDR: No such device eth0: unknown interface: No such device ↑ ネットのエラーが悲しい。(;-;) ☆ nbenchをLinux上で動かす linux-testについているnbenchを動かしてみました。 sh-2.05b# cd nbench sh-2.05b# ls COM.DAT NNET.DAT README nbench sh-2.05b# ./nbench -v BYTEmark* Native Mode Benchmark ver. 2 (10/95) Index-split by Andrew D. Balsa (11/97) Linux/Unix* port by Uwe F. Mayer (12/96,11/97) ============================== ALL STATISTICS =============================== **Date and time of benchmark run: Mon Apr 24 07:04:08 2006 **Sizeof: char:1 short:2 int:4 long:4 u8:1 u16:2 u32:4 int32:4 **System used for compilation: **Linux voyager 2.4.18 #6 Tue Jun 24 21:41:32 CEST 2003 i586 unknown **C compiler: gcc version 2.95.2 20000220 (Debian GNU/Linux) **libc: ld-2.1.3.so **Date of compilation: Sun Aug 10 13:25:53 CEST 2003 ============================================================================= TEST : Iterations/sec. : Old Index : New Index : : Pentium 90* : AMD K6/233* --------------------:------------------:-------------:------------ NUMERIC SORT : 45.491 : 1.17 : 0.38 Absolute standard deviation: 0.445907 Relative standard deviation: 0.98021 % Number of runs: 5 Number of arrays: 1 Array size: 8111 Done with NUMERIC SORT : ==========================ORIGINAL BYTEMARK RESULTS========================== INTEGER INDEX : 1.311 FLOATING-POINT INDEX: 0.735 Baseline (MSDOS*) : Pentium* 90, 256 KB L2-cache, Watcom* compiler 10.0 ==============================LINUX DATA BELOW=============================== sh: line 1: uname: command not found CPU : L2 Cache : OS : C compiler : gcc version 2.95.2 20000220 (Debian GNU/Linux) libc : ld-2.1.3.so MEMORY INDEX : 0.306 INTEGER INDEX : 0.344 FLOATING-POINT INDEX: 0.408 Baseline (LINUX) : AMD K6/233*, 512 KB L2-cache, gcc 2.7.2.3, libc-5.4.38 * Trademarks are property of their respective holder. どうやら、一応、Linuxは動いている(ネットとかはダメですが)ようです。(^-^) 私自身はQEMUにそれほど詳しいわけではないので、その他諸々のことは全然やって いません。 きっとバグが色々と眠っていることでしょう。。。(^o^) でもOpenSolarisでQEMUを使って他のゲストOSが動かしたり、OpenSolarisそのものを 動かせれば、それなりに楽しいのではないかと思ったりします。 気が向いたら是非トライして色々と改良してみて下さいな。 Technorati Tag: OpenSolaris Posted at 05:00午前 4 24, 2006 by eota in application |
水曜日 3 22, 2006
Open SourceなCPU
Posted at 02:42午前 3 22, 2006 by eota in opensolaris |
月曜日 3 13, 2006
プロジェクト黒点 (Project Sun SPOT)
Posted at 06:18午前 3 13, 2006 by eota in opensolaris | Comments[10]
月曜日 2 27, 2006
雪山 (Snow Mountain)
Posted at 04:30午前 2 27, 2006 by eota in life |
土曜日 2 18, 2006
CoolThreads -- OpenSPARC T1登場 (CoolThreads -- OpenSPARC T1 rises)
Technorati Tag: OpenSolaris Posted at 04:41午前 2 18, 2006 by eota in opensolaris |
木曜日 2 09, 2006
GNU Solaris Nexentaをインストールする (Install GNU Solaris Nexenta)
インストールは、比較的「簡単」という"感じ"ですが、手入力で情報をインプットする ためどこか間違えていないか、ちょっと不安であったのも確かです。特に、ディスクの パーティションは要注意かも知れません。僕の場合は、まんまとはまり、結局2度ほど パーティションを行うことになりました。(^.^:) 1) Install CDを用意する Nexentaのホームページ からダウンロードします。ページの一番下にダウンロードの方法について書かれて いますが、ダウンロードする前に登録が必要になっているようです。また、LiveCDも ダウンロードできるようですが、巷のCD-Rでは納まらないサイズ(実際、書き込みが できませんでした)のようで、 VMware や QEMU で動作させることを想定しているようです。 2) ディスクをパーティッションしておく Nexentaのインストールそのものは、それほど難しくないと思います。CDを4枚も 使う、通常の(?)OpenSolarisのインストールを考えると、CDを1枚だけ、しかも20-30分 で終わってしまうインストールは、逆に嬉しい?のですけれど、僕の場合 パーティッショニングではまって、結局やり直しとなってしまいました。 問題は、Nexentaのインストーラから起動されるfdisk(実際はSolarisのformatコマンド から起動されるfdisk)が拡張パーティッションを認識できないため、Nexentaを 拡張パーティッションの方にインストールするつもりでいると、結局インストール できなくなってしまうというものです。Solarisのfdiskをちゃんと意識していれば 事前に用意したと思うのですが、すっかり忘れていました。 僕の場合は、Windows XP/Gentoo Linux/Nexenta(+純正OpenSolaris)の3つ(4つ?)をインストールするつもりで あったので、Nexentaを拡張パーティッションの方にいれようとしてしまい、 インストール作業中にインストールできないことに気づき、結局やり直しました。 さて、パーティッションはLinuxのfdiskを使って、あらかじめNexenta用に 切っておきます。 僕の場合は、こんな感じでした。(Solarisが基本パーティション、Linuxが拡張 パーティション) /dev/hda1 Diag /dev/hda2 WinXP /dev/hda3 Solaris用 << パーティッションIDを0xbfに設定。 /dev/hda4 Extended /dev/hda5 Linux /dev/hda6 Linux Swap /dev/hda7 Linux (boot) ※ Solarisのパーティッションは、Linux fdiskのtコマンドを使い、 直接0xbfを設定 しておきます。 3) Install CDでブートし、インストールする ブートするとログインプロンプトが出力されるので、rootでログインします。 パスワードはありません。 インストール手順は、基本的にNexentaのホームページに書かれているとおり (Getting Started) です。ただ、α1とα2を試したのですが、α1の場合、インストールスクリプトの名前 がドキュメントと違っているので、ちょっと戸惑うかもしれません。 (α1の場合、記述では、インストールスクリプトは、 /usr/gnusolaris/nexenta-install.shとなっていましたが、実際は /usr/gnusolaris/install-stage0.shでした。) Solaris用のパーティッションが予め切られていれば、インストーラはそれをシステム ボリュームにしようしますので、インストーラに認識させればよいです。でも、表示の 際には、システムボリュームはSolarisの論理パス名(/dev/dsk/cXdYsZの類)で表示され ます。(たとえば、僕の場合、/dev/hda4で切ったパーティッションは、 /dev/dsk/c0d0s0として表示されました。) Nexentaだけをインストールするのであれば、パーティッショニングは "Auto"でよいと思いますが、OpenSolarisもインストールしようと思うのであれば、 Fresh Installationで"Manual"を選ばないといけません。そうすると、OpenSolarisの Formatコマンドを呼び出し、自分で設定するようになります。 (注意) formatコマンドが起動されるときに、ディスクのジオメトリ情報(シリンダ数や ヘッダ数)が設定されてなく、自分で設定しないといけない場合がありますので、 予めディスクのジオミトリー情報を調べておいた方がいいかも知れません。 僕の場合は、Linuxをブートした時にディスクの型番をメモしておき、ディーラの サイトからジオメトリ情報を調べました。 今は昔と違ってジオメトリ情報が実際のディスクのHW実装を表すものでも何でも ありませんが、ソフトでは伝統的にこれらの情報を使用しているので、何らかの 値を入れる必要があります。できればメーカーの公表している数字がよいと思います。 そのときには、次の値を用意しておくとよいと思います。 ○ Cylinder数 ○ Header数 ○ Sector数 ○ RPM これら以外を聞かれても、デフォルトでなんとかなります。^-^ Linuxのインストールなどに慣れていれば、あまり違和感はないと思いますが、 これが初めてという方は"Auto"を選ぶのが無難かも知れませんし、ちょっと今は Nexentaは止めておいて、OpenSolarisの方をインストールしておくという手も ありそうです。(それに、Nexentaはちょっとした幾つかの問題があります。下の4を 見て下さい。) fdisk (format)でパーティションを切った後に、Installerはどれをrootにするか、 swapにするか等々を聞いてきますので、ここではパーティションを切るだけです。 OpenSolarisの場合は、パーティションを切る時に設定しますが、それとちょっと 違います。 Installerがroot, swapなどをどれにするか決めるのに、論理番号を知っておく 必要があるので、パーティションを切ったときに、どれをroot, swapにするか、 /dev/dsk/c0d0sXのXの数字を一応頭の中にいれておくとよいと思います。 後は流れ作業ですが、最後にgrubを書き込むか聞いてきます。既にLinuxや OpenSolarisでgrubを書き込んでいる場合や、Windows XP boot loaderでブート する場合は、止めておいた方が無難です。 また、α1の時は、rootが(hd0,0,a)に固定で設定され、たとえば/dev/hda4を システムボリュームにした場合は、rootは(hd0,3,a)でなければいけないため、 これにより結局ブートできないということがありました。(そういう場合は、grubの 画面でrootの値を変更し、ブートしてから/boot/grub/menu.lstを編集します)
4) Nexentaの問題点 Nexentaは、Linuxで実績があるGNU Debianの環境を使っているだけあって、 Xサーバの設定など、OpenSolarisよりも優れているところがありますし、 gnomeの環境も、普段、Debian Linuxを使っている人には、馴染みのあり、 かつ綺麗なもので、好感が持てました。 ただ、次の2つの問題にインストール後、直ちにぶつかりました。 ○ SVR4パッケージがインストールできない これはかなり困った問題です。今回の場合、使ったノートのNetworkドライバが BroadcomでOpenSolarisに添付されていないものだったため、ドライバがインストール できず困りました。結局、opensolaris.orgから配布されている packaging tool 使い、なんとかドライバはインストールできました。 opensolaris.orgから、 pkgutils.i386.tar.bz2 をダウンロードしてコマンドを展開するのですが、このままではpkgaddが動かず、 結局次の2つのライブラリをOpenSolarisからコピーして動作させました。 ・ /usr/lib/libwanboot.{so, so.1} ・ /usr/lib/libzonecfg.{so, so.1} ただ、元々のパッケージがないので、必要なパッケージが存在しないというワーニング が表示されます。それを無視してインストールするわけですが(というか、それしか ない(+_+:))、依存関係がある場合は動作しません。 できればスーパーセットにしてDebian packageも、OpenSolarisのSVR4 packageも 使用できるようにして欲しいものです。 ○ 日本語環境がない 実は、apt-getで簡単に手に入るのだとばっかり思っていたのですが、GNU Debianの 全部のパッケージ・環境を用意しているわけではないようです。 また、Solaris10の languageCDのパッケージを上でインストールしたpkgaddでインストールしようとしても、 必要なパッケージがないためダメでした。結局のところ、日本語環境は自力でソース からコンパイルして作り上げる以外の方法はないようです。国際化、 ローカライゼイションなどまだ用意されていないDebian packageの提供が待ち望まれ るところです。 5) 感想 総じてよいできです。インストールにやや難がありますが、Linuxの出たての頃を考える と、仕方がないように思います。でも、インストール周りは、Linuxなどの ディストリビュートではよいものもたくさんあるので、短時間で相当改善されるのでは ないでしょうか? やはり頭が痛いのは、日本語環境。Debianベースのpackageを早く 充実させて欲しいです。それと、SVR4の環境は、やっぱり継承して欲しいなぁと思い ます。SVR4のパッケージを自由にインストールできるようにして貰えると、ソフト資産 を継承できるという意味でかなりよいと思うのです。 これらの問題が解決されれば すぐにでも使いたくなる気にさせるNexentaです。 Posted at 02:30午前 2 09, 2006 by eota in opensolaris |
木曜日 1 26, 2006
カリフォルニア共和国(California Republic)
Posted at 06:05午前 1 26, 2006 by eota in life |
木曜日 1 19, 2006
最近の話題から(OpenSPARC)
今のいままで自分達の会社がOpenSource向けのサイトを開いていたことにも気づかずにいました。(^-^:) プロジェクトに浸りきりで、たとえば12月は、2Qの区切りということもあってマイルストーンの〆切に追われ、OpenSolarisをゆっくりチェックする余裕もなく、そのまま知らぬ存ぜぬのままきてしまったようです。 で、そのサイトなんですが、SunSource.netという、なんかまんまのサイトです。^O^
早速サイトに飛ぶと、右側にOpen Source Projectの幾つかが書かれていて、BrazilやGlassFish, Grid Engineやらの中に混じって、OpenSolaris見つかりました。^-^ でも、OpenSolarisの説明が"Unix Operating System"っていうのは、愛嬌なのでしょうね? なんか、も少し説明があっていいような気がしないわけでも....ありません。 その中でちょっと面白いのは、その下にあるOpenSPARCかも知れません。
OpenSPARCでは、Open Source Hardwareとして、Niagaraというコードネームで呼ばれたUltraSPARC-T1のVerilogのソースや仕様などを公開する予定のようです。そしてUltraSPARC Architecture 2005(UltraSPARC-T1のISA(instruction set architecture))の仕様や、OSの移植情報(Linux/FreeBSDなどのSolaris以外のOSの移植向け)も提供するということですので、個人的にもちょっと楽しみにしています。 もう1つ眼にとまったのが、OpenSolarisをPowerPC上に移植したというニュース。 OpenSolarisのPowerPCへの移植は、Blastwareのサイトでやっているようなんですけれど、OpenSolarisのPowerPCコミュニティのディスカッションを覗くと、未だ実際にはブートまで行っておらず、OpenSolarisのソースをPowerPC向けに(MSBで)コンパイルした段階のようですね。今後はgrub2の対応などを行ってブートまで持っていくということですから、こっちも、ちょっと期待したいと思っています。 Technorati Tag: OpenSolaris Posted at 04:37午前 1 19, 2006 by eota in opensolaris |
木曜日 1 12, 2006
春の花 (Vernal Flower)
それにしても、こっちには『花見』がないんです。こんな綺麗な花が咲くのに、花見がないなんて、なんかもったいなくありません? ^-^ Technorati Tag: OpenSolaris Posted at 03:25午前 1 12, 2006 by eota in life |
水曜日 1 04, 2006
謹賀新年(A Happy New Year)
皆様、あけましておめでとうございます。
昨年は、今やっているプロジェクトの方が忙しく、ブログを更新する時間もありません
でした。SolarisのKernelやOpenSolarisについて書くのは楽しいのですけれど、時間が
かかってしまうのが難です。(^-^:)
そこで、ちょっとブログの体裁を変えてみました -- OpenSolarisやKernelだけでなく、
日々の生活でちょっと気づいたことも書けるように、カテゴリを整理してみました --
如何でしょう? 少し見やすくなったのであれば嬉しいのですけれど。
そんなわけで、今年は話題も広くして、忙しい時もできるだけ更新するようにしていき
たいと思っています。
今年もよろしくお願いいたします。
さて、ここサンフランシスコ・ベイエリアは年末年始は雨続きで、せっかくのお休みも
雨,雨,雨で初日の出どころではありませんでした。ハイウェイは、日本と違って排水設備が整っていないので、ちょっとした雨でも「洪水」
状態となってしまいます。スリッピーなハイウェイを雨降る夜に車で走るのは、新年早々
あまり気持ちのいいものではありません。 でも、ようやく天気が回復し、日が射すようになってきました。ちょっと春らしい、そん
な天気にやっとなりました。^-^
そこでシリコンバレーを訪れる人が誰もが抱く疑問 -- 何でここがバレー(谷)なんだ? -- を解決するため、近くの山に
登ることにしました。
なんとなく嬉しい気分になる瞬間です。^v^
Technorati Tag: OpenSolaris Posted at 10:05午後 1 04, 2006 by eota in life | Comments[2]
火曜日 9 06, 2005
OpenSolaris事始め(その2:カーネルビルド)
OpenSolaris事始め(その2:カーネルビルド)前回、OpenSolarisを僕のToshibaのノートにインストールしてLinuxを吹っ飛ばしてしまっったお話をしましたが、それを会社の人に話をしたら色々と反応が返ってきました。 たとえば、「Windowsの代わりにOpenSolarisをインストールしようとしたんだって? それはWindowsのたたりに決まってるだろう? Windowsっていうのはそれができるんだ。」 (どうやってできるの...って結局聞けませんでしたけれど(^^;)) また、「それはよい経験だったね。バグだったら、こいつは貴重な体験だろう?、まずは再現させてみることだ。是非もう一度トライするべきだ、そう思うだろう?」 (だから、それは僕のパーソナルユースなので...と思いましたが、言っても無駄そうでした(^.^)) 人それぞれですねぇ。。。僕のLinuxなんて、そう、誰も気にしていませんでした。(^-^;) 今はディストリビューションが様々あるLinuxくんですけど、以前はYggdrasilぐらいしかなかったんですよねぇ。もちろんRed Hatの前のディストリビューションですけれど、秋葉原のガード下に輸入もののYggdrasilを売っていて、それを買いにいったものでした。(追記(09/06): そういえば、slackwareもあった気もします。でも、Yggdrasilの方が好きでした...^-^) その当時のLinuxは、アプリケーションをインストールするには、ソースからコンパイルするのが当たり前のような感覚でしたけれど、OpenSolarisくんをいじっていると、そんな頃のLinuxくんを思い出すようで、不思議と懐かしい気分が....ということで、ついつい、今までLinuxくんでやっていたのをOpenSolarisくんで....と思うようになりました。(^v^) それでもって今日は前回の続きで、OpenSolarisのソースビルドの話です。kernelの実装の方もちょっとやりたいんですけど、乗りかかった船、ある程度までいってしまいましょう。(^.^;) ここでは、ReleaseNotesにあるやり方ではなくて、カーネルとドライバのビルドに絞ったやり方を紹介します。 えーと、前回は確かソースとコンパイラ一式をダウンロードしたところでしたよね。
(yyyy=年, mm=月, dd=日)
※ 万が一ブートしなかったら、grubメニューでfail safeを選び、配布されているアーカイブをもう一度適用しましょう。基本的には、
(追記(09/08)) 上(↑)でさらって書いてしまっていますが、老婆心からもう少し詳細な手順を書いておくことにします。
バックアップを取っておくことをお奨めします。 何かあった時に上書きされてしまうファイルの例としては、/boot/grub/menu.lst, /etc/hosts, /etc/passwd, /etc/shadow, /etc/default/login, /etc/system, /etc/vfstabなどがあります。 ブートに必要なもので変更されているものは、システムボリュームのどこかに保存しておくといいと思います。 また、fail safeが動作しない場合(って本当に想定外ですが...-_-)、インストールCD (CD1)で立ち上げて、 ここで説明した手順を行うこともできます。 まず必要ないと思う手順ですが、もしもの時に必要かも知れません。開発作業中は、想定しないことが まま起こるものです(こういう時は、開発者は持てる力を出して復旧するのですが....結構大変っ ていうのが実感です...特に時間がない状況だと... ^.^;) そんなこともあり、こういう手順を知っておいて 損はしないと思います。ただ、力業であることはご承知おき下さい。^-^ (追記終わり) 画像(↓)は、gvimとcscopeを使ってソースを見ているところです。これでOpenSolarisをハックするのに必要な環境ができあがったことになりますね。(^^)
Technorati Tag:
OpenSolaris Posted at 05:51午前 9 06, 2005 by eota in opensolaris | Comments[0]
月曜日 8 22, 2005
OpenSolaris事始め(その1)
OpenSolaris事始め(その1)普段愛用しているToshibaのノート。そこにはLinuxが入っています。 (正確には、入っていました…です。どうしてかは、読んで頂けると分かるはず…T-T) そしてついに、そこのWindows XPをOpenSolarisに置き換える決意を...。 (^-^;).oO(実は今更かも…) (注:Windows XPは、プレインストールされていたもの。LinuxでWifi/USBドライバーのコンフィグに成功してからは、最近はあまり使わなくなっていた) 今日はその顛末をご報告します。。。
http://www.opensolaris.org/os/downloads (今回の一言) ☆ インストール --- なんでCDを4枚も使わなきゃいけないのぉ? Solaris Expressをダウンロードしてインストールから始めます。 でも、CDROMを4枚分ダウンしてCDに焼き付けるのは流石に辛い。(;-;) ちなみに、言語CDを入れると5枚になります。 同じサイト(↑)から、ビルドに必要なツールとOpenSolarisのソースをダウンロード します。 OpenSolarisのカーネルビルドをしない時は、別に必要ではありません。 X86向けには、次のようなツール、ソースをダウンロードすることになります。 (gccを使わない場合 - gccは現時点(2005/August)だと、ちょっとまだ不安定かも) (yyyy=年, mm=月, dd=日) (そのわけは… → 今回の一言) (今回の一言) ☆ さようなら、Linux君。君の事は忘れないよ…。(T^T) Windows XPのパーティッション、P1にインストールするつもりがCDROM一枚目が 終了した時点で念のため確認したら、P3のLinux君のファイルシステムが壊れて いました。(T-T).oO (い、痛すぎる…) なぜこのようになったのか、未だ分かりません。えぇ、全然分からないんです。。。 もしかすると、P2にあったLinux Swap (0x82)が昔のSolarisのPartition IDと同じ なので、それが影響したかも知れません。 でも、そんなことはどうでもいーんです、もう。 (← 仕事を考えると、実は全然良くない…が、再現させるにはリスクがあまりに 大きすぎる…(--;)) 長年のデータ、そして作ったプログラムが消えてしまった…今はそれだけを受け止め、 ただ涙したいだけ(T-T)(uuuuuu..) ☆ P1のところにOpenSolarisを入れるのにはこの後も四苦八苦。 よくは分かりませんが、P1にWindows XPなどが入っていてそれに上書きしたい場合、 LinuxのfdiskなどでそのパーティションIDを0xbf(Solaris2 Partition ID)に変更して おくとよいのかも知れません。僕は結局その方法でインストールを完了しました。(--;) (注:Linuxのパーティッション全部が上書きされたわけではなくて、ファイルシステムが大規模に破壊されfsck時に相当量のファイルがlost+foundにつながれてしまったためデータを紛失。とはいうものの、fsck後はマウントが可能だった。自力ブートはちと無理ぽかったもののCDの助けでfdiskを起動...) 上(↑)にもありますが、 パーティションの構成がちょっと面倒かも知れません。新規にパーティッションを 切る場合や、OpenSolarisだけを使う場合はそう面倒でもありません。(^^) 一枚目はすぐ終ってシステムがリブートして来ます。その後で追加のCDを聞いてくる ので、そのままCDを交換していきます。これを繰り返して、4枚インストールします。(ちょっと退屈かも…) (今回の一言) Debianのようにミニマムをインストールした後、ネットで必要なパッケージだけを 追加する方がありがたい気がする。SVR4パッケージ形式にラッパーをかますことで実現でき そうな気がしないわけではないけれど…。 でも、誰がOpenSolarisのビルド毎にパッケージを用意してネットで配布するのかという問題などが残りそうですね。。。(^-^;) 日本語環境といっても、ATOKや一部フォントなどcopyrightが違うものは配布されていないので、Solarisの日本語環境とは違います。やっぱ、こういう違いは結構でかいかも? (^.^;) (今回の一言) 僕は身近にあったSolarisのCDから日本語環境を追加してしまいました。といっても、 これは日本語Solarisがあればの話…。本来は、scimなどのIMをちゃんと用意したいところですよね。 この辺りはオープンソースで用意していかないとどうしようもないところかも知れません。OpenSolarisの今後の国際化対応に期待 したいところですね。 取り合えず、無事インストール完了した姿(↓)です。(^-^)
Technorati Tag:
OpenSolaris Posted at 02:41午前 8 22, 2005 by eota in opensolaris | Comments[0]
水曜日 8 03, 2005
御礼 (Thank to people I met in Japan)
御礼 (Thank to people I met in Japan)日本からアメリカに戻り、(ちょっと体調を崩していましたが)ようやく体調も戻り、生活も落ち着きました。^-^ そして、ふと気づいてみると、ほぼ一カ月経ってしまいました。(^-^;)> さて、ブログを再開…と思うのですが、その前に、まずは日本で会った皆様への御礼です。(^-^)
◎OpenSolarisのはしょったビルド これは日頃、如何にはしょってSolaris Kernelをビルドしているか(^-^;)という、何ともレイジーなお話でした。 ビルド環境を設定した後、
新しくできたunixやgenunixは、SPARCの場合、/platform/sun4u/kernelの代わりを作成(実際には/platform/sun4u/kernelをコピーして、/platform/sun4u/kernel.newなどを作る)して、ビルドしたカーネルをそこに置き"reboot -- kernel.new/sparcv9/unix"などとすれば新しいカーネルで立ち上がります。 ★SPARCの場合
★不覚にも ^^;パニックしてしまった場合…SPARC編 OK boot つまりは、普通に立ち上げるだけ…。^.^(簡単) x86の場合は、grub bootが導入されましたので、"reboot -- kernel.new/unix"などとしてもアーカイブが更新されないのでダメです。/platform/i86pc/kernel.newなどの新しいディレクトリを作ってカーネルを置いた場合、アーカイブにそのカーネルを入れる必要があるので、/boot/solaris/filelist.ramdiskに"platform/i86pc/kernel.new"というエントリを加える必要があります。でも、x86ではgenunixが/kernelの下にあって、genunixも置き換える場合はちょっとややっこしくなるし、grubブートの場合はfail-safeがあるので、パニックしてもなんとかなるということもあるので、直接unix/genunixを置き換えてしまった方が簡単みたい。(^^;) この場合は、こんなオペレーションになります。 ★x86の場合
ちなみに、nightlyビルドの場合、次のオプションを使うと早いっていうのもありましたね。 NIGHTLY_OPTIONS="-aCDFilnmprz" ◎US Sunのエンジニアはやっぱり凄い 僕からみて、凄いなぁと思う人達をあげさせて頂きました。でも、ブログを確認しますと、皆さんが書いているわけでもないんですねぇ…。^.^; Jeffさんとか、ほとんど書いていないし(忙しいと思うので仕方がないとは思うけど)。そこでブログを書いている皆さんをとくに再掲したいと思います。 Eric Low - EricさんはVM関係なんですが、それ以外も色々と書いているようです。 Alexander Kolbasov - Sashaさんは、STREAMSが強いですね。大変参考になります。 Bryan Cantrill, Jonathan Adams - ご存じのDTraceですね。 それ以外にも、 Mike Shapiro - Mikeさんの出世作?mdbを使ったデバックとかを書いているようです。それ以外にFMAとかがあります。 Eric Schrock - OpenSolarisのsystem callの追加とか色々書いています。 また、Solaris Internalsの著者として有名なRichard McDougallさん、Jim MauroさんのBlogもありますが、Solaris Internalsのサイトそのものの方が参考になるかも知れません。(Richard McDougallさんのDTraceスクリプトとか参考になります。ツールもダウンロードできるようです ^-^) 今回は、日本滞在中の御礼と、NSUGでお話した"はっしょたビルド"と"凄いUSエンジニア"の補足でした。OpenSolarisのカーネルについても、ぼちぼちとスタートさせて貰いますので、お楽しみに。^-^
Technorati Tag:
OpenSolaris Posted at 07:12午前 8 03, 2005 by eota in life | Comments[0] |
|
|
|
© 太田英二 |
|



UltraSPARC-T1



