palm84.com

革命的愛熊主義者同盟!

Easy2Boot & agFM で Ubuntu iso + persistent 設定 (.isopersist)

Google の広告

f:id:palm84:20200619111201p:plain

imgPTN(23) でもできますが、こっちはisoそのままなのでお手軽かな。Secure UEFI マルチisoブートも可能でござーる。

INDEX

about

agFM おもしろすぎー(笑)

E2B + agFM では、Ubuntu Live + persistent のやり方で casper-rw ファイル (4GiB以下) を使う方法が3つありました。(※ 従来の imgPTN 内にcasper-rw ではだめでした...)

【追記】imgPTN(23) 及び casper-rw ファイルはデフラグ(断片化解消)が必要、isoは不要

解説ページの手順をやってみただけなのです...

下記2点のisoで確認しました。スクリーンショットは UEFIブートの VMware Player 上のものですが、実機 Secure UEFI ブートでも確認しています。

  • lubuntu-20.04-desktop-amd64.iso (1.62GB)
  • ubuntu-ja-20.04-desktop-amd64.iso (2.53GB)

casper-rw ファイルの作成

※ 同じバージョンで使用中の casper-rw ファイルがあれば使えるはずです。

変更保存用の casper-rw ファイルを作成します...

lubuntu-20.04-desktop-amd64.iso の例。

  1. Easy2Bootドライブ [E2B]:\_ISO\docs\Make_Ext\Make_Ext.exe を実行
  2. ファイル名 - [ドライブ文字]:\lubuntu-20.04-desktop-amd64-rw
  3. サイズは任意
  4. Make Ext File をクリック

f:id:palm84:20200619111237p:plain
f:id:palm84:20200619111242p:plain
f:id:palm84:20200619111247p:plain

  1. 作成した (casper-rw) ファイルは [E2B] ドライブのルートへ移動
  2. isoは拡張子 .isopersist にリネーム

ファイルの配置はこうなる

/lubuntu-20.04-desktop-amd64-rw
/_ISO/LINUX/lubuntu-20.04-desktop-amd64.iso

isopersist.sh の編集

日本語 Remix 版の場合は必要ありません...

そのままだと、英語環境で起動するので日本語表示及びキーボード用のブートオプションを追記する…

  • debian-installer/language=ja keyboard-configuration/layoutcode?=jp keyboard-configuration/modelcode?=jp106
  • ファイル - agFMドライブ [E2B_PTN2]:\boot\grubfm\rules\iso\isopersist.sh
48:	linux $vmlinuz_img boot=casper persistent iso-scan/filename=$grubfm_path noprompt noeject quiet splash 
48:	linux $vmlinuz_img boot=casper persistent iso-scan/filename=$grubfm_path noprompt noeject quiet splash --- debian-installer/language=ja keyboard-configuration/layoutcode?=jp keyboard-configuration/modelcode?=jp106

スクリーンショット

問題点 - シャットダウンがうまく行かない

相性なのかバグなのかわかりませんが…処理は完了しているようですが、電源が落ちずに止まってしまいます。orz

f:id:palm84:20200619111251p:plainf:id:palm84:20200619111255p:plain

強制オフ後の再起動で agFM から halt すれば問題はないですけど...

  • .isopersist ファイルを選択

f:id:palm84:20200619111201p:plain

  • 1行メッセージの後に、GRUB2ブートメニューなしで起動します…

f:id:palm84:20200619111209p:plainf:id:palm84:20200619111216p:plainf:id:palm84:20200619111221p:plain

  • コマンドライン, マウント状態
lubuntu@lubuntu:~$ cat /proc/cmdline 
BOOT_IMAGE=(loop)/casper/vmlinuz boot=casper persistent iso-scan/filename=/_ISO/LINUX/lubuntu-20.04-desktop-amd64.isopersist noprompt noeject quiet splash debian-installer/language=ja keyboard-configuration/layoutcode?=jp keyboard-configuration/modelcode?=jp106
lubuntu@lubuntu:~$ df -h | grep /dev/sdb
/dev/sdb1        15G  7.7G  6.4G  55% /isodevice
/dev/sdb2       980M   46M  935M   5% /media/lubuntu/E2B_PTN2
ubuntu@lubuntu:~$ df -h | grep /cow
/cow            548M   64M  455M  13% /
lubuntu@lubuntu:~$ df -h | grep /isodevice
/dev/sdb1        15G  7.7G  6.4G  55% /isodevice
lubuntu@lubuntu:~$ 

etc

選択時にブートメニューを出したい

なので編集してみた。GRUB2の書式をきっちり理解してるわけじゃないので、自信なしですけど (;'∀')

  • isopersist.sh - 46行目から編集
#	set vmlinuz_img="(loop)/casper/vmlinuz*";
#	set initrd_img="(loop)/casper/initrd*";
#	linux $vmlinuz_img boot=casper persistent iso-scan/filename=$grubfm_path noprompt noeject quiet splash debian-installer/language=ja keyboard-configuration/layoutcode?=jp  keyboard-configuration/modelcode?=jp106
#	initrd $initrd_img
#	echo Booting $grubfm_name...
#	boot
#	loopback -d loop;

menuentry "Ubuntu Live with persistence" --unrestricted --class ubuntu {
	loopback loop "${grubfm_file}" 
	set root=(loop)
	set vmlinuz_img="(loop)/casper/vmlinuz*";
	set initrd_img="(loop)/casper/initrd*";
	linux $vmlinuz_img boot=casper persistent iso-scan/filename=$grubfm_path noprompt noeject quiet splash debian-installer/language=ja keyboard-configuration/layoutcode?=jp  keyboard-configuration/modelcode?=jp106
	initrd $initrd_img
	echo Booting $grubfm_name...
	boot
	loopback -d loop;
}

else
	sleep 5
fi
  • 選択メニューが出ました…

f:id:palm84:20200619135715p:plainf:id:palm84:20200619135718p:plain


ほなでござーる!