morenet
自宅用Linuxファンレスサーバ構築時のメモです。MediaTombをBRAVIAのDLNA機能に対応させるパッチは→こちらの記事から。
CPUはAtom N270、マザーボードはIntel D945GSEJT。ディストリビューションはUbuntu 9.04 Server → 10.04 Serverです。
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
[Ubuntu] 10.04 LTSにアップグレード
My Ubuntu Serverが稼働し始めてから1年経ち、Ubuntuも半年ごとに9.04 → 9.10 → 10.04とリリースされました。

以前debianでアップグレードを失敗してインストールし直した経験が有ったので腰が重かったのですが、
10.04がリリースされてから半年近くたち、やっとアップグレードをしました。


アップグレードのやり方は、"Ubuntu アップグレード 9.10"とかでググるとUbuntu Japanese Teamのページがでるので、そこを参考にしました。

元は9.04だったので、直接10.04にはアップグレード出来ず9.04→9.10→10.04とアップグレードすることになりました。


では実際の手順。

まずは、アップグレード作業前に不測の事態に備えて、~/、/etc/など設定ファイル関係を別のマシンにバックアップ。失敗するとブートできなくなることもあるので。

Server版だったので、アップグレードはシェルから行う。

$ sudo apt-get install update-manager-core
$ sudo do-release-upgrade

do-release-upgradeの実行中は、各プログラムの設定ファイルを上書きするか聞かれる。
設定ファイルはバックアップを取ってあったので、結構上書きした(記述が改善していることを期待)。

do-release-updateが終わると再起動するか聞かれるので、再起動。

すると正常に起動せず、以下のメッセージが出た。

Gave up waiting for root device. Common problems:
  - Boot args (cat /proc/cmdline)
    - Check rootdelay= (did the system wait long enough?)
    - Check root= (did the system wait for the right device?)
  - Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/mapper/kotomi-root device does not exist.
Dropping to a shell!

冷汗と嫌な汗が出たが、調べてみると正常にカーネルイメージを読み込みていないようだ。grubで他のカーネルイメージを試してみることにした。

BIOS POST画面後ESCキーを押し、grubを起動すると、9.10のイメージではなく、以前自分でビルドしたカーネルがgrubの設定ファイルで先頭にきていた。
そういえば、do-release-upgradeの最後で、昔のカーネルは削除されたような・・・

とにかく、grubで新しいカーネルを選択したら起動できた。grubの設定ファイル(/boot/grub/menu.lst)から古いカーネルを削除しておく。

そしたら、こんどは9.10→10.04にするために同じことをもう1回。

$ sudo apt-get install update-manager-core
$ sudo do-release-upgrade


アップグレードすると、sensorsの出力フォーマットが変わっていたのでcronで実行するスクリプトを変えた

テーマ:Linux - ジャンル:コンピュータ

[MediaTomb] transcodingできるようにソースからコンパイル
前回の記事でソースをいじったので、ビルドします。パッチを当てた後からの作業です。
transcodingのための準備も並行して行います。

OSはUbuntu 10.04(lucid)です。その他のリリースだとやり方が変わることがあるのでご注意。

まずは、mediatombで使うパッケージを先にインストール

$ sudo aptitude install ffmpeg id3 \
libid3-dev libavformat-dev libffmpegthumbnailer-dev expat libexpat-dev \
libexif12 exif libexif-dev libmagic-dev curl libcurl-dev libcurl4-openssl-dev \
libwebservice-youtube-perl youtube-dl libmp4v2-0 libmp4v2-dev libmozjs-dev \
libtag1-dev g++ gcc libnspr4-dev vlc

mediatombのビルドにはjavascriptライブラリが必要だが、aptでインストールしようとしてもlucidのリポジトリには見つからない。
代わりにkarmicのリポジトリからインストールする。そのために/etc/apt/sources.listを一時的に書き換える。

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.

deb http://jp.archive.ubuntu.com/ubuntu/ karmic universe

書き換えたら、libmozjs-devのインストール。

$ sudo aptitude update
$ sudo aptitude install libmozjs0d libmozjs-dev

インストールできたら/etc/apt/sources.listのkarmicに変えたところをlucidにに戻して、

$ sudo aptitude update

をしておく。
>>続きを読む

テーマ:Linux - ジャンル:コンピュータ

MediaTombをBRAVIAのDLNAクライアントに対応させるパッチ
成功

パッチ(mediatomb-0.12.1向け)はこちら

