From: Richard W.M. Jones Date: Tue, 16 Nov 2010 16:27:20 +0000 (+0000) Subject: images: Make phony Ubuntu image for testing. X-Git-Tag: 1.6.2~5 X-Git-Url: http://git.annexia.org/?a=commitdiff_plain;h=824a4b87741a98bff1b2b699a75367951e386d32;p=libguestfs.git images: Make phony Ubuntu image for testing. (cherry picked from commit 9becb385b78eddb9b3817c6accaa6cdb3db0b5af) --- diff --git a/.gitignore b/.gitignore index eae9c80..bb1a64b 100644 --- a/.gitignore +++ b/.gitignore @@ -123,6 +123,7 @@ images/initrd-x86_64.img images/initrd-x86_64.img.gz images/test.iso images/test-grep.txt.gz +images/ubuntu.img initramfs initramfs.timestamp inspector/virt-inspector.1 diff --git a/images/Makefile.am b/images/Makefile.am index 8fd3ba4..d97dd45 100644 --- a/images/Makefile.am +++ b/images/Makefile.am @@ -41,13 +41,14 @@ EXTRA_DIST = \ guest-aux/debian-packages \ guest-aux/make-fedora-img.sh \ guest-aux/fedora-name.db.txt \ - guest-aux/fedora-name.db + guest-aux/fedora-name.db \ + guest-aux/make-ubuntu-img.sh noinst_DATA = test.iso # This is 'check_DATA' because we don't need it until 'make check' # time and we need the tools we have built in order to make it. -check_DATA = debian.img fedora.img +check_DATA = debian.img fedora.img ubuntu.img CLEANFILES = \ test.iso test.sqsh \ @@ -174,3 +175,9 @@ debian.img: guest-aux/make-debian-img.sh LIBGUESTFS_PATH=../appliance \ LD_LIBRARY_PATH=../src/.libs \ bash $< + +# Make a (dummy) Ubuntu image. +ubuntu.img: guest-aux/make-ubuntu-img.sh + LIBGUESTFS_PATH=../appliance \ + LD_LIBRARY_PATH=../src/.libs \ + bash $< diff --git a/images/guest-aux/make-ubuntu-img.sh b/images/guest-aux/make-ubuntu-img.sh new file mode 100755 index 0000000..8d62e5d --- /dev/null +++ b/images/guest-aux/make-ubuntu-img.sh @@ -0,0 +1,81 @@ +#!/bin/bash - +# libguestfs +# Copyright (C) 2010 Red Hat Inc. +# +# 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 2 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, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +# Make an Ubuntu image which is enough to fool the inspection heuristics. + +export LANG=C +set -e + +# fstab file. +cat > fstab.tmp < release.tmp <<'EOF' +DISTRIB_ID=Ubuntu +DISTRIB_RELEASE=10.10 +DISTRIB_CODENAME=maverick +DISTRIB_DESCRIPTION="Ubuntu 10.10 (Phony Pharaoh)" +EOF + +# Create a disk image. +../fish/guestfish <<'EOF' +sparse ubuntu.img.tmp 512M +run + +# Format the disk. +part-init /dev/sda mbr +part-add /dev/sda p 64 524287 +part-add /dev/sda p 524288 -64 + +# Phony /boot filesystem. +mkfs-b ext2 4096 /dev/sda1 +set-e2label /dev/sda1 BOOT +set-e2uuid /dev/sda1 01234567-0123-0123-0123-012345678901 + +# Phony root filesystem (Ubuntu doesn't use LVM by default). +mkfs-b ext2 4096 /dev/sda2 +set-e2uuid /dev/sda2 01234567-0123-0123-0123-012345678902 + +# Enough to fool inspection API. +mount-options "" /dev/sda2 / +mkdir /boot +mount-options "" /dev/sda1 /boot +mkdir /bin +mkdir /etc +mkdir /home +mkdir /usr +mkdir-p /var/lib/dpkg + +upload fstab.tmp /etc/fstab +write /etc/debian_version "5.0.1" +upload release.tmp /etc/lsb-release +write /etc/hostname "ubuntu.invalid" + +upload guest-aux/debian-packages /var/lib/dpkg/status + +upload bin-i586-dynamic /bin/ls + +mkdir /boot/grub +touch /boot/grub/grub.conf +EOF + +rm fstab.tmp release.tmp +mv ubuntu.img.tmp ubuntu.img