トップ «前の日記(2006-11-30) 最新 次の日記(2006-12-02)» 編集

muneda's diary


2006-12-01 曇り,事務所は暑いから激寒いへ [長年日記]

_1 年末

もう今年も残すところあと1ヶ月.早いもんだ.

_2 IDカード

入社から丸3年経って,ICチップの有効期限切れが近づいてきたので.

それにしても自分でやっておいて何だが,IDカードの写真が金髪ってヒドいな.はたして3年後の更新時はこの写真を見てどう思うんだろうか.

そうそう,新カードになって磁気テープ部も復活.これで食堂での精算が苦じゃなくなる.

Tags: Life

_3 室温

今日事務所内での引っ越しをしたんだが,信じられんくらいの温度差.

午前中は半袖Tシャツだったのに,午後はトレーナ.前の場所は暑いと感じていたが,今の場所はエアコンの風の出口にあたるのでものすごく寒い.っていうかこの時期に26度の冷房がかかっているってどんな環境やねん.

ということで,めちゃくちゃ寒いので膝掛けでも用意しようかと.

Tags: Life

_4 「休止状態」ボタンをデスクトップに置く方法

「電源を切る」ボタンをデスクトップに置く方法にインスパイアされたので試してみる.

コマンドラインから電源オフや休止を実行する − @ITを参考に,コントロールパネルから休止状態を有効にするをチェック.

項目の場所を入力してくださいの質問には

rundll32.exe powrprof.dll,SetSuspendState

と入力.

名前の指定にはお好きな文字列を.私は

休止状態

と入力.

アイコンはお好きなものを.私はpop*popと同じく電源を切るボタンを選択.

これで完成.「電源を切る」と同じく何も聞かれずにいきなり休止状態になります.

電源を切ると,スタートアップに登録されているアプリの起動やら何やらで時間を空ので,通常は休止状態にするようにしています.

追記(20061205): ワンクリックで素早くパソコンを休止状態にする / デジタルARENAを発見.この記事1年半近く前のもの.

Tags: Memo

_5 Re: libataでhdXからsXXへ

昨日に引き続きlibata(PATA)について.

まずは標準設定がどうなっているのかについて.configファイルを確認.

$ find arch -type f -name '*config*' | xargs grep -H CONFIG_IDE=
arch/x86_64/defconfig:CONFIG_IDE=y
arch/ia64/defconfig:CONFIG_IDE=y
arch/i386/defconfig:CONFIG_IDE=y
arch/sparc64/defconfig:CONFIG_IDE=y

となっていて,多くのアーキでは旧インターフェイスを使用.ppc,mips,arm,sh,frvなどIDEのデバイスを利用しない組み込み系ではCONFIG_IDEは設定されていないものが多い.

$ find arch -type f -name '*config*' | xargs grep -H "CONFIG_PATA.*="
arch/mips/configs/tb0287_defconfig:CONFIG_PATA_SIL680=y
$ find arch -type f -name '*config*' | xargs grep -H "CONFIG_ATA_GENE"
arch/mips/configs/tb0287_defconfig:# CONFIG_ATA_GENERIC is not set
arch/x86_64/defconfig:# CONFIG_ATA_GENERIC is not set
arch/sh/configs/r7780rp_defconfig:# CONFIG_ATA_GENERIC is not set
arch/ia64/configs/sn2_defconfig:# CONFIG_ATA_GENERIC is not set
arch/i386/defconfig:# CONFIG_ATA_GENERIC is not set

なので標準サポートはしていない.基本はこれまで通り/dev/hdXが使われる.

次に,標準のコンフィグファイルであるarch/i386/defconfigをベースにコンパイル.編集項目はIDEのサポートOFFとlibata+CONFIG_PATA_SERVERWORKS.

-CONFIG_IDE
+CONFIG_ATA_GENERIC
+CONFIG_PATA_SERVERWORKS

このコンフィグで作成したカーネルであげたシステムの/dev配下を確認.hdX,sdXなどを探す.

