エントリー

2015年04月の記事は以下のとおりです。

ケースに組み込む

今回は100均で見つけた小物入れをケースにした

物がコンパクトなためケースに困ることはなく逆にどれにしようかと迷う程であったが最終的に選択したのが以下の小物入れである

1

裏面に記載されてる品質表示によると耐熱が70℃なので少し注意が必要(原料はスチロール樹脂)

UPSに1個、CPUボードとHDDで1個使用して2段に積んで使う

UPSを組み込んだケース画像

2

CPUボードとHDDを組み込んだケース画像

3

一番上に蓋が必要で当初はアクリル版を加工しようかと考えていたがもう1個使えば安上がりということで以下のように底だけを切り出した

5

重ねると以下のようになる

6

以下の追加対応でケースを加工することになるが、現状はしばらくこのままで運用する

  • 冷却ファンの組み込み
  • USPのバッテリー稼動時のシャットダウン対応
  • 外部温度の計測

Cubian(OS)のインストール

Cubieboard2のOSをセットアップする

参考にしたのはCubieboardコミュニティのCubieboardをはじめよう!などで、推奨されているカスタマイズされたOSがCubain(Cuebieboard+Debian)のためDebian派の管理人にはありがたい

先ずはHDD化するための情報を得ると直接HDDから起動することはできないようで、IPLシーケンスとしては内蔵フラッシュ→SDカードらしい

SDカードの次はHDDになっていれば良いのにと思うがしかたないので、

  1. 内蔵フラッシュ経由でHDD起動
  2. SDカード経由でHDD起動

の選択肢で、2を選ぶことにした

尚、HDDはWD Red 1TB 2.5インチ(WD10JFCX)をチョイスしている(SATA6Gb Intellipower)→ 型番違いで回転数仕様(新旧版?)が異なる

201

SDカード経由でHDD起動するようにCubianをセットアップ

①SDカードにOSセットアップ(SDカードで利用する場合の通り)

「Cubieboardをはじめよう!」のとおりSDカードにダウンロードしたCubianイメージを書き込む

※)使用したSDカードは4GBのmicroSDHCカードである(ここでは単にSDカードと記述する)

202

②SDカードからCubianを起動しないでUbuntuから操作

# fdisk -l /dev/sdb

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

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdb1            2048     1804287      901120   83  Linux

③SDカードをmountしてbootファイルを編集

# mount /dev/sdb1
# cd /mnt/boot
# ls -l
合計 5860
-rw-r--r-- 1 root root   50512  2月  8  2014 script.bin
-rw-r--r-- 1 root root   27737  2月  8  2014 script.fex
-rw-r--r-- 1 root root     158  2月  8  2014 uEnv.txt
-rw-r--r-- 1 root root 5912040  2月  8  2014 uImage
# cat uEnv.txt
console=tty0
root=/dev/mmcblk0p1 rootwait
extraargs=console=ttyS0,115200 hdmi.audio=EDID:0 disp.screen0_output_mode=EDID:
1280x800p60 panic=10 consoleblank=0
# vi uEnv.txt
(編集)
root=/dev/mmcblk0p1 rootwait → root=/dev/sda1 rw rootfstype=ext4 rootwait

# cat uEnv.txt
console=tty0
root=/dev/sda1 rw rootfstype=ext4 rootwait
extraargs=console=ttyS0,115200 hdmi.audio=EDID:0 disp.screen0_output_mode=EDID:
1280x800p60 panic=10 consoleblank=0

④CubianのrootファイルシステムをHDDへコピーするためSDカードのファイルをtar化しておく

