Pogoplug MobileをOpenPogo化してSambaをインストールしてみた! その2

昨日は調べるだけ調べて終わった!
今日は作業を。。。



作業の流れは

0. 前もって準備「高速USBメモリ、opt.tar.gz」
1. PogoPlugへのSSH接続の許可
2. PogoPlugのIPアドレスの確認
3. USBメモリのフォーマット
4. OpenPogoのインストール
5. ipkg update
6. Sambaのインストール
7. 自動起動の設定

高速USBメモリは2GBのUSBメモリを準備しました。
あと、
Dream Seedさんのここから事前にopt.tar.gzをダウンロード。



続いて「PogoPlugへのSSH接続の許可」
my.pogoplug.comにアクセスする。
ログインして設定 > セキュリティで「このPogoplug機器へのSSHアクセスを有効にする」にチェックを入れる。
このときに「パスワードを変更する」でパスワードも設定しておく。


次に、OpenPogoを入れるUSBメモリを準備。


PogoPlugIPアドレスの確認は、ルータのDHCPでどのIPアドレスかを調べてみた。macアドレスPogoplug Mobileの裏のシールに書かれているのでどのIPアドレスがリリースされているか確認。

他にも方法は

「https://service.pogoplug.com/svc/api/loginUser?email=pogoplugアカウントのメールアドレス&password=パスワード」

に接続すると、

