at_takuya.sasaki
2016年6月2日 18時27分
CIFSを使って、ArmadilloとUSB Ethere gadgetを利用して接続されたPC上の任意のディレクトリをマウントし、イメージを書き換えてみました。
1. カーネル/ユーザーランドのソースコードをダウンロードして、ビルドの準備をします。
1.1 ソースコードのダウンロード
atmark@atde5:~$ wget http://armadillo.atmark-techno.com/files/downloads/armadillo-810/source/linux-3.4-at17.tar.gz atmark@atde5:~$ wget http://armadillo.atmark-techno.com/files/downloads/armadillo-810/source/atmark-dist-20160527.tar.gz
1.2 ソースコードの展開
atmark@atde5:~$ tar zxf atmark-dist-20160527.tar.gz atmark@atde5:~$ tar zxf linux-3.4-at17.tar.gz
1.3 シンボリックリンクの作成
atmark@atde5:~$ ln -s atmark-dist-20160527 atmark-dist atmark@atde5:~$ cd atmark-dist atmark@atde5:~/atmark-dist$ ln -s ../linux-3.4-at17 ./linux-3.x
1.4 ベンダ・プロダクト名の選択
atmark@atde5:~/atmark-dist$ make menuconfig Vender: Atmarck Techno Product: Armadillo-810
2. カーネルのコンフィギュレーションを行い、ビルドします
2.1 カーネルのコンフィギュレーション
Linux/arm 3.4-at17 Kernel Configuration File systems ---> [*] Network File Systems ---> <*> CIFS support (advanced network filesystem, SMBFS successor) ★ チェックをつける
2.2 ビルド
atmark@atde5:~/atmark-dist$ make
3. ユーザーランドにcifs-utilsパッケージを展開します。
3.1 Debian Wheezyのcifs-utilsパッケージをダウンロードします。
atmark@atde5:~/atmark-dist$ cd atmark@atde5:~$ wget http://ftp.jp.debian.org/debian/pool/main/c/cifs-utils/cifs-utils_5.5-1_armhf.deb
3.2 パッケージを展開します。
atmark@atde5:~$ dpkg -x cifs-utils_5.5-1_armhf.deb atmark-dist/romfs/
3.3 不要なドキュメントファイルは削除します。
atmark@atde5:~$ rm -rf atmark-dist/romfs/usr/share/man/ atmark@atde5:~$ rm -rf atmark-dist/romfs/usr/share/doc/
4. イメージを作成して、Armadillo-810に書きこみます
4.1 イメージの再作成
atmark@atde5:~/atmark-dist$ make image
4.2 イメージの書き換え
以下のマニュアルを参考に、カーネル/ユーザーランドのイメージを書き換えます。
https://manual.atmark-techno.com/armadillo-840/armadillo-840_product_manual_ja-1.8.0/ch12.html
5. Armadillo-810の再起動
5.1 以下のHowToを参考に、WindowsPC側にRNDIS/Ethernet Gadgetのドライバをインストールして、pingが通るか確認します
Howto : Armadillo-810を接続して使用するためのWindows環境設定
5.2 Armadillo-810にログインして、mount.cifsコマンドを実行します
[root@armadillo810-0 (ttySC2) ~]# mount.cifs //169.254.185.149/share /mnt -o username=xxxx,password=xxxx,iocharset=utf8
PCのIPアドレスはAPIPAで割り振られた 169.264.185.149をそのまま使いました。
username、passwordはPC側の一般ユーザのアカウント名、パスワードを使います。
また事前にPC側でc:\shareというフォルダを共有状態にしています。(フォルダのプロパティ→共有タブにて設定)
さらに、c:\shareにカーネルのイメージ(linux.bin.gz)を保存しておきます。
5.3 マウントできているか確認します
[root@armadillo810-0 (ttySC2) ~]# ls /mnt linux.bin.gz*
5.4 netflashでイメージを書き換えます
[root@armadillo810-0 (ttySC2) ~]# netflash -bknusr /dev/flash/kernel /mnt/linux.bin.gz
以上