以下では、Armadillo-IoT(G3L)の場合で説明しますが、Armadillo-IoT(G3)/X1でも同様の手順です。
1.WindowsPC上に共有フォルダを作成
アカウントと共有フォルダを作成します。
ここでは、
[Windows 7] ネットワーク上のユーザーとファイル・フォルダーを共有する方法
を参考に下記のように作成しました。
アカウント
ユーザ名:user1
パスワード:user1pass
共有フォルダ
フォルダ名:C:\shared
以下、WindowsPCのIPアドレスは例として
192.168.11.39
の場合で説明します。
2.ネットワークファイルシステムの設定を追加したカーネルイメージの作成
ATDE上で、カーネルコンフィギュレーションのネットワークファイルシステムを設定します。
以下、カーネルのバージョンは、
linux-3.14-x1-at21.tar.gz
initramfs_x1-v1.1.0.cpio.gz
の場合で説明します。
(異なるバージョンを使用する場合は、使用するバージョン名に読み替えてください。)
以下、上記のカーネルのソースコードがATDEのホームディレクトリ(~/)にある状態から説明します。
atmark@atde6:~$ tar xf linux-3.14-x1-at21.tar.gz
atmark@atde6:~$ cd linux-3.14-x1-at21
atmark@atde6:~/linux-3.14-x1-at21$ ln -s ../initramfs_x1-v1.1.0.cpio.gz initramfs_x1.cpio.gz
デフォルトコンフィギュレーションを適用します。
atmark@atde6:~/linux-3.14-x1-at21$ make ARCH=arm x1_defconfig
カーネルコンフィギュレーションを設定します。
atmark@atde6:~/linux-3.14-x1-at21$ make ARCH=arm menuconfig
で、カーネルコンフィギュレーションの画面を開いて、CIFSとSMB2の設定を有効(yキーを押して、[*]を付ける)にします。
(下記の表記では、ここで有効する行(2つ)の末尾に★を付けています。)
File systems
[*] Network File Systems --->
<*> CIFS support (advanced network filesystem, SMBFS successor)★
[*] Enable CIFS debugging routines
[*] SMB2 network file system support★
上記設定後、Exitを選択し続け、最後に、
Do you wish to save your new configuration?
の問いには、Yesを選択して、終了します。
カーネルをビルドします。
atmark@atde6:~/linux-3.14-x1-at21$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
atmark@atde6:~/linux-3.14-x1-at21$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- LOADADDR=0x80008000 uImage
ビルドされたカーネルイメージ
atmark@atde6:~/linux-3.14-x1-at21$ ls arch/arm/boot/uImage
arch/arm/boot/uImage
このuImageをArmadillo-IoT(G3L)に置きます。
(uImageをATDEから、ArmadilloーIoT(G3L)に置く方法は多種(ネットワーク経由、USBメモリ経由、SDカード経由など)
ありますが、ここでは割愛します。)
3.Armadillo-IoT(G3L)のカーネルイメージの書き換えとcifs-utilsのインストール
以下の説明において、カーネルイメージ(uImage)は、ArmadilloーIoT(G3L)のホームディレクトリ(~/)にある状態から説明します。
カーネルイメージを書き換えます。
root@armadillo:~# mount -t vfat /dev/mmcblk2p1 /mnt
root@armadillo:~# cp ./uImage /mnt/uImage
root@armadillo:~# umount /mnt
再起動します。
カーネルコンフィギュレーションのCIFSが適用されていることを確認します。
root@armadillo:~# zcat /proc/config.gz | grep CIFS
CONFIG_CIFS=y
# CONFIG_CIFS_STATS is not set
# CONFIG_CIFS_WEAK_PW_HASH is not set
# CONFIG_CIFS_UPCALL is not set
# CONFIG_CIFS_XATTR is not set
CONFIG_CIFS_DEBUG=y
# CONFIG_CIFS_DEBUG2 is not set
# CONFIG_CIFS_DFS_UPCALL is not set
CONFIG_CIFS_SMB2=y
# CONFIG_CIFS_FSCACHE is not set
Armadillo-IoT(G3L)をインターネット接続可能なネットワークに接続します。
cifs-utilsをインストールします。
root@armadillo:~# apt-get install cifs-utils
4.WindowsPC上の共有フォルダをArmadillo-IoT(G3L)にマウント
Armadillo-IoT(G3L)と共有フォルダを作成したWindowsPCをネットワークで接続します。
WindowsPCが、
アカウント
ユーザ名:user1
パスワード:user1pass
共有フォルダ
フォルダ名:C:\shared
IPアドレス:192.168.11.39
の場合、
root@armadillo:~# mount -t cifs -o user=user1,password=user1pass //192.168.11.39/shared /mnt
で、WindowsPCの共有フォルダが、/mntにマウントされます。
WindowsPCで、CIFSが有効でない場合は、下記のようにSMB2.0を指定して試してください。
root@armadillo:~# mount -t cifs -o user=user1,password=user1pass,vers=2.0 //192.168.11.39/shared /mnt