川の流れのように‥(Eiji Ota's Weblog)
水曜日 8 03, 2005
御礼 (Thank to people I met in Japan)
御礼 (Thank to people I met in Japan)
日本からアメリカに戻り、(ちょっと体調を崩していましたが)ようやく体調も戻り、生活も落ち着きました。^-^ そして、ふと気づいてみると、ほぼ一カ月経ってしまいました。(^-^;)>
さて、ブログを再開…と思うのですが、その前に、まずは日本で会った皆様への御礼です。(^-^)
- ◎古巣の職場のF通の皆さんには、私のブログを見ているとのコメントを頂きました。本当に励みになります。ありがたいです。
- ◎日本Sunの皆さんには、日本滞在中にオフィスを使わせて頂きました。お蔭で仕事の遅れを作ることなく、日本に滞在できました。横浜や用賀オフィスは景色が綺麗でよかったです。ありがとうございました。
- ◎久々にあった友人達 - 某省の友人、大学の友人、高校の友人、小学校の友人とは、久々に美味しいお酒と楽しい昔話をさせて頂きました。ブログを見てくれている友人もおり、嬉しかったです。
- ◎そして最後にNSUGに来てくださった皆様、楽しい一時を持たせて頂き、ありがとうございました。アッセンブラが好きですと言ってくださる方やOpenSolarisをCellプロセッサーに移植したいと話される方などなど、色々な方に出席して頂き、貴重な意見を頂くことができました。本当にありがとうございます。
◎OpenSolarisのはしょったビルド
これは日頃、如何にはしょってSolaris Kernelをビルドしているか(^-^;)という、何ともレイジーなお話でした。
ビルド環境を設定した後、
- 1. usr/src/utsに移動
- 2. make install_h (ビルドの初回のみ必要)
- 3. sun4u/unix or i86pc/unixに移動
- 4. make -e
新しくできたunixやgenunixは、SPARCの場合、/platform/sun4u/kernelの代わりを作成(実際には/platform/sun4u/kernelをコピーして、/platform/sun4u/kernel.newなどを作る)して、ビルドしたカーネルをそこに置き"reboot -- kernel.new/sparcv9/unix"などとすれば新しいカーネルで立ち上がります。
★SPARCの場合
- 1. cd /platform/sun4u/kernel
- 2. cp -p -r kernel kernel.new
- 3. cd kernel.new/sparcv9
- 4. mv unix unix.org
- 5. 新しいunixを置く
- 6. reboot -- kernel.new/sparcv9/unix
★不覚にも ^^;パニックしてしまった場合…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の場合
- 1. cd /platform/i86pc/kernel
- 2. mv unix unix.org
originalを保存しておく -- パニックした時に戻すのでこれは大事ですよ。
- 3. 新しいunixを置く
- 4. cd /kernel
- 5. mv genunix genunix.org
- 6. 新しいgenunixを置く
- 7. bootadm update-archive -v
アーカイブを新しいカーネルで作り直す。
rebootコマンドを叩くと自動的に作ってくれますが、念のため。^-^
- 8. reboot
- 1. grub bootのfail-safeで立ち上げる
- 2. アーカイブをupdateするかと聞いてくるので、迷わず?"no"と答えます。^o^
- 3. ディスクをマウントします。ルートのディスク名が表示されるので、それを
そのまま使ってしまう。例えばこんな感じ。
# mount /dev/dsk/c0d1s0 /mnt
- 4. 退避しておいたunix, genunixを元に戻します。
# cd /mnt/platform/i86pc/kenrel
# mv unix.org unix
# cd /mnt/kernel
# mv genunix.org genunix
- 5. アーカイブをオリジナルのカーネルで作り直す。
# bootadm update-archive -v -R /mnt
- 6. reboot
ちなみに、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
Technorati Tag:
Solaris
Posted at 07:12午前 8 03, 2005 by eota in life | Comments[0]
Comments: