Raspberry Piで暮らせるか (7) webアプリは使える

Webブラウザで動かす,ワープロやスプレッドシートです.まあ,使えないことはないといった感じです.

日常的に使用しているのは,Googleスプレッドシートです.ちょっとした大きな表の読み込みや,スクロールは,けっこう時間がかかります.

今日は試しにiCloudのPagesを使用してみました.かなり長い日記のような文書ですが,やはり読み込みとスクロールに時間がかかります.文章の編集,スタイル割り当て,写真の貼り込み(リサイズ・位置合わせ)はできます.

最新のRasbperry Pi OSのもと,Chromiumでの利用です.

総じて,Core i7のMac miniと比較してしまうと,レスポンスは雲泥の差ではありますが,使えなくはないとの冒頭に記した評価となります.

Raspberry Piで暮らせるか (5) DOSエミュレーター

ちょっと特異な方向に進んできましたが,どうしてもひとつだけ動かしたいDOSのプログラムがあります.無線クラブのお仲間が開発・メンテしているアマチュア無線の交信記録用ソフト(ログソフト)です.話せば長くなるので端折りますが,ログソフトは,GUIでなくて,CUIのほうが効率がいいし,データ構造が解りやすいので長年愛用しています.

いわゆるDOS/V仕様のマシンないしエミュレーターがあれば動作します.もちろんWindowsのDOS窓が一般的には手軽ですが,スタンドアロンのWindows機を持たないので,いろいろ工夫して使ってきました.

むか〜しは,Linuxマシン(Slackware)に,dosemuという,その名の通りのDOS emulatorをインストールして使用していました.その後,いつの頃からかMacintoshにVMWare Fusionをインストールして,Windowsの仮想マシンを走らせて,その中のDOS窓で動かすという使用形態が長く続き,その形で今日に至っています.

さて,このDOSプログラムを動かすのもRaspberry Piでなんとかなるか.ざっと調べたところいくつかDOS用のエミュレーターはあるようです.一番手軽そうなDOSBoxというのをインストールしてみましたが,FreeDOSも,残してあったIBM DOSもブートしてくれないので,深くはまる前に撤収です.

二番目の候補は,QEMUです.QEMUはSlackware x86 32bit時代から現在のSlackware64 (AMD64)まで,現用しているので,こちらのほうがとっつきやすかったかなということで,インストールしてみました.システムはいろいろ複雑ですが😥

まだ,インストールしたばかりで,これから,起動用のイメージファイルを作ってなんだかんだやってみます.

イメージファイルなしで,Linuxのファイルシステムの適当なディレクトリーをドライブに割り当ててブートできたdosemuは柔軟性があってよかったなとつくづく思いますが,CPUのエミュレーションはしてくれないのでRaspberry Piでは使えません.

あるにはあるけど,常用してないのです.

Raspberry Piで暮らせるか (4) HDDはブートせず

予備の1TBのHDDに試しに,SSDと同じようにパーティションを施し,内容をコピーして,Raspberry Pi 4 mode Bにつないで起動させようとしましたが,ブートしませんでした.

HDDに供給するUSB経由の電源容量不足かもしれません.だとすると,セルフパワーのUSB HUBを介してHDDをつなげは起動する可能性はありますが,既にその段階で実用性が損なわれるのでやめときます.

Chromiumのbuildは手強い

alienさんのディレクトリーに,ChromiumのSlackBuildスクリプトやパッチ一式があります.そこで,Google-Drive-OCamlFuseをSlackware ARMで動かした余勢をかって,buildに挑戦しました.

とりあえず,chromium.SlackBuildスクリプトを走らせたら,なんかエラーが出たので,エラーメッセージを手がかりに,Google-Drive-OCamlFuseのときと同様に,-gnueabihfを付けたら,そこは通りました.

--- chromium.SlackBuild-org 2020-11-12 12:55:07.023680300 +0900
+++ chromium.SlackBuild 2020-11-12 12:55:54.442478873 +0900
@@ -893,9 +893,9 @@
   # Take care of Debian/Ubuntu related linker issues:
   echo "/usr/lib/${SYSROOT_TARGET}-linux-gnu/nss" >> \
-    build/linux/${SYSROOTDIR}/etc/ld.so.conf.d/${SYSROOT_TARGET}-linux-gnu.conf
+    build/linux/${SYSROOTDIR}/etc/ld.so.conf.d/${SYSROOT_TARGET}-linux-gnueabihf.conf
   ln -s libsqlite3.so.0 \
-    build/linux/${SYSROOTDIR}/usr/lib/${SYSROOT_TARGET}-linux-gnu/libsqlite3.so
+    build/linux/${SYSROOTDIR}/usr/lib/${SYSROOT_TARGET}-linux-gnueabihf/libsqlite3.so
 fi
 --- Compile ---

しかし,その後,config-third-party-ffmpegとやらで,エラーが出てしまい,手がかりがないのでお手上げです.

しばらくこのまま放置します.

2020年11月13日(金): diffの内容が,ちゃんとペーストできていなかったので手で修正しました.

Google-Drive-OCamlFuseのときは,gnueabiにしましたが,やはりgnueabihfが正しかったのかも知れません.

Raspberry Piで暮らせるか (3) SSDで解決

プチフリーズ的な問題は,SDカードをルートドライブにしているからに違いないと解っていたので,SSDに替えることにしました.

もともと32GBのSDカードで動かしていたので,128GBもあればいいのですが,今SSDが値崩れ状態のようで,960GBで,USB3.0エンクロージャーに入ったものが,1万円しないので,大きすぎな嫌いはありますが,先々の使い回しもできるので購入しました.

今日(2020年11月10日)届いたので,早速セットアップしました.すでにブートローダーがUSBドライブ起動に対応しているので,最初のmsdos(vfat)のパーティションにSDカードの最初のパーティションを,残る適当なパーティションをLinux(ext4)にして,残るSDカードのLinux部分をコピーということで大体作業は終わりです.

ターゲットマシンをSDカードでブートさせて,その上でコピーもできますが,/devなど,生きているときと死んでいるときで中身が違うのがありますから,別のLinuxマシンにSDカードとSSDをマウントして,rsyncなどでコピーするほうが楽です.

コピーした内容のうち,2つのファイルだけ変更しなければなりません./etc/fstabと,/boot/cmdline.txtです.今回どちらも,/dev/sdaなんとかでなく,UUIDを入れてみました.blkidで表示される長ったらしいやつです.

SSDをつなぎ,SDカードを差し込まないで,あとは,無事起動することを祈って電源を入れたらあっさり起動しました.

ほとんど問題なく使えます.プチフリーズ的なことは一切起きません.ただ,今どきのパソコンに比べれば,同等とまでは言えず,ほんの少し遅いノートパソコンくらいかなという感じです.しばらく様子を見てみたいと思います.

Slackware ARMが走るサーバー(左: Raspberry Pi 4 Model B RAM 4GB)と今回購入したRaspberry Pi OSの走るWS (同8GB).撮影のため無理やり寄せています😥