[arch-commits] Commit in mksyslinux/repos (3 files)
Tobias Powalowski
tpowa at archlinux.org
Wed Sep 17 21:14:37 UTC 2008
Date: Wednesday, September 17, 2008 @ 17:14:37
Author: tpowa
Revision: 12664
Merged revisions 2-12663 via svnmerge from
svn+ssh://svn.archlinux.org/home/svn-packages/mksyslinux/trunk
........
r356 | aaron | 2008-04-18 22:56:27 +0000 (Fr, 18 Apr 2008) | 1 line
Added svn:keywords to all PKGBUILDs
........
r12662 | tpowa | 2008-09-17 21:13:10 +0000 (Mi, 17 Sep 2008) | 1 line
upgpkg: mksyslinux 2008.09-1
........
Modified:
mksyslinux/repos/extra-i686/ (properties)
mksyslinux/repos/extra-i686/PKGBUILD
mksyslinux/repos/extra-i686/mksyslinux
------------+
PKGBUILD | 11 ++++++-----
mksyslinux | 55 +++++++++++++++++++++++++++++++++++++++++++++----------
2 files changed, 51 insertions(+), 15 deletions(-)
Property changes on: mksyslinux/repos/extra-i686
___________________________________________________________________
Name: svnmerge-integrated
- /mksyslinux/trunk:1
+ /mksyslinux/trunk:1-12663
Modified: extra-i686/PKGBUILD
===================================================================
--- extra-i686/PKGBUILD 2008-09-17 21:13:46 UTC (rev 12663)
+++ extra-i686/PKGBUILD 2008-09-17 21:14:37 UTC (rev 12664)
@@ -2,7 +2,7 @@
# Maintainer : Tobias Powalowski <tpowa at archlinux.org>
pkgname=mksyslinux
-pkgver=2008.03
+pkgver=2008.09
pkgrel=1
pkgdesc="Advanced, modular syslinux boot image creation utility"
arch=(i686 x86_64)
@@ -11,6 +11,10 @@
depends=('mkinitcpio' 'syslinux')
source=('boot.msg' 'mksyslinux' 'mksyslinux.conf' 'options.msg')
backup=(etc/mksyslinux.conf)
+md5sums=('6a269fc5b58c7bcc6688efeaa2075606'
+ '3eaa9d2699a4afd28731f52855ff2272'
+ 'a393348c07bccabcd52b4d8c5d4d42a7'
+ 'fa078942b8adf261e4d925e080dc3018')
build()
{
@@ -20,7 +24,4 @@
install -D -m644 boot.msg $startdir/pkg/usr/share/mksyslinux/boot.msg
install -D -m644 options.msg $startdir/pkg/usr/share/mksyslinux/options.msg
}
-md5sums=('6a269fc5b58c7bcc6688efeaa2075606'
- '748763a29e29cb0570d108f8700ebcd4'
- 'a393348c07bccabcd52b4d8c5d4d42a7'
- 'fa078942b8adf261e4d925e080dc3018')
+
Modified: extra-i686/mksyslinux
===================================================================
--- extra-i686/mksyslinux 2008-09-17 21:13:46 UTC (rev 12663)
+++ extra-i686/mksyslinux 2008-09-17 21:14:37 UTC (rev 12664)
@@ -4,14 +4,22 @@
APPNAME=$(basename "${0}")
CONFIG="/etc/mksyslinux.conf"
export TEMPDIR=$(mktemp /tmp/mksyslinux.XXX)
+TMPDIR=$(mktemp -d /tmp/mksyslinux-image.XXX)
usage ()
{
echo "${APPNAME}: usage"
- echo "PREPARATION: Your device must have a bootable first partition in FAT16 format!"
- echo "ATTENTION: The MBR of your DEVICE will be overwritten! You have been warned!"
- echo""
+ echo "WRITING TO DEVICE:"
+ echo "- PREPARATION: Your device must have a bootable first partition in FAT16 format!"
+ echo "- ATTENTION: The MBR of your DEVICE will be overwritten! You have been warned!"
+ echo ""
+ echo "CREATING AN IMAGE FILE:"
+ echo "- For creating an image file use the -i=IMAGEFILE switch"
+ echo "- use 'dd if=<yourimage> of=<yourdevice>' to write to your device afterwards."
+ echo ""
+ echo "PARAMETERS:"
echo " -d=DEVICE Your DEVICE first partition from /dev/xxx tree to install"
+ echo " -i=IMAGENAME Your IMAGENAME"
echo " -c=CONFIG Use CONFIG file. default: /etc/mksyslinux.conf"
echo " -h This message."
exit 1
@@ -24,6 +32,7 @@
case $1 in
-c=*|--c=*) CONFIG="$(echo $1 | awk -F= '{print $2;}')" ;;
-d=*|--d=*) DEVICE="$(echo $1 | awk -F= '{print $2;}')" ;;
+ -i=*|--i=*) IMAGENAME="$(echo $1 | awk -F= '{print $2;}')" ;;
-h|--h|?) usage ;;
*) usage ;;
esac
@@ -35,9 +44,11 @@
exit 1
fi
-if [ "${DEVICE}" = "" ]; then
- echo "ERROR: No DEVICE name specified, please use the -d option"
- exit 1
+if [ "${IMAGENAME}" = "" ]; then
+ if [ "${DEVICE}" = "" ]; then
+ echo "ERROR: No DEVICE name specified, please use the -d option"
+ exit 1
+ fi
fi
if ! [ $UID -eq 0 ]; then
@@ -62,7 +73,11 @@
[ -e ${TEMPDIR} ] && rm -r ${TEMPDIR}
mkdir -p ${TEMPDIR}
echo ":: Mounting ${DEVICE} ..."
-mount ${DEVICE} ${TEMPDIR} || exit 1
+if ! [ "${IMAGENAME}" = "" ]; then
+ modprobe loop
+else
+ mount ${DEVICE} ${TEMPDIR} || exit 1
+fi
# create syslinux.cfg
echo ":: Creating syslinux.cfg ..."
if [ "${SYSLINUXCFG}" = "" ]; then
@@ -91,11 +106,31 @@
install -m644 ${OPTIONSBOOTMESSAGE} ${TEMPDIR}/options.msg
[ ! -s ${TEMPDIR}/boot.msg ] && echo 'ERROR:no boot.msg found, aborting!' && exit 1
[ ! -s ${TEMPDIR}/options.msg ] && echo 'ERROR:no options.msg found, aborting!' && exit 1
-echo ":: Unmounting ${DEVICE} ..."
+if ! [ "${IMAGENAME}" = "" ]; then
+ # ext2 overhead's upper bound is 6%
+ # empirically tested up to 1GB
+ rootsize=$(du -bs ${TEMPDIR}|cut -f1)
+ IMGSZ=$(( (${rootsize}*106)/100/512 + 1)) # image size in sectors
+ # create the filesystem image file
+ dd if=/dev/zero of="${IMAGENAME}" bs=512 count="${IMGSZ}"
+ # create a filesystem on the image
+ mkfs.vfat "${IMAGENAME}"
+ mount -o loop ${IMAGENAME} ${TMPDIR} || exit 1
+ cp -r "${TEMPDIR}"/* "$TMPDIR"
+ umount ${TMPDIR}
+else
+ echo ":: Unmounting ${DEVICE} ..."
umount ${TEMPDIR} || exit 1
-echo ":: Installing MBR on ${MBRDEVICE} ..."
+fi
+if ! [ "${IMAGENAME}" = "" ]; then
+ echo ":: Installing SYSLINUX on ${IMAGENAME} ..."
+ /usr/bin/syslinux ${IMAGENAME} && echo "Installation completed."
+else
+ echo ":: Installing MBR on ${MBRDEVICE} ..."
cat ${MBR} > ${MBRDEVICE}
-echo ":: Installing SYSLINUX on ${DEVICE} ..."
+ echo ":: Installing SYSLINUX on ${DEVICE} ..."
/usr/bin/syslinux -o offset ${DEVICE} && echo "Installation completed."
+fi
# clean /tmp
rm -r ${TEMPDIR}
+! [ ${IMAGENAME} = "" ] && rm -r ${TMPDIR}
\ No newline at end of file
More information about the arch-commits
mailing list