Cubieboard2のOSをセットアップする
参考にしたのはCubieboardコミュニティのCubieboardをはじめよう!などで、推奨されているカスタマイズされたOSがCubain(Cuebieboard+Debian)のためDebian派の管理人にはありがたい
先ずはHDD化するための情報を得ると直接HDDから起動することはできないようで、IPLシーケンスとしては内蔵フラッシュ→SDカードらしい
SDカードの次はHDDになっていれば良いのにと思うがしかたないので、
- 内蔵フラッシュ経由でHDD起動
- SDカード経由でHDD起動
の選択肢で、2を選ぶことにした
尚、HDDはWD Red 1TB 2.5インチ(WD10JFCX)をチョイスしている(SATA6Gb Intellipower)→ 型番違いで回転数仕様(新旧版?)が異なる
SDカード経由でHDD起動するようにCubianをセットアップ
①SDカードにOSセットアップ(SDカードで利用する場合の通り)
「Cubieboardをはじめよう!」のとおりSDカードにダウンロードしたCubianイメージを書き込む
※)使用したSDカードは4GBのmicroSDHCカードである(ここでは単にSDカードと記述する)
②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)を展開
# 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変換で接続する
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
すんなりコンソールにloginが表示された
ここでログインできないトラブルに・・・
どうやら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から起動できたのでスピンアップ時の電力も問題なし