Armadilloフォーラム

Armadillo-IoT G3 openvpn構築に関してご教授願います。

shiba

2017年6月19日 10時21分

いつもお世話になっております。

Armadillo-iot-g3を用いてarmadilloをクライアント側とし、openvpnを構築しているのですが、
クライアントの設定を終え実行をすると

ERROR: Cannot open TUN/TAP dev /dev/net/tun: No such device

と出てきてしまう為、TUN/TAPデバイスの確認をしたところ
root@armadillo:~# lsmod | grep tun

何も出てこない為
root@armadillo:~# sudo modprobe tun
modprobe: ERROR: ../libkmod/libkmod.c:557 kmod_search_moddep() could not open moddep file '/lib/modules/3.14.79-at8/modules.dep.bin'

とエラーが出てしまいました。
modules.dep.binの追加はイメージを変更しなければ追加できないのでしょうか?
よろしくお願いいたします。

コメント

溝渕です。

TUN/TAPを利用するためには、Linuxカーネルコンフィギュレーションを変更す
る必要があります。以下を有効化してください。

-> Device Drivers
-> Network device support
-> Network core driver support
-> Universal TUN/TAP device driver support

溝渕様

ご回答有難うございます。

変更に関しては
http://manual.atmark-techno.com/armadillo-iot-g3/armadillo-iotg-g3_prod…
こちらを参照しイメージのカスタマイズをした後、
http://manual.atmark-techno.com/armadillo-iot/armadillo-iotg-std_produc…
にてSD等を用いて書込みを行えばよろしいでしょうか?

宜しくお願い致します。

> 溝渕です。
>
> TUN/TAPを利用するためには、Linuxカーネルコンフィギュレーションを変更す
> る必要があります。以下を有効化してください。
>
>
> -> Device Drivers
> -> Network device support
> -> Network core driver support
> -> Universal TUN/TAP device driver support
>
>

溝渕です。

> 変更に関しては
> http://manual.atmark-techno.com/armadillo-iot-g3/armadillo-iotg-g3_prod…
> こちらを参照しイメージのカスタマイズをした後、

上記、その通りです。

menuconfigでコンフィギュレーションの変更の後、イメージファイルをビルド
してください。

> http://manual.atmark-techno.com/armadillo-iot/armadillo-iotg-std_produc…
> にてSD等を用いて書込みを行えばよろしいでしょうか?

上記、製品が異ります。

Armadillo-IoT G3については、以下の章を参照してください。

http://manual.atmark-techno.com/armadillo-iot-g3/armadillo-iotg-g3_prod…

溝渕様

ご回答有難うございます。

> 溝渕です。
>
> > 変更に関しては
> > http://manual.atmark-techno.com/armadillo-iot-g3/armadillo-iotg-g3_prod…
> > こちらを参照しイメージのカスタマイズをした後、

上記htmlと下記pdfでは
http://armadillo.atmark-techno.com/files/downloads/armadillo-iot-g3/doc…

[html]
ビルドするには、次のようにコマンドを実行します。
[PC ~/linux-3.14.38-at[version]]$ make CROSS_COMPILE=arm-linux-gnueabihf- ARCH=arm
[PC ~/linux-3.14.38-at[version]]$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- LOADADDR=0x80008000 uImag
[PDF]
ビルドするには、次のようにコマンドを実行します。
[PC ~/linux-3.14-x1-at[version]]$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
[PC ~/linux-3.14-x1-at[version]]$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- ⏎
LOADADDR=0x80008000 uImage

と実行の仕方が少し異なるのですがどちたが正しいのでしょうか?

[PC ~/linux-3.14.38-at[version]]$ make CROSS_COMPILE=arm-linux-gnueabihf- ARCH=arm  で実行した場合
/home/atmark/linux-3.14-x1-at14/usr/Makefile:73: recipe for target 'usr/initramfs_data.cpio.gz' failed
make[1]: *** [usr/initramfs_data.cpio.gz] Error 1
Makefile:845: recipe for target 'usr' failed
make: *** [usr] Error 2
と出た為pdfを参照した次第です。

宜しくお願い致します。

溝渕です。

> > > http://manual.atmark-techno.com/armadillo-iot-g3/armadillo-iotg-g3_prod…
> > > こちらを参照しイメージのカスタマイズをした後、
>
> 上記htmlと下記pdfでは
> http://armadillo.atmark-techno.com/files/downloads/armadillo-iot-g3/doc…
>
> [html]
> ビルドするには、次のようにコマンドを実行します。
> [PC ~/linux-3.14.38-at[version]]$ make CROSS_COMPILE=arm-linux-gnueabihf- ARCH=arm
> [PC ~/linux-3.14.38-at[version]]$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- LOADADDR=0x80008000 uImag

"uImag"は"uImage"のtypoかと思います。

> [PDF]
> ビルドするには、次のようにコマンドを実行します。
> [PC ~/linux-3.14-x1-at[version]]$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
> [PC ~/linux-3.14-x1-at[version]]$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- ⏎
> LOADADDR=0x80008000 uImage
>
> と実行の仕方が少し異なるのですがどちたが正しいのでしょうか?

違いについてはドキュメントバージョン(v1.0.0とv1.8.0)の違いによるもので、
htmlとpdfに違いはありません。極力新しいドキュメントを参照していただけ
ると嬉しいです。

