VagrantでOpenRTP20用boxファイルを作成する¶
OpenRTPのソースビルド用に、Eclipseのプラグインをインストールした環境のVagrant用boxファイルを作成する手順
- 2021/05/06:Eclipse2020-06(4.16)バージョン用説明を追加
ホスト環境¶
- Windows10上にVirtualBoxとVagrantをインストールする
- ホストがLinux環境でも問題ない
- ここでは VirtualBox 6.1.0 と Vagrant 2.2.7 環境で確認した結果を記す
- これらのインストールは 「VagrantでOpenRTP2.0用boxファイルを使ってビルド環境を構築する」 を参照
実行¶
- OpenRTPのmasterソースに含まれる下記Vagrantfileを使用する
OpenRTP-aist/scripts/eclipse416/Vagrantfile
- このディレクトリで作成する必要は無いので、eclipse416/Vagrantfile を適当な場所へコピーして使うとよいです
- 下記を実行。eclipseプラグイン等をダウンロードするので、相当時間がかかります。
>cd eclipse416 >vagrant up
- エラーメッセージが出ずに終了していればOKです
- Eclipse2020-06(4.16)用説明
- ダウンロードが必要なSDK等は、リンク切れを考慮し下記にアップしてあります
https://openrtm.org/redmine/projects/rtsystemeditor/files
BabelLanguagePack-eclipse-ja_4.16.0.v20201010073410.zip
eclipse-SDK-4.16-linux-gtk-x86_64.tar.gz
eclipse-SDK-4.16-win32-x86_64.zip
eclipse-rcp-2020-06-R-linux-gtk-x86_64.tar.gz
eclipse-SDK-4.16-macosx-cocoa-x86_64.dmg - MacOS用SDKはtar.gzの提供が無くなりdmgファイルのみとなったため、このLinux環境でのビルドは行わず、Mac環境で手動で対応する
- Linux用にビルドしたOpenRTP全部入りパッケージから必要なjarファイルをコピーし、dmgを再生成する手順
- このためVagrantfileでMacOS用SDKをダウンロードする処理は定義していない
- dmgファイルを使って自動ビルドする場合、OpenRTP-aist/make_packages の修正が必要になる
- ダウンロードが必要なSDK等は、リンク切れを考慮し下記にアップしてあります
- Eclipse2019-03(4.11)用説明
- 2020/05/12時点で、Eclipseの下記日本語パッケージのリンクが切れているので、ダウンロードされません
BabelLanguagePack-eclipse-ja_4.10.0.v20190126060001.zip - openrtm.orgにアップロードしたboxファイルには手動コピーして含めているので大丈夫です
- 2020/05/12時点で、Eclipseの下記日本語パッケージのリンクが切れているので、ダウンロードされません
boxファイル生成¶
- boxファイルのサイズを小さくするため、不要なファイルを削除する
- sshで接続する(パスワードはvagrant)
>vagrant ssh eclipse411 $ df -h Filesystem Size Used Avail Use% Mounted on udev 2.0G 0 2.0G 0% /dev tmpfs 395M 596K 394M 1% /run /dev/sda1 9.7G 7.0G 2.7G 73% / tmpfs 2.0G 0 2.0G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup tmpfs 512M 8.0K 512M 1% /tmp vagrant 3.7T 1.7T 2.0T 46% /vagrant tmpfs 395M 0 395M 0% /run/user/1000
- HOMEにあるSDKファイルを削除する
$ ls eclipse eclipse-SDK-4.11-linux-gtk-x86_64.tar.gz eclipse_env install_plugins mirror_site pkg_install_ubuntu.sh public_html $ rm eclipse-SDK-4.11-linux-gtk-x86_64.tar.gz
- 続けて下記を実行し、不要ファイルを削除する
$ sudo apt clean $ sudo rm -rf /var/lib/apt/lists/* $ sudo rm -rf /tmp/* /var/tmp/* $ sudo rm -rf /var/log/* $ sudo umount /vagrant
- パッケージ化する直前に仮想ハードディスクをゼロで埋めて、ゼロで埋まったファイルを削除する。
こうすることで、フラグメンテーションの問題が解決され、圧縮率が上がるとのこと。
参考: http://www.ajisaba.net/develop/vagrant/box_create.html$ sudo dd if=/dev/zero of=/EMPTY bs=1M dd: error writing '/EMPTY': No space left on device 32458+0 records in 32457+0 records out 34033786880 bytes (34 GB, 32 GiB) copied, 76.9463 s, 442 MB/s $ sudo rm -f /EMPTY
- VM環境を終了する
$ exit >vagrant halt
- box名は openrtp20-eclipse411.box とし、カレントディレクトリに生成する
>vagrant package eclipse411 --output openrtp20-eclipse411.box
- このboxファイルを下記へアップロード
https://openrtm.org/pub/openrtp/vagrant-box/