{“valtoken”:”文字列”,”user”:
{“userid”:”~”,”screenname”:

というような文字だけの表示になるので、
最初のvaltoknの文字列をコピーする。
さらに、

http://service.pogoplug.com/svc/api/listDevices?valtoken=コピーした文字列

にアクセスすると、表示される文字列の中に「”apiurl”:”http://IPアドレス/~」という部分があるので、そこでIPアドレスを確認する。
ただ、複数台、Pogoplugを持っているとすべて出てくるので、確認しないといけませんが・・・


IPアドレスがわかったら次はUSBメモリのフォーマット。

    • すでにUSB接続しているHDDがあれば、my.pogoplug.com画面で「取り外す」をクリック。
    • USB接続しているHDDがあれば、Pogoplug本体から物理的に取り外す(ひっこぬく)。
    • Pogoplug本体にUSBメモリを接続する(ブッ挿す)。
    • USBメモリをmy.pogoplug.com画面で「取り外す」をクリック。

PogoPlugSSHで接続。
MACなら標準でターミナルから行けますがWindowsはソフトが必要。
PoderosaなどいろいろありますがPuTTYPuTTY ごった煮版)を使用しました。



ユーザ名:root
パスフレーズ:「SSH接続の許可」で設定したパスワード


USBメモリをフォーマットするためのツールをダウンロード

# cd /tmp
# wget http://plugapps.com/os/pogoplug/mke2fs
# chmod 755 mke2fs
# killall hbwd


USBメモリパーティションを作成

# /sbin/fdisk /dev/sda

Command (m for help): d
Selected partition 1 ←複数ある場合は全てを順に選択してパーティションを全て削除する

Command (m for help): n
Command action
e extended
p primary partition (1-4)
p

Partition number (1-4): 1
First cylinder (1-5574, default 1): Using default value 1 Enter
Last cylinder or +size or +sizeM or +sizeK (1-5574, default 5574): Using default value 5574 Enter

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table

USBメモリをフォーマット。

# ./mke2fs /dev/sda


USBメモリPogoplug本体から取り外す(引っこ抜く)。
本体を再起動。

# /sbin/reboot

本体の緑の点滅が終わった頃合いを見てPogoplug本体にUSBメモリを接続する(ブッ挿す)。
dfコマンドでUSBメモリのマウント先ディレクトリを確認

# df
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/mtdblock2 32768 14832 17936 45% /
none 128004 128004 0 100% /tmp
/dev/sdb 1896880 180996 1619528 10% /tmp/mnt_opt
/tmp/.cemnt/sda1 1896880 180996 1619528 10% /tmp/.cemnt/mnt_sda1

こんな感じでした。


OpenPogoのインストールですが、事前にダウンロードしたopt.tar.gzをmy.pogoplug.comのライブラリからアップロード。

このほかにも
wgetでダウンロードする。
方法としてUSBメモリマウント先ディレクトリに移動する。

# cd /tmp/.cemnt/mnt_sda1
# wget https://www.dropbox.com/s/qfuaeww1u880u77/opt.tar.gz

でいけるとおもう。
実際やったら、opt.tar.gzのファイル名がおかしくなっていたので、
mvコマンドでリネイムした。





ダウンロードorUSBメモリにファイルを転送できたら「opt.tar.gz」を解凍。

# tar xvzf opt.tar.gz 

Pogoplugファイルシステムをリマウントし書き込み可能にする。
おまじないみたいなモノ。

# mount -o rw,remount /

optディレクトリのリボリックリンクを設定。

# ln -s /tmp/mnt_opt/.opt /opt

システム起動スクリプトを作成。

# cp /etc/init.d/rcS /etc/init.d/rcS.original
# vi /etc/init.d/rcS

viで編集できるようにしたら下の2行を最後尾に追記。

/etc/init.d/mount_opt
/opt/etc/init

続いてプロファイルも作成。

# vi /etc/profile

viで編集できるようにしたら下の2行を最後尾に追記。

#!/bin/bash
export PATH=/opt/bin:/opt/sbin:/usr/bin:/usr/sbin:/bin:/sbin

さらにコピーとアクセス権の変更をする。

# cp /tmp/.cemnt/mnt_sda/.opt/mount_opt /etc/init.d/
# chmod 755 /etc/init.d/mount_opt

mount_optの編集。

# vi /etc/init.d/mount_opt

[ ! -d /tmp/mnt_opt ] && `mkdir /tmp/mnt_opt` || `umount /tmp/mnt_opt`
mount -t ext2 -o rw,nosuid,nodev,exec,noatime,sync /dev/sda※ /tmp/mnt_opt
if [ ! -d /tmp/mnt_opt/.opt ]
then
{
umount /tmp/mnt_opt
mount -t ext2 -o rw,nosuid,nodev,exec,noatime,sync /dev/sdb※ /tmp/mnt_opt
if [ ! -d /tmp/mnt_opt/.opt ]
then
{
umount /tmp/mnt_opt
...

※の部分はdfで調べて変更する。

本体を再起動。

# /sbin/reboot

だいたいココまででOpenPogoのインストール完了!!
使用しても何も変わっていませんが・・・

ここからはLinuxのようにいろいろインストールするための作業。


ipkg updateの準備。
Pogoplugファイルシステムをリマウントし書き込み可能にする。

# mount -o rw,remount /

ipkgのリポジトリを修正する。

# vi /opt/etc/ipkg/armel-feed.conf

src cross http://openpogo.com/repo


↓上記をコメントアウトし、http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/stableを追記。

#src cross http://openpogo.com/repo
src cross http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/stable


ipkgを最新に更新する。

# ipkg update

# ipkg list

で、インストール可能ソフトを表示する。
sambaはスクロールアウトしたので、

# ipkg list samba

でsamba関連のソフトを確認。



sambaをインストールする。

# ipkg install samba35 samba35-swat

これで待つこと30分弱待ちました。

終われば、

#

コマンド待ち受けになります。


sambaを設定ファイルを編集する。

# /opt/etc/samba/smb.conf

/opt/etc/samba/空でファイルも無かったので新規に作成。
以下が内容

[global]
workgroup = WORKGROUP
server string = POGOPLUG
netbios name = POGOPLUG
security = share
load printers = no
guest account = root
null passwords = Yes
dns proxy = no
dos charset = CP932
unix charset = UTF8
display charset = UTF8
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=131072 SO_SNDBUF=131072
SO_KEEPALIVE
cups options = raw

[cap-share]
vfs objects = cap

[POGOPLUG]
path = /tmp/.cemnt/mnt_sda/
read only = no
public = yes
writable = yes
force create mode = 0666
force directory mode = 0777
guest ok = yes


POGOPLUGの項目のpath = /tmp/.cemnt/mnt_sda/部分は、dfコマンドでHDDドライブのものを記入。


Pogoplug再起動時にsambaが自動起動する様に設定。

# vi /etc/init.d/rcS

rcSを編集し最後尾に1行を追記。

/opt/etc/init.d/S08samba start

ちなみに起動ストップのコマンドは

起動方法は、/opt/etc/init.d/S08samba start
再起動は、 /opt/etc/init.d/S08samba restart もしくは reload
停止方法は、/opt/etc/init.d/S08samba stop

起動の確認。

# /opt/etc/init.d/S08samba start

ココでエラーが出ました(涙)

# /opt/etc/init.d/S08samba start
Starting nmbd:
/opt/sbin/nmbd: error while loading shared libraries: libnsl.so.1: cannot open shared object file: No such file or directory
Starting smbd:
/opt/sbin/smbd: error while loading shared libraries: libnsl.so.1: cannot open shared object file: No such file or directory

libnslというのが無いのが問題みたいなのでインストール。

# ipkg install libnsl
Installing libnsl (2.5-4) to root...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/stable/libnsl_2.5-4_arm.ipk
Configuring libnsl
Successfully terminated.

もう一度起動の確認。

# /opt/etc/init.d/S08samba start
Starting nmbd:
Starting smbd:

OK!!!


NASになり、かなり便利になりました。
もう少し大きなHDDにでも変えようかな??

参考サイト
what i had today
おぼえがき

Pogoplug mobile POGO-V4-A1-01 [並行輸入品]

Pogoplug mobile POGO-V4-A1-01 [並行輸入品]