ログをFirewire経由で出力するには
pdudf.LogFacilityを1にする必要があります。
またnvramの値も変更する必要があります。
これはnvramのboot-argsでのdebugで指定します。
例えば
% sudo nvram boot-args="debug=0xXXX"
のように指定します。
nvramコマンドについてはmanを参照してください
XXXに指定できるビット値としては(Mac OS X Internales p360 TABLE4-13)次の
ようなものがあります
0x800:DUMP_ON_NMI: NMI時Dump
0x400:DUMP_ON_PANIC: Panic時Dump
0x100:LOG_PI_SCRN: Panicデータをスクリーンに表示
0x040:DB_ARP
0x008:DB_KRPT: kprintfをremote output deviceへ
0x004:DB_NMI: kernel-debugging facilityを有効化(including support NMI
without a physical progremmer's switch)
0x002:DB_PRT: printfをconsoleへ
kext内で使用されているkprintfをremote output device(この場合firewire)に
出力するには0x008が必要となります。
PanicDumpをダンプするなども含め以下の設定を使ったりします。
nvram boot-args="debug=0x14e -v _panicd_ip=43.25.78.36"
appleのTN2118, QA1264も参照してください
実際にログを出力するときの手順
・ログを排出するMacとモニタとなるMacの両保のMacにて下記コマンドを発行
sudo nvram boot-args="debug=0x14e fwpkf=0x117"
・コマンド発行後に再起動
・再起動後に下記コマンドで変更内容が反映されているか確認
sudo nvram -p
・モニタ側のMacにて下記コマンドを発行 (-aを付けることでlogファイルにも書かれる)
fwkpfv -a
0 件のコメント:
コメントを投稿