[Armadillo:03931] armadillo-9におけるsamba実装について

horiuchi email@hidden
2009年 1月 19日 (月) 16:47:04 JST


堀内と申します。
初めて投稿させて頂きます。よろしくお願い致します。

現在、armadillo-9を使って、ネットワーク上にあるWindowsPCのテキストファイル
を更新する機能を実装しようとしています。

そこで、armadillo-9にsamba(smbmount)を実装しようと以下の手順で行いました。
しかし、smbmountで対象のWindowsPCフォルダをmountし、ディレクトリを表示した
ところ、接続は出来ているようなのですが文字化けを起こしてしまいました。

解決策をご存知の方がいらっしゃいましたら、教えて頂けませんでしょうか。



なお、環境と検証した結果は以下の通りです。
==================================
ターゲット:Armadillo-9
開発環境:ATDE2(atde2-20071018.zip)
kernel:linux-2.23.12.3-a9-14.tar.gz
dist:atmark-dist-20081022.tar.gz
==================================

make menuconfigにて、以下を選択。

Configuration
--- Select the Product you wish to target
(Armadillo-9) AtmarkTechno Products

--- SAMBA
[*] samba
[*]   smbd
[*]   nmbd
[*]   smbmount
[*]   smbumount

romfs内の/etc/default/smb.confを下記のように編集。

[global]
  coding system=EUC
  client code page=932

フラッシュに書込み、armadillo-9を起動後、以下のコマンドを実行。
 smbmount //192.168.*.*/winfolder /win -o username=***,password=***[ENT]

すると、エラーメッセージは、以下のように表示されました。
 load_client_codepage: filename /home/samba/codepaes/codepage.932 does not
exist.
 load_unicodemap: filename /home/samba/codepages/unicode_map.850 does not
exist.


上記のメッセージから、codepage.932 と unicode_map.850 が無い事がわかりまし
た。
dfコマンドで確認すると一応mount出来ているようですが、実際にフォルダを参照し
てみると、以下のように表示されます。
 ls: ./d: No such file or directory


調べてみたところ、上記ファイルはmake_smbcodepage,make_unicodemapで生成
されるようなのですが、自分の環境には見当たらなかったのでさらに調べたところ、
atmark-dist/user/samba/source/Makefileにて、コメントアウトしている箇所があり
ました。

上記のMakefileの82行目にある、make_smbcodepage & make_unicodemap等が
コメントアウトされている箇所を解除し、再コンパイル。
atmark-dist/romfs/binフォルダに、手動で生成された
 ・make_smbcodepage
 ・make_unicodemap
をコピーし、armadillo-9上でcodepageファイルを生成、再度チャレンジしてみまし
たが、結果はcodepageエラーは出なくなったものの、フォルダ参照すると同じ結果
でした。


make menuconfig で、もう一度設定を見直すと、Kernel config にsambaの項目が
あり、use a default NLS(国際化機能)という項目が無効になっていたので、以下
のように変更しました。

File system
 Network
  [*] SMB file system support
  [*] use a default NLS
  (cp932) Default Remote NLS

カーネルイメージを再構築、転送してsmbmountを実行しフォルダ参照。
すると、今度は文字化けしていますが、ファイル名(・・・らしきもの)が表示され
ます。
(フォルダ認識、ファイル属性、ファイル数などまでは認識出来ている模様)

過去ログを参照したところ、同じような問題に合われている方がいらっしゃいました
が、その方はatmark-distに含まれているsamba2.0.7ではなく、samba2.2のソースを
ダウンロードしてターゲットへの組み込みに成功したようです。
http://lists.atmark-techno.com/pipermail/armadillo/2007-December/002524.html


新しいバージョンのsambaをソースコードからビルドして組み込まないと、だめなの
でしょうか?




armadillo メーリングリストの案内