ラズパイ4+Manjaro+SSD(USBブート)でデスクトップ

# はじめに

以前からMicroSDが壊れやすいという話があり、外部SSDからブートにしたかった。
けどなかなかUSBマスストレージ対応のEEPROMがなかなかcriticalになってくれないなぁ…と思ってたら、ラズパイダさんがトライしてたので、もういいんだろうとおもってやってみたら、案外快適になったお話。

基本[前々回](https://qiita.com/damacchi/items/25b0b751f1eea57ff04a)→[前回](https://qiita.com/damacchi/items/6d1fe66b5f82b67a30a5)を経た結果なのですが、SSDにしたことが最大の違い。

なお、MicroSDの情報を引き継ぐことは考えませんでした。昔から必要な情報は寄せてるからいつPCクラッシュしてもあまり困らない。

#ざっくりいうと

ネットの情報があればできる！（整っている）
思ったより使える！（贅沢言わなきゃ快適）
情報満載！（まぁまぁ使える情報）

#先にいうとSSDめっちゃ快適
相性、電圧とも不安でしたが、問題なし:relaxed:
むしろ稲妻でる確率減った気すらする:grinning:
何をやるにしても速度改善が感じられる。特に動画は１つ品質が上がる。
MicroSD時は720pは見るに耐えないが、ちょっと止まるが見れるぐらいまで改善する。
480pならちょっと止まるが見れるぐらいなのが、もう普通に。
自動判定でもMicroSD時は360pになることが多かったけど、480pになった。

#準備
MicroSDにやるなら
https://www.raspberrypi.org/downloads/
これ一択ですが、今回はSSDブートにするので、前々回のようにダウンロードしたイメージファイルはbalenaEtcherを使ってSSDに書き込みました。

で、つかったSSDですが…
![IMG202009131802261.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/219000/ad5459a9-58d4-f2a2-1a51-f054f39f528a.jpeg)

これ。
https://www.amazon.co.jp/dp/B085RXRM8X/ref=emc_b_5_t
の60GBのもの。（2020/09/13時点で売り切れてるみたいですけど）
「あまり大きい容量のを選ぶと電力使う」というネット情報があったので不安におもったのと、お財布事情ですね。

#EEPROMの更新
ずっと4月からアップデートされなかったので、今回は
/etc/default/rpi-eeprom-update
のファイルの一部を書き換えました。

```bash:/etc/default/rpi-eeprom-update
FIRMWARE_RELEASE_STATUS="stable"
```
もともとは
FIRMWARE_RELEASE_STATUS="critical"
なので、
/lib/firmware/raspberrypi/bootloader/critical
にある
pieeprom-2020-04-16.bin
が最新扱いになりますが、
/lib/firmware/raspberrypi/bootloader/stable
には
pieeprom-2020-07-31.bin
があるので、こいつにします。

https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2711_bootloader_config.md
に説明があるのですが、なまじpieeprom-2020-07-31.binがあるので逆に悩んでしまう。

```
# コンフィグレーションファイルを作る
rpi-eeprom-config pieeprom.bin > bootconf.txt

# 作ったコンフィグレーションファイルをテキストエディタで開く
nano bootconf.txt

#いくつか確認しておきましょう
BOOT_UART=1　になってますか？
BOOT_ORDER=0xf41 になってますか？（SD→USBマスメディアの順にブートトライしてくれる）

#保存しましょう

#コンフィグレーションファイルを反映させましょう
rpi-eeprom-config --out pieeprom-new.bin --config bootconf.txt pieeprom.bin

#作ったbinファイルを反映しましょう
sudo rpi-eeprom-update -d -f ./pieeprom-new.bin
sudo reboot
```

さあMicroSDを抜いて、SSDだけにしてみましょう。
思った以上にあっさりとSSDでブートできて、いつもと同じ。なので書いていることもいつものと同じ。

###OSの起動はあっさりできる
初期で聞かれるのは
ユーザ名、グループ（空白のままでいい）パスワード、フルネーム、ルートのパスワード
タイムゾーンとロケール
で再起動
すると、もうログインできる

###ともあれまずwifiにつなげましょ。
rasbianだと途中で接続する画面が出てきたと思いますが、Manjaroはそういうのなし。
ただ、起動すると右下のほうに出てるから、そこから接続すればOK。
ここで接続しておかないとアプリが入れられない。

###せめて文字は読めるようにしたいよね
最初日本語が化けってますがフォントさえ入れば、日本語表示されます。

```
sudo pacman -S noto-fonts-cjk
```

#Manjaro、その先へ
調べてググるにしても日本語入力できたほうがいいので、そうしましょう。
今回は[ここ](https://bigmoro.cocolog-nifty.com/blog/2020/01/post-2187e1.html)を参考にしました。

```
sudo pacman -S fcitx-mozc
sudo pacman -S fcitx-im fcitx-configtool
```

nano ~/.xprofile　※新規作成

```
export LANG="ja_JP.UTF-8"
export XMODIFIERS="@im=fcitx"
export XMODIFIER="@im=fcitx"
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export DefaultIMModule=fcitx
```

nano ~/.bashrc　※以下３行追記

```
export GTK_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export QT_IM_MODULE=fcitx
```

2020/09のときはfcitx5にトライしてみましたが、うまくいかなかった。

#いぇいyay

yayはパッケージにあります。普通に入りました。
AURの中にaarch64指定がないやつがあるのでそんなときにはyay経由で登録。

#bluetooth使う
ワイヤレスキーボードとトラックボールがあるので接続してみました。
ここは前と同じ。

```
sudo systemctl enable bluetooth
sudo vi /etc/bluetooth/main.conf
```

```
[Policy]
AutoEnable=true
```

ちなみにAutoEnableは頭大文字なのに、値はtrueと小文字にしないとだめ。

#さらにその先自分PCへ

####GPUメモリを増やす
気休めかもしれないが、4GBも積んでるんだから512MBにしてもいいよね？
https://www.raspberrypi.org/documentation/configuration/config-txt/memory.md
によれば

```bash:/boot/confing.txt
（前略）
gpu_mem=512
（後略）
```

なお、調子に乗って1024MBに設定したらOSが起動しなくなりました。
8GB版なら設定できるのかな？

###chrome、特にchromeのアプリ（GoogleKeep, Join とか）が使えるか？
引き続き使えます。join by joaoappsが普通に使えました。Oppo Reno Aくんともよろしく連携できてます。
ブラウザの初期画面のアプリに入っているgoogleカレンダーはなぜか表示だけでしたが、[googleカレンダー](https://calendar.google.com/calendar/r?sf=true)で問題なく使えるようになりました。リンクをお気に入りにでも入れとけば解決！
楽天、AWS、flier、audiobookいずれも問題なく使えました。

####Chromiumで「ログインのキーリングのロック解除」画面を消す
KDEの今回は最初から出てきませんでしたね…

###zulucrypt
前回はパッケージマネージャから導入しました。今回はyayコマンドで。
相変わらずアーキテクトにaarch64が入ってません。
まぁどっちでも。

###rcloneはパッケージマネージャから導入
今回は最新になってたので普通にAURから導入しました。
以前の苦労がなんだったのか…
→2020/08には公式リポジトリにも入りました。ますますお手軽ですね。

rclone mountについても試してみました。
まず、この機能を使うためには追加パッケージが必要。
fuse2
なのだが、なぜかこれが見えたり見えなかったり。
明示的に指定しましょう。
で、その後であれば
rclone-browzerでmount
コマンドrclone --vfs-cache-mode writes mount gdrive: ~/remote/　でマウント
どっちもできました。

でも、dropboxのときのような使い勝手ではない。
保存するアクションをする都度、アップロードが開始されて、アップロードが完了するまでは処理ができない。
自分の使い方だと
テキストを編集するときにこまめにsaveする人なのだが、そのsaveごとにアップロードするものだから
いちいち編集がとまるのでストレスが溜まった。よって、mountによる作業はしないことにした。
どっちかというとsyncのほうが希望に近いのだが、それをオートマチックにしてほしいんだけどねぇ


###youtubeが使えるか？
chromiumでいいんじゃないかと思っていたりします。
必要があれば一旦ダウンロードするという手もありますし。

なお、音だけなら

```bash:command
mpv https://www.youtube.com/watch?v=Dx5qFachd3A --no-video &
```

とすれば、mps-youtubeなしでも音は聞ける。

###Officeが使えるか？
引き続きlibreOfficeにお世話になります。

###ラジオ（らじる、radiko）は？
[Rfriends2](http://rfriends.hatenablog.com/entry/radiko_radiru_Linux)を引き続き利用。
まめにバージョンアップされていることに感謝。
以前はarch用コマンドもあった気がしますが、なかったような。
phpとatだけ追加すれば動くと思います。まぁ動作させてみて足りないパッケージがあればその後導入してもいいでしょう。

###動画が取れて加工できるか
動画は[SimpleScreenRecoder](https://www.maartenbaert.be/simplescreenrecorder/)をパッケージで導入でOK。
結合は

```text
file /path/to/fileA.mp4
file /path/to/fileB.mp4
```

```bash
ffmpeg -f concat -i mylist.txt -c copy output.mp4
```

###その他
　PDFは標準のがありますのでそれを使おうかな。

　internet radioは[Radio Tray](http://radiotray.sourceforge.net/)をつかうつもり。
  個人メモ
　　[https://www.internet-radio.com/](https://www.internet-radio.com/)でm3uファイルをダウンロード→URL試す→うまく行かないこともある

#ファイアウォール
Linuxの場合iptables(ip6tables)が標準的らしい。
[wikiのファイアウォール設定](https://wiki.archlinuxjp.org/index.php/%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%81%AA%E3%82%B9%E3%83%86%E3%83%BC%E3%83%88%E3%83%95%E3%83%AB%E3%83%95%E3%82%A1%E3%82%A4%E3%82%A2%E3%82%A6%E3%82%A9%E3%83%BC%E3%83%AB)
を見ながらも/etc/iptables/にsimple.firewall.rulesがあるのでそれをつかう。

```
sudo cp /etc/iptables/simple.firewall.rules /etc/iptables/iptables.rules
systemctl enable iptables

sudo cp /etc/iptables/simple.firewall.rules /etc/iptables/ip6tables.rules
systemctl enable ip6tables
```

#リンク
とりあえず前のやつ→https://qiita.com/damacchi/items/25b0b751f1eea57ff04a
https://bigmoro.cocolog-nifty.com/blog/2020/04/post-1cb9e4.html

#コマンド
温度はかる

```bash:command
cat /sys/class/thermal/thermal_zone0/temp
```

バージョンを確認する

```bash:command
cat /etc/lsb-release
```
#パッケージのアップデートではまったら

```
 /usr/lib/p11-kit-trust.so は既にファイルシステムに存在します
```

で、一気にアップデートしたからかな？とか思って、ちょこちょこやっていたらそもそもブートしなくなった。
もうどうなってんの？
とおもったら、[ここ](https://bigmoro.cocolog-nifty.com/blog/2020/01/post-2187e1.html)に解決策が。

```
sudo pacman -Syu --overwrite /usr/lib*/p11-kit-trust.so
```

前回はまったからね。情報を残しておく。


#最後に


ではでは。

--
更新履歴
2020/09/13 初期登録