A Happy New Year !

今年もよろチキ。

未明

「CDTV スペシャル 年越しプレミアライブ 2004〜2005!!」を最後まで (5:00 まで) 観てしまう。 TBS の小林麻耶アナがフジテレビのスタジオに波田陽区を迎えに行ったら波田陽区のダブルブッキングが発覚! という場面も観た。 どちらも生放送だったので,両方のチャンネルで同じ映像が流れた。 しかし TBS のアナウンサーが「きっかけは?」と聞かれて「フジテレビ!」と答えちゃいかんでしょう。

先月吉野家で 1 枚だけもらったスピードくじが特賞だったので,「2005 年 吉ブー DIARY BOOK」と引き換え。 表紙の吉ブーデザインさえ許容できれば,使えそうな手帳である。

AV PSX

安売りされてる旧型 PSX がお買い得かどうか調べてたところ,旧型「PSX」はアップグレードできるのか? という記事を発見。

ソニーマーケティングでは、「見た目は従来機種と似ているが、中身は別物。旧機種のアップグレードは予定していない」と話している。

スポーツ延長と「おまかせ・まる録」くらいはソフトウェアだけで対応できそうなのに。

日曜日

曜日感覚がない。 家でまったり。 うだうだ。

「地上波初! 踊る! 映画スペシャル・踊る大捜査線 THE MOVIE 2 レインボーブリッジを封鎖せよ!」は観た。

寝正月最終日

6 連休なんてあっという間。 悔いの残らないように寝る。

Linux corega AP-11

うちで眠ってる無線 LAN アクセスポイントであるところの corega AP-11 が Linux で動いてることを思い出し,Linux 箱として遊べるんじゃないかと気づく。 早速ファームウェアを解析してみると,LILO ごと入っている。 しかもこのマシン語はなんとなく読めるぞ……。 APRS-11 と同じ x86 アーキテクチャか?

ひとまずファームウェア内のディスクイメージと思しき部分を Linux で mount して中を見る。 initrd.img が出てきたので,さらに mount して中を見る。

% cat etc/rc3.d/50release
#!/bin/sh

PATH=/sbin:/usr/sbin:/bin:/usr/bin

if [ -f /etc/ap.conf ]; then
        . /etc/ap.conf
fi

# stop ^S
echo /bin/stty -ixon > /.profile

# Is Release Version?
if [ "$ISRELEASE" ]; then
        echo exec /usr/bin/serconfig >>/.profile
else
        inetd
fi

exit 0

シリアルポートから root でログインすると,シェルのプロンプトは見えず環境設定用のメニューが表示されるのだが,それは ISRELEASE が定義されているためのようだ。

% grep ISRELEASE etc/ap.conf
ISRELEASE='yes'

確かに定義されている。 こいつを無効にすれば,inetd が動くということになる。 ところで inetd が動くと何が出来るのか。

% cat etc/inetd.conf
time    stream  tcp     nowait  root    internal
time    dgram   udp     wait    root    internal
#
login   stream  tcp     nowait  root    /usr/sbin/in.rlogind    in.rlogind
#ftp     stream  tcp     nowait  root    /usr/sbin/tcpd  wu.ftpd -l -i
# End of inetd.conf.

なんとネットワーク経由でリモートログインができるらしい。 シリアルポートからログインしなくても良くなる。

ap.conf は initrd.img の外にあって圧縮されてないので,ファームウェアのイメージファイルを直接いじるだけでハックできる。 そこで,バイナリエディタで ISRELEASE='yes' の行の先頭 1 文字を # に書き換え,ファームウェアを更新してみた。

% rsh -l root ayaya
Password:
#

いとも簡単にログインできてしまった……。

# ls
lost+found  bin         boot        dev         etc         lib
mnt         proc        sbin        tmp         usr         var
# mount
/dev/root on / type ext2 (rw)
proc on /proc type proc (rw)
# df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/ram                  4027      3366       457  88% /
#

普通に Linux である。

# uname -a
Linux ayaya 2.2.17brfw #1 Tue Apr 23 17:19:22 JST 2002 i486 unknown
# cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 4
model           : 10
model name      : 02/0a
stepping        : 4
fdiv_bug        : no
hlt_bug         : no
sep_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : no
fpu_exception   : no
cpuid level     : 1
wp              : yes
flags           :
bogomips        : 33.18

# free
              total         used         free       shared      buffers
  Mem:        14992         9588         5404         3908         4112
 Swap:            0            0            0
Total:        14992         9588         5404

i486 用のカーネルが動いている。

# ps
  PID  Uid      Gid State Command
    1 root     root     S init
    2 root     root     S [kflushd]
    3 root     root     S [kupdate]
    4 root     root     S [kpiod]
    5 root     root     S [kswapd]
  106 root     root     S cron
  111 root     root     S syslogd
  123 root     root     S /sbin/cardmgr
  141 root     root     S cw10d --maf_file /etc/maf.dat -n lo
  167 root     root     S inetd
  182 root     root     S /sbin/mgetty -r -x0 -s 9600 -i /etc/issue ttyS0 -p @
  183 root     root     S /usr/sbin/mathopd
  308 root     root     S in.rlogind
  309 root     root     S -sh
  350 root     root     R ps
