エントリー

カテゴリー「PC」の検索結果は以下のとおりです。

EPIAのmicroSDにdebianをインストールするが失敗

  • 2012/11/25 23:16
  • カテゴリー:EPIAPC

EPIA-ME6000Gに使用していない新品のmicroSDカード(KINGMAX microSD 4GB Class4)を付けてdebianをインストールしてみる

先に結果となるが残念ながらEPIAではmicroSDカードをUSBで読む際に問題があるようでdebianを起動することができなかった
つまり以下は失敗の記録となる

インストール

まずは通常のHDDと同じ手順でインストール

microSDカードとDVDドライブをUSB接続し、作成したDVDからインストールしていたら途中でDVDの読み込みエラーが発生、ディスクを精査すると問題ありと出たので媒体をCDで作りやり直し(幸先が悪い、出鼻を挫かれた)

これが非常に時間が掛かり4時間で終わらなかったのでそのままにして寝る
翌日起きたらgrubの確認で停止していた
grubを設定して早速再起動すると「out of disk」で起動せず

GRUB loading.
Welcome to GRUB!

error: out of disk.
Entering resuce mode...
grub rescue>

CDからレスキュを起動して、/ を mount するとファイルシステムは正常にみえる
grubの設定ミスなのか再度grubを登録したが結果は同様
エラーの意味がまったく判らないのでググる
同様の例がなく収集できたのはパーティションテーブルの異常

再度CDからのレスキュでfdisk

# fdisk -l /dev/sda
Disk /dev/sda: 3930 MB, 3930062848 bytes
121 heads, 62 sectors/track, 1023 cylinders
Units = cylinders of 7502 * 512 = 3841024 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0004a79a

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1             890        1023      498688   82  Linux swap / Solaris
Partition 1 has different physical/logical beginnings (non-Linux?):
     phys=(827, 119, 56) logical=(889, 116, 11)
Partition 1 has different physical/logical endings:
     phys=(951, 79, 15) logical=(1022, 109, 54)
Partition 1 does not end on cylinder boundary.
/dev/sda2   *           1         890     3337216   83  Linux
Partition 2 has different physical/logical beginnings (non-Linux?):
     phys=(0, 32, 33) logical=(0, 33, 3)
Partition 2 has different physical/logical endings:
     phys=(827, 119, 55) logical=(889, 116, 10)
Partition 2 does not end on cylinder boundary.

Partition table entries are not in disk order

別PCのubuntuで見たfdisk

$ sudo fdisk -l /dev/sdd

ディスク /dev/sdd: 3930 MB, 3930062848 バイト
ヘッド 121, セクタ 62, シリンダ 1023, 合計 7675904 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク識別子: 0x0004a79a

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdd1         6676480     7673855      498688   82  Linux スワップ / Solaris
/dev/sdd2   *        2048     6676479     3337216   83  Linux

パーティションテーブル項目がディスクの順序と一致しません

インストール時に最初にスワップの指定を行い位置を後ろにするとこの様にになる
パーティションテーブルがディスク位置順になっていないから「out of disk」になるのかなと思い修正

$ sudo fdisk /dev/sdd
x ← エキスパートモード
f ← 最適化
p ← 確認(やらなくても良いが書き込む前に確認すべき)
w ← 書き込み&終了する

$ sudo fdisk -l /dev/sdd

ディスク /dev/sdd: 3930 MB, 3930062848 バイト
ヘッド 121, セクタ 62, シリンダ 1023, 合計 7675904 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク識別子: 0x0004a79a

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdd1   *        2048     6676479     3337216   83  Linux
/dev/sdd2         6676480     7673855      498688   82  Linux スワップ / Solaris

始点が2048になっているのはSDカードにext3でフォーマットしたためと思われる(debianで見ると1なのはドライバーが異なる?)

結果は変わらず「out of disk」となる(がっかり)

再インストール

インストール中のどこかでエラーがあったのかも知れないと思い再度インストールを行うが散々な目にあう

