1
OpenSiv3dのインストール備忘録 (2020年8月インストール成功確認)
Twitterで意気揚々とOpenGLでマイクラのクローン作ってやるぜって言ってたけど、シェーダーとかなんやら面倒くさくなってOpenSiv3dに逃げることにしました。
許して
今回はその逃げ場であるOpenSiv3dのインストールの備忘録となります。
環境はUbuntu 18.04となります。
インストール方法調べてるとUbuntuでのインストールに苦戦してる人が多かったので書き記すことにしました。
基本的にやったことは以下の通り
必要パッケージのインストール
これは普通にaptでインストールするだけ、自分がインストールしたのは以下のパッケージ
- libopenal-dev
- libgif-dev
- libwebp-dev
- libogg-dev
- libvorbis-dev
- libudev-dev
- libswresample-dev
- libturbojpeg0-dev
$ sudo apt install libopenal-dev libgif-dev libwebp-dev libogg-dev libvorbis-dev libudev-dev libswresample-dev libturbojpeg0-dev
これで必要なパッケージのインストールは完了
# OpenCV4の現在(2020/08/13)の最新版4.4.0のビルド
https://opencv.org/releases/から現在の最新版である4.4.0のソースをダウンロードしてunzipしておきます。
cmakeにちょっとしたオプションをつける以外は公式サイトに書いてあるインストール方法とほとんど変わりません。
まずはビルド用のディレクトリを作って・・・
$ cd opencv-4.4.0/ $ mkdir build && cd build/
cmakeを使ってビルドします。
ここでpkg-config
のオプションをつけといてください。
$ cmake -D CMAKE_BUILD_TYPE=Release -DOPENCV_GENERATE_PKGCONFIG=ON -D CMAKE_INSTALL_PREFIX=/usr/local ..
あとは公式のインストール行程に従ってやっていくだけです。
$ make -j7 $ sudo make install
boostの現在の最新版のビルド
aptでインストールしてきたboostだとバージョンが古く、Siv3Dをビルドする途中でboost/geometry/algorithms/densify.hpp
がないと怒られてしまいます。
aptでインストールしてきたboostは1.65.1で、Siv3Dが要求するdensifyは1.67.0で追加されているものでした。
そのため最新版をビルドします。
これはboostの日本語情報サイトに情報があるので、こちらに書いてある行程に従ってインストールしていきます。
$ git clone --recursive https://github.com/boostorg/boost.git $ cd boost $ ./bootstrap.sh $ ./b2 install -j2 --prefix=/usr/local
これで/usr/localにboostの最新版が入りました。
OpenSiv3Dのインストール
ここまで来ればあとは公式のREADMEに従ってインストールするだけです。
OpenSiv3D/README_JP.md at master · Siv3D/OpenSiv3D · GitHub
$ git clone https://github.com/Siv3D/OpenSiv3D.git $ cd OpenSiv3D $ mkdir Linux/Build $ cd Linux/Build
公式はninjaというビルドツール使ってますが、まあmakeでも大丈夫なので私はmake使いました。
$ cmake -DCMAKE_BUILD_TYPE=Release .. $ make
これでlibSiv3D.a
が生成されればOKです。
動作テストをしたければOpenSiv3D/Linux/Appの方に移動してサンプルをビルドします。
$ cd ../App/ $ cmake . $ make $ ./Siv3D_App
Siv3Dキター!!! pic.twitter.com/LbWI76DbhH
— 社会不適合性降下物 (@ABC10946) 2020年8月13日
libSiv3D.a
は他のプロジェクトでも使えるように/opt/OpenSiv3D/Linux
などのディレクトリを作ってそこにコピーしておきましょう。
RAID1構成のHDDからデータ救出した話
家で運用しているNASが経年劣化らしくお亡くなりになったのでHDDからデータ救出しました。
使用したのはmdadmというソフトウェアRAIDのディスクを管理、構築するものらしいです。
参考にしたのはこちらのサイトというかPDF:
http://www.jaist.ac.jp/tech/archives/h27/pdf/17_fukushima
ほぼ同じような流れでやってますのでPDFの方を見たほうがよさげ。
以下実施した作業はUbuntu 18.04 LTS上で行っています
HDD接続
これは簡単、単にHDDをPCにつなげるだけ。
RAID1なので2つあるうちの1つだけでOKです。
SATAケーブルが余っていればマザボに繋げるとかしましょう。
私は以前密林で買っていたサンワサプライのSATA-USB3.0変換ケーブルを持っていたのでそいつで繋げました。
安いし電源安定化のためにコンセントから電源取れるし、あったら便利な奴だなと思います。
サンワサプライ SATA-USB3.0変換ケーブル 0.8m USB-CVIDE3
- 発売日: 2011/03/08
- メディア: Personal Computers
データ救出準備
ソフトウェアRAIDディスク管理、構築用ソフトウェアであるmdadmをインストールします。
普通にUbuntuの公式リポジトリにあるのでaptで落としてきます。
$ sudo apt install -y mdadm
私の環境ではインストールしたら自動的にHDDのRAIDが認識されたのでPDFみたいな面倒な手順は必要ありませんでした。
もしも以下の画像みたいにmd*みたいなものがそれぞれのパーティションにくっついてなければPDFの方を参考にやってみてください。
$ lsblk sde 8:64 0 2.7T 0 disk ├─sde1 8:65 0 4G 0 part │ └─md0 9:0 0 4G 0 raid1 ├─sde2 8:66 0 512M 0 part │ └─md1 9:1 0 512M 0 raid1 └─sde3 8:67 0 2.7T 0 part └─md2 9:2 0 2.7T 0 raid1
おそらく容量が一番大きいmd2にデータがあると思うのでこれをマウントします。
しかし何かマウントできない。
$ sudo mount /dev/md2 /media/raid_disk/ mount: /media/raid_disk: 未知のファイルシステムタイプ 'LVM2_member' です.
LVM2_memberとあり、これはどうやらLVMパーティションがあるから出てくるエラー表示らしい。
とりあえずLVM扱うのでlvm2パッケージをインストールします。
sudo apt install lvm2
LVM論理ボリュームを確認します。
$ sudo lvscan inactive '/dev/c/c' [2.71 TiB] inherit
inactiveであるので有効化します。
$ sudo lvchange --available y /dev/c/c
こうすればあとはマウントするだけです。
$ cd /media $ mkdir raid_disk $ sudo mount /dev/mapper/c-c /media/raid_disk/
データ救出
上の項目でマウントできたので、あとは普通のドライブと同じようにnautilusとかのファイルマネージャーで必要なデータを救出してください。
rsyncを用いたLinuxのストレージ移行 (wiki)
この記事は私が自前のwiki上で書いていた記事です。
本記事の自前wiki上での最終更新日時は2020/04/09 00:43:13なので情報が古くなっているかもしれません。
最近、主にゲームサーバとして運用するようになったkryptonサーバは、ストレージがHDDでありswapによる[?]ラグが度々起こりゲーム進行が阻害されていた。
そのうちSSDへ移行しようかと思っていたのでちょうど良い機会であるため重い腰を上げて取り組んでみた。
SSDのパーティショニングとフォーマット
これはcgdisk
により行った。
コンソールソフトウェアにしてはCUIが直感的で使いやすい。
Part. # Size Partition Type Partition Name ---------------------------------------------------------------- 1 512.0 MiB EFI System ESP 2 4.0 GiB Linux swap Swap space 3 234.0 GiB Linux filesystem Linux file system
最終的にこのような構成になった。
このkryptonサーバはUEFIなのでEFIパーティションが必須である。
フォーマットは以下の通り。
# mkfs.vfat /dev/sda1 # mkfs.ext4 /dev/sda3
swapについては後でもできるので保留
パーティションのマウント先ディレクトリの作成
ルートパーティションにあたるものは/media/mroot
EFIパーティションは/media/mroot/boot/efi
パーティションのマウント
# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 238.5G 0 disk ├─sda1 8:1 0 512M 0 ├─sda2 8:2 0 4G 0 └─sda3 8:3 0 234G 0 # mount /dev/sda3 /media/mroot # mount /dev/sda1 /media/mroot/boot/efi
rsyncによるフルコピー
# rsync -aHAXxSvP --numeric-ids /boot/efi /media/mroot/boot/efi # rsync -aAXS --info=progress2 --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /media/mroot
fstabの設定
SSDにコピーしたシステムを起動させるため/etc/fstab
の設定をする。
blkid
でUUIDを確認し、それらを/etc/fstab
の該当箇所に書き込むだけだ。
# blkid /dev/sda1: UUID="3E91-B3DE" TYPE="vfat" PARTLABEL="ESP" PARTUUID="f7a96089-de36-43b3-9e2c-c3a28fd90b05" /dev/sda2: UUID="7d7093f7-d19b-4d4c-8c85-17029018d878" TYPE="swap" PARTLABEL="Swap space" PARTUUID="2c04a23a-944a-4ad1-97fd-d98516746e47" /dev/sda3: UUID="f039c202-93b6-491e-bdd4-be488bc50431" TYPE="ext4" PARTLABEL="Linux file system" PARTUUID="d0f9227f-3785-4bf0-ad0b-55414ab46da7"
UUID=f039c202-93b6-491e-bdd4-be488bc50431 / ext4 defaults 0 0 UUID=3E91-B3DE /boot/efi vfat defaults 0 0
grubの設定
/boot/grub/grub.cfg
と/boot/efi/EFI/ubuntu/grub.cfg
の編集をする。
/boot/grub/grub.cfg
はUUIDとあからさまに書いてあるのでそのUUIDを今回の/dev/sda3に置換するだけである。
/boot/grub/grub.cfg
のUUIDを置き換えないとGrubシェルが起動してしまう(Grubシェルから起動させようとしてもinitramfsシェルでKernel Panicが起きた)
EFIパーティションの方も同様に下のような行にあるUUIDを書き換える。
search.fs_uuid f039c202-93b6-491e-bdd4-be488bc50431 root hd0,gpt2
あとは起動するだけ
swapの割り当て
# mkswap /dev/sda2 # swapon /dev/sda2
UUID=f039c202-93b6-491e-bdd4-be488bc50431 / ext4 defaults 0 0 UUID=3E91-B3DE /boot/efi vfat defaults 0 0 UUID=7d7093f7-d19b-4d4c-8c85-17029018d878 swap swap defaults 0 0
所感
*swapファイルというものがあるのでswapパーティションは別に必要なかったかなと思う。
今回は仕方なくswapパーティションのまま使った。
参考
E5823をLineageOSにする記録
手元に残っていたE5823にLineageOSをインストールすることにした。
この記事はその作業の備忘録。
まあ、ほぼXDA Developersの記事の和訳みたいになっちゃうけど、仕方ないね。
2020/07/13記述分
なんかいろいろやらかしてE5823が文鎮化したよ。
気をつけてね。
2020/07/13記述分
E5823に焼くとき使っていたイメージを別のやつにしたら文鎮から復活したよ。
やったね。
2020/08/13記述分
長い間放置してましたが、なんということかいろいろミスってしまって文鎮になってしまいました。
今度気力が出たときに動くようにしたい(願望)と思います。
TAパーティションのバックアップについて
LineageOSをインストールする前にTA Paritionをバックアップをする。
このTAパーティションだがXDA Developersによると
1)TAパーティションとは何ですか?
A)Sony Xperiaデバイスは、保証状況やDRMキーなどの貴重な情報をすべてTAパーティションに保存しています。
2)DRMキーとは何ですか?
A)このTA PartitionにはDRMキーが入っており、このDRMキーはBIONZ画像プロセッサやX-Reality Engineといった技術を有効にするものです。
と記されている。
つまりTAパーティションをバックアップしなければDRMキーが失われると、BIONZによるノイズ処理が無効になりXperiaで撮影した写真の品質が低下する。
そのためTAパーティションをバックアップするわけだが、そのためにはAndroidをダウングレードする必要がある。
ダウングレード
まずはダウングレードから始める。
TAパーティションのバックアップには"iovyroot"を用いるのだが、これはLollipop Kernelでのみしか動かない。
そのためAndroidのダウングレードをする。
ダウングレードの手順はXDA Developersによると以下の通りである。
1 Flashtoolをダウンロードしインストールする。
2 ファームウェアを以下のリンクからダウンロードする。
3 Flashtoolを起動する。
4 雷アイコンをクリック
5 Flash modeを選択
6 Lollipopファームウェアをインストールした場所を指定し選択
7 Wipe Optionですべてのオプションを選択
8 スマホをオフにする
9 Flashtoolがファイル準備をするまで待機する
10 処理が完了したら音量下げボタンを押しながらUSBでPCに接続する
11 完了するまで待機
12 完了したらデバイスを再起動する
今回この手順で行ったところ10で手こずった。
これは単純にドライバーのインストールをしてなかったからだった。
ウィンドウに表示されたエラーログはしっかり読んでおこう。
`<Flashtoolをインストールしたパス>/drivers`にあるFlashtool-drivers.exeで対応するドライバをインストールする。
ドライバインストールの途中でエラーが出たときは署名が不足して起きるエラーなので、Windowsをセーフモードにして『ドライバーの署名の強制を無効にする』を選択する。
詳しくはこちらを参照してほしい。
ドライバーをインストールし終わると、おそらく上の工程がうまく進むはず。
再起動してAndroidのバージョンがLollipopになってることを確認したら、デベロッパーモードにする。
あ、言い忘れてたけどさっきの手順はもちろんデベロッパーモードにしないとできないよ。
TAパーティションをゲットする!!
Lollipopでデベロッパッパーになったら、iovyroot使ってTAパーティションをバックアップするだけ。
なんだけど
Google Driveからダウンロードしようとすると規約違反で消されてやがるし、XDA Developerの他ページからダウンロードしようとするとウイルス扱いでChromeくんがダウンロードしてくれないです。
まあ、そりゃAndroidの脆弱性使ったコードが入ってるんだもん、そりゃウイルスとして扱って検閲するよね。
でも、今はその脆弱性使ったプログラムが必要なんだ。
ってことで別の方法探してたらどうやら前バージョンの方だとChromeくんの検閲を抜けられるらしい。
なのでこ↑こ↓の掲示板で親切な人がmediafireのリンク貼ってるのでここからダウンロードする。
あとはダウンロードしたzipを解凍して中にあるtabackup.batを実行すればTAパーティションをゲットできる。
このときなんかエラー起きたんだけど、なんやかんやしたら直ったので頑張って。
ごめん酒飲んでたせいか知らんけど記憶から抜け落ちてるんだ。
記憶から消えてるってことはそこまで重要じゃない簡単な作業っぽいのでいいよね
Bootloaderのアンロック
で、まあTAパーティションゲットできたらbootloaderのアンロックをする。
これもXDA Developersに、やり方書いてる。
1 設定>開発者向けオプションに行く
2 OEMロック解除を有効にする
3 SONYの開発者用ページに行って指示どおりにやる
4 IMEIナンバーを3のページのフォームに書いて送信、するとbootloader Unlockコードがもらえる
5 スマホの電源をオフる
6 FlashtoolのBLUをクリックする
7 音声下げボタンを押しながらUSBでPCにつなげる
8 処理が完了したらボリュームボタンから手を離し、PCから外す
9 音声上げボタンを押しながらUSBでPCにつなげる
10 ダイアログがPCの方に出てくるのでUnlockコードを入力する
11 処理が終わるのを待つ
SONYの開発者用ページは下の画像みたいになってる。
右の英文読めばある程度分かると思うけど書いておく
OEMロック解除まではすんなりできると思う。
電話アプリのダイヤル画面で*#*#7378423#*#*を入力すると何か黒い画面が出てくる。
これのService Info > COnfiguration > Rooting StatusのBootloader unlockedがYesになってればOK
このConfigurationに書いてあるIMEIをSONY開発者用ページの下にあるEnter IMEIフォームに入力すると太字で強調されたあからさまにこれを覚えとけよっていう英数字のコードが出てくるのでこれをコピペして10で出てくるダイアログでコピペする。
その後の手順はそのままやればOK
とりあえず今回はここまで続きは明日くらいに書くかも。
参考
https://wiki.lineageos.org/devices/suzuran/install
https://forum.xda-developers.com/z5-compact/general/how-to-backup-restore-ta-partition-root-t3479532
タイトル変えた
最近自分が社会不適合者だと認識しはじめた。
まあ友人からするとそんなの全く社会不適合者に入らないらしい。
うるさい、知らん。
俺がそう思うからそうなのだ。
というわけで私は社会不適合者です。
単に社会不適合者と名乗るのも面白くないので、以前ハマっていたゲームのタイトルFallout(放射性降下物)にちなんで社会性降下物とTwitter名を変えました。
というわけで社会降下物です。
たぶんそのうちもとに戻すんだろうけど、今のところはこのままで行きます。
さて、ブログのタイトルについてですが某フィリップ・K・ディックの某有名な小説のタイトルですね。中身読んだことないですが。
英訳とかつけられるなら『Do social fallouts dream of nuclear fission』とかになるのかな
以上、院試の面接近くて緊張でゲロ吐きそうになってる合間に錬成された記事でした。
面接こえーよ・・・
何について書けばいい?
時は2020年まであと107日の2019年9月16日。
あと一週間で2020年までの残り日数が2桁になってしまう今日。
このブログは爆誕した。
いや、正確に言えば復活(?)みたいな感じなんだけど爆誕でいいや。
このブログを始めた理由は特になくて、ただTwitterに書くには長すぎることとかをつらつら書こうかと思ってる。
といっても対して長い文章も作ることのできない低スペ脳だからそのうち自然消滅するかもしれない。
で、記念すべきこのブログの最初の投稿だけど。
はてさて、何について書けばいい?
じゃぁタイトル回収的なアホなことをやったところで、このブログの書き手について紹介しようか。
私はABC10946、都内の大学に通う大学生だ。
少し前まではいろんな理由あって精神不安定に陥っていたんだけど、そこをVTuberに救われてなんとか延命に成功した。
VTuber、いいよね。
昨日はホロライブっていうバーチャルアイドルのライブチケットを運良く入手したので行ってきたんだけど、本当によかった。
ホロライブはいいぞ。
特に白いキツネの女の子の白上フブキちゃんっていう娘は本当いいぞ。
精神不安定だった時期にこの娘の配信の切り取りをTwitterで見た瞬間、この娘は俺の押しになっていた。
透き通るようなソプラノ声、「かわいいかわいい」を連呼されると恥ずかしくて隠れてしまうという最高の仕草、最高ではないか。
うん、白上フブキはいいぞ、ホロライブはいいぞ。
この記事を読む奇特な方がいるかは分からないけど、最近嫌なことがあって陰鬱な気分に沈んでいる読者の皆様にホロライブをおすすめしたい。
[~~~ 賢者タイム ~~~]
ああ・・・、なんというか、うん。
暴走気味になっていたね。
で、何してたんだっけ?
あ、そうそう自己紹介だね。
かつては学生エンジニアとかいうの自称してたけど最近はプログラミング系のことからは少し距離を置くことにしてる。
少し距離置いてると言っても、アルバイトで一応プログラマーしてたりするから距離はむしろ縮まってる感じがする。
まぁ、接客業とかやろうと思うと体力なくてすぐ死ぬのでちょうどいいかもしれない。
自由に仕事入れるし結構いいところなんだけど家から遠くて通勤がつらい。
なので入れるのも週に1、2回でやっと。
もう少し家に近ければいいんだけどね。
さて、あまり詳しく書くと職場の人に捕捉されかねないのでバイトに関してはここまでとして近況について書いていく。
最近は、Blenderでいろいろ作ってレンダリングしてたりしてる。
レンダリングしたやつはTwitterに上げてるのでそれを見ていただけるといいかな。
まぁ、大した作品もないのでそんなの見る時間があるなら資格勉強するなり、エ○画像探してシ○る方がまだ有効的だと思うよ。
長続きしなさそうだし、たぶんこの記事が最初で最後の記事になると思うけど短い間よろしくお願いします。