# cardctl ident
Socket 0:
  product info: "corega K.K.", "Wireless LAN PCC-11", "Ver. 1.01", ""
  manfid: 0xc00f, 0x0000
  function: 6 (network)
Socket 1:
  no product info available

プロセスも普通に活動しとる。 PCMCIA カードスロット用に cardmgr が律儀に動いてるだけでなく,シリアルポートからのログインも mgetty が律儀に受け付けてくれてるもよう。 あと,ftp コマンドも発見。 どうぞ遊んでくださいと言わんばかり。 おまけに lilo コマンドもある。

# PS1="$(hostname)# "
ayaya# grep '^#' /etc/lilo.conf
#serial=0,9600n8
#delay=2
ayaya# echo "prompt" > /tmp/x
ayaya# echo "timeout=50" >> /tmp/x
ayaya# sed -e 's/^#s/s/' /etc/lilo.conf >> /tmp/x
ayaya# cat /tmp/x > /etc/lilo.conf
ayaya# mount /dev/flash1 /mnt
ayaya# lilo -v
LILO version 21, Copyright 1992-1998 Werner Almesberger

Reading boot sector from /dev/flash
Merging with /mnt/boot/boot.b
Boot image: /mnt/boot/zImage
Mapping RAM disk /mnt/boot/initrd.img
Added Linux *
/dev/null exists - no backup copy made.
Writing boot sector.
ayaya# umount /mnt
ayaya# reboot

これでシリアルポートから LILO を制御することは成功したが,カーネルに console=ttyS0,9600n8 オプションを渡しても,シリアルポートはコンソールとして機能しなかった。 残念。

きょうはまだ「めざましテレビ」は正月休みらしく,6 時台には「SWING GIRLS First & Last Concert」が放送されてた。 軽快なジャズで起床。

仕事始め

年末に電源を落としておいた Solaris サーバが起動しなくて焦るも,数分間放置してたら起動した。 アヤシい。 年末年始に出たらしき十数個のパッチを当てておく。

今週は私のチームのメンバーが流動的とのことで,作業を進めるのが難しい。 と思いきや,きょうは予定通りに進んだ。 ちなみに,きょう来た助っ人は O 型。 どうやら私の周りは 7 割くらいが O 型のようである。

まだ電車が空きまくり。 しかも寒すぎー!!

電車内でマフラーも手袋も装着したまま縮こまってる私の隣に座った人は,マフラーどころかコートすら着てなくて,スーツのジャケットの前ボタン全開だった。 何だろう。 基礎代謝の違いか? orz

職場

自席のあるフロアは寒くて,きょう作業してたフロアは暑くて,ランチ食いに行った店で通された部屋は寒くて,部会で集まった部屋は暑くて。

++age;

ひっそりと。

仕事

客先常駐組 25 人くらいの中に,福岡・大分・熊本・佐賀・鹿児島 (本土・奄美大島) の出身者がいることが判明。 あと宮崎・長崎の出身者がいれば完璧なのに。(←?)

会社のノート PC を客先のネットワークにつなぐ申請を出すも,つなぐ前に Windows Update で最新状態にしなければならないので,家に持ち帰って更新。 Service Pack すら入ってなくて,エラく時間がかかってしまっつ。 待ちきれずにほったらかして就寝。

3 連休

そういえば 1 年後の正月休みも短いらしい。 今年のゴールデンウィークは超大型連休にできそうだが。

“5.1ch 大画面ドライビング”環境のススメ

昨年末の記事。 ITmedia,今年も大人買いシリーズやるの?

phone カシオ,G'zOne ケータイのプロトタイプを参考出品

カシオがストレート型のタフネスケータイ C452CA を最後にカメラ付きケータイに路線変更した頃,タフネスケータイの折り畳み型はきっとハンバーガーみたいな厚さになるからあきらめたんじゃないの,と笑い話にしたものだったが,現実的なサイズで登場するもよう。 やるね。

午後

レンズが予定より 1 日早く届いてメガネが完成したとの連絡を受け,査収に行く。 Straight Line 4.0 (Midnight)。 OAKLEY 独特の耳当て (?) に慣れるまで少し時間がかかりそう。 現状でもちょうどイイのか少しキツいのかよくわからない。

会社の同期の小新年会。 きょうは控え目に,一次会は居酒屋で生ビール + 日本酒 2 合,二次会はバーでベルギービール + バーボンウイスキー。 美味。

成人の日

movie カンフーハッスル

買い物に出たついでに,ありえねー映画を観てきた。 極端に CG っぽくなくて楽しめる。 少林サッカーと同じ人も出てくるけど関連は皆無。

行った映画館は CINECITTA' (LA CITTADELLA 内)。 館内はキレイで設備も良い。 ポイントカードあり。