2回目:途中でSDカードのエラーとなり中止
3回目:grubの登録ができず中止
CDレスキュでgrubの登録しようとしたが書き込み不可
/ のマウントもできない
4回目:懲りずに・・・今度はCDが読めなくなって中止
DVDドライブが妙な動きしているようだったので壊れたと思ったが別PCでは問題なかった
CDレスキュでSDカードをmountしようとするとエラー発生
syslogを見るとsuper blockが読めないらしい
SDカードが壊れてしまったのか?EPIAが問題なのか?

試しに20GBの2.5インチHDDを接続してインストールすると30分もかからず終了し正常に起動する
SDカードだと4時間はかかるので「嘘だろ!」って思った

ubuntuでSDカードをddで全体をreadしてみたがエラーは発生せず
fdiskでパーティションをクリアしてWindowsXPでSDフォーマッタを使い上書きによる初期化をしてみたが正常に終了した

再々インストール

microSDカードにHDDと同じ手段でインストールすると時間がかかるので20GB HDDにインストールしたdebianからシステムをコピーすることにした

HDDからシステムをコピー

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdd1   *        2048     6836223     3417088   83  Linux
/dev/sdd2         6838270    39069695    16115713    5  拡張領域
/dev/sdd5         6838272     7835647      498688   82  Linux スワップ / Solaris
/dev/sdd6         7837696    39069695    15616000   83  Linux

$ sudo dd if=/dev/sdd1 of=sdd1.dat
6834176+0 レコード入力
6834176+0 レコード出力
3499098112 バイト (3.5 GB) コピーされました、 129.613 秒、 27.0 MB/秒

SDカードに同じようにパーティションを作りHDDからコピーしたシステムを書き込む

$ sudo fdisk -l /dev/sdd

ディスク /dev/sdd: 3930 MB, 3930062848 バイト
ヘッド 121, セクタ 62, シリンダ 1023, 合計 7675904 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク識別子: 0xdda47987

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdd1            2048     6836223     3417088   83  Linux
/dev/sdd2         6836224     7675903      419840    5  拡張領域
/dev/sdd5         6838272     7675903      418816   82  Linux スワップ / Solaris

$ sudo dd if=sdd1.dat of=/dev/sdd1
6834176+0 レコード入力
6834176+0 レコード出力
3499098112 バイト (3.5 GB) コピーされました、 1493.04 秒、 2.3 MB/秒

$ sudo mount /dev/sdd1 /mnt

これで後はgrubをインストールするだけ

$ sudo mount /dev/sdd1 /mnt
$ sudo mount --bind /dev /mnt/dev
$ sudo chroot /mnt

# grub-install /dev/sdd
Installation finished. No error reported.
# update-grub
Found linux image: /boot/vmlinuz-2.6.32-5-486
Found initrd image: /boot/initrd.img-2.6.32-5-486
done
# vi /etc/fstab
(修正)
$ sudo umount /mnt/dev
$ sudo umount /mnt

結果は「out of disk」で起動せず(もう見たくないエラー)

GRUB loading.
Welcome to GRUB!

error: out of disk.
Entering resuce mode...
grub rescue>

ここで(いまさらながら)落ち着いて考える
どこで止まっているのか?grubのstage1かstage2(もしくはstage1.5)で対応を変えないといけない

GRUB - Wikipedia によると、やはりstage1で/boot/grub/がbiosで参照できていないと推測

grub rescue モードで確認

grub rescue> ls
(hd0) (hd0,msdos1) (fd0)
grub rescue> ls (hd0,1)/
./ ../ lost+found/ var/ opt/ etc/ media/ initrd.img sbin/ usr/ lib/ selinux/ bin/ home/ dev/
proc/ boot/ mnt/ root/ tmp/ sys/ srv/ vmlinuz
grub rescue> ls (hd0,1)/boot/

error: out of disk.
grub rescue>

(尚、初期にmkfsで生成されるlost+foundは見えた)

そうか!LBAの問題か、最初に気付いていればよかった
512bytesのプログラムで適切なメッセージを出せるとは思ってなくて「out of disk」というメッセージに惑わされてしまった