これらの違いについては、環境変数の指定順のみなので、どちらも結果に違いはありません。

> [PC ~/linux-3.14.38-at[version]]$ make CROSS_COMPILE=arm-linux-gnueabihf- ARCH=arm  で実行した場合
> /home/atmark/linux-3.14-x1-at14/usr/Makefile:73: recipe for target 'usr/initramfs_data.cpio.gz' failed
> make[1]: *** [usr/initramfs_data.cpio.gz] Error 1
> Makefile:845: recipe for target 'usr' failed
> make: *** [usr] Error 2
> と出た為pdfを参照した次第です。

以下を参照の上、「initramfsアーカイブへのシンボリックリンク作成」の手
順を実行してください。

http://manual.atmark-techno.com/armadillo-iot-g3/armadillo-iotg-g3_prod…

溝渕様
ご回答有難うございます。
度々すみません。。。

>
> 以下を参照の上、「initramfsアーカイブへのシンボリックリンク作成」の手
> 順を実行してください。
>
> http://manual.atmark-techno.com/armadillo-iot-g3/armadillo-iotg-g3_prod…
>

上記参照に実行した際
atmark@atde6:~/linux-3.14-x1-at14$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
scripts/kconfig/conf --silentoldconfig Kconfig
CHK include/config/kernel.release
CHK include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
make[1]: 'include/generated/mach-types.h' is up to date.
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
/home/atmark/linux-3.14-x1-at14/scripts/gen_initramfs_list.sh: Cannot open 'initramfs_x1.cpio.gz'
/home/atmark/linux-3.14-x1-at14/usr/Makefile:73: recipe for target 'usr/initramfs_data.cpio.gz' failed
make[1]: *** [usr/initramfs_data.cpio.gz] Error 1
Makefile:845: recipe for target 'usr' failed
make: *** [usr] Error 2

こちらのエラーが出てしまうのですが、何かその前に設定等必要なのでしょうか?
atmark@atde6:~/linux-3.14-x1-at14$ make CROSS_COMPILE=arm-linux-gnueabihf- ARCH=arm menuconfig
にて
-> Device Drivers
-> Network device support
-> Network core driver support
->[*] Universal TUN/TAP device driver support

を設定しexitで戻り実行致しました。

宜しくお願い致します。

溝渕様
ご回答有難うございます。

> 事前に、
> initramfs_x1-[version].cpio.gz
> の実体を配置しておく必要があります。

上記配置漏れていました

atmark@atde6:~$ ls
initramfs_x1-v1.1.0.cpio.gz linux-3.14-x1-at14 linux-3.14-x1-at14.tar.gz

こちらが入っていることを確認し、ビルドをかけたところ下記エラーになりました。
firmwareが必要と見えるのですが。。。

make[1]: *** No rule to make target '/lib/firmware/ar3k/AthrBT_0x11020100.dfu', needed by 'firmware/ar3k/AthrBT_0x11020100.dfu.gen.o'. 中止.
Makefile:845: recipe for target 'firmware' failed
make: *** [firmware] Error 2

宜しくお願い致します。

溝渕です。

> こちらが入っていることを確認し、ビルドをかけたところ下記エラーになりました。
> firmwareが必要と見えるのですが。。。
>
> make[1]: *** No rule to make target '/lib/firmware/ar3k/AthrBT_0x11020100.dfu', needed by 'firmware/ar3k/AthrBT_0x11020100.dfu.gen.o'. 中止.
> Makefile:845: recipe for target 'firmware' failed
> make: *** [firmware] Error 2

ご推測の通り、firmwareが不足しています。

最新のATDE6を使ってビルドしてみてください。今日現在(2017/06/19)の最新
版は、v20170526です。

http://armadillo.atmark-techno.com/files/downloads/atde/atde6-i386-2017…

溝渕様

ご回答有難うございます。

>
> 最新のATDE6を使ってビルドしてみてください。今日現在(2017/06/19)の最新
> 版は、v20170526です。
>
> http://armadillo.atmark-techno.com/files/downloads/atde/atde6-i386-2017…
>

無事最新のATDE6を入れることでuImageファイルと.dtbファイルの作成が出来ました。
早速書き込んでみたのですが
switch to partitions #0, OK
mmc1(part 0) is current device
switch to partitions #0, OK
mmc1(part 0) is current device
reading boot.scr
** Unable to read file boot.scr **
reading boot.scr
** Unable to read file boot.scr **
reading uImage
729088 bytes read in 29 ms (24 MiB/s)
Booting from mmc ...
reading armadillo_iotg_g3.dtb
54305 bytes read in 18 ms (2.9 MiB/s)
## Booting kernel from Legacy Image at 82000000 ...
Image Name: Linux-3.14.79-at14
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 10162336 Bytes = 9.7 MiB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... Bad Data CRC
ERROR: can't get kernel image!

imageが取得できないとのことです。
一度復旧方法を参照し、再度やり直しが必要でしょうか....?

宜しくお願い致します。

上記SDブートを用いてArmadilloの復旧後、イメージの書き換え等を再度やり直し、
openvpnを再構築した結果無事接続することが出来ました。

大変お手数をおかけ致しました。
有り難うございました。