Program List : mkuusb

基本的にはこのプログラムは“UbuntuでカスタムライブDVDを作る”で紹介したカスタムDVDを作成するmkudvdを呼び出して、その結果のファイルをUSBに書き込んでいる。
前提条件として、

  • mkudvdと同じ環境を使う
    • /livedvdを作業ディレクトリとして使う
    • /livedvd/live_dvd_files にカスタムDVDのファイルがある
  • /livedvd/usb にUSBディスクがマウントされている

とした。

/livedvd/live_dvd_filesに“CUSTOM”というファイルあれば既にmkudvdがファイルを作成しているので、その中から“casper”のディレクトリだけUSBへコピーする。もしCUSTOMが見当たらなければmkudvdを起動する。

ついで、メニュー選択の時間を30秒から5秒に変更した。

#! /bin/bash

# Custom Ubuntu Live USB maker
# mkudvd Ver 0.01 (2009/02/05)
# Copyright (C) 2009 Adsaria

# This program is free software; you can redistribute it and/or modify it.
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY.

DEBUG=

if [ ${DEBUG} ]; then set -x; fi

################################################################################
# Parameter Settings

WORKING_DIR=/livedvd

DVD_FILES="${WORKING_DIR}/live_dvd_files"

USB_MNT="${WORKING_DIR}/usb"

################################################################################
# Check base files

rm -rf "${USB_MNT}/CUSTOM"

if [ ! -f "${DVD_FILES}/CUSTOM" ]; then
        bash ./mkudvd.sh
fi

################################################################################
echo "Copying files to USB"

sed -i \
        -e 's/^timeout .*$/timeout 50/' \
        "${USB_MNT}/syslinux/syslinux.cfg"

cp -fr "${DVD_FILES}/casper/" "${USB_MNT}/"

touch "${USB_MNT}/CUSTOM"

################################################################################
echo "Making md5 check file"

(
        cd "${USB_MNT}"
        rm -f md5sum.txt
        find . -xdev -path ./syslinux -prune -o -type f -print0 \
                | xargs -0 md5sum \
                | sort -k 2 > ../md5sum.txt
        mv ../md5sum.txt .
)

################################################################################
echo "Done."

exit 0