index : archiso32 | |
Archlinux32 iso tools | gitolite user |
summaryrefslogtreecommitdiff |
author | Aaron Griffin <aaronmgriffin@gmail.com> | 2008-12-18 22:08:38 -0600 |
---|---|---|
committer | Aaron Griffin <aaronmgriffin@gmail.com> | 2008-12-18 22:09:19 -0600 |
commit | 4e638eaf2430d4036df536cad6fdda219aabf114 (patch) | |
tree | 9b21ffc6c55ee6876ff6b78ae0ad496eb0886e9c /archiso/mkusbimg | |
parent | 30ff7ea7a61dc1c6b0d46fab69c8d149ec4586f5 (diff) |
-rwxr-xr-x | archiso/mkusbimg | 79 |
diff --git a/archiso/mkusbimg b/archiso/mkusbimg deleted file mode 100755 index 5062a67..0000000 --- a/archiso/mkusbimg +++ /dev/null @@ -1,79 +0,0 @@ -#!/bin/bash -# -# mkusbimg - creates a bootable disk image -# Copyright (C) 2008 Simo Leone <simo@archlinux.org> -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -# usage(exitvalue) -# outputs a usage message and exits with value -APPNAME=$(basename "${0}") -usage() -{ - echo "usage: ${APPNAME} <imageroot> <imagefile>" - exit $1 -} - -################################################## - -if [ $# -ne 2 ]; then - usage 1 -fi - -DISKIMG="${2}" -IMGROOT="${1}" -TMPDIR=$(mktemp -d) -FSIMG=$(mktemp) - -# ext2 overhead's upper bound is 6% -# empirically tested up to 1GB -rootsize=$(du -bs ${IMGROOT}|cut -f1) -IMGSZ=$(( (${rootsize}*106)/100/512 + 1)) # image size in sectors - -# create the filesystem image file -dd if=/dev/zero of="$FSIMG" bs=512 count="$IMGSZ" - -# create a filesystem on the image -mke2fs -m 0 -F "$FSIMG" - -# mount the filesystem and copy data -modprobe loop -mount -o loop "$FSIMG" "$TMPDIR" -cp -a "$IMGROOT"/* "$TMPDIR" - -# unmount filesystem -umount "$TMPDIR" - -# add sectors 0-62, then glue together -dd if=/dev/zero of="$DISKIMG" bs=512 count=63 -cat "$FSIMG" >> "$DISKIMG" - -# create a partition table -# if this looks like voodoo, it's because it is -sfdisk -uS -f "$DISKIMG" << EOF -63,$IMGSZ,83,* -0,0,00 -0,0,00 -0,0,00 -EOF - -# install grub on the image -grub --no-floppy --batch << EOF -device (hd0) $DISKIMG -root (hd0,0) -setup (hd0) -EOF - -# all done :) -rm -fr "$TMPDIR" "$FSIMG" |