-> SereneLinux_18Q4.3.4_Beta1_Fix Serene GNU/LinuxのISOにchroot経由で"network-manager-gnome"と"mugshot"パッケージを追加しただけ。 (手順 間違ってたらゴメン。今回は最初からRootユーザーで実行した。$ sudo bash) 参考: http://linuxpitstop.com/edit-iso-files-using-mkisofs-in-linux/ https://wiki.debian.org/RepackBootableISO#What_to_do_if_no_file_.2F.disk.2Fmkisofs_exists 1.ISO+SquashFSを展開 1. 1 空のディレクトリーを作成する。$ mkdir mountISO copyISO mountSqfs copySqfs 1. 2 # mount sereneなんとか.iso mountISO 1. 3 $ cd mountISO 1. 4 mountISO/ # tar cf - . | (cd copyISO; tar xfp -) <- # cp -a でもいいのかもしれない。未確認 1. 6 mountISO/ # cd .. && umount mountISO && rmdir mountISO 1. 7 # mount copyISO/casper/filesystem.squashfs mountSqfs 1. 8 # cd mountSqfs 1. 9 mountSqfs/ # tar cf - . | (cd copySqfs; tar xfp -) 1.10 mountSqfs/ # cd .. && umount mountSqfs && rmdir mountSqfs 2.Chroot経由でのパッケージの追加 2. 1 $ apt -s install (packagename) などで依存関係含む必要なパッケージを調べる。(ネットに繋がる仮想マシンのバニラなままのSereneで実行するといい。) 2. 2 $ mkdir apttemp && cd apttemp && apt download (packagename) && cd .. で2.1で調べたパッケージを全てダウンロードする。 2. 3 # mv apttemp copySqfs/ で移動する。 2. 4 # cd copySqfs 2. 5 copySqfs/ # mount --bind /dev dev && mount --bind /proc proc && mount --bind /sys sys 2. 6 copySqfs/ # chroot . ここからChroot環境。 2. 7 copySqfs/(Chroot) # dpkg -i apttemp/*.deb インストール。 2. 8 copySqfs/(Chroot) # exit Chroot環境から戻る。 2. 9 copySqfs/ # rm -rf apttemp 2.10 copySqfs/ # umount dev proc sys && cd .. 3.SquashFS+ISOを作成 3. 1 # mksquashfs copySqfs/ patched.sfs && mv -f patched.sfs copyISO/casper/filesystem.squashfs でSquashFS作成&上書きする。 3. 2 orig_iso=(未改造ISO) new_files="$PWD"/copyISO new_iso="$PWD"/PATCHED.iso mbr_template=isohdpfx.bin のように変数を定義する。 3. 3 # dd if="$orig_iso" bs=1 count=432 of="$mbr_template" 3. 4 次のコマンドを実行する。これでISOができあがる。 xorriso -as mkisofs \ -r -J --joliet-long \ -V 'SereneLinux_18Q4.3.4_Beta1' \ -o "$new_iso" \ -isohybrid-mbr "$mbr_template" \ -partition_offset 16 \ -c isolinux/boot.cat \ -b isolinux/isolinux.bin \ -no-emul-boot -boot-load-size 4 -boot-info-table \ -eltorito-alt-boot \ -e 'boot/grub/efi.img' \ -no-emul-boot \ -boot-load-size 4672 \ -isohybrid-gpt-basdat \ -isohybrid-apm-hfsplus \ "$new_files" 3. 5 (オプション) # rm -rf copyISO/ copySqfs/ いくつかのディレクトリを削除する。 3. 6 後は仮想マシンやLive CD/USB/ISOなどで動作確認する。 4.おしまい ----- (Old command ->)3. 2 # cd copyISO && mkisofs -o ../PATCHED.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -J -R -V "Serene_PATCHED" . && cd .. でISO作成。 ----- 動作報告 モデル: TOSHIBA Dynabook Satellite B553/L ブート: BIOS/UEFI 両方テスト済み BIOSの設定(起動時にF2)でUsb Legacy Emulationを有効にすると起動する。