再々々インストール

先頭192MBをbootパーティションにしてgrubとカーネルを置く

$ sudo fdisk /dev/sdd

ディスク /dev/sdd: 3930 MB, 3930062848 バイト
ヘッド 121, セクタ 62, シリンダ 1023, 合計 7675904 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク識別子: 0xdda47987

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdd1   *        2048      395263      196608   83  Linux
/dev/sdd2          395264     7675903     3640320    5  拡張領域
/dev/sdd5          397312     7231488     3417088+  83  Linux
/dev/sdd6         7233537     7675903      221183+  82  Linux スワップ / Solaris

コマンド (m でヘルプ): v
パーティション 1: 前のセクタ 395263 は合計 391760 と一致しません
パーティション 5: 前のセクタ 7231488 は合計 7231315 と一致しません
パーティション 6: シリンダ 1024 は最大値 1023 よりも大きいです
パーティション 6: 前のセクタ 7675903 は合計 7681222 と一致しません
6141 未確保 512 バイトセクタが残っています

$ sudo dd if=sys3.5G.dat of=/dev/sdd5 bs=1M ← sys3.5G.datはsdd1.datをmvしたもの
3337+0 レコード入力
3337+0 レコード出力
3499098112 バイト (3.5 GB) コピーされました、 830.274 秒、 4.2 MB/秒
(バッファ指定で少しは早く書き込めた)

$ sudo mkfs -t ext3 /dev/sdd1
$ sudo e2label /dev/sdd1 boot

$ sudo mount /dev/sdd5 /mnt
$ sudo mv /mnt/boot /mnt/boot.bak
$ sudo mkdir /mnt/boot
$ sudo mount /dev/sdd1 /mnt/boot
$ (cd /mnt/boot.bak; sudo tar cf - . | (cd /mnt/boot; sudo tar xf -))
$ sudo rm -rf /mnt/boot.bak

$ sudo mkswap /dev/sdd6
スワップ空間バージョン1を設定します、サイズ = 221176 KiB
ラベルはありません, UUID=dd0784d0-d4fc-4661-8fbc-fab24adce7a9

$ sudo mount --bind /dev /mnt/dev
$ sudo chroot /mnt
# grub-install --root-directory=/ /dev/sdd
Installation finished. No error reported.
# update-grub
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.32-5-486
Found initrd image: /boot/initrd.img-2.6.32-5-486
done
# vi /etc/fstab
(編集)

$ sudo blkid
/dev/sdd1: LABEL="boot" UUID="1575e3a5-ac09-4815-92f6-1a4584dbd7d7" TYPE="ext3"
/dev/sdd5: UUID="99ae2575-7585-45e0-8dfd-732fabdd794e" TYPE="ext3"
/dev/sdd6: UUID="dd0784d0-d4fc-4661-8fbc-fab24adce7a9" TYPE="swap"

$ sudo umount /mnt/dev
$ sudo umount /mnt/boot
$ sudo umount /mnt

結果

GRUB loading.
Welcome to GRUB!

error: no such device: 99ae2575-7585-45e0-8dfd-732fabdd794e.
error: no such disk.
error: no suitable mode found.
error: no such device: 1575e3a5-ac09-4815-92f6-1a4584dbd7d7.

ここまで表示されるのに20分・・・
約30分待ったが変化がないのでリセット(あまりにも遅い)

「out of disk」は回避したが、次は / がないとは・・・
コマンドモードにもならないループ状態なので手が出せない

USBアダプタを換えてみたりEPIA-ME6000GをEPIA-CL10000にしてみたが同様の結果であった
試しにubuntuを使っているPCで同じmicroSDカードとアダプタを付けてみると正常起動した
この古いEPIAではUSB経由のSDカードの読み込みはハード的に問題があるのではないかと思われる

しかしUSB経由でのHDDを含め他の機器は正常動作しているのでSDカードだけ駄目というのは納得できない

他PCで起動した時の画面

001002

