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

  
Posted by at

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のところもうまくいったようです。



  

Posted by rikachann Aabye at 09:45Comments(0)Nano Pi NEO 2

2017年08月17日

Nano Pi NEO 2でOpenSim 環境設定編

Nano Pi NEO 2の環境設定を行っていきます。

まずは、パッケージのアップデートを行います。

$ sudo apt update

$ sudo apt upgrade
途中で  issueのバージョンアップを尋ねられますが ここでは [n]で答えました。

SDカードの容量は最初の起動時に自動的に拡大されるようです。
容量が拡大されたか確認してみます。

Filesystem      Size  Used Avail Use% Mounted on
udev            231M     0  231M   0% /dev
tmpfs            49M  2.7M   46M   6% /run
/dev/mmcblk0p2   15G  1.3G   14G   9% /
tmpfs           242M     0  242M   0% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           242M     0  242M   0% /sys/fs/cgroup
/dev/mmcblk0p1  100M   17M   84M  17% /boot
tmpfs            49M     0   49M   0% /run/user/1000


ちゃんと容量拡大されているようです。

設定ユーティリティを起動して パスワードの変更、ロケールの設定、タイムゾーンの設定を行います。

$ sudo npi-config

まずはパスワードを変更します。
1 Change User Password  を選択し tabキーで Select を選択 OK選択
新しいパスワードを2回入力

続いてロケールの変更
4 Localisation Options を選択し tabキーで Select を選択 I1 Change Localを選択し tabキーで Select を選択
リストの中から en_US.UTF-8 UTF-8に米印でチェックされているのでスペースを押して空白にします。
続いて、リストから ja_JP.UTF-8 UTF-8を探し出し、スペースを押して、米印マークを付けます。
Tabキーを押して、OKを選択します。
表示されているリストから ja_JP.UTF-8を選択します
tabキーで <OK>を選択します

続いてタイムゾーンの変更
4 Localisation Options を選択し tabキーで Select を選択 I2 Change Timezoneを選択し tabキーで Select を選択
リストから Asiaを選択 TabキーでOK選択 続いて リストから Tokyo 選択 TabキーでOK選択

rebootして 設定を反映します。 新しいパスワードでログインします。

設定ファイルを設定するためのエディタをインストールします。
リカはviが好きなのでvimをインストールしますが、すでにインストール済みでした。
下欄にコマンド表示されて初心者にもやさしい nanoもインストール済みでした。 お好みのエディタをインストールお使いください。

もし vim(あるいはnano)がインストールされていない場合は
$ sudo apt-get install vim(あるいはnano)


時刻同期のために、NTPサーバーの設定ファイルを編集します。

$ sudo vim /etc/systemd/timesyncd.conf

#NTP=
を、下記に変更
NTP=ntp.nict.jp

再起動します。
$ sudo shutdown -r now

ログイン後
$ sudo systemctl daemon-reload
$ sudo systemctl -l status systemd-timesyncd (ZZで終了)

日時を確認
$ date
2017年 8月 16日 水曜日 09:14:28 JST

日本語表示で時刻もあっているようですwww

次回は ネットアドレスの固定化など行っていきたいと思います。




  

Posted by rikachann Aabye at 09:19Comments(0)Nano Pi NEO 2

2017年08月15日

Nano Pi NEO 2でOpenSim 準備編

Linuxボード 食べ物シリーズ 第3弾www Nano Pi NEO 2でOpenSimを構築したいと思います。

このボード Piとうたっていますが、 あのRaspberryPiではなくって Pythonのことらしいです^^ リカはおいしいパイと連想してみたり

このボードは 40mm×40mmの四角な基板で サイコロみたいにかわいいです。

購入は、秋月電子で購入できますが、ARMのCPUが 32bit版(Nano Pi NEO)と64bit版(Nano Pi NEO 2)とあります。
今回は 64bit版を購入しました。 インストールするOSが違いますので気を付けましょう^^

合わせて Nano Pi NEOシリーズ用ヒートシンクの購入をお勧めしますwww ほかに電源ADが必要です。

では、早速 OSをセットアップしましょう。

OSのダウンロード先は、秋月電子の商品紹介のページ下にある「OSダウンロードページ」をクリックします。

次に「Offical-ROMs」のフォルダーをクリックして、OSを選択します。

一番新しい「nanopi-neo2_ubuntu-oled_4.11.2_20170809.img.zip」をダウンロードしてみました。(2017年8月15日時点)

ダウンロードしたファイルを解凍します。(解凍方法はグーグル先生にwww)

解凍されるとディスクイメージファイルが作成されるので、SD-CARDに焼き付けます。
windowsでは [Win32 Disk Imager]が簡単で使いやすいそうですwww
LINUXでは ddコマンドで焼き付けます。 手順はこちらのページの後半を参考にしてください。

SDカードは、16GBのものを用意しました。

無事SD-CARDにOSが書き込みできましたら、Nano Pi 本体に装着して、電源AD、LANを接続します.
電源投入後、IPアドレスの特定を行います。
Windowの場合、コマンドプロンプトで「arp -a」と打って、接続前と接続後を比較して、追加されているIPアドレスを特定します。
Linuxの場合は、arp-scanコマンドで探索します。 手順はこちらのページを参考にしてください。

Nano PiのIPアドレスが特定できたら、SSHでログインします。
windowsでは[Tera Term]で TCP/IPのSSHで接続します。初回だけ鍵の生成が要求されます
Linuxはsshコマンドで ログインします $ ssh pi@192,168.11.25 (IPアドレスは例です、初回だけ鍵の生成が要求されます)

ログイン pi パスワード pi でログインできます。

ログイン後、OSのバージョンを確認してみました。
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS"

こちらのコマンドでも^^
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="16.04 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu core 16.04 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial

ついでにアーキテクチャを調べてみました。
$ arch
aarch64  

64bitARMアーキテクチャの「aarch64」

こちらでも
$ uname -m
aarch64

次回は環境設定していきます。







  
タグ :Nano PiOpenSim

Posted by rikachann Aabye at 11:40Comments(0)Nano Pi NEO 2