Ok I modify it ;-) 2011/9/9 Michael Olbrich <[email protected]>
> On Fri, Sep 09, 2011 at 12:04:24AM +0200, Philippe Corbes wrote: > > Author: Philippe Corbes <[email protected]> > > Date: Wed Sep 7 23:38:56 2011 +0200 > > > > Add VirtualBox disk image build script > > > > Signed-off-by: Philippe Corbes <[email protected]> > > > > diff --git a/platforms/image_hd_vdi.in b/platforms/image_hd_vdi.in > > new file mode 100644 > > index 0000000..7280e13 > > --- /dev/null > > +++ b/platforms/image_hd_vdi.in > > @@ -0,0 +1,13 @@ > > +## SECTION=image > > + > > +config IMAGE_VDI > > + bool > > + select IMAGE_HD > > + select IMAGE_EXT2 > > + select HOST_GENPART > > + prompt "Generate images/hd.vdi" > > + help > > + Build a VirtualBox's disk image file. > > + Check "Generate images/hd.img" to define the hd geometry. > > + This option is available only if VirtualBox is installed on this > > machine. > > + > > diff --git a/rules/post/image_hd_vdi.make b/rules/post/image_hd_vdi.make > > new file mode 100644 > > index 0000000..66227bb > > --- /dev/null > > +++ b/rules/post/image_hd_vdi.make > > @@ -0,0 +1,22 @@ > > +# -*-makefile-*- > > +# > > +# Copyright (C) 2011 by the Philippe Corbes <[email protected]> > > +# > > +# See CREDITS for details about who has contributed to this project. > > +# > > +# For further information about the PTXdist project and license > conditions > > +# see the README file. > > +# > > + > > +SEL_ROOTFS-$(PTXCONF_IMAGE_VDI) += $(IMAGEDIR)/hd.vdi > > + > > +$(IMAGEDIR)/hd.vdi: $(IMAGEDIR)/hd.img > > + @$(call targetinfo) > > + @echo "Creating hd.vdi from hd.vdi"; \ > > + PATH=$(PTXCONF_SYSROOT_HOST)/bin:$$PATH > > $(PTXDIST_TOPDIR)/scripts/genhdvdi \ > > your email client is adden line-breaks. > > > + -i $(IMAGEDIR)/hd.img \ > > + -o $(IMAGEDIR)/hd.vdi > > + @echo "done." > > + @$(call touch, $@) > > we prefer a different style now. Something like: > > $(IMAGEDIR)/hd.vdi: $(IMAGEDIR)/hd.img > $(call image/env) \ > image_hd="$<" \ > image_vdi="$@" \ > ptxd_make_image_vdi > > and the rest in the script. > > > + > > +# vim: syntax=make > > diff --git a/scripts/genhdvdi b/scripts/genhdvdi > > put it in scripts/lib/ptxd_make_image_vdi.sh > > ptxd_make_image_vdi() { > ... > } > export -f ptxd_make_image_vdi > > Michael > > > new file mode 100755 > > index 0000000..3677f10 > > --- /dev/null > > +++ b/scripts/genhdvdi > > @@ -0,0 +1,60 @@ > > +#!/bin/bash > > + > > +# Tool to create/update a VirtualBox disk image from an .img file > > +# > > +# Copyright (C) 2011 by Philippe Corbes <[email protected]> > > +# > > + > > + > > +Usage() { > > +cat <<-EOF > > + > > +Usage: `basename "$0"` OPTIONS > > + > > + -h this help > > + -i <input file> the .img hd image file name > > + -o <output file> the .vdi hd image file name > > +EOF > > +} > > + > > + > > +while getopts "hi:o:" OPT > > +do > > + case "$OPT" in > > + h) Usage > > + exit 1 > > + ;; > > + i) IMGFILE="$OPTARG" > > + ;; > > + o) VDIFILE="$OPTARG" > > + ;; > > + esac > > +done > > + > > +if [ -z "$IMGFILE" ]; then > > + echo "no input image file given" > > + exit 1 > > +fi > > + > > +if [ -z "$VDIFILE" ]; then > > + echo "no output image file given" > > + exit 1 > > +fi > > + > > +VBOXMANAGE=`whereis VBoxManage|sed -e "s/.* //"` > > +if [ ! -x `expr ${VBOXMANAGE}` ]; then > > + echo "Virtualbox not installed!" > > + exit 1 > > +fi > > + > > +if [ -f "${VDIFILE}" ]; then > > + # Update the existing vdi file > > + UUID=$(${VBOXMANAGE} showhdinfo ${VDIFILE}|grep -e "UUID:"|grep -v > > "(UUID"|sed -e "s/.* //") > > + rm -f ${VDIFILE} > > + ${VBOXMANAGE} convertdd ${IMGFILE} ${VDIFILE} 2>&1 > > + ${VBOXMANAGE} internalcommands sethduuid ${VDIFILE} ${UUID} > > +else > > + # First time then create the vdi file > > + ${VBOXMANAGE} convertdd ${IMGFILE} ${VDIFILE} 2>&1 > > +fi > > + > > > -- > > ptxdist mailing list > > [email protected] > > > -- > Pengutronix e.K. | | > Industrial Linux Solutions | http://www.pengutronix.de/ | > Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | > Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | > > -- > ptxdist mailing list > [email protected] >
-- ptxdist mailing list [email protected]
