ソラマメブログ
アクセスカウンタ
読者登録
メールアドレスを入力して登録する事で、このブログの新着エントリーをメールでお届けいたします。解除は→こちら
現在の読者数 1人
プロフィール
rikachann Aabye
rikachann Aabye
きままに遊んでます。
最近はものつくりをやりたいと思ってます。
なかなか思うように作れませんが試行錯誤の毎日です
よろしくね。

2017年08月26日

Nano Pi NEO 2でOpenSim IP固定化とOpenSim導入

今回は、IP固定化とOpenSimの導入を行っていきたいと思います。

まずはIP固定化からやってみます。

IPはここでは、192.168.11.35とします。

必要な情報を取得します。
ゲートウェイアドレス
$ route -n
Kernel IP routing table
Destination    Gateway    Genmask   Flags Metric Ref Use Iface
0.0.0.0     192.168.11.1   0.0.0.0     UG 100 0 0 eth0
192.168.11.0 0.0.0.0      255.255.255.0  U  100 0 0 eth0

今回設定する情報は
IPアドレス 192.168.11.35
ネットマスク 255.255.255.0
ゲートウェイ 192.168.11.1
ネームサーバー 192.168.11.1
にて設定していきたいと思います。

さて、IP固定化では通常 /etc/network/interfacesに前述の情報を記載します。

interfacesファイルに追記します。
$ cd /etc/network
$ sudo vim interfaces

auto lo
iface lo inet loopback   

auto eth0         追加  
iface eth0 inet static    追加 
address 192.168.11.35   追加
netmask 255.255.255.0   追加
gateway 192.168.11.1    追加
dns-nameservers 192.168.11.1 追加

設定を反映するため、再起動します。
固定IP(ここでは 192.168.11.35)から SSHログインします。

う~~ん ここまで順調だったのに^^ なんと おとしあなが^^;

次のステップのmonoの導入に失敗してしまいます^^
sudo apt-get updateでもアップデートに失敗してしまいます

色々調べてみるとDNSの設定がうまく働いていないようです
解決方法をくぐってみると こちらのAkagawa様のページ(NanoPi NEOセットアップメモ)に解決方法が載っていましたので参考にさせていただきました
貴重な情報ありがとうございます。

DNS設定を手動に変更
sudo vim /etc/NetworkManager/NetworkManager.conf

dns=dnsmasqを 
dns=none に変更

resolv.confを退避
sudo mv /etc/resolv.conf /etc/resolv.conf.old

esolv.confにネームサーバーを新規登録
sudo vim /etc/resolv.conf

nameserver 192.168.11.1 (IPはリカの設定条件の場合です。)

設定を反映するため、再起動します。
固定IP(ここでは 192.168.11.35)から SSHログインします。

続いてOpenSimの動作環境のMonoをインストールします。

$ sudo apt-get install mono-complete

バージョンを確認します。
$ mono -V
ono JIT compiler version 4.2.1 (Debian 4.2.1.102+dfsg2-7ubuntu4)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
TLS: __thread
SIGSEGV: normal
Notifications: epoll
Architecture: arm64
Disabled: none
Misc: softdebug
LLVM: supported, not enabled.
GC: sgen

これでmonoがインストールされましたので引き続きOpenSimをインストールします。
ここでは、現時点(2017/8/25)の最新版バージョン0.9.0.0をインストールしてみました。

$ wget http://opensimulator.org/dist/opensim-0.9.0.0.tar.gz

解凍します

$ tar zxvf opensim-0.9.0.0.tar.gz

解凍したOpenSimのbinディレクトリに移動します。

$ cd opensim-0.9.0.0/bin

早速実行します。

$ mono OpenSim.exe

途中の質問事項に答えていきます。(例です)

New region name []: rikachann_island            Sim名を入力します
RegionUUID [04124039-b4a1-40a5-bef7-d916e62ca614]:    Enterボタンを押しました
Region Location [1000,1000]:                Enterボタンを押しました
Internal IP address [0.0.0.0]:              Enterボタンを押しました
Internal port [9000]:                  Enterボタンを押しました
Resolve hostname to IP on start (for running inside Docker) [False]: Enterボタンを押しました
External host name [SYSTEMIP]: 192.168.11.35     固定化したIPアドレスを入力しました。
 ・
 ・
 ・
New estate name [My Estate]:rika    ここではリカにしました。
 ・
 ・
 ・
Exception: System.DllNotFoundException: BulletSim 

