VIVER

SquashFS - Deflate vs LZMA

SquashFSの圧縮アルゴリズムにLZMAを使うパッチがありました。これはSquashFS 2.0向けなので、これをCVSバージョン(Squashfs 3.0prerelease (2006/1/24) )にがんばって移植しました。さらに、LZMA SDKのバージョン4.20用でしたが、圧縮(mksquashfs-lzma)は…

圧縮アルゴリズム

SquashFSですが、3.0からファイルサイズの制限が64bitになるようです。まぁ、そりゃそうですよね。現在でもCVSからダウンロードすれば使えるようです。SquashFSからcloopに移行しようと思った理由は、 SquashFSのファイルサイズの制限 SquashFSはファイルシ…

新ビルドシステム

新ビルドシステムを構築中…

P2P File System

絶対あると思っていました。CFSCluster File System(Lustre)とは違います。何にせよ、VIVERが最終的に目指すものはクラスタです。どのような形であれ、間違いなく。(P2Pもクラスタの一種だと思っているのですが、間違い?) ついでにリンク http://pdos.csail…

これから

これからの予定について。 ドキュメント/ウェブサイトを書く Squashfsからcloopに変える デバイスノード名の整理 カーネルのアップデート ビルドシステムの改善 x86_64対応 ここまででバージョン0.2.5としてリリースする予定。 ''ソフトウェアの半分はドキュ…

0.2リリース!

VIVER 0.2をリリースしました! http://viver.sourceforge.jp/ 今すぐデモシステムをダウンロードしてCDに焼いてください。 デモシステムのアップロードに2時間もかかった……。

ウェブサイト公開

ついにウェブサイトを公開しました! http://viver.sourceforge.jp/ まだ全然出来ていません。SourceForge.jpの対応は、思っていたより早かったです。プロジェクト承認には1時間くらいかかると思っていたら、5分くらい。ということで、今しばらくかかります。

VIVER 0.2 動作確認

実機でテスト。 動いた!すばらしい! しかも速い!(あるいはqemuが遅すぎた?) ルートファイルシステムを全部RAMに展開すると、驚異的な速さで起動する。VIVER本体のネットワーク検出は、NIC 2枚差しでも自動的にDHCPがある方を検出する。 VIVER Pacsのwa…

ウェブサイト構築

現在VIVER 0.2公開!に向けて追い込み中。デモシステムは、Mandrivaから返事をいただいたので、ありがたくMandrivaベースにすることにしました。ロゴ&メッセージは変更済み。gccは入れていないけど。 世の中のウェブデザイナーというか、ウェブサイトを作っ…

続・dm-snapshot

いろいろと検証。1MBの元イメージに、10MBのスナップショットを適応し、マウントして5MBのファイルをコピーするとどうなるか。 答え:1MBコピーしたところで No space has left on device これは予想通り。適当な量のスパース領域を元イメージに加えておけば…

Portage大きすぎ

Portageが容量喰いすぎです。556MB。ぬぅ。 syslog-ngとdhcpcdとvixie-cron入れただけで、既に1.6GB使用中。 圧縮すれば700MBのCDに、未圧縮状態で約2GB入ることを考えても、もう400MBしか入らない。KDEとか、無理。Xもキツイ? かといってPortageを消すのも…

dm-snapshot

完璧。スバラシイ。しかも簡単。こんな。 modprobe dm-setup # 適当なファイルシステムイメージ base 作成 # 適当な0埋めファイル cow 作成 losetup /dev/loop1 base losetup /dev/loop2 cow echo 0 $(blockdev --getsize /dev/loop1) snapshot /dev/loop1 /…

Gentooインストール

Gentooをqemuを使ってVMにインストールしてみました。手取り足取りインストーラに比べると、手間かかりますね。stage3からネットワークインストール。今思えば、"GRP"を使っておいた方が良かったのかも。今からでも使える?XとかKDEのコンパイルはちょっと……

ライセンス

ライセンスは難しいです。VIVERはGPLで公開する予定ですが、これはVIVERの内部でGPLのソフトウェアを使っているから、というのがとりあえず理由なのですが、この"内部"がくせ者。VIVERとは、linuxrcとviver(ほかerrormsgなどなどの自作のファイル)というプ…

Squashfsは2GBを超えられない

