dmassage
をテンプレートにして作成
Start:
***dmassage [#z70d02bf]
kernelの構成を最適化するツール。
同様なツールでは、NetBSDにadjustkernelというのがあるらし...
kernel configファイルと、dmesgの出力を読み込み、
認識されなかったデバイスをコメントアウトしたものを出力す...
/// http://www.sentia.org/projects/dmassage/
# pkg_add dmassage
また、デバイスの認識の様子をツリー上に表示する機能も付い...
# sysctl kern.version
kern.version=OpenBSD 3.6-current (NIMBUS4) #16: Fri Feb ...
kaw@nimbus4.localnet:/usr/src/sys/arch/i386/compile/...
# /usr/local/sbin/dmassage -t
root
\-mainbus0
|-bios0
|-cpu0
\-isa0
|-fdc0
| \-fd0
|-isadma0
|-npx0
|-pcic0
| |-pcmcia0
| | \-ne0
| \-pcmcia1
|-pckbc0
| \-pckbd0
| \-wskbd0
|-vga0
| \-wsdisplay0
\-wdc0
\-wd0
*** adjkrn.awk [#j66cb9e4]
同じような働きをするコマンドをawkで書いてみた((元々は、Pe...
#!/usr/bin/awk -f
BEGIN {
FS = "[^?*0-9a-z][^?*0-9a-z]*"
}
{
if ((pfn != "") && (pfn != FILENAME))
fchg = 1
pfn = FILENAME
}
$2 == "at" {
if (fchg != 1) {
if (DEBUG==1) {
print "#D found: " $1 " at " $3
}
lookups[$1 "," $3] = $1 "," $3
} else {
dev=$1; sub("[?*][?*]*", "[0-9][0-9]*", dev)
pdev=$3; sub("[?*][?*]*", "[0-9][0-9]*", pdev)
devfound = 0
for (fdev in lookups) {
if ((pdev == "root") || (fdev ~ "^" dev "," pdev)) {
if (DEBUG==1) {
print "#D--------------------------------------"
print "#D " fdev " matched to " dev " at " pdev
print "#D"
}
devfound = 1
break
}
}
if (devfound != 1)
$0 = "#X " $0
}
}
fchg == 1 {
print
}
使用方法
>''awk -f adjkrn.awk ''['' -v DEBUG=1 ''] '''dmesg-file''...
dmesgの出力('''dmesg-file''') と '''config-file''' は、か...
>''(dmesg ; cat'' '''config-file''' '') | awk -f adjkrn.a...
などと実行してもよい。
''-v DEBUG=1''を指定すると、デバッグのため、動作(メッセー...
----
[[FrontPage]]
End:
***dmassage [#z70d02bf]
kernelの構成を最適化するツール。
同様なツールでは、NetBSDにadjustkernelというのがあるらし...
kernel configファイルと、dmesgの出力を読み込み、
認識されなかったデバイスをコメントアウトしたものを出力す...
/// http://www.sentia.org/projects/dmassage/
# pkg_add dmassage
また、デバイスの認識の様子をツリー上に表示する機能も付い...
# sysctl kern.version
kern.version=OpenBSD 3.6-current (NIMBUS4) #16: Fri Feb ...
kaw@nimbus4.localnet:/usr/src/sys/arch/i386/compile/...
# /usr/local/sbin/dmassage -t
root
\-mainbus0
|-bios0
|-cpu0
\-isa0
|-fdc0
| \-fd0
|-isadma0
|-npx0
|-pcic0
| |-pcmcia0
| | \-ne0
| \-pcmcia1
|-pckbc0
| \-pckbd0
| \-wskbd0
|-vga0
| \-wsdisplay0
\-wdc0
\-wd0
*** adjkrn.awk [#j66cb9e4]
同じような働きをするコマンドをawkで書いてみた((元々は、Pe...
#!/usr/bin/awk -f
BEGIN {
FS = "[^?*0-9a-z][^?*0-9a-z]*"
}
{
if ((pfn != "") && (pfn != FILENAME))
fchg = 1
pfn = FILENAME
}
$2 == "at" {
if (fchg != 1) {
if (DEBUG==1) {
print "#D found: " $1 " at " $3
}
lookups[$1 "," $3] = $1 "," $3
} else {
dev=$1; sub("[?*][?*]*", "[0-9][0-9]*", dev)
pdev=$3; sub("[?*][?*]*", "[0-9][0-9]*", pdev)
devfound = 0
for (fdev in lookups) {
if ((pdev == "root") || (fdev ~ "^" dev "," pdev)) {
if (DEBUG==1) {
print "#D--------------------------------------"
print "#D " fdev " matched to " dev " at " pdev
print "#D"
}
devfound = 1
break
}
}
if (devfound != 1)
$0 = "#X " $0
}
}
fchg == 1 {
print
}
使用方法
>''awk -f adjkrn.awk ''['' -v DEBUG=1 ''] '''dmesg-file''...
dmesgの出力('''dmesg-file''') と '''config-file''' は、か...
>''(dmesg ; cat'' '''config-file''' '') | awk -f adjkrn.a...
などと実行してもよい。
''-v DEBUG=1''を指定すると、デバッグのため、動作(メッセー...
----
[[FrontPage]]
Page: