diary/Kojima

・LVM とか

Plamo でもそろそろ対応しないとなぁ,,と RAID/LVM の環境のテスト中. RAID の方は mdadm コマンドを作ることで比較的簡単に操作できるようになっ たのだけど LVM の方で結構ハマる.

具体的には LVM2.2.01.15 と device-mapper.1.02.02 の組み合わせでは, lvm.static を作ろうしたら,最後のリンクの際に 「 __align_chunk や _new_chunk が libdevmapper.a の中で既に定義されている」というエラーにな るというもの.

# 実はこれ以前にも device-mapper を --enable-static_link オプション付きで configure しておかないと static link できないのにもちょっとハマった

ソースコードを眺めたら,確かにライブラリの pool-fast.c の中で同じ関数名 が使われているのでバッティングするだろうけど,さてどうすれば? というと ころで,configure オプションの動作を調べたり,設定を変えてみたりとしば し試行錯誤.

結局のところ,fedora core4 のソースを調べたら device-mapper-1.01.02 と いう古いバージョンを使っていることに気がついて,1.01.02 と 1.02.02 の違 いを調べると 1.02 の系列で新たにメモリ管理回りの機能が追加され,上記 __align_chunk 等の機能が入ったのだけど,LVM2.2.01.15 の方がそれに対応し ておらず,その機能を自前で持ち続けていることが原因の模様.

ということで device-mapper のバージョンを 1.01.02 に下げれば,無事 LVM2.2.01.15 も static link でコンパイルできました.

とりあえず,このヘンのツールは Plamo-4.2 には入れておくけど,インストー ラが対応するにはかなり大幅な改造が必要になるので,例えばルートファイル システムを RAID や LVM 上に取れるようになるのは,まだだいぶ先になりそう.



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-12-17 (金) 16:35:41