2GB以上のファイルを含められないだけでなく、作成後のファイル自体も2GBを超えられない、という事実に気づく。どうする。おとなしくcloopを使えば良いのだろうか。アルファシステムズ社がかなり注力して改良しているようだし。 特にAccelerated-KNOPPIX(SA…

0.3どうする

いつでも0から書き直したいですよ。まだ0.2ができていないですよ。まず、/VIVER/dev/root.1やら、/VIVER/mapper/cryptroot、/VIVER/dev/linearizedrootだの、やたらと'root'がつくデバイスノードばかりだったりで、デバイスノードがもうワケワカラナイので、…

Device Mapper

現状では、ファイルシステムの構成方法は以下の通り。 RootDisk(CDなど、物理的なディスク)から起動 RootDisk --マウント--> 暗号化ファイルシステムイメージ --ループバック・復号化(dm-crypt+LUKS)--> 圧縮ファイルシステム(Squashfs) --展開--> 2Gづつ…

VIVER 0.2 デモシステム

ほぼできた。 viverrcをいろいろと変更。 xsetup.pacを作成。X Window Systemの設定を行う。 今のところのデモシステムは、 ディストリビューション:Mandriva Linux 2006 Free デスクトップ:KDE 3.4.2、Blackbox その他のアプリケーション:OpenOffice 2.0…

wakenet.pac

どうしよう。とりあえずIPv6は無視することにする。 ネットワークを起動するために必要な情報は… ネットワークデバイスの名前(eth0等) DHCPで起動するのか、Zeroconf(ad-hoc IP)で起動するのか、固定IPで起動するのか DHCP以外の場合、デフォルトゲートウェ…

info.xmlメモ

RPMのspecファイルの書き方を参考に、見直す。 <Package> <Name>hostname</Name> <Version>0.0</Version> <Release>.0-1</Release> <Summary>Set the hostname based on MAC address.</Summary> <Summary lang="ja">MACアドレスに基づいてホスト名を決定します。</Summary> <License>GPL 2 or later</License> <Packager>誰…</packager></package>

ちょっとしたロードマップ

viverrcの依存関係付き適用部分もとりあえずできたので、ちょっとしたロードマップをまとめてみます。VIVER本体とpacは分けた方が良いかも。 VIVER 0.2までに VIVER本体は現状でOKとする。(これ以上はごっそり変更を伴う可能性大) 最低限のpacを実装 waken…

環状依存解決できた

できた。 parse_pacinfo: _LAST: version: 0.000000 loop-b: version: 1.900000 need[0]: loop-c; loop-a: version: 1.900000 need[0]: loop-b; loop-c: version: 1.900000 need[0]: loop-a; resolve_need_pointers depending: _LAST: loop-b: _DUMMY_loop-b…

viverrc実装中… 2

依存関係解決部分もとりあえず書けた。まだテストしていないけど。(こういうのは書けたとは言わないのかもしれない)再帰呼び出しでコンパクトに収まる。なかなか良い感じ。 svnにimportするときにちょいとミスってしまったけども、まぁ、おおむねよろし。 …

info.xmlのスキーマ 0

新しい物好きなので、スキーマ言語はRELAX NGにしてみる。 <grammar xmlns="http://relaxng.org/ns/structure/1.0"> <start> <element name="Package"> <interleave> <element name="Name"> <text/> </element> <element name="Version"> <data type="double"/> </element> <optional> <element name="Release"> <text/> </text/></element></optional></interleave></element></start></grammar>

viverrc実装中…

リンクリストを環状に変更。依存関係解決部分を除いた適用処理の実装完了。 info.xmlのパースと適用処理がマルチスレッド。マルチコアなCPUで速度向上。 あとは依存関係の解決部分だけ。あと、ディストリビューション調査を実行。Asianuxについて。紅旗Linux…

viverrc書き直し

ひたすらプログラミング。目によろしくない。 cat *.c *.h Makefile | wc -l によれば、747行書いたらしい。pacのデータを保持する構造をリンクリストにして(最近覚えた)、メモリが許す限りの量のpacを処理できるようにしてみる。pac一つが1KB弱くらいだか…

続・NBDに認証

NBDサーバー/クライアントには既に認証機構が実装されていることが判明!しまった・・・。しかし、IPアドレスベースの認証らしい。うーむ・・・IPアドレスベースはちょっと柔軟性に欠けるかな・・・。クライアントのIPアドレスは起動するまで未定だから、VIV…

NBDに認証(案)

サーバーを認証 クライアントは信用できるCAにネットワークで接続できないところがポイント。ネットワークの起動をサーバーに依存しているため。 NBDサーバーは、ディストリビューションスペースにOpenSSLを要求することにする rootserver.pac(NBDサーバー…

やりたいこと整理

やりたいこと過剰。最新の困ったは、viverrc(VIVER Pacsを適用するプログラム)の実装がいっこうにできないこと。XMLをパースしてみたり、マルチスレッドにしてみたり、Cで書いてみたりしているので、混乱するばかりで進まない。 Cにしたのが一番の問題だと…

用語整理

ディストリビューションスペース initプロセス開始後のファイルシステム = VIVERでpivot_rootする先のファイルシステム VIVERスペース(仮) initrd = VIVER rootdisk 圧縮ルートファイルシステム(ディストリビューションスペースを含んでいる)を保持して…