raspberryPiで利用できるマルチブートの環境として、PINN(PINN IsNotNoobs)とBerrybootなどが知られている。
PINNでカスタムOSを利用する手順のリンク。
結構煩雑な手順を踏む必要がある。
PINN用のカスタムOS設定に必要なファイル
https://sourceforge.net/projects/pinn/files/
BerryBoot用に設定されたOSイメージのダウンロードリンク
https://sourceforge.net/projects/berryboot/files/
PINNよりも公開されているカスタムOSの種類が多く、さらに導入手順も比較的容易。実際に試してみたところ、swapをONにする設定ができない模様。
その後の調査でBerryBootのファイルシステムはoverlayとなっていてることがswapを設定できない原因らしい。最近のRaspberry OSでは、swapの設定を/sbin/dphys-swapfileのスクリプトで実行しているが、こんな記事を発見。
[Solved] With overlay of root, swap does not work
解決方法として:
〇dphys-swapfileを利用しない。
〇swapとしてファイルではなく、(overlayとは別の?)デバイスを指定する必要があると理解。
次のように、SSDのパーティションにswap用に4GBを割り当ててみました。
evice Boot Start End Sectors Size Id Type
/dev/sda1 2048 262143 260096 127M e W95 FAT16 (LBA)
/dev/sda2 47955968 468860927 420904960 200.7G 83 Linux
/dev/sda3 39567360 47955967 8388608 4G 82 Linux swap / Solaris
swapファイルの指定は、昔ながらの(?)/etc/fstabに記述します。
/dev/sda3 swap swap defaults 0 0
その結果、4GBのswap領域を確保することができた。
$ free
total used free shared buff/cache available
Mem: 3798908 307284 579676 47612 2911948 3366744
Swap: 4194300 0 4194300
BerryBootでインストールした複数のOS毎に、以上のようにswap設定を変更することで、目的を達成!