エントリー

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

MySQLを少しだけチューニング(その2)

以下のパラメータを追加

skip-innodb
wait_timeout = 60

InnoDBのOFFとConnection Timeoutの設定

EPIAのmicroSDにWindOSをインストールする

  • 2012/11/26 22:41
  • カテゴリー:EPIAPC

debianのインストールではSDカードをext3で扱ったが、標準であるFAT形式だとどうか確認したくなった

FAT形式が標準ということはメディアに対するR/Wも最適であろうと考えられる
また使用しているmicroSDでは処理しているかどうか判らないがウェアレベリングするならFAT形式でないと無理である

準備

再度debianを使うとインストールの手間がかかりそうなので、WindOS(Debian6.0"Squeeze"ベースで作られたLinuxディストリビューション)を利用することにした

WindOS 公式ホームページ
http://www44.atwiki.jp/windos/

debianで使用した4GBのmicroSDカードはSDformatterで初期化し直したが何度も書き換えしたため不安なので、今回は KINGMAX microSD 2GB(新品)を使用

インストール

インストールは公式ホームページの「使用方法」のとおりに行う
パーティションの構成は以下の様になった

$ sudo fdisk -l /dev/sdd

ディスク /dev/sdd: 1917 MB, 1917845504 バイト
ヘッド 4, セクタ 32, シリンダ 29264, 合計 3745792 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク識別子: 0x000f3bea

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdd1   *           1      903167      451583+  83  Linux

WindOSの起動

USBから起動しブートCDは利用しない
電源投入でsyslinuxのメニュが表示され数分のちにWindOSも問題なく起動することができた

001003

003004

microSDの未使用領域を使う

WindOSを起動できたがこの状態ではデータが保存できないのでmicroSDの未使用領域を使えるようにした(persistent機能)
WindOS公式ホームページの「TIPS」に説明があるのでそのとおりに行っただけ
ファイルシステムはext2にして、そこに以下の画面スナップショットを退避させた

 ss

microSDカードへのR/Wはそこそこ使えるという性能で使い物にならないという感じではない
FAT形式ならば使えるのか?いやFAT形式でないと使えないのかもしれない

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ピンヘッダに接続

ページ移動

ユーティリティ

検索

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

新着エントリ

Windows10の不具合
2020/09/08 19:15
な!百葉箱がコケる
2020/09/07 19:31
WBGT表示装置の作製
2020/08/23 20:00
VANTOPの新ドラレコに更新
2020/08/22 10:24
WBGT表示装置の作製
2020/07/26 19:54
栗の実,成長中
2020/07/21 17:02
DVDドライブを新調
2020/07/12 20:21
レンタルビデオで映画鑑賞
2020/07/11 15:30
栗の実
2020/06/20 17:34
新スマホ用の補助パーツ
2020/06/15 19:16

新着コメント

Re:寒川シーバスポイント
2020/09/17 from 承認待ち
Re:インタネット接続障害(記録)
2020/04/05 from admin
Re:インタネット接続障害(記録)
2020/04/04 from 高田
Re:デサルフェーターを製作
2020/03/04 from クラブマン
Re:デサルフェーターを製作
2020/03/01 from admin

過去ログ

Feed