内容
概要
何年か前に,Slackware64に,GoogleDriveをマウントできるようにしました.x86 32bitも同じ手順でできると思います.
そのときに間を置かずにSlackware ARMでも試していたのですが,肝心なocamlのbuildに失敗したので放置していました.
今回うまく行ったので,記録しておきます.基本的には,Slackware64のときと同じ手順です.
必要なソフトのbuild
Build & installの手順は一通りしかなく,ocaml → opam → google-drive-ocamlfuseの順です.AMD64同様にsbopkgで行けるといいんですが,
sbopkg -i ocaml
解決策は,linuxquestions.orgのページを参考にしました.
パッチ当てをするには,手で必要なソフトを集めますが,Slackbuildsにリンクがまとめてあります.Source Downloadsにある,ocamlとrefman, Individual Filesのすべてを一つのディレクトリーに展開せずに置きます.Ocamlのソースは,4.03.0で,Raspberry Pi OSのソースは4.05.0なので,入れ替えてもいいかもしれません(その場合はもちろんocaml.SlackBuildのスクリプト内のバージョンを書き換えます).
次に,ocaml.SlackBuildをエディターで開いて,
--host $ARCH-slackware-linux
を,
--host $ARCH-slackware-linux-gnueabi
に書き換えます.言い換えれば,-gnueabiを追加するだけです.ここは,-gnueabihfなのかもしれませんが,よく理解してないし,-gnueabiの追加で動いたので深く追求しません.
そしたら,ocaml.SlackBuildを走らせます.不具合がなければ,/tmp内にocamlのパッケージができるので,installpkgでインストールします.
次は,opamですが,これは
sbopkg -i opam
であっさり行きます.あとでbubblewrapも必要となるので,
sbopkg -i bubblewrap
も実行します.
このあとは,opamによる作業ですが,opamはroot権限で走らせることを非推奨としているので,Google Driveをマウントしたいユーザー権限で作業を進めるという非道を行います.
作業は簡単です.質問が出ますが,すべてリターン(default値)で答えています.
opam init eval $(opam env) opam update opam install depext opam depext google-drive-ocamlfuse opam install google-drive-ocamlfuse
これらは,Qiitaの,@teamhimeHさんのページを参考にしています.depextのインストールと実行が果たして必要なのかはよくわかりませんが,動けばいいのです.今度また別のSlackware ARMにgoogle-drive-ocamlfuseをインストールする機会があったら試してみます.
たぶん失敗はしないと思います.
認証
昔,google-drive-ocamlfuseでのマウントを試したりした場合,初期値の残骸があって迷宮に迷い込むことがあるので,
cd rm -rfv .gdfuse
としときます.
さて,以降はまともなWeb browserのあるマシンから行うことになります.Slackware ARMのマシンにsshでログインしてからは,前出の@teamhimeHさんのページに習います.ただし,Slackware ARMにはFirefoxなどの気の利いたweb browserはありませんので,www-browserというスクリプトをパスの通るところに置きます.筆者の場合はログインすると,$HOME/binにパスが通るので,そこに置きました.www-browserの中身は,
#! /bin/sh echo $* > /dev/stderr
です.実行権限を付与します.
そして,いよいよ認証です.
eval $(opam env) google-drive-ocamlfuse
長ったらしいURLがコンソールに返りますので,それをFirefoxなりSafariなりに貼り付けて,認証します.
なにかうまく行かなかったら,.gdfuseを削除してやり直します.
初期化がうまく行って,実際にマウントするときは,空のディレクトリーを作っておいて,引数としてそのディレクトリーをマウントポイントとして指定します(これを時々忘れます😥).
google-drive-ocamlfuse マウントポイント
自動起動
自動起動だとどこに書くか迷います.年がら年中マウントしておく必要もないし,また,GUIじゃなくてCUIでも必要な場合もあります.
#!/bin/sh eval $(opam env) google-drive-ocamlfuse ~/GoogleDrive
という中身のスクリプトを作っておいて,必要なときに起動するということにしています.
2020年11月11日