がんばって英語で書くブログ
英語勉強中なので、ブログも英語で書こうかと。
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Damn Small Linux
do you know Damn Small Linux(DSL)?

this is very small linux distribution :-)

iso image size is 50M.

DSL has useful applications.

but DSL can't use Japanese :-(

this is my dsl hack memo.

1: create disk image
$ dd if=/dev/zero of=hda.img base=1M count=256
$ mke2fs -j hda.img

2: copy /KNOPPIX directory
$ sudo qemu -cdrom dsl-2.0.iso -hda hda.img -boot d

this process is doing on the dsl on the qemu.
# sudo su -
# mount /dev/hda /mnt
# mkdir /mnt/source
# cp -dpR /KNOPPIX /mnt/source/.
# umount /mnt

3: copy master directory
$ sudo mount dsl-2.0.iso /mnt -o loop
$ rsync -a --exclude "/KNOPPIX/KNOPPIX" /mnt/ master/
$ umount /mnt

4: build
I wrote simple script.

-------------------------------------------------------
#!/bin/sh

set -x

MOUNT=""
RR_HIDE=""
VOLID="dsl hack"
PREPARER="dsl hack"
VERSION="dsl-hack"

build_master() {

mkisofs -R -U -V \\""$VOLID"\\" -P \\""$PREPARER"\\" $RR_HIDE \\
-cache-inodes -no-bak -pad /mnt/source/KNOPPIX | \\
nice -5 /mnt/source/KNOPPIX/usr/bin/create_compressed_fs - 65536 > master/KNOPPIX/KNOPPIX || true
}

check_md5() {
rm -f master/KNOPPIX/md5sums || trhe

find master/ -type f -not -name md5sums -not -name boot.cat -exec md5sum {} \; >> master/KNOPPIX/md5sums || true

}

make_iso() {
mkisofs -pad -l -r -J -v -V \\""KNOPPIX"\\" -no-emul-boot -boot-load-size 4 \\
-boot-info-table -b boot/isolinux/isolinux.bin \\
-c boot/isolinux/boot.cat $RR_HIDE -o $VERSION.iso master/ || true
}

usage() {
echo "usage: sudo $0"
}

do_mount() {
ret=`mount | grep -c hda.img`
if [ "$ret" = "0" ]; then
mount hda.img /mnt -o loop
fi

if [ "$?" != "0" ]; then
echo "mount error"
exit 1
fi
}

do_umount() {
umount /mnt
}

while getopts rmV:P:v:h opt $@
do
case "${opt}" in
r) RR_HIDE="-hide-rr-moved";;
m) MOUNT="yes";;
V) VOLID=$OPTARG;;
P) PREPARER=$OPTARG;;
v) VERSION=$OPTARG;;
h) usage $0;;
*) usage $0;;
esac
done

if [ "$MOUNT" = "yes" ]; then
do_mount
fi

build_master
check_md5
make_iso

if [ "$MOUNT" = "yes" ]; then
do_umount
fi

echo "Done."

exit 0
-------------------------------------------------------


スポンサーサイト

テーマ:英語日記 - ジャンル:学問・文化・芸術

この記事に対するコメント

この記事に対するコメントの投稿














管理者にだけ表示を許可する


この記事に対するトラックバック
トラックバックURL
→http://foobar.blog23.fc2.com/tb.php/89-5de50e1a
この記事にトラックバックする(FC2ブログユーザー)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。