![](https://seccdn.libravatar.org/avatar/e2145bc5cf53dda95c308a3c75e8fef3.jpg?s=120&d=mm&r=g)
Hello community,
here is the log from the commit of package kiwi
checked in at Tue Jun 5 16:30:10 CEST 2007.
--------
--- arch/i386/kiwi/kiwi.changes 2007-05-24 17:20:24.000000000 +0200
+++ /mounts/work_src_done/STABLE/kiwi/kiwi.changes 2007-06-05 14:39:08.900501000 +0200
@@ -1,0 +2,20 @@
+Mon Jun 4 10:59:48 CEST 2007 - ms@suse.de
+
+- v1.39
+- added format attribute to specify virtual disk format supported
+ by qemu-img. By default only the raw type will be generated
+- added srctool attribute to instsource section. This allows you
+ to set a program name for setting up the installation source
+ after the required meta packages were downloaded. This tool
+ depends on the format of the installation source and the
+ distribution. With kiwi the suse tool suse-instsource will
+ be provided
+
+-------------------------------------------------------------------
+Fri May 25 10:55:41 CEST 2007 - ms@suse.de
+
+- v1.38
+- use 192.168.0.254 as default server address in default
+ pxelinux.cfg/default file kiwitftp=... (#277958)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kiwi.spec ++++++
--- /var/tmp/diff_new_pack.Nd7662/_old 2007-06-05 16:25:50.000000000 +0200
+++ /var/tmp/diff_new_pack.Nd7662/_new 2007-06-05 16:25:50.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package kiwi (Version 1.37)
+# spec file for package kiwi (Version 1.39)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -15,7 +15,7 @@
BuildRequires: module-init-tools perl perl-XML-LibXML perl-libwww-perl screen smart syslinux
Requires: perl perl-XML-LibXML perl-libwww-perl screen
Summary: OpenSuSE - KIWI Image System
-Version: 1.37
+Version: 1.39
Release: 1
Group: System/Management
License: GNU General Public License (GPL)
@@ -299,6 +299,20 @@
%{_datadir}/kiwi/image/xenboot/suse*
%changelog
+* Mon Jun 04 2007 - ms@suse.de
+- v1.39
+- added format attribute to specify virtual disk format supported
+ by qemu-img. By default only the raw type will be generated
+- added srctool attribute to instsource section. This allows you
+ to set a program name for setting up the installation source
+ after the required meta packages were downloaded. This tool
+ depends on the format of the installation source and the
+ distribution. With kiwi the suse tool suse-instsource will
+ be provided
+* Fri May 25 2007 - ms@suse.de
+- v1.38
+- use 192.168.0.254 as default server address in default
+ pxelinux.cfg/default file kiwitftp=... (#277958)
* Wed May 23 2007 - ms@suse.de
- v1.37
- added boot images for SLES10/SLED10 isoboot (#270881)
++++++ kiwi.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/doc/activate.tex new/kiwi/doc/activate.tex
--- old/kiwi/doc/activate.tex 2007-05-22 10:22:18.000000000 +0200
+++ new/kiwi/doc/activate.tex 2007-05-29 18:16:45.000000000 +0200
@@ -348,16 +348,31 @@
automatically setup the unionfs/aufs filesystem. In case of
a PXE network image the netboot image requires a config.<MAC>
setup like the following example shows:
- \textbf{UNIONFS\_CONFIG=/dev/sda3,/dev/sda2,aufs}. In this
- example the first device /dev/sda3 represents the read/write
- filesystem and the second device /dev/sda2 represents the
+ \textbf{UNIONFS\_CONFIG=/dev/sda2,/dev/sda3,aufs}. In this
+ example the first device /dev/sda2 represents the read/write
+ filesystem and the second device /dev/sda3 represents the
compressed system image filesystem. The container filesystem
aufs is then used to cover the read/write layer with the
read-only device to one read/write filesystem. If a file on
the read-only device is going to be written the changes inodes
are part of the read/write filesystem. Please note the device
specifications in UNIONFS\_CONFIG must correspond with
- the partition information in PART.
+ the IMAGE and PART information. The following example should
+ explain the interconnections:
+
+ \begin{verbatim}
+ IMAGE=/dev/sda3;image/browser;1.1.1;192.168.1.1;4096
+ PART=200;S;x,300;L;/,x;L;x
+ UNIONFS_CONFIG=/dev/sda2,/dev/sda3,aufs
+ DISK=/dev/sda
+ \end{verbatim}
+
+ As the second element of the PART list must define the \textbf{root}
+ partition it's absolutely important that the first device in
+ UNIONFS\_CONFIG references this device as read/write device.
+ The second device of UNIONFS\_CONFIG has to reference the given
+ IMAGE device name.
+
\item \textbf{KIWI\_KERNEL\_OPTIONS}\\
Specifies additional command line options to be passed to
the kernel when booting from disk. For instance, to enable
Files old/kiwi/doc/kiwi.pdf and new/kiwi/doc/kiwi.pdf differ
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/kiwi.pl new/kiwi/kiwi.pl
--- old/kiwi/kiwi.pl 2007-05-22 15:43:38.000000000 +0200
+++ new/kiwi/kiwi.pl 2007-06-05 14:28:50.000000000 +0200
@@ -30,12 +30,13 @@
#============================================
# Globals (Version)
#--------------------------------------------
-our $Version = "1.35";
+our $Version = "1.39";
our $SchemeVersion = "1.3";
#============================================
# Globals
#--------------------------------------------
our $System = "/usr/share/kiwi/image";
+our $Tools = "/usr/share/kiwi/tools";
our $Scheme = "/usr/share/kiwi/modules/KIWIScheme.xsd";
our $KConfig = "/usr/share/kiwi/modules/KIWIConfig.sh";
#============================================
@@ -53,6 +54,7 @@
our $BootStickSystem; # system image to be copied on an USB stick
our $BootStickDevice; # device to install stick image on
our $BootVMSystem; # system image to be copied on a VM disk
+our $BootVMFormat; # virtual disk format supported by qemu-img
our $BootVMDisk; # deploy initrd booting from a VM
our $BootVMSize; # size of virtual disk
our $BootCD; # deploy initrd booting from CD
@@ -134,6 +136,26 @@
$kiwi -> failed ();
my $code = kiwiExit (1); return $code;
}
+ #==========================================
+ # Initialize installation source tree
+ #------------------------------------------
+ my $tool = $xml -> getMetaTool();
+ if (! defined $tool) {
+ $kiwi -> error ("No instsource tool specified");
+ $kiwi -> failed ();
+ my $code = kiwiExit (1); return $code;
+ }
+ if (! -f $tool) {
+ if ($tool !~ /\//) {
+ $tool = $Tools."/".$tool;
+ }
+ if (! -f $tool) {
+ $kiwi -> error ("Couldn't find instsource tool: $tool");
+ $kiwi -> failed ();
+ my $code = kiwiExit (1); return $code;
+ }
+ }
+ print "***** $tool ******\n";
# TODO
# 1) unpack downloaded packages
# 2) call config/ package scripts
@@ -438,7 +460,8 @@
return $code;
}
my $boot = new KIWIBoot (
- $kiwi,$BootVMDisk,$BootVMSystem,$BootVMSize
+ $kiwi,$BootVMDisk,$BootVMSystem,
+ $BootVMSize,undef,$BootVMFormat
);
if (! defined $boot) {
my $code = kiwiExit (1); return $code;
@@ -484,6 +507,7 @@
"bootstick-system=s" => \$BootStickSystem,
"bootstick-device=s" => \$BootStickDevice,
"bootvm-system=s" => \$BootVMSystem,
+ "bootvm-format=s" => \$BootVMFormat,
"bootvm-disksize=s" => \$BootVMSize,
"bootcd=s" => \$BootCD,
"installcd=s" => \$InstallCD,
@@ -552,6 +576,7 @@
print " [ --bootstick-device <device> ] \\\n";
print " kiwi --bootvm <initrd> --bootvm-system <systemImage> \\\n";
print " [ --bootvm-disksize <size> ]\n";
+ print " [ --bootvm-format <format> ]\n";
print " kiwi --bootcd <initrd>\n";
print " kiwi --installcd <initrd> --installcd-system <systemImage>\n";
print "Helper Tools:\n";
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/modules/KIWIBoot.pm new/kiwi/modules/KIWIBoot.pm
--- old/kiwi/modules/KIWIBoot.pm 2007-05-22 17:18:34.000000000 +0200
+++ new/kiwi/modules/KIWIBoot.pm 2007-06-05 14:28:50.000000000 +0200
@@ -44,6 +44,7 @@
my $system = shift;
my $vmsize = shift;
my $device = shift;
+ my $format = shift;
#==========================================
# Constructor setup
#------------------------------------------
@@ -125,6 +126,7 @@
$this->{vmsize} = $vmsize;
$this->{usbzip} = $usbzip;
$this->{device} = $device;
+ $this->{format} = $format;
return $this;
}
@@ -556,8 +558,8 @@
my $kiwi = $this->{kiwi};
my $system = $this->{system};
my $vmsize = $this->{vmsize};
+ my $format = $this->{format};
my $diskname = $system.".raw";
- my $vmdkname = $system.".vmdk";
my $loop = "/dev/loop0";
my $loopfound = 0;
my $result;
@@ -750,19 +752,22 @@
}
$kiwi -> done ();
#==========================================
- # Create vmdk (VMware) image
+ # Create image described by given format
#------------------------------------------
- $kiwi -> info ("Creating vmdk image");
- $status = qx ( qemu-img convert -f raw $loop -O vmdk $vmdkname );
- $result = $? >> 8;
- if ($result != 0) {
- $kiwi -> failed ();
- $kiwi -> error ("Couldn't create vmdk image: $status");
- $kiwi -> failed ();
- qx ( /sbin/losetup -d $loop );
- return undef;
+ if (defined $format) {
+ $kiwi -> info ("Creating $format image");
+ my $formatname = $system.".".$format;
+ $status = qx ( qemu-img convert -f raw $loop -O $format $formatname );
+ $result = $? >> 8;
+ if ($result != 0) {
+ $kiwi -> failed ();
+ $kiwi -> error ("Couldn't create $format image: $status");
+ $kiwi -> failed ();
+ qx ( /sbin/losetup -d $loop );
+ return undef;
+ }
+ $kiwi -> done ();
}
- $kiwi -> done ();
#==========================================
# cleanup loop setup and device mapper
#------------------------------------------
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/modules/KIWIImage.pm new/kiwi/modules/KIWIImage.pm
--- old/kiwi/modules/KIWIImage.pm 2007-05-22 15:43:38.000000000 +0200
+++ new/kiwi/modules/KIWIImage.pm 2007-06-05 14:28:49.000000000 +0200
@@ -363,7 +363,7 @@
#------------------------------------------
$kiwi -> info ("Creating $text boot image: $boot...\n");
my $Prepare = $imageTree."/image";
- my $xml = new KIWIXML ( $kiwi,$Prepare );
+ my $xml = new KIWIXML ( $kiwi,$Prepare,undef,$main::SetImageType );
if (! defined $xml) {
return undef;
}
@@ -385,6 +385,10 @@
qx (rm -rf $main::RootTree);
}
$result{bootImage} = $main::ImageName;
+ if ($text eq "VMX") {
+ my %type = %{$xml->getImageTypeAndAttributes()};
+ $result{format} = $type{format};
+ }
if ($text eq "USB") {
$main::Survive = "default";
}
@@ -424,11 +428,13 @@
#------------------------------------------
sub createImageVMX {
# ...
- # Create virtual machine disks usable for QEMU (raw) and VMware virtual
- # machines. The process will create the system image and the
- # appropriate vmx boot image plus a .raw and a .vmdk image usable
- # in vmware player or qemu (after converting the raw file). The boot
- # image description must exist in /usr/share/kiwi/image.
+ # Create virtual machine disks. By default a raw disk image will
+ # created from which other types can be converted. The output
+ # format is specified by the format attribute in the type section.
+ # Supported formats are: vvfat vpc bochs dmg cloop vmdk qcow cow raw
+ # The process will create the system image and the appropriate vmx
+ # boot image plus a .raw and an optional format specific image.
+ # The boot image description must exist in /usr/share/kiwi/image.
#
# NOTE: Because the first steps of creating
# a virtual machine image are the same as creating a usb stick image
@@ -447,10 +453,11 @@
undef $main::Prepare;
undef $main::Create;
#==========================================
- # Create .raw and .vmdk VM images
+ # Create virtual disk images
#------------------------------------------
$main::BootVMDisk = $main::Destination."/".$name->{bootImage}.".gz";
$main::BootVMSystem = $main::Destination."/".$name->{systemImage};
+ $main::BootVMFormat = $name->{format};
if (! defined main::main()) {
$main::Survive = "default";
return undef;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/modules/KIWIScheme.tst new/kiwi/modules/KIWIScheme.tst
--- old/kiwi/modules/KIWIScheme.tst 2007-04-25 18:22:34.000000000 +0200
+++ new/kiwi/modules/KIWIScheme.tst 2007-06-05 14:28:50.000000000 +0200
@@ -20,6 +20,7 @@
<metadata type="rpm-dir">
<source path="/mounts/work3/CDs/full-i386/suse/%arch"/>
</metadata>
+ <srctool name="suse-instsource"/>
<package name="bob"/>
<package name="foo"/>
</instsource>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/kiwi/modules/KIWIScheme.xsd new/kiwi/modules/KIWIScheme.xsd
--- old/kiwi/modules/KIWIScheme.xsd 2007-05-21 14:41:52.000000000 +0200
+++ new/kiwi/modules/KIWIScheme.xsd 2007-06-05 14:28:50.000000000 +0200
@@ -19,9 +19,9 @@
participants (1)
-
root@Hilbert.suse.de