EPIAで使うmicroSDカードアダプタ

  • 2012/11/24 22:16
  • カテゴリー:EPIAPC

100エンショップで購入したmicroSDカードアダプタ

101102

サイズは500円玉程でUSBプラグとmicroSDカードスロットの部分が回転して持ち運ぶ時はプラグが出ないようにできる
携帯で利用するmicroSDカードで使用することを想定してかストラップも付いている

microSDカードは8GBまで対応とあるので厳密にはmicroSDHCカード対応ということになる
他のサイトで確認されているが16GBのカードでも動作するようだ(規格上の最大容量である32GBは不明)

103104

これまではこの状態で使用していたがEPIA ME6000Gで使うとなると幅があるため隣のコネクタと干渉してしまい刺さらない
そこでUSBの部分だけ外して使うことにした

回転用のはめ込みポッチは付いているだけなので簡単に外れる
またポッチも邪魔なので削った

106

全体的にも小さくなって隣のコネクタと干渉しない
しかしまだ少しUSBプラグより幅があるので更に分解

107108

横幅はUSBプラグサイズになり隣と干渉することはまったくなくなる(見栄えも悪くない)
これより小さいアダプタもあるが小さすぎると抜くときが大変なのでほぼ限界のサイズではないかと思う

が、まだ分解できるようなのでやってみると4つのパーツになる

109110

112

流石にこの状態ではmicroSDスロットが無くなるので使えない
変換ボードだけ利用する手もあるがmicroSDスロットを別途用意するとなると大きくなってしまいそうなので諦めて元へ戻す

全て接着等されてなくはめ込みで作られていたため分解はいたって簡単で丁寧に扱えば元に戻せる(乱暴にやると筆者のようにはめ込み部分のポッチが取れる・・・)

1つ前の状態に戻した後、どうせ専用に使うのだからとマザーの拡張用USBピンヘッダに付けることにした

113114

ピンソケットとUSBソケットを直接半田付け(基板通した方が楽だったか)

115

バックパネルのUSBを使うことなく拡張用のUSBピンヘッダに接続

EPIA ME6000GとCL10000の性能差

  • 2012/11/20 21:52
  • カテゴリー:EPIAPC

VIA EPIA ME6000GにDDR266 256MBのメモリを付けていたのを、Pentium4(Prescott)で使っていたDDR400 512MBがあったので付け替えた

P4ではディアルチャネルで使用していたので2枚あるのだが1枚は壊れた?のかメモリエラーでBIOSまで起動しない
DDR400でもDDR266で使用する(チップセットがDDR266までしか対応してない)ため不安なのでmemtestを実行することにした

ついでにどちちらをメインで使っていくか迷っていたもう1枚のEPIA CL10000もmemtestして比較した
ME6000とCL10000はチップの構成はほぼ同じ(CL10000はLAN I/Fが2個)でCPUもC3、CPUクロックが600MHzか1GHzの違いである

ME6000GCL10000

(左)ME6000(右)CL10000 で、体感ではCL10000が遥かに早いって直ぐ判った
memtestでの性能差は数値的には2倍以上あるようだ(ちなみにCPUキャッシュの違いがあるのはこのとき気付いた)

ただし消費電力の差が約10Wありちょっと増えすぎだろうって感じもする

CL10000は長い間サーバ運用していていつ壊れるかもしれないからメインはこのままME6000で良いかな

LITEONのDVDドライブ(iHAS324B)あっさり不良に

安価だったので購入した LITEON 内蔵スーパーマルチドライブ iHAS324B(S-ATA接続)が約10ヶ月で不良になった

読み込みは出来るようにみえるが完全に確認したわけではない
書き込みはまったく駄目で、中止・停止コマンドは受け付けずPCリセットでも止まらない
完全にハングアップしていてPCの電源OFFするしか回避できない最悪の状態になる
ファームは最新だったので打つ手もなし

大して使っていないのにやっぱ安物は駄目か

ページ移動

ユーティリティ

検索

エントリー検索フォーム
キーワード

過去ログ

Feed