$ ll /dev/[hs][cdr]*
brw-rw----  1 root disk 11, 0 Dec  1 20:19 /dev/scd0
brw-rw----  1 root disk  8, 0 Dec  1 20:19 /dev/sda
brw-rw----  1 root disk  8, 1 Dec  1 20:19 /dev/sda1
brw-rw----  1 root disk  8, 2 Dec  1 20:19 /dev/sda2
brw-rw----  1 root disk  8, 3 Dec  1 20:19 /dev/sda3
brw-rw----  1 root disk  8, 4 Dec  1 20:19 /dev/sda4
brw-rw----  1 root disk  8, 5 Dec  1 20:19 /dev/sda5
brw-rw----  1 root disk  8, 6 Dec  1 20:19 /dev/sda6
brw-------  1 root root 11, 0 Dec  1 20:19 /dev/sr0

hdX はない.

$ ls -lR /dev | grep scd0
lrwxrwxrwx  1 root root          4 Dec  1 20:19 cdrom -> scd0
brw-rw----  1 root disk    11,   0 Dec  1 20:19 scd0

cdrom のリンク先は scd0 となる.

udev のルールを確認.

$ grep "\"s[dr]" /etc/udev/rules.d/50-udev.rules
KERNEL="sr[0-9]*",              SYMLINK="cdrom%e"
KERNEL="sr[0-9]*", BUS="scsi", PROGRAM="/etc/udev/scripts/check-cdrom.sh %k DVD",
                                SYMLINK="dvd%e"
KERNEL="sr[0-9]*", BUS="scsi", PROGRAM="/etc/udev/scripts/check-cdrom.sh %k CD-R",
                                SYMLINK="cdwriter%e"
KERNEL="sr[0-9]*", BUS="scsi", PROGRAM="/etc/udev/scripts/check-cdrom.sh %k DVD-R",
                                SYMLINK="dvdwriter%e"
KERNEL="sr[0-9]*", BUS="scsi", NAME="scd%n" ☆

☆に注目.そのあたりを見ると

# rename sr* to scd*
KERNEL="sr[0-9]*", BUS="scsi", NAME="scd%n"
KERNEL="hd[a-z]*", BUS="ide", SYSFS{removable}="1", NOREMOVE="1"

なので,基本はsrX.それに対応するsdcXを作っている.

$ grep "SYMLINK=\"cdrom" /etc/udev/rules.d/50-udev.rules
KERNEL="sr[0-9]*",              SYMLINK="cdrom%e"
KERNEL="scd[0-9]*",             SYMLINK="cdrom%e" ☆
KERNEL="pcd[0-9]*",             SYMLINK="cdrom%e"
KERNEL="hd[a-z]", BUS="ide", SYSFS{removable}="1", RESULT="cdrom", SYMLINK="cdrom%e"

じゃぁなぜcdromのリンク先はscd0となっているのかというと,ルールの記述順でscdXがsrXよりも後ろにかかれているので,udevはcdrom -> srXを作った後cdrom -> scdXをつくる.結果,srXが上書きされている.なんでこんな変なルールなんだろう.バグってるな.

本丸である sysfs へ.

$ ls /sys/block/ | grep "^[sh]"
sda
sr0
$ ls -l /sys/block/s*/device
lrwxrwxrwx  1 root root 0 Dec  1 20:19 /sys/block/sda/device ->
          ../../devices/pci0000:02/0000:02:08.0/host0/target0:0:0/0:0:0:0
lrwxrwxrwx  1 root root 0 Dec  1 20:19 /sys/block/sr0/device ->
          ../../devices/pci0000:00/0000:00:0f.1/host3/target3:0:0/3:0:0:0

完全にscsiにしか見えない.

