at_takuya.sasaki
2014年6月20日 20時14分
sambaという仕組みを使って、Armadillo上の任意のディレクトリを、Windowsと 共有することが可能ですが、samba serverはArmadillo-440ではデフォルトでは有効になっていません。
1. ユーザーランドのコンフィギュレーションを行います。
[*] Customize Vendor/User Settings (NEW) Userland Configuration Filesystem Applications ---> --- SAMBA [*] samba [*] smbd [*] nmbd
2. ポート競合が起こるため一部のMakefileを修正して、makeを実行してイメージファイルを作成します(romfs.img.gz)
atmark@atde3:~/atmark-dist$ vi user/samba/Makefile
↓11/12行目をコメントアウト
11 # $(ROMFSINST) -e CONFIG_USER_SAMBA \
12 # -a "netbios-ssn stream tcp nowait root smbd -d1" /etc/inetd.conf
atmark@atde3:~/atmark-dist$ make
3. netflashなどを使ってユーザーランドを書き換えます
詳細は以下を参照してください。
4. sambaの設定は /etc/config/smb.confにあります。
このファイルを編集することで、共有するユーザやフォルダなどがカスタマイズできますが、今回はデフォルトの以下の共有ファイル情報を利用します。
-- smb.confの抜粋 -- [public] path = /mnt/hda public = yes only guest = yes writable = yes printable = no
5. 上記設定にある/mnt/hdaディレクトリを誰でも読み書きできる状態で作成します。
[root@armadillo440-0 (ttymxc1) ~]# mkdir /mnt/hda [root@armadillo440-0 (ttymxc1) ~]# chmod 777 /mnt/hda
6. smbdをデーモンとして起動します
[root@armadillo440-0 (ttymxc1) ~]# /bin/smbd -D
7. ファイアウォールでsambaで使用するポートがふさがれていますので、解放します。
(192.168.11.0/24はお使いの環境に合わせて下さい)
[root@armadillo440-0 (ttymxc1) ~]#iptables -A INPUT -i eth0 -s 192.168.11.0/24 -p tcp -d 0/0 --dport 139 -j ACCEPT
8. 共有ファイルに適当なファイルを作成します。
[root@armadillo440-0 (ttymxc1) ~]# touch /mnt/hda/test.txt
9. Windows PCのエクスプローラで以下のアドレスを指定すると、8で作成したファイルが見えるはずです。
\\192.168.11.126\public
またWindows PCからファイルの削除や、ドラッグ&ドロップなどでのファイルコピーも可能です。
[補足]
/mnt/hdaはRAMDISK上に作成したディレクトリなので、Armadilloを再起動すると消えてしまいます。 また手順6,7のコマンドについても、再起動後に再度実行する必要があります。 これらのコマンドを /etc/config/rc.localに記述して、flatfsd -sコマンドでフラッシュメモリの コンフィグ領域に保存することで、Armadillo起動時に毎回設定する必要がなくなります。
また初期化スクリプトとして自動実行することも可能です。
以下、ご参考になるかと思います。
http://manual.atmark-techno.com/armadillo-guide/armadillo-guide-2_ja-2.2./ch08.html#sec_execute_commands_automatically_at_a_boot_time
以上