注意)以下の操作はSDカードにスペシャルファイル(/dev/*など)が存在しないから可能

# cd /mnt
# ls -l
合計 92
drwxr-xr-x 2 root root 4096 10月 8 2013 bin
drwxr-xr-x 2 root root 4096 2月 8 2014 boot
drwxr-xr-x 2 root root 4096 6月 4 2013 dev
drwxr-xr-x 78 root root 4096 2月 8 2014 etc
drwxr-xr-x 3 root root 4096 2月 8 2014 home
drwxr-xr-x 12 root root 4096 2月 8 2014 lib
drwx------ 2 root root 16384 2月 8 2014 lost+found
drwxr-xr-x 2 root root 4096 10月 8 2013 media
drwxr-xr-x 2 root root 4096 6月 4 2013 mnt
drwxr-xr-x 2 root root 4096 10月 8 2013 opt
drwxr-xr-x 2 root root 4096 6月 4 2013 proc
drwx------ 2 root root 4096 10月 8 2013 root
drwxr-xr-x 11 root root 4096 2月 8 2014 run
drwxr-xr-x 2 root root 4096 10月 8 2013 sbin
drwxr-xr-x 2 root root 4096 6月 10 2012 selinux
drwxr-xr-x 2 root root 4096 10月 8 2013 srv
drwxr-xr-x 2 root root 4096 2月 8 2013 sys
drwxrwxrwt 5 root root 4096 2月 8 2014 tmp
drwxr-xr-x 10 root root 4096 2月 8 2014 usr
drwxr-xr-x 11 root root 4096 10月 8 2013 var

# tar cf /share/Cubain.tar .

⑤HDDに繋ぎ変えてパーティション作成、ファイルシステムを構築してSDカードから取り出したrootファイルシステム(tar)を展開

203

# fdisk -l /dev/sdb

Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
ヘッド 255, セクタ 63, シリンダ 121601, 合計 1953525168 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク識別子: 0xe0a1befc

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdb1            2048    33556479    16777216   83  Linux
/dev/sdb2        33556480    37750783     2097152   82  Linux スワップ / Solaris
/dev/sdb3        37750784  1953525167   957887192   83  Linux

# mkfs -t ext4 /dev/sdb1
mke2fs 1.42.9 (4-Feb-2014)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1048576 inodes, 4194304 blocks
209715 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
128 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000

Allocating group tables: 0/128 done
Writing inode tables: 0/128 done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: 0/128126/128 done

# mkfs -t ext4 /dev/sdb3
mke2fs 1.42.9 (4-Feb-2014)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
59875328 inodes, 239471798 blocks
11973589 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
7309 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848

Allocating group tables: 0/7309 done
Writing inode tables: 0/7309 done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: 0/7309 50/7309 done

# mount /dev/sdb1 /mnt
# cd /mnt
# tar xf /share/Cubain.tar
# ls -l
合計 92
drwxr-xr-x 2 root root 4096 10月 8 2013 bin
drwxr-xr-x 2 root root 4096 2月 8 2014 boot
drwxr-xr-x 2 root root 4096 6月 4 2013 dev
drwxr-xr-x 78 root root 4096 2月 8 2014 etc
drwxr-xr-x 3 root root 4096 2月 8 2014 home
drwxr-xr-x 12 root root 4096 2月 8 2014 lib
drwx------ 2 root root 16384 2月 8 2014 lost+found
drwxr-xr-x 2 root root 4096 10月 8 2013 media
drwxr-xr-x 2 root root 4096 6月 4 2013 mnt
drwxr-xr-x 2 root root 4096 10月 8 2013 opt
drwxr-xr-x 2 root root 4096 6月 4 2013 proc
drwx------ 2 root root 4096 10月 8 2013 root
drwxr-xr-x 11 root root 4096 2月 8 2014 run
drwxr-xr-x 2 root root 4096 10月 8 2013 sbin
drwxr-xr-x 2 root root 4096 6月 10 2012 selinux
drwxr-xr-x 2 root root 4096 10月 8 2013 srv
drwxr-xr-x 2 root root 4096 2月 8 2013 sys
drwxrwxrwt 5 root root 4096 2月 8 2014 tmp
drwxr-xr-x 10 root root 4096 2月 8 2014 usr
drwxr-xr-x 11 root root 4096 10月 8 2013 var
# cd /
# umount /mnt

これで準備完了

HDDを接続しないで起動

ボード上にシリアルのコンソール出力(TTLレベル)があるのでUSB変換で接続する

204

HDDを接続しないで電源ON

U-Boot SPL 2014.01-rc1-09161-g108ec3f (Jan 20 2014 - 05:48:16)
Board: Cubieboard2
DRAM: 1024 MiB
CPU: 960000000Hz, AXI/AHB/APB: 3/2/2
spl: not an uImage at 1600


U-Boot 2014.01-rc1-09161-g108ec3f (Jan 20 2014 - 05:48:16) Allwinner Technology

CPU:   Allwinner A20 (SUN7I)
Board: Cubieboard2
I2C:   ready
DRAM:  1 GiB
WARNING: Caches not enabled
MMC:   SUNXI SD/MMC: 0
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   mii0
Warning: failed to set MAC address

(略)

<6>md: ... autorun DONE.
[ 15.593516] md: ... autorun DONE.
<6>Waiting for root device /dev/sda1...
[ 15.610115] Waiting for root device /dev/sda1...

HDDは未接続なので最後は待ち状態で停止(全ログ

HDDを接続して起動

SDカード経由でHDD起動できそうなのでHDDを接続して電源ON

205

すんなりコンソールにloginが表示された

206

ここでログインできないトラブルに・・・

どうやらrootはパスワードロック状態となっていて使えない

調べてみると登録されているユーザ名とパスワードはcubieで、最初にcubieでログインしてrootのパスワードを設定することになる

Debian GNU/Linux 7 Cubian ttyS0

Cubian login: cubie
Password:
Linux Cubian 3.4.75-sun7i #35 SMP PREEMPT Sat Feb 8 02:10:31 CST 2014 armv7l

      ______  __    __  .______    __       ___      .__   __.
     /      ||  |  |  | |   _  \  |  |     /   \     |  \ |  |
    |  ,----'|  |  |  | |  |_)  | |  |    /  ^  \    |   \|  |
    |  |     |  |  |  | |   _  <  |  |   /  /_\  \   |  . `  |
    |  `----.|  `--'  | |  |_)  | |  |  /  _____  \  |  |\   |
     \______| \______/  |______/  |__| /__/     \__\ |__| \__|
                                                             
                        http://cubian.org

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
cubie@Cubian:~$ sudo passwd root

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for cubie:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
cubie@Cubian:~$ sudo shutdown -h now

(略)

<6>[hotplug]: cpu(0) try to kill cpu(1)
<3>[hotplug]: try to kill cpu:1 failed!
[axp] send power-off command!

shutdownで電源が自動的にOFFになることを確認(全ログ

再度起動してrootでログイン後、dfの表示

root@Cubian:~# df
Filesystem     1K-blocks   Used Available Use% Mounted on
rootfs          16513960 824884  14850216   6% /
/dev/root       16513960 824884  14850216   6% /
devtmpfs          413924      0    413924   0% /dev
tmpfs              82812    164     82648   1% /run
tmpfs               5120      0      5120   0% /run/lock
tmpfs             165600      0    165600   0% /run/shm
tmpfs             414048      4    414044   1% /tmp
tmpfs             414048      0    414048   0% /var/tmp
UPSのテスト

UPSの切り替え試験を実施するにあたって適当な負荷が無かったのでCubianが起動した状態の実機で確認した

商用からバッテリー、バッテリーから商用ともに問題なし

また、バッテリー駆動でHDDから起動できたのでスピンアップ時の電力も問題なし

UPS製作

Cubieboard2をサーバ化(玄箱から移行)するにあたって電源をどうするか

そもそも前回ATOM D2700DCを使用して次期サーバを構築したのだが最終的に電源部の信頼性と電源異常に伴う復旧が困難であったため正式運用できなかった

今回はワンボードマイコンでACアダプターでの供給で済み、もし電源が異常となっても5V供給だけならなんとでもなるのでUPSを製作してみることにした(案外と停電が発生するのでHDDの安全対策もある)

そこで参考のためネットを検索していると「5V な小型パソコン向け高効率 UPS の製作」という素晴らしい記事を発見し使わせてもらうことに・・・ただし降圧DCDC回路は別でバッテリーの深放電対策は別途考える

回路図(コピーさせてもらった)

降圧DCDC部

SI-8050Sは5V固定なのでVos(4pin)に500Ωの半固定抵抗(100Ωあたり約0.1Vプラス可能)を取り付け出力を可変化する

 

バッテリー充電部を載せ確認

11

Cタイプのユニバーサル基板にバッテリー充電部が半分で載ったので残り半分に降圧DCDC部を載せた

22

SI-8050Sにどこからか取っておいた放熱板を適当に付けてみた(こんなに大きいのはいらないかもしれない)

最後にUPSのメインである切り替え部を適当なサイズのユニバーサル基板に載せて基板は完成

33

CPUボードの電源ケーブルの供給側のコネクタがUSBだったのでUSBでの出力にしたのだけど専用USBになるのでコネクタにする必要はなかったと後から気が付いた(ケース等に組み込む際に考えないといけなくなる)

006P(8.4V 7セル)用充電器の製作

秋月オシロキット用の電源として8.4Vの006Pの充電池を使うことにしたのだが、丁度良い充電器が無いことに気付き手持ちのLM317を使って簡易充電器を製作することにした

充電器といっても10Vの定電圧回路で電流制限を付ける程度の電源である

  • 1セル満充電1.44V位なので7セルで約10V
  • 電流は0.1C~0.2Cなら問題ないので25mA~50mA

負荷無しで電流測定し最大62mAになっていることを確認

充電は自動停止しないので電圧計を付けて判断するようにしてある

満充電になったら電流が下がるのでバッテリーが不良になるようなことは無い

ダイソーの100均ケースに入れてみた

秋月オシロキットの方は元々ケースに付いていた仕切り板を加工し電池ボックスにして固定

バッテリーは外部電源と並列に接続して取り外ししなくても充電できるようにした

ページ移動

  • ページ
  • 1
  • 2

ユーティリティ

タグクラウド

検索

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

Feed