私は、TS-WX1.0TL/R1 を2台所有しております。
以前から、変だなと思っていた事に Debian squeeze が動作しているTS-WX1.0TL/R1 のHDDを、もう1台のTS-WX1.0TL/R1で起動すると動作しないのです。
それも、全く動作しないのではなくて、Linux は動作しているようなのですが、WEB 設定などが反映されないらしくサーバーにアクセスしてもサイトが表示されません。
どうやら、Debian squeeze はネットワーク関係を何かが制御しているとは感じていたのですが、それが何なのかが長い間分かりませんでした。
あるサイトを見た時ににこんな事が書いてありました。

この Debian は udev とかいう技術を使われている. そのためネットワーク eth 番号と mac アドレスの対応が /etc/udev/rules.d/z25_persistent-net.rules に勝手にできる.
システムを一台で構築して, できた環境を他の HDD にダビングして大量生産する際はこのファイルをいじらないと, ボード付属のネットワークが eth0 でなく eth1 に割り振られて動かなくなる.


まさにこの通りの現象が起きている訳です。
これが原因で動かないのではないかと思いました。
私の構築したサーバーのその場所には、70-persistent-net.rules と言う名前のファイルがありました。そして中身は以下のようになっておりました。
(TS-WX1.0TL/R1 はネットワークインターフェイスを2個持っておりますので、2つ記載される場合もあります)

# This file was automatically generated by the /lib/udev/write_net_rules # program, run by the persistent-net-generator.rules rules file. # # You can modify it, as long as you keep each rule on a single # line, and change only the value of the NAME= key. # Unknown net device (/devices/platform/mv88fx_eth.0/net/eth0) (mv88fx_eth) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="7b:e6:76:7b:27:57", ATTR{d ev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

ここに書いてある mac アドレス を移行したもう1台のTS-WX1.0TL/R1 のアドレスに変更すれば動くのではないかと、誰でも考えます。
早速やってみました。
変更して、再起動は /etc/init.d/udev restart になります。
結果は動きませんでした。
コンソールの出力を見ると、それ以前で止まってしまうようです。

途中省略 Synthesizing the initial hotplug events...done. Waiting for /dev to be fully populated...SAL (ERROR) 0 0 0 :Scsi command completed. pScb 8115a640, ScsiStatus 2 completionStatus MV_SCSI_COMPLETION_BAD_SCSI_COMMAND SAL (ERROR) CDB:12 1 0 0 fe 0 SAL (ERROR) Sense Data:72 5 24 0 0 0 0 c 0 0 0 0 0 0 0 0 0 0 0 0 md0: md10: unknown partition table unknown partition table ここで停止して進まない

1台の HDD だけ用意して、どのTS-WX1.0TL/R1 に挿入しても動作するのが保守的には楽になるのですが、簡単にはいかないようです。
Linux の詳しい方には、単純に解決できる事のような気はします。
私の知識では、スーパーブロックが影響しているのではないかぐらいしか推察できませんでした。
もう少し勉強しなくてはいけないようです。
以下に参考資料として、udev の設定に関する記述をピックアップしておきました。

参考資料1
LinuxではNICの認識順にeth0、eth1・・・と認識していきますがこれが意図した順番で認識しない場合があります。
これを入れ替える方法です。

最近のDebianやUbuntuはudevを利用しているのでudevを使って解決します。
udevの設定は『/etc/udev/rules.d』にあります。

# vi /etc/udev/rules.d/xx-persistent-net.rules

xxの部分はシステムによって変わります。

# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.
# PCI device 0x10ec:0x8168 (r8169)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR=="00:00:00:00:00:0a", ATTR=="1", KERNEL=="eth*", NAME="eth1"
# PCI device 0x10ec:0x8136 (r8169)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR=="00:00:00:00:00:0b", ATTR=="1", KERNEL=="eth*", NAME="eth0"

NAMEの部分を書き換えればOKです。
またATTRはMACアドレスなのでここを書き換えることによってMACアドレスを変更することが出来ます。

又、udev の機能を削除する方法として、以下の操作を行えば良いとの解説もありました。(私は試しておりません)
rm -f /etc/udev/rules.d/z25_persistent-net.rules rm -f /etc/udev/rules.d/z45_persistent-net-generator.rules (z45_persistent-net-generator.rules の部分は、現在の名前に変更します。)

参考資料2
自宅のLinuxサーバのNICを入れ替えたら、NICが有効にならなかった。
モジュールはロードされているのに、
# ifconfig eth0 up
としても、デバイスがないと言われてしまう。

# dmesg | grep eth
で調べたら、以下のような行が表示された。

udev: renamed network interface eth0 to eth1

つまり、NICは一つしかないのにeth1に割り付けられていたのだった。

これは、udevはNICのMACアドレスとeth*を紐付けているため、以前に使っていたNICが eth0として記録され、新しいNICがeth1とされてしまうためである。

その記録は、
/etc/udev/rules.d/70-persistent-net.rules
に保存されているので、eth0を指定している以前のNICの情報を削除し、新しいNICをeth0となるように書き換えて、解決した。

参考資料3
久々にupgradeかけたらなんかudevでエラー。

Since release 150, udev requires that support for the CONFIG_SYSFS_DEPRECATED
feature is disabled in the running kernel.

Please upgrade your kernel before or while upgrading udev.

AT YOUR OWN RISK, you can force the installation of this version of udev
WHICH DOES NOT WORK WITH YOUR RUNNING KERNEL AND WILL BREAK YOUR SYSTEM
AT THE NEXT REBOOT by creating the /etc/udev/kernel-upgrade file.
There is always a safer way to upgrade, do not try this unless you
understand what you are doing!

dpkg: /var/cache/apt/archives/udev_150-2_i386.deb の処理中にエラーが発生しました (--unpack):

しょうがないんで

# touch /etc/udev/kernel-upgrade

してみるととりあえずupgradeはできた。

24時間稼動マシンだから次の再起動時が怖いが、まぁ大丈夫だろ。