$ ll /sys/devices/pci0000\:02/0000\:02\:08.0/host0/target0\:0\:0/0\:0\:0\:0/
total 0
lrwxrwxrwx  1 root root    0 Dec  1 20:19 block:sda -> ../../../../../../block/sda
lrwxrwxrwx  1 root root    0 Dec  1 20:19 bus -> ../../../../../../bus/scsi
--w-------  1 root root 4096 Dec  1 20:19 delete
-r--r--r--  1 root root 4096 Dec  1 20:19 device_blocked
lrwxrwxrwx  1 root root    0 Dec  1 20:19 driver -> ../../../../../../bus/scsi/drivers/sd
lrwxrwxrwx  1 root root    0 Dec  1 20:19 generic ->
          ../../../../../../class/scsi_generic/sg0
-r--r--r--  1 root root 4096 Dec  1 20:19 iocounterbits
-r--r--r--  1 root root 4096 Dec  1 20:19 iodone_cnt
-r--r--r--  1 root root 4096 Dec  1 20:19 ioerr_cnt
-r--r--r--  1 root root 4096 Dec  1 20:19 iorequest_cnt
-r--r--r--  1 root root 4096 Dec  1 20:19 model
drwxr-xr-x  2 root root    0 Dec  1 20:19 power
-r--r--r--  1 root root 4096 Dec  1 20:19 queue_depth
-r--r--r--  1 root root 4096 Dec  1 20:19 queue_type
--w-------  1 root root 4096 Dec  1 20:19 rescan
-r--r--r--  1 root root 4096 Dec  1 20:19 rev
lrwxrwxrwx  1 root root    0 Dec  1 20:19 scsi_device:0:0:0:0 ->
          ../../../../../../class/scsi_device/0:0:0:0
lrwxrwxrwx  1 root root    0 Dec  1 20:19 scsi_disk:0:0:0:0 ->
          ../../../../../../class/scsi_disk/0:0:0:0
lrwxrwxrwx  1 root root    0 Dec  1 20:19 scsi_generic:sg0 ->
          ../../../../../../class/scsi_generic/sg0
-r--r--r--  1 root root 4096 Dec  1 20:19 scsi_level
-rw-r--r--  1 root root 4096 Dec  1 20:19 state
lrwxrwxrwx  1 root root    0 Dec  1 20:19 subsystem ->
          ../../../../../../bus/scsi
-rw-r--r--  1 root root 4096 Dec  1 20:19 timeout
-r--r--r--  1 root root 4096 Dec  1 20:19 type
--w-------  1 root root 4096 Dec  1 20:19 uevent
-r--r--r--  1 root root 4096 Dec  1 20:19 vendor

ちなみにlibataではなく旧インターフェイスを使った場合./dev 配下を確認.hdX, sdXなどを探す.

$ ll /dev/[hs][cdr]*
brw-rw----  1 root disk 22, 0 Dec  1 20:41 /dev/hdc
brw-rw----  1 root disk  8, 0 Dec  1 20:42 /dev/sda
brw-rw----  1 root disk  8, 1 Dec  1 20:42 /dev/sda1
brw-rw----  1 root disk  8, 2 Dec  1 20:42 /dev/sda2
brw-rw----  1 root disk  8, 3 Dec  1 20:42 /dev/sda3
brw-rw----  1 root disk  8, 4 Dec  1 20:42 /dev/sda4
brw-rw----  1 root disk  8, 5 Dec  1 20:42 /dev/sda5
brw-rw----  1 root disk  8, 6 Dec  1 20:42 /dev/sda6

hdc がある.

$ ls -lR /dev | grep hdc
lrwxrwxrwx  1 root root          3 Dec  1 20:42 cdrom -> hdc
brw-rw----  1 root disk    22,   0 Dec  1 20:41 hdc
lrwxrwxrwx  1 root root          9 Dec  1 20:42 pci-0000:00:0f.1-ide-0:0 -> ../../hdc

cdromへのリンクは当然 hdc

本丸である sysfs へ.