エラーで止まちゃいましたぁ^^ 予想通りwww
BulletSimの実行ファイルがARM用でないため停止しました。

Raspberry Zeroと同じように、物理エンジンを ODEに変更して実装していきたいと思います。

まずはコンパイル環境を整えます。(すでにインストールされている場合もあります)
$ sudo apt-get install libtool gcc
$ sudo apt-get install g++
$ sudo apt-get install automake
$ sudo apt-get install git

OpenSimのライブラリーを読み込みます。
$ git clone git://opensimulator.org/git/opensim-libs

コンパイル会場に移動します。

$ cd opensim-libs/trunk/unmanaged/OpenDynamicsEngine-0.13.1mod

コンパイル環境構築のために bootstrapを実行

$ sh bootstrap
 
コンフィグを実行します。

$ ./configure --enable-shared --enable-release --disable-demos --without-x --enable-old-trimesh

コンパイルします。
$ make

作成されたlibode.so.4.1.0をOpenSimディレクトリにコピーします。

$ cp ./ode/src/.libs/libode.so.4.1.0 ~/opensim-0.9.0.0/bin/lib64/libode.so

ODE定義ファイルを編集しましますが、従来からのファイル名Ode.NET.dll.configから変更があったようで、ファイルが見つからなく焦りましたぁ^^

$ cd ~/opensim-0.9.0.0/bin

その前にバックアップ^^

$ cp OpenSim.Region.PhysicsModule.Ode.dll.config OpenSim.Region.PhysicsModule.Ode.dll.config.org

次のように編集します

$ vim OpenSim.Region.PhysicsModule.Ode.dll.config

編集内容(注意:表示の関係上<>は全角になっています。コピーするときは半角に直してください)

<configuration>
 <dllmap dll="ode" target="lib64/libode.so" />
</configuration>

OpenSim.iniを編集して、デフォルトの物理エンジン BulletSimからODEに変更します。

vim OpenSim.ini

255行目のコメントを外します。

;; Default is BulletSim
physics = OpenDynamicsEngine
; physics = BulletSim
; physics = basicphysics
; physics = POS

再度opensimを起動します。
$ mono OpenSim.exe

質問に答えていきます。
Estate owner first name [Test]: ユーザーのファーストネーム ここでは rika
Estate owner last name [User]: ユーザーのラストネーム   ここでは kayama
Password:          パスワード 任意に設定
Email:             Enter
User ID [1c3a35f2-2cae-???????????]:  Enter

入力待ちになりました^^
Region (rikachan_island) #

でも、予想通りJPEGのところが赤くなっています。
ARM用のlibopenjpeg.soが無いためです。

opensimを終了します

Region (rikachan_island) # shutdown

gitで必要なファイルをダウンロードします。

$ git clone git://github.com/openmetaversefoundation/libopenmetaverse.git libopenmetaverse

コンパイル会場に移動します。

$ cd ~/libopenmetaverse/openjpeg-dotnet

Makefileを編集します。

$ vim Makefile

36,37行目を次のように編集します

ARCH=-ARM   <<36行
ARCHFLAGS= <<37行

コンパイルします。

$ make

作成されたjpegライブラリーをOpenSimのディレクトリにコピーします。

$ cp -p libopenjpeg-dotnet-2-1.5.0-dotnet-1-ARM.so ~/opensim-0.9.0.0/bin/libopenjpeg.so

opensimディレクトリーに移動します。

$ cd ~/opensim-0.9.0.0/bin

jpeg定義ファイルを編集します。
その前にバックアップ^^

$ cp OpenMetaverse.dll.config OpenMetaverse.dll.config.org

下記のように編集します。

$ vim OpenMetaverse.dll.config

編集内容(注意:表示の関係上<>は全角になっています。コピーするときは半角に直してください)

<configuration>
<dllmap dll="openjpeg-dotnet-x86_64.dll" target="libopenjpeg.so" />
</configuration>

opensimを再起動します。

$ mono OpenSim.exe

JPEGのところもうまくいったようです。

Nano Pi NEO 2でOpenSim IP固定化とOpenSim導入



同じカテゴリー(Nano Pi NEO 2)の記事
 Nano Pi NEO 2でOpenSim 環境設定編 (2017-08-17 09:19)
 Nano Pi NEO 2でOpenSim 準備編 (2017-08-15 11:40)
Posted by rikachann Aabye at 09:45│Comments(0)Nano Pi NEO 2
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。