iOSのバージョンアップ
突然バージョンアップ(6.1)の通知がきて更新
状況は暫く使ってみて判断かな
日々の生活を好き勝手につづったブログ(My blog is written by inoshita.jp)
突然バージョンアップ(6.1)の通知がきて更新
状況は暫く使ってみて判断かな
全PCからバックアップに利用するため使用していたNAS(Link Station LS-H320GL)が起動しなくなった
動作音を聞いてみるとディスクのシークを繰り返しているようなので、起動シーケンスにて読み込みできない部分(全体かもしれない)があるようである
新年早々ディスクが壊れるとは・・・
このNAS(Link Station)は5年程前に購入した物で年数からだと壊れても仕方が無いが、常時稼動にしておらず必要がある場合にのみ起動していたため実質的な使用時間は一ヶ月にも満たないはずである
残念ながらディスク不良になったと考えられるので修復するかどうか考えないといけない
非常に重要なバックアップデータなので2次バックアップもあるが、最新はNAS内なので、まずはディスクを取り出してアクセスしてみることになる
ショックが大きいので対処はゆっくりじっくりと検討することにした
問題になりそうな更新ファイルは無かったのでgrepを実行してみたらgrepのファイルが壊れているらしく動かない
先にHDDでdebianカーネルの再構築をやっていたらファイルシステムの異常があり修正
もしかするとmicroSDカードのファイルシステムが壊れている?
さっそくメンテナンスモードにして強制fsck(メンテナンス起動でも良かったのかな)
# shutdown -F now
Give root password for maintenance
(or type Control-D to continue)
# umount /
# fsck -c /dev/hda2(チェック込みで修復、強制チェックならだけなら -f)
やはり壊れていた、何時壊れたか?
/bin/grepが消えてしまったので旧データからgrepをコピーして再起動
これで正常に起動するようになった、数回起動しても異常にはならない
ようやく起動したので記念にビデオに撮った
grubの途中でメッセージが出ているのでその確認と起動時間の記録を兼ねている(撮影はiPodでx264,aacのmpeg4に変換)
(左)microSDでのboot[4分2秒](右)HDDでのboot[40秒]
ファイルシステムの異常についてはmicroSDへコピーした元が怪しいことになる
複数のコピー先で同じ現象だったのでHDDからコピーしたときに壊れたか(可能性は低い)HDDが異常だったか(可能性が高い)
正常になったファイルシステムをマスターにすれば良いので深く調査はしない
次はカーネルをスリム化して少しでも起動を短縮しよう
BIOSの起動デバイスの選択でUSB-HDの他、USB-FD、USB-ZIPがあるがどれも同じで、USB-CDだけ特別にCDを認識している
IDE HDDは起動で指定しなくても他のbootが不可の場合選択される(外しておかないと起動されるので面倒)
microSDカードで起動すると「DISK BOOT FAILURE, INSERT SYSTEM DISK AND PRESS ENTER」のメッセージで停止する場合がある(USBのHDD、USBメモリでは問題ない)
確実な回避手段はなく以下の方法等で起動するしかない
・ソフトウェアリセットやENTERの繰り返し
・BIOS画面後の起動
・カードの抜き差し後のソフトウェアリセット
・電源OFF/ON
尚、ハードウェアリセットは確認していない
BIOSのINT13ではUSBデバイスに対していわゆるHDDの壁とは別にアクセス可能な範囲がある
BIOSからはUSB1.1接続で読み込みしているようだ
1度しか正常起動しない問題がまだ残っているがコンパクト化のため専用カーネルも構築したいので先に一度作成してみる
# aptitude install kernel-package
# aptitude install make gcc
# aptitude install fakeroot
# aptitude install libncurses-dev
# aptitude install zlib1g-dev
# aptitude search linux-source
linux-patch-debian-2.6.32 - Debian patches to version 2.6.32 of the Linux kernel
linux-source-2.6.32 - Linux kernel source for version 2.6.32 with Debian patches
linux-source-2.6 - Linux kernel source for Linux 2.6 (meta-package)
# cd /usr/src
# aptitude install linux-source-2.6.32
# tar xjf linux-source-2.6.32.tar.bz2
# cd linux-source-2.6.32
# make-kpkg clean
# cp /boot/config-2.6.32-5-486 .config
# make menuconfig
(試しに変えてみた)
x x --- MMC/SD/SDIO card support x x
x x [ ] MMC debugging x x
x x [ ] Assume MMC/SD cards are non-removable (DANGEROUS) x x
x x --- MMC/SD/SDIO card support x x
x x [ ] MMC debugging x x
x x [*] Assume MMC/SD cards are non-removable (DANGEROUS) x x
# fakeroot make-kpkg --initrd --revision=epia.1.0 kernel_image
#
C3はこちらのとおりi686では作れない(i586の切り分けがないのでi486で作成)
12/8 16:00頃開始して2:00でも終わらず、本日再開して4時間位で終了する
EPIAで実行すると大雑把だが12時間程かかる(別のPCで作成したほうが良さそうだ)
(追加)12/11 Athlon64 2.4GHzでやってみると約1時間で終わった
# cd ..
# dpkg -i linux-image-2.6.32_epia.1.0_i386.deb
未選択パッケージ linux-image-2.6.32 を選択しています。
(データベースを読み込んでいます ... 現在 33569 個のファイルとディレクトリがイン ストールされています。)
(linux-image-2.6.32_epia.1.0_i386.deb から) linux-image-2.6.32 を展開しています...
Done.
linux-image-2.6.32 (epia.1.0) を設定しています ...
Running depmod.
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 2.6.32 /boot/vmlinuz-2.6.32
update-initramfs: Generating /boot/initrd.img-2.6.32
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 2.6.32 /boot/vmlinuz-2.6.32
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.32-5-486
Found initrd image: /boot/initrd.img-2.6.32-5-486
Found linux image: /boot/vmlinuz-2.6.32
Found initrd image: /boot/initrd.img-2.6.32
done
#
# cat /etc/modules
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
# Parameters can be specified after the module name.
firewire-sbp2
loop
#
# aptitude install libsensors3 lm-sensors
# sensors-detect
(全部YES)
# cat /etc/modules
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.
# Parameters can be specified after the module name.
firewire-sbp2
loop
# Generated by sensors-detect on Sun Dec 9 17:59:25 2012
# Chip drivers
vt1211
#
(再起動)
$ sensors
vt1211-isa-6000
Adapter: ISA adapter
in0: +1.96 V (min = +0.00 V, max = +2.63 V)
in1: +2.02 V (min = +0.00 V, max = +2.63 V)
in2: +1.18 V (min = +0.00 V, max = +2.63 V)
in3: +1.95 V (min = +0.00 V, max = +2.63 V)
in4: +2.17 V (min = +0.00 V, max = +2.63 V)
+3.3V: +3.28 V (min = +0.00 V, max = +4.18 V)
fan1: 0 RPM (min = 0 RPM, div = 2)
fan2: 4818 RPM (min = 0 RPM, div = 2)
temp1: +102.0°C (high = +255.0°C, hyst = +0.0°C)
SIO Temp: +43.0°C (high = +204.0°C, hyst = +0.0°C)
cpu0_vid: +1.250 V