$ ls /sys/block/ | grep "^[sh]"
hdc
sda
$ ls -l /sys/block/[hs]*
/sys/block/hdc:
total 0
-r--r--r--  1 root root 4096 Dec  1 20:42 dev
lrwxrwxrwx  1 root root    0 Dec  1 20:42 device ->
          ../../devices/pci0000:00/0000:00:0f.1/ide1/1.0
drwxr-xr-x  3 root root    0 Dec  1 20:41 queue
-r--r--r--  1 root root 4096 Dec  1 20:42 range
-r--r--r--  1 root root 4096 Dec  1 20:42 removable
-r--r--r--  1 root root 4096 Dec  1 20:42 size
-r--r--r--  1 root root 4096 Dec  1 20:42 stat

/sys/block/sda:
total 0
-r--r--r--  1 root root 4096 Dec  1 20:42 dev
lrwxrwxrwx  1 root root    0 Dec  1 20:42 device ->
          ../../devices/pci0000:02/0000:02:08.0/host0/target0:0:0/0:0:0:0
drwxr-xr-x  3 root root    0 Dec  1 20:42 queue
-r--r--r--  1 root root 4096 Dec  1 20:42 range
-r--r--r--  1 root root 4096 Dec  1 20:42 removable
drwxr-xr-x  2 root root    0 Dec  1 20:42 sda1
drwxr-xr-x  2 root root    0 Dec  1 20:42 sda2
drwxr-xr-x  2 root root    0 Dec  1 20:42 sda3
drwxr-xr-x  2 root root    0 Dec  1 20:42 sda4
drwxr-xr-x  2 root root    0 Dec  1 20:42 sda5
drwxr-xr-x  2 root root    0 Dec  1 20:42 sda6
-r--r--r--  1 root root 4096 Dec  1 20:42 size
-r--r--r--  1 root root 4096 Dec  1 20:42 stat

hdcはIDE.

/var/log/messagesを見ると以下のログを見つけた.

Dec  1 20:19:29 HOSTNAME scsi.agent[1656]: cdrom at
                /devices/pci0000:00/0000:00:0f.1/host3/target3:0:0/3:0:0:0
Dec  1 20:19:29 HOSTNAME scsi.agent[1688]: disk at
                /devices/pci0000:02/0000:02:08.0/host0/target0:0:0/0:0:0:0
Dec  1 20:19:29 HOSTNAME scsi.agent[1710]: processor at
                /devices/pci0000:02/0000:02:08.0/host0/target0:0:8/0:0:8:0
Dec  1 20:19:29 HOSTNAME scsi.agent[1738]: processor at
                /devices/pci0000:02/0000:02:08.1/host1/target1:0:8/1:0:8:0
Dec  1 20:42:37 HOSTNAME scsi.agent[1148]: disk at
                /devices/pci0000:02/0000:02:08.0/host0/target0:0:0/0:0:0:0
Dec  1 20:42:37 HOSTNAME scsi.agent[1170]: processor at
                /devices/pci0000:02/0000:02:08.0/host0/target0:0:8/0:0:8:0
Dec  1 20:42:37 HOSTNAME scsi.agent[1250]: processor at
                /devices/pci0000:02/0000:02:08.1/host1/target1:0:8/1:0:8:0

前者(2.6.19)のみcdromに対しscsi.agentが動いている.ここでもIDEのcdromがSCSIに見えていることがわかる.

長くなったけど以上.

Tags: Kernel Linux

_6 ピタゴラ装置DVDブック1(佐藤雅彦/内野真澄)

届いたので早速見てみる.

20分近く,延々ピタゴラ装置.なんとマニアックな.結構見たことあったけど初見のものもいくつか.

お気に入りは

  • 装置No. 8 我が道を行く
  • 装置No.30 トランポリン

あと,下から上に動く装置が見てて面白い.やはり重力に反した動きをするからなのかな.

せっかくなので花子にも見せてみよう.なんて反応をするのか非常に楽しみだ.

Tags: DVD

過去の日記
2002|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|05|06|
トップ «前の日記(2006-11-30) 最新 次の日記(2006-12-02)» 編集