このパッチでやっていることは、以下の通り。
  ・BRAVIAから、MediaTombをDLNAサーバ(DMS-1.50)として検出されるようにする
  ・MediaTombに登録されているMPEG2/MP3/JPEGを、BRAVIAに再生可能なファイルと認識させる
  ・MediaTombにMPEG2/MP3/JPEGがない場合も、AVI/FLV/OGGがあれば
    transcodingでBRAVIAから再生可能にする(config.xmlにtranscodingの設定要)


fc2 blogではアップロードできるファイルの名前&拡張子が限られているので、変な名前.txtになってます。
FTPとかするときは改行コードにご注意。
当て方は、mediatomb-0.12.1.tar.gzを解凍して出来たディレクトリで、以下のコマンド。

patch -p0 < mediatomb-0_12_1_bravia_support_0_1_patch.txt

あとmediatombのconfig.xmlに

<protocolInfo extend="yes"/>

を入れてください。

また、このパッチはNTSC用(日本、米国等)BRAVIA向けです。欧州向けBRAVIA(PAL)等では多分動かないと思います。
また、私はc++のコーディング経験ない+リバース不足で、あまり賢いコードではありませんので・・・。

うまくいかないとかあったらコメントください。


以下経緯・・・

家にBRAVIA(KDL-20M1。小さい・・・)がありまして、ある日設定をイジイジしていたら
サーバ診断というメニューを発見しました(取説は読まない派・・・)。
BRAVIA 接続サーバ診断
何かと思って実行してみたところ、DLNAサーバの診断機能だったらしく、
Ubuntuに入れたあったMediaTombが検出されました。

・・・しかし「このテレビが対応していないサーバです。」と言われてしまいます。
なんとか対応出来ないものかと「DLNA BRAVIA mediatomb」でググリまくったところ
mediatomb公式Forum?のこのトピックの#13に行き着きました

I successfully made my Mediatomb being seen by my Sony Bravia TV

というわけで、そこに書いてある通りにソースをいじってmakeしてみたのですが、BRAVIAから認識はされたものの
再生自体はうまくいかず、Intel Tools for UPNP TechnologyでBRAVIAの挙動を調べて
なんとか、BRAVIAでMediaTombからMPEG2、MP3、JPEG、トランスコードしたAVI、OGGなどを再生できるまでになりました。

まとめ。

(1) BRAVIAはDMS-1.50対応しているサーバしか接続してくれない
→ 上記のトピックの#13の件で対応。

(2) (1)をやっても「テレビで再生可能なファイルがサーバーにありません。」と言われる。
→ MediaTombがgetProtocolInfoで返すときの値のextended protocol informationを
  BRAVIAの好みにあわせてあげるようにソースを改変。
  自転車と地図さんのこちらこちらを参考にしました。
 これでビルドするとMPEG2、MP3、JPEGは再生できるようになった(と記憶している・・・)。

(3) UbuntuのMediatombで.aviをtranscodeさせるために→ 別記事

テーマ:Linux - ジャンル:コンピュータ

[Linux] パッチの作り方と、パッチの当て方
パッチの作り方

$ diff -Nurdp src src.new > hoge.patch


srcは元のソースが入ったディレクトリ。
src.newが新しいソースが入ったディレクトリ。

-N : 比較元か比較先にファイルがない場合、空のファイルがあるとみなす
-u : Unified context形式を出力する(patchがサポートする形式)
-r : ディレクトリを再帰的に比較
-d : 差分をできるだけ少なくしようとする
-p : どのCの関数で差分があるのかを表示

パッチの当て方

上で作ったパッチを当てる。
パッチを当てたいソースがあるディレクトリがsrcだとすると、
srcがあるディレクトリにて次のコマンド。

$ patch -p0 < hoge.patch


パッチを当てたいソースが入っているディレクトリ名がsrcでない場合は
そのディレクトリにcdして以下のコマンド。

$ patch -p1 < ../hoge.patch

テーマ:Linux - ジャンル:コンピュータ

DELLのノートPCのファンクションキーのFnトグルを逆にする
なにやら分かりにくいタイトルですが・・・

最近DELLのノートPC(というかネットブック)INSPIRON MINIに
Ubuntu 10.04 LTS Netbook Editionを入れて遊んでます。

ところでこのPCのキーボードのファンクションキー(F1~F12)なのですが
デフォルトで、画面の輝度調整やスピーカーの音量調整が割り当てられています。

つまり純粋にF1を押したい場合、Fn + F1を押さないといけなくて
日本語入力時にすごくうざったいです。

んで、なんか対策がないのかとググってみたら・・・BIOSで切り替え可能でした・・・
Advanced→Function Key Behaviorです。
DELL INSPIRONのBIOSでファンクションキー切り替え

テーマ:ノートPC - ジャンル:コンピュータ

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。