ラズパイ4用のdocker image(linux/arm/v7対応)
tag: raspberrypi4
ラズパイOS(Raspbian)は過去との互換性を保つためarmの32bitのlittle endian。
Docker Hub とか Git Lab に任せてdockerイメージビルドしてると、x86-64用のバイナリになってしまう。
linux/arm/v7 用のdocker imageを作るには、ローカルマシン(RaspBerryPi4)でビルドしてdocker pushすることになるのかな。
オレwikiはopenjdk11/tomcat9が動けばいいので、FROMをdebianにしてopenjdk11/tomcat9をapt install と書いておくと Dockerfile は x86-64 と linux/arm/v7 で同じもので 両アーキテクチャ対応ができる、はず。
Docker社も異なるアーキテクチャをサポートすると宣言しているが、Docker 19.03.5 だとまだcross docker build はベータ版のようだ。
ちなみに、jupyter/minimal-notebook は linux/arm/v7 版があり、RaspBerryPi4からdocker pull できる。
128GB micro SD card 到着。 Transcend microSDカード 128GB UHS-I U3 Class10 Nintendo Switch 動作確認済 5年保証 TS128GUSD300S-AE【Amazon.co.jp限定】 のヤツ。
tag: raspberrypi4
郵便受けに放り込まれてたwww自宅で待ってても来ないわけだwww待ちぼうけしてたわwww
micro SD card だと郵便ポストに余裕で入るサイズだからなぁ...。
さて、フォーマット。
32GBを超えるサイズのmicro SD cardを使う場合は、SD規格に従えばexFATにしないといけないのだが、現在のNOOBSのbootloaderはFAT16かFAT32しか対応してないので、FAT32で大容量SD cardをフォーマットできる特別なフォーマットツールを使え、という話のようだ。
公式で紹介しているツールは以下。
FAT32 Format ( guiformat.exe ) を実行すると、
Failed to open device GetLastError()=32 プロセスはファイルにアクセスできません。別のプロセスが使用中です。
というエラーになってフォーマット開始できない。
エクスプローラを含め、他のウィンドウを全部終了して、Windowsキー + R で guiformat.exe を直接指定して実行するとフォーマット開始できた。
フォーマットには大体1.1時間くらいかかるかな。
...。
59,791bytes
フォーマットが終わったら、NOOBSのzipをフォーマットしたmicro SD cardのルートディレクトリに展開してコピーする。ここは公式手順を参照。
パーティションをRaspBerryPi用にリサイズしたりするのはNOOBS側がやってくれる模様。
pi@raspi4:~ $ sudo fdisk -l Disk /dev/mmcblk0: 112.8 GiB, 121068584960 bytes, 236462080 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x000622ef Device Boot Start End Sectors Size Id Type /dev/mmcblk0p1 32768 5017578 4984811 2.4G e W95 FAT16 (LBA) /dev/mmcblk0p2 5017579 236462079 231444501 110.4G 5 Extended /dev/mmcblk0p5 5021696 5087229 65534 32M 83 Linux /dev/mmcblk0p6 5087232 5611517 524286 256M c W95 FAT32 (LBA) /dev/mmcblk0p7 5611520 236462079 230850560 110.1G 83 Linux pi@raspi4:~ $
ディスクの書き込みがやたら高速になったな...。前の16GBのヤツがダメなのか。
これならおうちサーバいける予感。
ラズパイ4、空きディスク容量が2.5GBになる
tag: raspberrypi4
dockerとか入れて遊んでたらディスクがマッハでなくなった。
やはり16GB micro SDじゃダメか。
ちなみに、千石電商のスターターキットのパーティション構成は以下だった。
root@raspi4:/boot# fdisk -l Disk /dev/mmcblk0: 14.4 GiB, 15502147584 bytes, 30277632 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x0006f568 Device Boot Start End Sectors Size Id Type /dev/mmcblk0p1 8192 5017578 5009387 2.4G e W95 FAT16 (LBA /dev/mmcblk0p2 5017579 30277631 25260053 12G 5 Extended /dev/mmcblk0p5 5021696 5087229 65534 32M 83 Linux /dev/mmcblk0p6 5087232 5611517 524286 256M c W95 FAT32 (LBA /dev/mmcblk0p7 5611520 30277631 24666112 11.8G 83 Linux root@raspi4:/boot#
そんなわけで、128GB micro SD (1999円)をポチった。
順番が前後した気がするが、フォーマットとOSインストールから始めよう。
tag: raspberrypi4
アマゾンからモバイルディスプレイ到着。
いやー。15インチはデカイわw 一定の存在感はある。フォトフレームとは比較にならない。iPad Pro 10.5インチとも比較にならない。
(そりゃ固定ディスプレイよりは小さいけども。)
飛行機手荷物持ち込み可能トランク(30リットルくらい)の中に余裕で入るサイズではあるから、ギリギリモバイルと言える。たぶん。
でもコレだと持ち歩くならやっぱり屋内の部屋の間かなー。
ホテルまで21インチモニタを担いで行っているというPC Watchのライターの人マジ尊敬。
ちと電源を入れてみたが、「(映像)信号が入力されていません」という表示。
というわけで、ウチのRasberry Pi 4 Model B はのっけから暗礁に乗り上げましたww
Rasberry Pi 4 画面が真っ黒な場合の対処
tag: raspberrypi4
ケースが合ってない場合、電源ラインの USB Type-C とか、micro HDMI の差し込みが甘くなるので。 とりあえず裸で使う。
RECOVERY : 画面が真黒の場合には、EEPROMが壊れているかもしれない。 これを確認するには、RasPi4からMicro SDカードを抜いて、電源供給用のUSB Type-Cだけ接続する。 緑のLEDが点滅しない場合には、EEPROMを再プログラムする必要がある。
EEPROMを再プログラムするには、上のダウンロードからbootloaderのzipをダウンロードする。 FATフォーマットしたMicro SDにZIPファイルを置いてMicro SDをRasPiに装着。 Rasberry Pi 4 の電源を入れて緑のLEDが高速で点滅するのを待つ。
ウチの場合は、どっちが効いたのかよくわからんけど、ここまで試した時点でNOOBSのインストール画面表示が出るようになった。
千石電商のスターターキットの場合、16GBのmicro SDの中にはNOOBSが展開済みで入っているので、そのままインストールを実施。
p.s.
自分でインストールメディアを作る場合は以下。 12/01現在、sdcard.orgはwebサイトが消滅していて、Windows用のフォーマッタ(SDCardFormatterv5_WinEN.zip)が手に入らない。 web archiveを取っていた人がいたらしく、そこからダウンロードする。
NOOBSのダウンロード元は以下。2.45GBくらい。
Rasberry Pi 4
tag: raspberrypi4
RS(アールエスコンポーネンツ株式会社)は元々は電子部品の販売屋さんらしい。 日本ではRasberryPiの正規代理店で日本の技適通したのもここらしい。
個人向け小売りじゃなくてガチなので、最小購入数が96個からになってる項目(専用ケース)もあるので注意ww 1個売りのヤツもあるんだけど。
OSはRaspbian。Debian の Busterベースらしい。他にも色々インストールはできる模様。
んで、上のRSサイトでポチってみたんだけど、「エラーが発生しました。入力した内容を今一度ご確認ください」と表示されて進まなくなった。 どこが悪いんだか全くわからんww
やはり秋葉原の千石電商あたりで個人向け小売りを買うしかないようだ。
Raspberry Pi 4 Model B 購入
tag: raspberrypi4
秋葉原の千石電商に行って買ってきたw
激安スターターキット(11000円)とかいうのが売られてたので適当にソレを選択。
ラズパイ4専用ヒートシンク、小型ディスプレイは売り切れてた。
ラズパイ売り場にはラズパイ用の謎のカメラ(5070円)とか、 RTC(時計部品。RasPiはRTCを内蔵してない。OS起動後ネットにつないで現在時刻を初期化する)とか、 変な拡張部品が並んでて楽しそうではあるww (使う用途は無いけどカメラ購入w)
しばらく千石電商に通い詰めるか。
さて、接続先のディスプレイが無いのが困ったゾ。
Amazonで検索すると15インチのIO-DATAのモバイルディスプレイ(LCD-MF161XP)(28,818円)がヒットしたのでポチっておく。
モバイルディスプレイと言うと、PC Watchの変な記者(21インチモニタを取材先のホテルまで持ち歩いている強者)を思い浮かべるけど、 この手のサブディスプレイは時と場合によっては便利かもしれん。
本当はiPadにHDMI入力があれば神のアイテムになるんだけどなー。さすがに一般的じゃないか...。 (ソフト的にiPadをPCとかMacのサブディスプレイにするアプリはあった気がする)
アキバヨドバシで変なキーボード(3E NEO)購入。6900円。
3E NEO。 Bluetooth接続の観音開き3つ折りキーボード。英語配列。 (機種によってはUSB有線接続キーボードにもなるらしいが、まだ試してない。)
本体がアルミ製で剛性が高い。開け閉めした時の感触が良いねコレ。
ここまでは変なキーボードではないんだけど。
なぜかウルトラマンとコラボしてて、 キーボードの前面(スペースバーやEnter, Shift)にウルトラマンとか書いてあるタイプも売られていた。 一体誰が買うのか...。
なお、これ系統のバリエーションには、ウルトラセブンとか科学特捜隊とかウルトラ警備隊とかあって気絶しそうになったwww
本気でワケがわからねぇwww
分散合意アルゴリズム Raft
tag: raft
Raftの考え方について。
Redis, etcd, Consul, Influxdb など、最近のKVS, RDBは、クラスタを組む時に3ノード必要と書いてあるものが多いが、 内部的には Raftの考え方で実装しているからだろう。
裏取り
mariadbを除いて、Raft Algolitmの文字が見えるので、最近の分散型KVSとかDBはRaftベースで作られているようだ。
mariadbとかmysqlとかmongodbとか、昔からあるKV/RDBは独自にミラーリングとかクラスタリングを実装してる感じやね。
ちと遊び用にインスタンス建てようと思って作成してみたらamazon lightsail (VPS) のOS選択増えてた
99,704bytes
FreeBSD 12 とかもあるのね。
helm 3.0 , Gradle 6.0 まとめて来たww
オレwikiのコンパイル事情がマッハでピンチぁぁぁ
Gradle 6だと、grettyによるTomcat Webアプリの自動起動ができなくて面倒くさくなった...。
回避方法が出てこないので、Gradleでビルドだけして、Dockerでtomcat上げてwarファイルをコピーするとか意味わからんことをしている。
helm 3.0はtillerサーバが無くなって純粋なコマンドラインツールになった。このツールの場合はそっちの方が良いと思う。 細かいコマンドラインオプションがちょっと違うので、ちまちま対応。
mobaXterm というのが凄いらしい
ssh端末ソフトに X Window System サーバ機能が合体した mobaXterm というものがあるらしい。
各地で好評な様子なので、後でインストールしてみよう。
プライムニュース 日韓国会議員が生出演
登場してるメンツが非常に珍しい。超レア。このメンツがテレビで揃うとかあるのかレベル。
話の内容は完全な平行線でワロタw
額賀さん河村さんってどんな人なんだろうと思ってたけど、動画で見ると新聞記事とはちょっと印象が違う。
河村さんは小渕恵三さん系列なのね。
Git for Windows の bash で pacman を使う
tag: pacman, msys2, git-for-windows
Git for Windows SDK から pacman に関連するファイルだけを取り出して使う。
元記事にもあるけど、かなり荒っぽい方法w
以下の手順では、強制的に依存関係を持つファイルをインストールさせるために、pacmanのインストール済みパッケージ記録を消している。 なので、pacmanの管理上のインストール済みファイルと一致しなくなっているので、オプション --overwrite '*' をつけてとにかくインストールさせる。
pacmanでopensshとかインストールすると、たぶん vagrant ssh が動かなくなるという危険技だ
# Git SDKをclone。かなり大きい。 git clone --depth=1 https://github.com/git-for-windows/git-sdk-64 # 以下の操作は管理者権限で起動した git bash で実施 # Git SDKからpacman関連のファイルをコピー cp git-sdk-64/usr/bin/pacman* /usr/bin/ cp -a git-sdk-64/etc/pacman.* /etc/ # /var/lib/pacman/localには、インストール済みのパッケージ情報が入っている。 # git-sdkからそのままコピーすると、git-sdkではインストール済みだったパッケージの # インストールがスキップされるので、空とする。 /bin/rm -rf /var/lib/pacman/local mkdir -p /var/lib/pacman/local cp -a git-sdk-64/var/lib/pacman/sync /var/lib/packman cp -a git-sdk-64/usr/share/makepkg/util* /usr/share/makepkg/ pacman --database --check curl -L https://raw.githubusercontent.com/git-for-windows/build-extra/master/git-for-windows-keyring/git-for-windows.gpg | pacman-key --add - && pacman-key --lsign-key 1A9F3986 # treeコマンドのインストール pacman -S --noconfirm --overwrite '*' tree # マニュアルのインストール pacman -S --noconfirm --overwrite '*' man-db man-pages-posix libpipeline pacman gdbm libgdbm gettext # emacsのインストール pacman -S --noconfirm --overwrite '*' make icu gcc gcc-libs emacs
まぁここまでの危険技を使うなら、以下の記事みたいにMSYS2そのものをインストールして、pacmanでgitコマンドを入れた方がいいような気がしないでもない。
fetchmail 6.4以降、STARTTLS接続がデフォルトになった
tag: freebsd, fetchmail
STARTTLSに成功しないと接続をあきらめる動作がデフォルトになった模様。
今まで通りの動作をさせるなら、 --sslproto '' とコマンドラインオプションに追加する。
old day diaries...