稲川です。

H.Shiozaki wrote:
> ext2fs では,特にVSNを設定しない限り,VSNデータは無い
> ことが分かりました。 #これが普通でしょう。

というか、ext2fsではその部分に他の重要な情報が書き込まれている、
と考えた方がいいんじゃないでしょうか。
多分、boot codeが書かれてる気がしますので、ext2fs(やufs)の
パーティションに書き込まない様にした方がよろしいでしょう。
ですから...

> それで,最後の部分に,
>                                              <<---
>>        } else
>>                printf("NO VolumeID\n");
>> <=
>>        exit(0);
>
> <=
> の部分に,

ではなくて、<<--- の部分にwriteのためのコードを入れるのが
よろしいんじゃないですか?
でも、ボリュームシリアルナンバーがWindowsでどのように利用されて
いるのか知らないのですが、ひょっとして勝手に書き換えるとWindows
のほうで問題がおきたりしないんでしょうか?

> 大体の方針としては,
> u_char  boot-w [SECSIZE];
> を別途用意して,情報をここに集め,
>  fd = open(disk, O_RDONLY);
> をRead/Write型でオープンしておく,
> または一旦クローズして,O_WRITEONLY(?)で再オープンし,
> (本当の記述は,includeファイルを調べますが)
> boot-w[512] を書き戻す。
> この結果を出すのには,パーションを用意する為の時間が
> 相当時間がかかるとおもわれますので,時間をください。

うーん...
それよりも、中村和志さんが仰ってるように、mdirのソースを
みられたほうが、得る物は多いと思いますし、可能ならば、
それをボリュームシリアル番号を表示するように改造して
みられてはいかがですか?

> ---
> 稲川 史(ふひと) さんの http://www.biwa.ne.jp/~fuhito/
>  ~fuhito/rtmach/ (device_read_buffer()って何?)
> は私目には分かりませんが,RT-Mach のページをみさせてもらい
> 私にとって,有用な情報がありました。

御覧いただきありがとうございます。

> 気になったことは,FreeBSD-3.xがRTOSの世界(RT-Mach)では
> 使われている(?),話題になっていることです。
> (私目の場合FreeBSD-4.4以降です)

というより、NTTが配布しているRT-MachはFreeBSD 2.2.8互換
のもので、それを私がFreeBSD3.x対応のコードをつっこんだ
だけでして、FreeBSD4.xに対応していないのは、私がFreeBSD
4.xに対応する作業をサボっているだけですし、やりたい事は
いっぱいあるんですけどね;-p

P.S.
殆ど公開私信ですみませんm(__)m>皆様方

-- 
稲川 史(ふひと)  http://www.biwa.ne.jp/~fuhito/
     ~fuhito/rtmach/ (device_read_buffer()って何?)