ブログ

Armadillo-220と同等の機能をArmadillo-420で実現する

at_takuya.sasaki
2017年6月3日 21時58分

Armadillo-220で利用可能な機能が、Armadillo-420では一部利用ができない または仕様が変わっている部分があります。 今回はそのうちの一部をArmadillo-420でも利用できるように変更してみました。

1.  ユーザーランドのビルド

まずは、以下のパッチファイルをダウンロードして、ATDE5にコピーしてください。
atmark-dist-a220_to_a420_convert.patch

1-1. ATDE5に以下のソースコードをダウンロード
atmark@atde5:~$ wget http://armadillo.atmark-techno.com/files/downloads/armadillo-420/source/kernel/linux-3.14-at8.tar.gz
atmark@atde5:~$ wget http://armadillo.atmark-techno.com/files/downloads/armadillo-420/source/dist/atmark-dist-20160927.tar.gz
1-2. ソースコードを展開して、シンボリックリンクを作成
atmark@atde5:~$ tar zxvf atmark-dist-20160927.tar.gz 
atmark@atde5:~$ tar zxvf linux-3.14-at8.tar.gz 
atmark@atde5:~$ ln -s atmark-dist-20160927 atmark-dist
atmark@atde5:~$ cd atmark-dist
atmark@atde5:~/atmark-dist$ ln -s ../linux-3.14-at8 ./linux-3.x
1-3. パッチを適用
atmark@atde5:~/atmark-dist$ patch -p 1 < ../atmark-dist-a220_to_a420_convert.patch 
1-4. make menuconfigでベンダ名/プロダクト名を選択
atmark@atde5:~/atmark-dist$ make menuconfig
 
      (AtmarkTechno) Vendor
      (Armadillo-420) AtmarkTechno Products 
1-5. ユーザーランドコンフィグレーションで以下を有効にする
Userland Configuration
Miscellaneous Applications  ---> 
    [*] at-cgi
        [*]   usbdata   ★ 有効にする
1-6. ビルドを実行
atmark@atde5:~/atmark-dist$ make
1-7. 以下にイメージファイルが作成されますので、このromfs.img.gzをArmadillo-420に書きこみます
atmark@atde5:~/atmark-dist$ ls images/*.gz
images/linux.bin.gz  images/romfs.img.gz

以降は、変更した機能についての説明をします。

2. sshの自動起動

Armadillo-220ではsshdが自動起動するようになっていましたが、Armadillo-420では標準では自動起動設定になっていません。

今回のユーザーランドイメージでは、自動起動設定にしています。 そのため、イメージ書き換え後の最初の起動時にはsshの秘密鍵を生成するため、 起動時に以下のログが出力され、起動時間が少々多くかかります。

generate rsa1 key ...                                           done
generate dsa key ...                                            done
generate rsa key ...                                            done

以下のアカウントでsshログインが可能になります。

ユーザ名  : guest
パスワード: 無し

3. USBメモリの自動認識

Armadillo-220ではUSBメモリを挿入すると、自動的に以下のフォルダにマウントするようになっていました。

/home/www-data/storage/

今回のユーザーランドイメージでも同様の仕様に変更しています。なおUSBメモリを取り外すと、自動的にUSBメモリのマウントを外します。 試しにUSBメモリをArmadillo-420に挿入すると以下のようなログが出ます。

[root@armadillo420-0 (ttymxc1) ~]# usb 1-1: new full-speed USB device number 3 using ci_hdrc
usb 1-1: not running at top speed; connect to a high speed hub
usb-storage 1-1:1.0: USB Mass Storage device detected
scsi1 : usb-storage 1-1:1.0
scsi 1:0:0:0: Direct-Access     UFD 2.0  Silicon-Power8G  1100 PQ: 0 ANSI: 4
sd 1:0:0:0: [sda] 15730688 512-byte logical blocks: (8.05 GB/7.50 GiB)
sd 1:0:0:0: [sda] Write Protect is off
sd 1:0:0:0: [sda] No Caching mode page found
sd 1:0:0:0: [sda] Assuming drive cache: write through
sd 1:0:0:0: [sda] No Caching mode page found
sd 1:0:0:0: [sda] Assuming drive cache: write through
random: nonblocking pool is initialized
 sda: sda1
sd 1:0:0:0: [sda] No Caching mode page found
sd 1:0:0:0: [sda] Assuming drive cache: write through
sd 1:0:0:0: [sda] Attached SCSI removable disk
FAT-fs (sda1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.

この状態でエンターキーを押して、以下のフォルダを見るとマウントされていることがわかるかと思います。

[root@armadillo420-0 (ttymxc1) ~]# ls /home/www-data/storage/

また、この状態でUSBメモリを取り外すと以下のメッセージが出力されます。

[root@armadillo420-0 (ttymxc1) ~]# usb 1-1: USB disconnect, device number 3

同じくエンターキーを押して、以下のフォルダを見るとアンマウントされていることがわかるかと思います。

[root@armadillo420-0 (ttymxc1) ~]# ls /home/www-data/storage/

4. at-cgiのUSBメモリ表示

Armadillo-220ではUSBメモリを挿入した状態で、at-cgiにアクセスすると、USBメモリの中身を参照する [Show USB Data]というリンクが表示されていました。 今回のユーザーランドイメージでも同様の仕様に変更しています。

http://xx.xx.xx.xx/index.cgi

にアクセスして、[Show USB Data]が表示されていることを確認してください。

以上