File kiwi.spec of Package kiwi

# spec file for package kiwi (Version 3.74)
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
# Please submit bugfixes or comments via

# needsrootforbuild

%define sattools_version %(rpm -q --qf %{VERSION}-%{RELEASE} satsolver-tools)
Name:           kiwi
BuildRequires:  perl-XML-LibXML perl-libwww-perl perl-Config-IniFiles
BuildRequires:  hal-devel module-init-tools screen zlib-devel
BuildRequires:  gcc-c++ libxslt swig
%if %{suse_version} > 1020
BuildRequires:  fdupes
%ifarch %ix86 x86_64
BuildRequires:  syslinux
%if %{suse_version} > 1010
BuildRequires:  libqt4 libqt4-devel
BuildRequires:  freetype2-devel libpng-devel qt qt-devel
%if %{suse_version} > 1030
BuildRequires:  rpm-devel libexpat-devel libsatsolver-devel
%if %{suse_version} <= 1010
Requires:       qt
%if %{suse_version} > 1010
Requires:       squashfs
Requires:       perl = %{perl_version}
Requires:       perl-XML-LibXML perl-libwww-perl screen coreutils
Requires:       perl-XML-LibXML-Common perl-XML-SAX perl-Config-IniFiles
Requires:       kiwi-tools libxslt checkmedia
Requires:       master-boot-code
%if %{suse_version} > 1030
Requires:       satsolver-tools
Summary:        OpenSuSE - KIWI Image System
Provides:       kiwi2 <= 2.14
Obsoletes:      kiwi2 <= 2.14
Version:        3.74
Release:        80
Group:          System/Management
License:        GPL v2 or later
Source:         %{name}.tar.bz2
Source1:        %{name}-rpmlintrc
patch0:         shutdown-backup.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
Recommends:     smart zypper

The OpenSuSE KIWI Image System provides a complete operating system
image solution for Linux supported hardware platforms as well as for
virtualization systems like Xen.

    Marcus Schaefer <>

%package -n kiwi-instsource
License:        GPL v2 only
Requires:       kiwi = %{version}
Requires:       inst-source-utils createrepo
Summary:        Installation Source creation
Group:          System/Management

%description -n kiwi-instsource
This package contains modules used for installation source creation.
With those it is possible to create a valid installation repository
from blank RPM file trees. The created tree can be used directly for
the image creation process afterwards. This package allows using the
--create-instsource <path-to-config.xml> switch.

	Adrian Schroeter <>
	Jan Bornschlegel <>

%package -n kiwi-doc
License:        LGPL v2.0 or later
Summary:        OpenSuSE - KIWI Image System Documentation
Group:          Documentation/Howto

%description -n kiwi-doc
This package contains the documentation and manual pages for the KIWI
Image System

    Thomas Schraitle
    Marcus Schaefer

%package -n kiwi-tools
License:        GPL v2 or later
Summary:        OpenSuSE - KIWI tools collection
Obsoletes:      kiwi2-tools <= 2.14
Provides:       kiwi2-tools <= 2.14
Group:          System/Management

%description -n kiwi-tools
This package contains the OpenSuSE - KIWI tools set usable in and
outside of operating system images

    Marcus Schaefer <>

%if %{suse_version} > 1010
%package -n kiwi-tools-imagewriter
License:        GPL v2 or later
Summary:        OpenSuSE - KIWI tools graphical image writer application
Group:          System/Management

%description -n kiwi-tools-imagewriter
This package contains the OpenSuSE - KIWI graphical image writer

    Matt Barringer <>

%ifarch %ix86 x86_64
%package -n kiwi-pxeboot
License:        GPL v2 or later
Requires:       syslinux
Summary:        OpenSuSE - KIWI Image System PXE boot structure
Obsoletes:      kiwi2-pxeboot <= 2.14
Provides:       kiwi2-pxeboot <= 2.14
Group:          System/Management

%description -n kiwi-pxeboot
PXE basic directory structure and pre-build boot images

    Marcus Schaefer <>

%ifarch %ix86 x86_64
%package -n kiwi-pxeboot-prebuild
License:        GPL v2 only
Requires:       syslinux
Summary:        OpenSuSE - KIWI TFTP prebuild boot images
Obsoletes:      kiwi2-pxeboot-prebuild <= 2.14
Provides:       kiwi2-pxeboot-prebuild <= 2.14
Group:          System/Management

%description -n kiwi-pxeboot-prebuild
This package contains the OpenSuSE - KIWI TFTP prebuild boot images

    Marcus Schaefer <>

%ifarch %ix86 x86_64
%package -n kiwi-desc-isoboot
License:        GPL v2 or later
Requires:       kiwi = %{version}
Requires:       syslinux
%if %{suse_version} > 1010
Requires: genisoimage
Requires: mkisofs
Summary:        OpenSuSE - KIWI Image System ISO boot
Obsoletes:      kiwi2-desc-isoboot <= 2.14
Provides:       kiwi2-desc-isoboot <= 2.14
Group:          System/Management

%description -n kiwi-desc-isoboot
kiwi boot (initrd) image for activating system images on ISO media

    Marcus Schaefer <>

%ifarch %ix86 x86_64
%package -n kiwi-desc-usbboot
License:        GPL v2 or later
Requires:       kiwi = %{version}
Summary:        OpenSuSE - KIWI Image System USB boot
Obsoletes:      kiwi2-desc-usbboot <= 2.14
Provides:       kiwi2-desc-usbboot <= 2.14
Group:          System/Management

%description -n kiwi-desc-usbboot
kiwi boot (initrd) image for activating system images on USB stick

    Marcus Schaefer <>

%ifarch %ix86 x86_64
%package -n kiwi-desc-vmxboot
License:        GPL v2 or later
Requires:       kiwi = %{version}
Requires:       qemu multipath-tools
Summary:        OpenSuSE - KIWI Image System Virtual Machine boot
Obsoletes:      kiwi2-desc-vmxboot <= 2.14
Provides:       kiwi2-desc-vmxboot <= 2.14
Group:          System/Management

%description -n kiwi-desc-vmxboot
kiwi boot (initrd) image for activating system images on virtual disk

    Marcus Schaefer <>

%ifarch %ix86 x86_64 ppc ppc64
%package -n kiwi-desc-netboot
License:        GPL v2 or later
Requires:       kiwi = %{version}
Summary:        OpenSuSE - KIWI Image System PXE network boot
Obsoletes:      kiwi2-desc-netboot <= 2.14
Provides:       kiwi2-desc-netboot <= 2.14
Group:          System/Management

%description -n kiwi-desc-netboot
kiwi boot (initrd) image for activating system images via TFTP

    Marcus Schaefer <>

%ifarch %ix86 x86_64
%package -n kiwi-desc-xenboot
License:        GPL v2 or later
Requires:       kiwi = %{version}
Summary:        OpenSuSE - KIWI Image System Xen Virtual Machine boot
Obsoletes:      kiwi2-desc-xenboot <= 2.14
Provides:       kiwi2-desc-xenboot <= 2.14
Group:          System/Management

%description -n kiwi-desc-xenboot
kiwi boot (initrd) image for activating a Xen image by xm

    Marcus Schaefer <>

%ifarch %ix86 x86_64
%package -n kiwi-desc-oemboot
License:        GPL v2 only
Requires:       kiwi = %{version}
Requires:       qemu multipath-tools
%if %{suse_version} > 1010
Requires: genisoimage
Requires: mkisofs
Summary:        OpenSuSE - KIWI image descriptions
Obsoletes:      kiwi2-desc-oemboot <= 2.14
Provides:       kiwi2-desc-oemboot <= 2.14
Group:          System/Management

%description -n kiwi-desc-oemboot
This package contains the OpenSuSE - KIWI image descriptions. Each
image description exists in a single directory and contains an oemboot
image description

    Marcus Schaefer <>

%ifarch %ix86 x86_64
%package -n kiwi-templates
License:        GPL v2.0 or later
Requires:       kiwi-desc-vmxboot = %{version}
Summary:        OpenSuSE - KIWI JeOS system image templates
Group:          System/Management

%description -n kiwi-templates
This package contains system image templates to easily build
a JeOS based operating system image with kiwi 

    Marcus Schaefer

%setup -n kiwi
%patch0 -p1
# empty because of rpmlint warning rpm-buildroot-usage

# build
export K_USER=-1 # set to -1 to prevent building boot images, set to 0 to enable
export K_ARCH=`uname -m | grep -q ^i && echo ix86 || uname -m`
test -e /.buildenv || export K_USER=-1 # no buildenv, no boot image build
test -e /.buildenv && . /.buildenv
%ifarch %ix86 x86_64
if [ "$UID" = "$K_USER" ];then
	# prepare and create prebuilt PXE boot images...
	(cd tools/dbuslock && make install)
	mkdir -p $RPM_BUILD_ROOT/srv/tftpboot/pxelinux.cfg
	mkdir -p $RPM_BUILD_ROOT/srv/tftpboot/boot
	mkdir -p /usr/share/kiwi/modules
	mkdir -p /usr/share/kiwi/repo
	mkdir -p /usr/share/kiwi/image/netboot
	rm -f /usr/share/kiwi/modules/*
	for i in `find modules/ -type f`;do cp $i /usr/share/kiwi/modules;done
	cp -a system/suse-repo /usr/share/kiwi/repo
	cd modules
	echo "# /.../" > $pxedefault
	echo "# KIWI boot image setup" >> $pxedefault
	echo "# select boot label according to your system image" >> $pxedefault
	echo "# ..."  >> $pxedefault
	echo "DEFAULT Local-Boot" >> $pxedefault
	for i in $images;do
		rootName=`echo $i | tr / -`
		rootName=`echo $rootName \(latest service pack\)`
		echo "#DEFAULT $rootName" >> $pxedefault
	echo >> $pxedefault
	echo "LABEL Local-Boot"  >> $pxedefault
	echo "      localboot 0" >> $pxedefault
	for i in $images;do
		rootName=`echo $i | tr / -`
		../ --root $RPM_BUILD_ROOT/root-$rootName --prepare ../system/boot/$K_ARCH/$i --logfile terminal
		../ --create $RPM_BUILD_ROOT/root-$rootName \
			-d $RPM_BUILD_ROOT/srv/tftpboot/boot --logfile terminal
		rm -rf $RPM_BUILD_ROOT/root-$rootName*
		echo >> $pxedefault
		echo "LABEL $rootName" >> $pxedefault
			pushd $RPM_BUILD_ROOT/srv/tftpboot/boot
			for n in *$rootName*;do
				echo $n | grep -q xen$      && xenkernel=$n || true
				echo $n | grep -q xen.gz$   && xenloader=$n || true
				echo $n | grep -q [0-9].gz$ && initrd=$n    || true
				echo $n | grep -q kernel    && kernel=$n    || true
			../ --setup-splash \
				$RPM_BUILD_ROOT/srv/tftpboot/boot/$initrd   && \
			rm -f $RPM_BUILD_ROOT/srv/tftpboot/boot/$initrd && \
			initrd=`echo $initrd | sed -e "s@.gz@.splash.gz@"`
			pushd $RPM_BUILD_ROOT/srv/tftpboot/boot
			cd $RPM_BUILD_ROOT/srv/tftpboot/boot
			if [ -n "$xenkernel" ];then
				echo "      kernel mboot.c32" >> $pxedefault
				echo "      append boot/$xenloader --- boot/$xenkernel vga=0x314 ramdisk_size=512000 ramdisk_blocksize=4096 splash=silent showopts --- boot/$initrd" >> $pxedefault
				echo "      IPAPPEND 2" >> $pxedefault
				echo "      kernel boot/$kernel" >> $pxedefault
				echo "      append initrd=boot/$initrd vga=0x314 ramdisk_size=512000 ramdisk_blocksize=4096 splash=silent showopts" >> $pxedefault
				echo "      IPAPPEND 2" >> $pxedefault
	rm -f $RPM_BUILD_ROOT/srv/tftpboot/boot/*.md5
	rm -f $RPM_BUILD_ROOT/srv/tftpboot/boot/*.kernel
	chmod 644 $pxedefault
	echo "cannot build prebuild images without root privileges"
cd $RPM_BUILD_DIR/kiwi
#mkdir -p $RPM_BUILD_ROOT/etc/permissions.d
#echo "/srv/tftpboot/upload/ root:root 0755" \
#	> $RPM_BUILD_ROOT/etc/permissions.d/kiwi
make buildroot=$RPM_BUILD_ROOT \
     doc_prefix=$RPM_BUILD_ROOT/%{_defaultdocdir} \
     man_prefix=$RPM_BUILD_ROOT/%{_mandir} \
touch kiwi.loader
%ifarch %ix86 x86_64
if [ ! "$UID" = "$K_USER" ];then
	install -m 644 pxeboot/pxelinux.0.config \
	# no PXE boot setup for non x86 archs
	rm -rf $RPM_BUILD_ROOT/srv/tftpboot
	rm -rf $RPM_BUILD_ROOT/etc/permissions.d/kiwi

test -f $RPM_BUILD_ROOT/srv/tftpboot/pxelinux.0 && \
	echo /srv/tftpboot/pxelinux.0 > kiwi.loader
test -f $RPM_BUILD_ROOT/srv/tftpboot/mboot.c32 && \
	echo /srv/tftpboot/mboot.c32 >> kiwi.loader
rm -f $RPM_BUILD_ROOT/%{perl_vendorarch}/KIWI/
%if %{suse_version} > 1020
%fdupes $RPM_BUILD_ROOT/srv/tftpboot
%fdupes $RPM_BUILD_ROOT/usr/share/kiwi/image
%fdupes $RPM_BUILD_ROOT/usr/share/doc/packages/kiwi/examples
%fdupes $RPM_BUILD_ROOT/usr/share/doc/packages/kiwi/schema
cat kiwi.loader

# KIWI files...      

%defattr(-, root, root)
%dir %{_datadir}/kiwi
%dir %{_datadir}/kiwi/image
%exclude %{_datadir}/kiwi/image/suse-11.2-JeOS
%exclude %{_datadir}/kiwi/image/suse-11.1-JeOS
%exclude %{_datadir}/kiwi/image/suse-SLE10-JeOS
%exclude %{_datadir}/kiwi/image/suse-SLE11-JeOS
%exclude %{_datadir}/kiwi/modules/
%exclude %{_datadir}/kiwi/modules/
%exclude %{_datadir}/kiwi/modules/
# KIWI doc...      

%files -n kiwi-doc
%defattr(-, root, root)
%dir %{_defaultdocdir}/kiwi
%doc %{_mandir}/man1/kiwi.1.gz
%doc %{_mandir}/man1/
%doc %{_mandir}/man1/
%doc %{_defaultdocdir}/kiwi/COPYING
%doc %{_defaultdocdir}/kiwi/examples
%doc %{_defaultdocdir}/kiwi/kiwi.pdf
%doc %{_defaultdocdir}/kiwi/ChangeLog
%doc %{_defaultdocdir}/kiwi/schema
# KIWI instsource...      

%files -n kiwi-instsource
%defattr(-, root, root)

# KIWI-pxeboot files...  
# ------------------------------------------------
%ifarch %ix86 x86_64
%files -n kiwi-pxeboot -f kiwi.loader
%defattr(-, root, root)
%doc /srv/tftpboot/README
#%config /etc/permissions.d/kiwi
%dir /srv/tftpboot
%dir /srv/tftpboot/KIWI
%dir /srv/tftpboot/pxelinux.cfg
%dir /srv/tftpboot/image
%dir /srv/tftpboot/upload
%dir /srv/tftpboot/boot
# KIWI-pxeboot-prebuild files...  
# ------------------------------------------------
%ifarch %ix86 x86_64
%files -n kiwi-pxeboot-prebuild
%defattr(-, root, root)
%doc /srv/tftpboot/README.prebuild
# KIWI-tools files...  
# ------------------------------------------------
%files -n kiwi-tools
%defattr(-, root, root)
%doc %{_defaultdocdir}/kiwi/
%if %{suse_version} > 1010
%exclude /usr/bin/imagewriter
# KIWI-tools-imagewriter files...  
# ------------------------------------------------
%if %{suse_version} > 1010
%files -n kiwi-tools-imagewriter
%defattr(-, root, root)
%doc %{_defaultdocdir}/kiwi/README.imagewriter
# KIWI-desc-* and templates...
# ------------------------------------------------
%ifarch %ix86 x86_64
%files -n kiwi-desc-isoboot
%defattr(-, root, root)
%dir %{_datadir}/kiwi/image/isoboot
%doc %{_datadir}/kiwi/image/isoboot/README

%ifarch %ix86 x86_64
%files -n kiwi-desc-vmxboot
%defattr(-, root, root)
%dir %{_datadir}/kiwi/image/vmxboot
%doc %{_datadir}/kiwi/image/vmxboot/README

%ifarch %ix86 x86_64
%files -n kiwi-desc-usbboot
%defattr(-, root, root)
%dir %{_datadir}/kiwi/image/usbboot
%doc %{_datadir}/kiwi/image/usbboot/README

%ifarch %ix86 x86_64 ppc ppc64
%files -n kiwi-desc-netboot
%defattr(-, root, root)
%dir %{_datadir}/kiwi/image/netboot
%doc %{_datadir}/kiwi/image/netboot/README

%ifarch %ix86 x86_64
%files -n kiwi-desc-xenboot
%defattr(-, root, root)
%dir %{_datadir}/kiwi/image/xenboot
%doc %{_datadir}/kiwi/image/xenboot/README

%ifarch %ix86 x86_64
%files -n kiwi-desc-oemboot
%defattr(-, root, root)
%dir %{_datadir}/kiwi/image/oemboot
%doc %{_datadir}/kiwi/image/oemboot/README

%ifarch %ix86 x86_64
%files -n kiwi-templates
%defattr(-, root, root)

%changelog -n kiwi
* Wed Oct 28 2009 -
- OEM recover/repair
  * make sure passwd/shadow and group files will be preserved
  * make sure RPM database will be preserved
* Tue Oct 27 2009 -
- offer only languages for selection which are part of the
  initrd. The <locale> element defines which locales and
  translations are part of the initrd. If only one language
  is available no selection dialog will be opened
- kiwi-instsource changes done by
  * fix 32bit debuginfos
* Tue Oct 27 2009 -
- kiwi-instsource changes done by
  * fixed logging
  * fixed several uninitialized variables
  * fixed debuginfo handling
* Mon Oct 26 2009 -
- don't call ldconfig when loading KIWILinuxRC functions (bnc #549904)
- added missing script to strip down locale information
* Fri Oct 23 2009 -
- set splash to verbose if there is a systemException (bnc #547821)
- check for block device when retrieving MBR ID (bnc #547821)
- added DOBACKUP variable to easily switch on/off the backup
  creation in recovery mode. Currently backup creation is
  switched on (bnc #546057)
* Thu Oct 22 2009 -
- recovery mode (bnc #546057):
  * throw reboot exception if backup files can't be created
  * create backup files for files in recovery.tar.gz only
* Wed Oct 21 2009 -
- use cmp to compare files first before diffing them. Prevent
  second find call for backup files. This increases the recovery
  performance in repair mode. Additionally write backup diffs
  to /tmp/backup (bnc #546057)
* Tue Oct 20 2009 -
- added support for lang and keytable in cmdline. Support is
  only available with the gfxboot code from >= 11.2 (bnc #547915)
- changed fbiterm return code evaluation. Echo the return code
  from the last instead of relying to the exit code of the
  fbiterm terminal (bnc #547864)
* Sun Oct 18 2009 -
- search .backup files in home and etc only (bnc #546057)
* Fri Oct 16 2009 -
-  Add .iso filter to the imagewriter
* Wed Oct 14 2009 -
- don't remove libgcc_s from initrd. It's required for
  programs which uses pthread_cancel()
* Wed Oct 14 2009 -
- prevent automatic CD eject on kiwi install. If the tray is
  blocked (some servers hide their drives behind doors) the boot
  CD/DVD with the OEM image ends up back in the machine. Therefore
  we open a popup window asking to user to remove the install
  media before continuing
* Mon Oct 12 2009 -
- fixed error log switch in Echo function
- fixed clicfs usage for vmx,oem and usbboot. Needs the same
  boot partition like the DM squash setup uses
- fixed clicfs mount on bootvm creation
- added udevPending call in waitForUSBDeviceScan() to make
  sure the device nodes are created if we leave the function
* Mon Oct 12 2009 -
- fixed hwclock and timezone setup (bnc #546096)
- fixed 11.2 JeOS template, no kernel-*-base anymore
* Thu Oct 08 2009 -
- deactivate backup MBR at 0x800 (bnc #539505)
* Thu Oct 08 2009 -
- fixed setup of doc exclusion for zypper (bnc #544874)
- added boot timer for kiwi boot images like the kernel does
* Wed Oct 07 2009 -
- improved umount code for auto mount of removable storage
  devices. The function umountDevice() takes over the task
  of umounting all filesystems associated with the given
- use searchBIOSBootDevice for usbboot instead of USBStickDevice
  since we have the unique MBR ID in place this is the better
  method to search for the boot device
* Tue Oct 06 2009 -
- fixed race condition in waitForStorageDevice()
- create backup files for /etc and /home only in Recovery mode
  This is done to reduce the runtime the recovery process takes
- deactivate automatic filesystem check for clicfs based
* Tue Oct 06 2009 -
- Add cancel/reboot menu item in recovery bootloader configuration.
  This will help avoid accidental recovery invocation, which could
  be a potential issue. The cancel/reboot item is now the default
  selection, and the delay is now 30 seconds giving the user more
  time to contemplate their restoration options (bnc #544420)
* Mon Oct 05 2009 -
- added and improved official JeOS templates to the kiwi git
  source tree. The official templates used by the SDK product
  and the SuSE Studio online service are now provided via the
  kiwi package kiwi-templates (bnc #521970)
- fixed race condition in setupRecoveryArchive() when
  creating the tar archive
- fixed fbiterm support for SLE10
- fixed baseStripUnusedLibs
* Mon Oct 05 2009 -
- fixed detection of USB install media
* Fri Oct 02 2009 -
- added import attribute in <profile> section to allow
  default imports if not profile was set on the commandline
- fixed handling of profiled preferences sections
- fixed bool value evaluation in*()
- added suseImportBuildKey() helper function used in JeOS
  templates (bnc #521970)
* Thu Oct 01 2009 -
- added support for <oem-recoveryID>, default ID=83 (bnc #543118)
- reload MBR in restore mode, also recreate swap and home
  systems if defined in restored fstab (bnc #542648)
- fixed stick detection if multiple sticks are plugged in
  stickFound variable was set too early, thanks to Axel Theilmann
- use bc for more exact progress calculation
- clear screen after install confirmation
* Wed Sep 30 2009 -
- oemboot: re-install grub bootloader into partition if the
  partition contains a bootloader signature already (bnc #543123)
- added backup diff in recovery mode. This will add a file~
  diff file for each file changed according to the recovery
* Tue Sep 29 2009 -
- improved restore feature which also restores the filesystem
  before restoring files (bnc #542648)
* Mon Sep 28 2009 -
- fixed typos and mistakes in the documentation, Thanks to
  Robert who found them
* Thu Sep 24 2009 -
- added language translations (ar,tr,uk) (bnc #539398)
- limit language selection to the installed locales (bnc #539398)
  * de_DE.utf8
  * en_US.utf8
  * ru_RU.utf8
  * zh_CN.utf8
  * zh_TW.utf8
* Wed Sep 23 2009 -
- added language translations (bnc #539398)
* Tue Sep 22 2009 -
- evaluate languages set by <locale> in the suseGFXBoot code.
  This will result in grub displaying the selected languages
* Thu Sep 17 2009 -
- added OEM restore mode (bnc #539390)
- added pot template for translations (bnc #539398)
- added fbiterm to oemboot boot images. This allows to display
  wide screen characters on the framebuffer console and therefore
  enabled kiwi's dialog windows to be multilingual (bnc #539398)
- evaluate kiwikernelmodule variable from cmdline also in
  modules.order mode where loading is done by udev (bnc #525345)
- don't remove libblkid1 from initrd (bnc #505580)
- remove reserved blocks in any case when mounting
  clic by calling tune2fs -m 0 (bnc #505580)
- preserve ownership if xsltproc changes the xml file
- fixed baseStripLocales() function
* Tue Sep 15 2009 -
- added backup MBR to 0x800 if --grub-chainload is in use
  also added FDST flag to 0x190 for preload setup. We need
  to take care for that value if other preloads requires
  something similar it should be an option (bnc #539505)
- added cross-directory-hard-link filter
* Mon Sep 14 2009 -
- fixed inode calculation, needs integer result
- changed to schema version 3.7, add xsl stylesheet which
  automatically changes to the bool values true/false
  * allow ensconce as packagemanager type
  * fixed bool content for rpm-check-signatures
* Fri Sep 11 2009 -
- link files to create live ISO in createImageLiveCD()
  instead of moving them (bnc #412689)
- do kiwi test mounts with readonly option (bnc #538355)
- use option -J -f to call genisoimage (bnc #538390)
- disabled check for removable flag in USBStickDevice()
  function (bnc #535113)
- allow cmdline line overwrites only if the variable
  ALLOW_CMDLINE_OVERWRITE=yes is set in config.<MAC> or
  config.default. By default no overwrites are allowed
  which should add an acceptable level of
  security (bnc #536309)
* Thu Sep 03 2009 -
- allow NBDROOT to be set via kernel cmdline (bnc #536309)
- fixed satplugin getInstallList() function, did not allocate
  enough space to hold the package size. This causes the buffer
  overflow inside the binding. Also added the flags
  -D_FORTIFY_SOURCE=2 -fstack-protector to build the same
  binding binary as if kiwi is build inside the BS. Also
  fixed the spec file and removed the versioned requires of
  satsolver-tools (bnc #532894)
* Wed Sep 02 2009 -
- added encoding information to all templates
- added log information about temporary XML changes
  for all modes of kiwi, removed the used xml output
* Tue Sep 01 2009 -
- fixed virtual disk creation with clicfs involved
- added option --grub-chainload which allows the virtual
  disk based images to chainload grub from partition one.
  This is required for some preload processes (bnc #529850)
- changed filesystem detection by using blkid instead
  of a raw dump + file call. Related to (bnc #529850)
- disabled partition table re-write for hybrid ISO's
  also see the comment in
* Fri Aug 28 2009 -
- fixed partition size check which failed if oem-systemsize
  was set but the disk was smaller than the configured size
* Wed Aug 26 2009 -
- added support for parted in oem repartition code
- removed check for luks mapping in functions which are
  surely not called if the luks extension is used
* Tue Aug 25 2009 -
- support new syslinux >= 3.82 format (bnc #530255)
- added function dn to support linux device node name
  convention: Converts from partition name to disk name (bnc #529580)
- fixed bootloader title setup if multiple kernels are installed
- restructured oem repartition code to allow use of parted.
  parted does not allow to create custom partition id's they
  are the result of a sequence of subsequently created partitions.
  parted implementation will follow soon
- allow only bool (true/false) content for the oem-*
  boolean attributes
* Fri Aug 21 2009 -
- remove kernel-.*-base from all boot image descriptions
  for suse-11.2. They don't exist anymore
* Thu Aug 20 2009 -
- fixed spec file
* Mon Aug 17 2009 -
- fixed boot default size setup (bnc #532371)
- fixed KIWIBoot::getStorageSize function, use blockdev
- fixed dialog input by calling setctsid before dialog
- removed duplicate creation of read/write filesystem
- changed title for install media to "Install/Restore ..."
- added support for language selection in displayEULA function.
  The function now uses the same file names according to the
  licenses.tgz file. If no language specific license file could
  be found the function defaults to license.txt and if that file
  also doesn't exist it defaults to EULA.txt (bnc #530497)
* Fri Aug 14 2009 -
- fixed main::mount() method, setup of umountStack was wrong
  now using mount destination for umount not source
- fixed isohybrid created partition table to be DOS compatible
  This means the first partition starts at sector 64
- update documentation, add information about LVM and
  repository priorities, differences between smart and zypper
* Tue Aug 11 2009 -
- v3.74
- fixed VMFindSystem function in xenboot (bnc #530200)
- make rpm-force content a boolean value. Update schema
  documentation, update LaTeX documentation
- removed pigz from kiwi-tools, it's packaged and
  maintained by Alexander Graf <> now
- run fsck and resize2fs only on first boot of a clic mount
- don't wait for storage device if it's a loop
- use resize2fs -M if possible ( >= v1.41 )
* Tue Aug 11 2009 -
- v3.73
- removed -extra kernel packages for 11.2, don't exist anymore
- added desktop kernel profile too boot images for 11.2
- fixed foreign addPackage and addArchive calls, make sure
  the package/archive is added to the bootstrap section not
  to the image section as we can't guarantee that a
  type="image" section exists
- run tagmedia at last
* Tue Aug 11 2009 -
- v3.72
- fixed getSize function to calculate required inode count
  for the subsequent mkfs ext2/3/4 call (bnc #528839)
* Fri Aug 07 2009 -
- v3.71
- added ddn function and replace all occurrences of
  a=$disk"number" with a=$(ddn $disk number) (bnc #529580)
- added --select packages for the --info option
- added checkmedia KIWIIsoLinux constructor parameter
* Thu Aug 06 2009 -
- v3.70
- added dialog based progress information when restoring
  the recovery archive files (bnc #510041)
- fixed evaluation of MKCLICFS_COMPRESSION (bnc #528743)
- clear screen after dialog window disappears (bnc #510041)
- fixed loop between CDMount and searchBIOSBootDevice
  happening in oem ISO install mode
- fixed HAVE_USB check, usbcore is no longer a module
- added edd module to be present in isoboot
* Wed Aug 05 2009 -
- v3.69
- changed oem-repart to allow oem-systemsize even if no home and
  no swap partition was requested. by default the entire disk space
  is used but if a oem-systemsize is set this value will be used
  and therefore allows to have some space left on the disk
- fixed loop cleanup
* Mon Aug 03 2009 -
- v3.68
- use dmsetup remove instead of kpartx -d
- wait for process to finish when sending int signal (bnc #525986)
- added support for hybrid ISO's. This feature exists with
  openSUSE 11.2 or later. In order to use it add the attribute
  hybrid="true" to your iso type line. If you use the iso on
  a read/write medium the isoboot code will search for a 0x83
  partition used for writing OS data (bnc #496505)
* Fri Jul 31 2009 -
- v3.67
- use blockdev to check partition and disk size (bnc #527016)
- use #!/usr/bin/env vmware in .vmx config file
* Wed Jul 29 2009 -
- v3.66
- deactivate mbr id check on oem install (bnc #525682)
- fixed file finder for relative paths in createImageSplit
- update ec2 documentation, fixed public ari/aki table
- fixed solvable creation for migrate, also add the
  option --report-packlist. Updated docu chapter about
* Thu Jul 23 2009 -
- v3.65
- added suse-11.2-JeOS template
- removed obsolte tools/cdtool/suse-isolinux
- fixed isoboot: added if it exists
- leave libncursesw inside the initrd for dialog use
- added waitForUSBDeviceScan() function and wait only
  if usbcore module could be loaded
* Thu Jul 16 2009 -
- v3.64
- added displayEULA function (bnc #522985)
- added opensuseProduct in JeOS templates (bnc #522217)
- fixed xenbridge network setup if bridge name is set to
  an empty string (bnc #515404)
* Thu Jul 09 2009 -
- v3.63
- set hal lock for mapped luks device
- fixed satplugin due to satsolver api changes (bnc #521968)
- added suseSetupProduct function (bnc #520268)
- fixed ram only netboot image download (bnc #519055)
- added support for luks extension for usb image type (bnc #505782)
- added support for luks extension for xen image type (bnc #505782)
- added support for luks extension for iso image type (bnc #505782)
- fixed liveCD isolinux entry selection (bnc #521338)
- added openssl-certs to bootstrap section of SLE JeOS and
  boot image templates to allow use of SLE update repositories
- removed required lib* packages from delete sections
- be verbose when removing files from the initrd
- make luks password dialog more user friendly
- update schema documentation
* Sun Jul 05 2009 -
- v3.62
- added check for packages really on media when using
  fallback KIWIPattern resolver (bnc #517506)
- fixed combined mount with luks encoded read-write part (bnc #505782)
- added support for luks extension for oem image type (bnc #505782)
- fixed CD eject in oem CD/DVD install mode (bnc #519654)
* Tue Jun 30 2009 -
- v3.61
- prepared KIWIImage to work with luks extension. This is not
  a complete implementation so far, just a first start (bnc #505782)
- added basic support for LUKS extension for vmx image type
- fixed inclusion of custom tar archives if the image
  description provides only a bootstrap section like the
  isoboot data does
* Mon Jun 22 2009 -
- v3.60
- allow inclusion of custom tar archives with new <archive>
  element. This can be used to include custom branding without
  special branding packages. This can also be used to include
  any kind of data without the need for a package (bnc #515573)
- added virtio kernel modules to boot images (bnc #515543)
- improved support for obtaining XML information (bnc #513093)
- don't remove libx*, 11.2 hwinfo is linked against libx86emu
- don't remove mkfs/fsck links, just a cleanup fix
- the inode issue comes back to haunt us yet again.  The last go
  around actually made things *worse* for things like vmdk that
  allocate large disks, since 2x the number of files is probably
  much smaller than the 'automatic' calculation used for a disk of
  that size. The attached patch fixes this by removing the
  --fs-numinodes option (which is useless, IMHO) and replaces it
  with --fs-inoderatio.  Kiwi will assume 16k for inode ratio if
  not otherwise specified. We use the ratio to determine the number
  of inodes, unless it is a smaller value than num_files*2.
* Fri Jun 19 2009 -
- v3.59
- fixed journal parameter handling in setupEXT2
* Tue Jun 16 2009 -
- v3.58
- combine manual pages and kiwi cookbook into one
- added -persist option when calling nbd-client (bnc #513112)
- fixed clicfs mount for pxe type (bnc #513826)
- fixed checkType function if flags and filesystem attributes
  are used together. Using these attributes together in one
  type is redundant and therefore not correct but it should
  not lead to an error (bnc #514412)
- removed useless setValidateRepositoryType method
- add support for xml file logging. This allows to keep
  track on the temporary changes kiwi makes in the XML
  description caused by for example commandline options
- fixed clone to search in default image path if source
  is specified as relative path
* Tue Jun 09 2009 -
- v3.57
- fixed kernel/initrd links in setupSUSEInitrd (bnc #507261)
- call searchBIOSBootDevice only on initial deployment
  if the kiwi initrd is still in place for a subsequent boot
  use the root variable from the kernel commandline to find
  the boot disk, related to (bnc #507261)
- fixed setRepository function so that it does not
  overwrite repositories marked with status="fixed"
- added list of available patterns for --list-xmlinfo
- added support for ext4 filesystem, adapt 11.2 examples
- adapt 11.2 boot images for ext4
* Fri Jun 05 2009 -
- v3.56
- fixed missing xen bootprofile in vmx and oem (bnc #510276)
- added ec2 bootkernel profile for vmx,oem,xen (bnc #510276)
- fixed dom0 Xen setup
* Thu Jun 04 2009 -
- fixed call of xsl stylesheet in
* Tue Jun 02 2009 -
- v3.55
- default to "no" when the recovery dialog is displayed
- moved <compressed> element into the <type> section
  added xsl stylesheet for transformation from scheme
  version 2.4 -> 3.5 according to this change. Always
  compress cpio images (bnc #509107)
- moved schemeversion to schemaversion (bnc #509107)
- allow use of zypper iso:// URL type in kiwi (bnc #498437)
- fixed documentation for bool value use (bnc #508614)
- fixed checkmedia reboot to happen immediately (bnc #509061)
- fixed checkmedia message (bnc #509060)
* Tue Jun 02 2009 -
- Use the O_LARGEFILE flag when opening an image
* Fri May 29 2009 -
- Giving more imagewriter feedback when a file cannot be opened.
* Wed May 27 2009 -
- v3.54
- added kiwi --clone mode (bnc #505554)
- check for iso tool in (bnc #478991)
- added fix catalog function to (bnc #478991)
- set inode count for system partition only, even if
  it has been specified via --fs-maxinodes (bnc #495135)
- fixed OEM recovery, set OEM_RECOVERY to the root device
  not the recovery device (bnc #503653)
* Mon May 25 2009 -
- v3.53
- fixed oem format="iso" install mode (bnc #506983)
- use dialog for asking questions (bnc #503653)
- added resize_inode feature to filesystem before resizing.
  This will reserve space so the block group descriptor
  table may grow in the future (bnc #498683)
* Mon May 25 2009 -
- fixed clicfs mount, regression from my last nfs fix
* Mon May 18 2009 -
- v3.52
- don't reserve blocks for clicfs without cow (bnc #505580)
- reset IFS to standard value in CDDevice (bnc #505943)
- fixed clicfs mount over AOE,NBD (bnc #504652)
- fixed volid setup in case of spaces (bnc #500501)
- allow inclusion of boot image packages specified inside
  the system image description. This feature is used to setup
  branding packages which needs to be installed as part of
  the boot image (initrd) (bnc #497888)
- rewrote to allow bit/tri arch boot media
  the code has not been tested for efi or ikr due to lack of
  such machines (bnc #478991)
- fixed/changed clicfs over NFS use. When using a clicfs
  image it's required that the clicfs filesystem is mounted
  on the server and the container (fsdata.ext3) is exported
  to the client. In that way it's consistent with all other
  filesystem types
* Fri May 15 2009 -
- v3.51
- set keytable to us in template files (bnc #504275)
- fixed live iso examples (bnc #504283)
* Tue May 05 2009 -
- 3.50
- added bash quotation function (bnc #500537)
- fixed sap media changer call (bnc #486758)
- added more clic fixes, still not finished (bnc #497172)
- set inode count for system partition only (bnc #495135)
- added optional volid setup for iso's (bnc #500501)
- fixed group setup with correct group id (bnc #503117)
- fixed spec file requirement for mkisofs on sle10 (bnc #503333)
- update scheme documentation from oXygen
- don't set config file when calling modprobe in
  suseStripKernel function
- fixed satsolver setup
* Tue May 05 2009 -
- v3.49
- added clic fixes from coolo (bnc #497172)
- fixed quotation of realname for user setup (bnc #500537)
- fixed activateBootPartition code (bnc #500454)
* Wed Apr 29 2009 -
- v3.48
- allow setting up vga for iso images too (bnc #480336)
- fixed permissions on recovery (bnc #489909)
- detect if it is required to pass -t iso9660 (bnc #498497)
- added support for clicfs for suse >= 11.2 (bnc #497172)
- don't run path generation for iso:// and file:// paths
  if zypper is used (bnc #498437)
* Mon Apr 27 2009 -
- v3.47
- fixed initrd cpio if xen type is requested (bnc #399230)
- added kernel parameter nombridcheck (bnc #498371)
- remove boot/grub/mbrid file from installed system
  at first deployment to avoid conflicts on reboot
- set boot flag after repartitioning the device
- fixed template xorg.conf for 64 bit
- exclude install source device from being used as
  SAP data storage device
* Fri Apr 24 2009 -
- v3.46
- fixed format image creation for split type (bnc #497882)
- use -x option when copying system tree to avoid copying
  still mounted filesystems like proc for example (bnc #497984)
- pass -t iso9660 when mounting CD/DVD devices. It's a kernel
  bug that slows down the bandwidth if not passing that value
  but the workaround is rock solid :) (bnc #493201)
* Wed Apr 22 2009 -
- v3.45
- fixed kiwi_revision content in .profile
- fixed LVM repartition code if more than one VG exist
- deacticate the bios 0x80 check it's not safe enough
- don't reboot the system after OEMInstall, simply proceed
- allow non interactive installation procedure in
  oem-sap-install mode. In case of multiple disks the smallest
  one is used for the system (bnc #486758)
* Wed Apr 22 2009 -
- v3.44
- fixed fstab setup of sapdata volume
- restrict packagemanager names to smart and zypper
- activate volume groups before calling mkinitrd
- fixed filesystem detection if root is on LVM
- added ovftool patch required for tech. preview
- fixed bootpartition id for install image creation
- fixed size of boot image partition when creating an
  install image of type: virtual disk
* Tue Apr 21 2009 -
- v3.43
- added missing entries in sysconfig/bootloader (bnc #495909)
- let udev load modules if modules.order is provided by
  the kernel (bnc #493201)
* Mon Apr 20 2009 -
- v3.42
- fixed recovery device setup (bnc #493878)
- make sure DHCPHADDR is an uppercase value (bnc #495557)
- fixed probeFileSystem to take care if the first 512byte
  contains a bootloader (bnc #493489)
- fixed multicast activation/deactivation (bnc #356974)
- also check for include link to use --dereference when
  copying the overlay tree (bnc #490128)
- added bool content type instead of text for
  rpm-excludedocs (bnc #496382)
* Tue Apr 07 2009 -
- Fix path creation on openSUSE 11.1 and later systems.
  This fixes missing files on inst source medias created on SLES 11 systems.
* Fri Apr 03 2009 -
- v3.41
- fixed URL quoting when passing credentials (bnc #491475)
* Tue Mar 31 2009 -
- v3.40
- update manual pages. Patch by Peter Schinagl <>
- added functions to run X inside preinit (bnc #486758)
* Mon Mar 30 2009 -
- v3.39
- added a domain attribute inside the xenconfig section in
  config.xml to be able to distinguish whether a virtual disk
  image should be a Xen dom0 host system or a Xen domU guest
  system. If no domain is set a dom0 image will be created
- added xenServer function to check if we run a Xen host
  or guest system. The bootloader setup is different for
  dom0 or domU. Adapt setupBootLoader* functions
- allow filesystem resizing to be used in isoboot
- added check functions SAPMemCheck, SAPCPUCheck
  and SAPStorageCheck. They apply if the oem-sap-install
  attribute is set for OEM images (bnc #486758)
* Fri Mar 27 2009 -
- v3.38
- added root fstab entry for compressed rootfs (bnc #486017)
- fixed console setup when booting into a Xen guest
- added support for virtual disk images as Xen guest. This
  means you can specify <type ..bootprofile="xen">vmx|oem</type>
  and the resulting virtual disk image can boot as Xen guest
  system. Patch by James Willcox <>
* Thu Mar 26 2009 -
- v3.37
- added squashfs requirement for suse version > 10.1
- fixed solvable creation for repos without compressed
  meta data (packages and .pat file)
* Wed Mar 25 2009 -
- v3.36
- allow oem-reboot to take effect in recovery mode (bnc #487887)
- improved the --list-xmlinfo option which now also prints
  information about the repositories used for the image
  and it will print out the install size in kB by using
  the satsolver. Users can so check how much space is
  required to build the root tree of the image
* Mon Mar 23 2009 -
- Adding "-m" to the imagewriter to start in a maximized window
* Mon Mar 23 2009 -
- v3.35
- Add support for repository ordering
  * For KIWI system image builds with zypper (requires openSUSE 11.1 zypper)
  * For installation images generation [bnc #487712]
- removed and also the --instsource-local
  option from the code base. This module is no longer maintained
  and all code related to this path went into
- add --dest-dir check when --build runs
- fixed checkType function for iso tool check
- include xml man page source to git
- update template descriptions
* Wed Mar 18 2009 -
- v3.34
- really fixed this path handling in upgrade mode
- fixed ignore element validation
- added suse-SLE10-JeOS template
* Tue Mar 17 2009 -
- Ported the new imagewriter UI to MacOS
- MacOS USB key writing is now functional.  "Unsafe mode" coming
* Tue Mar 17 2009 -
- v3.33
- added support for arch attribute in pattern names
- removed support for cromfs; dead and unmaintained fs
- added bootkernel attribute which allows to select a kernel
  profile defined in the boot image description
* Mon Mar 16 2009 -
- v3.32
- changed netboot descriptions >= 11.1 to provide diskless
  kernel profiles named diskless-kdefault and diskless-kpae.
  The standard diskless profile will no longer include a
* Fri Mar 13 2009 -
- v3.31
- fixed broken CD/DVD mount path in isoboot workflow
- fixed vmxboot workflow for dmsquash setup
- fixed oemboot workflow for dmsquash setup
- fixed usbboot workflow for dmsquash setup
* Thu Mar 12 2009 -
- v3.30
- added warning message before installing system (bnc #484793)
* Wed Mar 11 2009 -
- v3.29
- added cdrkit-cdrtools-compat required for kiwi-desc-oemboot
- added experimental support for dmsquash filesystem type which is
  a squashfs filesystem containing an ext3 filesystem. The mount of
  the data happens via a device-mapper snapshot and allows
  copy-on-write access (bnc #483444)
- fixed install image size calculation in case of a compressed
  image. gzip -l was used but we ran into the >4GB bug mentioned
  in the gzip manpage (bnc #484247)
* Tue Mar 10 2009 -
- v3.28
- added crc-t10dif kernel module for 11.2 boot
- added x-bit to vmware .vmx file generated by kiwi
- don't use arch specific glibc in boot images
- don't specify cracklib but remove all possibly
  installed versions in boot images
* Mon Mar 09 2009 -
- v3.27
- fixed remote root mounts (bnc #483283)
* Fri Mar 06 2009 -
- Fixing a build problem with the imagewriter on 10.3, it will now
  fall back to a simple UI if the Qt version is < 4.4.0.
* Fri Mar 06 2009 -
- v3.26
- added support for progress information when oem
  install mode is active, SLE11 HP preload (bnc #479844)
- added suse-SLE11-JeOS template
* Thu Mar 05 2009 -
- Fixed email address in imageburner subpackage in the spec file
- Added GPLv2 preamble to the source code
* Tue Mar 03 2009 -
- v3.25
- set /etc/sysconfig/clock if timezone is set (bnc #481832)
- use displayName for install iso/usb images while prepending
  the word Restore in front of the label text (bnc #481843)
- update manual page and kiwi help output
- added package kiwi-templates, JeOS templates. Wrote
  one template so far which is: suse-11.1-JeOS
- added package kiwi-tools-burner, Matt's burner tool
- added option --build which allows prepare and create
  in one step, useful for building templates
* Mon Mar 02 2009 -
- v3.24
- if only one disk is available let the oem install code
  use this disk without asking further questions (bnc #479842)
- allow setting up the kernel vga value (bnc #480336)
- added replaces="name" attribute to the package element.
  This allows you to install/upgrade a package by replacing
  it with another one. Along with this change it's now also
  possible to use --del-package to remove a package from an
  existing root directory
- added diskless profile patch which needs brd driver
  and the atlx network card driver (bnc #480740)
* Fri Feb 27 2009 -
- v3.23
- fixed syslinux setup for vmx image types (bnc #478989)
- add system exception for syslinux on oem image types.
  This is because we don't support OEMs with syslinux
* Wed Feb 25 2009 -
- v3.22
- fixed this path evaluation in upgrade mode
- removed static passwd/shadow and group files from examples
- added md5 checksum test in OEM install mode (bnc #479842)
- added progress information in recovery mode (bnc #479844)
- fixed handling of oem-boot-title. If the title is set it
  is prefered over the displayname attribute. Additionally
  the given string is used as complete title name when oemboot
  reconfigures the bootloader (bnc #479838)
- added support for an alternative bootloader [syslinux].
  You can specify bootloader="syslinux" as part of the type
  setup and kiwi uses syslinux instead of grub. This works
  for the _usb_ image type (bnc #478989)
* Tue Feb 24 2009 -
- v3.21
- fixed KIWIManager key/value parsing when zypper is used.
  If the URL itself contains the "=" sign the key=value
  regular expression returns the wrong result and the URL
  was broken (bnc #478673)
* Mon Feb 23 2009 -
- v3.20
- added suse-11.2 boot image description (bnc #478461)
- prevent boot.rootfsck from being called, the tree was
  already checked at image creation time (bnc #478351)
- allow use without any graphics boot data, also fixed text
  based screen showed when isolinux has no graphics screen
- allow use of gfxboot-branding package as alternative to
  the recommended gfxboot and gfxboot-devel packages in the
  boot image description. If the devel package for gfxboot
  is installed custom boot screen brandings are possible. If the
  gfxboot-branding package is installed only the branding
  provided by this package can be used.
* Tue Feb 17 2009 -
- v3.19
- fixed oem-reboot feature in (bnc #474043)
- fixed searchBIOSBootDevice() to use the latest mbrid found
  on all available disks. Also added a system exception if
  no boot device could be found. Related to (bnc #474043)
- fixed netboot to call e2fsck instead of fsck which doesn't
  exist. Also fixed e2fsck calls to use -p only instead
  of -f -p (bnc #473355)
- add function canWrite() to check if we can write to
  the destination before copying config / branding files
- fixed atftp option handling for the multicast setup
  use "multicast enable/disable" notation
- fixed dhcpcd calls to use PXE_IFACE as parameter
- use DNSDOMAIN for DOMAIN if DOMAIN is not set
- use DNSSERVERS for DNS if DNS is not set
- added default split section if no split section is set in
  config.xml. The contents of the default section are stored
  in /usr/share/kiwi/modules/KIWISplit.txt. At the moment we
  use /var in a temporary location (bnc #473826)
* Mon Feb 16 2009 -
- v3.18
- make sure the OEM repartition code leaves an active flaged
  boot partition at the end. This might be required for some BIOS
  implementation to be able to boot from the device (bnc #475664)
* Fri Feb 13 2009 -
- v3.17
- fixed creation of OEM install stick (bnc #475162)
* Thu Feb 12 2009 -
- v3.16
- fixed OEM install mode, don't check for a filesystem on the
  install disk it might not have one (bnc #475162)
* Wed Feb 11 2009 -
- v3.15
- create the kiwicdinst temporary directory below the
  image destination directory as we can't assume that there is
  enough space available below /tmp for a complete OS image
- use iso-level 4 live CDs if files are stored as
  uncompressed data on the ISO filesystem
* Fri Feb 06 2009 -
- v3.14
- netboot: added patch when creating a filesystem on the root
  partition. The validity is checked by fsck now instead of trying
  to mount the device (bnc #473355)
- netboot: implement address notification if DHCP setup has
  changed according to the IP data stored in the ldap directory
  for the client (bnc #473329)
- fixed system hangup when moving data from shared memory
  into boot partition. Fixed that by copying boot data before
  overlayed mountSystem() is called, looks like a aufs bug
- pass the -p option to fsck instead of -y to prevent
  interaction with the splash screen
- don't dereference symbolic links when copying the overlay
  tree. Copy call changed to: cp -dR --remove-destination
* Thu Feb 05 2009 -
- v3.13
- fixed partition commands to always set an active (boot)
  partition. This is required by some BIOS's (bnc #472218)
- fixed virtual disk size calculation:
  * don't use du --apparent-size it's not the real size used
  * setup a safe inode count to ensure all files fits in for ext2/3
- fixed grub title setup, embed title string in a pair of
  underscores which are not displayed by grub but avoid
  menu title display problems
* Wed Feb 04 2009 -
- v3.12
- added the -f option to mkisofs call in cd mastering script
  (bnc #465820)
* Tue Feb 03 2009 -
- v3.11
- implemented support for ATA over Ethernet (bnc #441832)
- fixed ovftool call in case of terminal logging (bnc #472009)
- fixed xenconfig to avoid absolute paths (bnc #472010)
* Tue Jan 27 2009 -
- v3.10
- include inst-source branch changes from abuild team (r1875):
  * fixed KIWICollect_local handling of baselibs packages in
  debug and source package collection. Fixed collector code
- fixed xen initrd compression to make xm tool happy
- fixed migration table and repo solver (bnc #469372)
- fixed log call on undefined value in recursion (bnc #469366)
- added optional bool element: <oem-kiwi-initrd> which
  allows to use the kiwi initrd persistently for OEM
  based images (bnc #467947)
* Tue Jan 20 2009 -
- v3.09
- added gfxboot and kiwi-tools required for SLE11 images
- fixed missing oem-reboot reference in KIWIScheme.rnc
- added non interactive option when calling zypper dist-upgrade
- fixed setup of splash cpio, use compression level 1 to
  avoid problems when Xen uncompresses the initrd
- Fixes for the kiwi-instsource module:
  * changed return value handling, fixed missing retvalues
  * fixed unclear "die" exits
  * enhanced plugin progress log
  * handle debugmedium as separate medium with media.1 subdir and separate
  create_package_descr call (bnc #458645)
  * fixed createBootPackageLinks which looped infintely in certain
  conditions (no bug reported, fixed as found)
* Mon Jan 19 2009 -
- v3.08
- fixed installation mode, incomplete MBR ID check
* Mon Jan 19 2009 -
- v3.07
- fixed installation mode from CD, wrong disk check happened
- fixed installation mode, added size check before dump
* Fri Jan 16 2009 -
- v3.06
- fixed installation mode. wrong partition was mounted.
  According to this the install image file wasn't found
* Fri Jan 16 2009 -
- v3.05
- fixed KIWIXML object construction in The image
  type parameter was unknown to the xml instances
- added Documentation for inst-source creation by Jan
- KIWICollect_local fix: FLAVOR became a variable instead of
  info. Patch by Adrian
* Thu Jan 15 2009 -
- v3.04
- fixed md5 output naming if .raw is part of the dir (bnc #459415)
- fixed bootloader setup to use the grub binary from the initrd
- fixed size calculation for data plus filesystem overhead
  if only the root tree is present.
* Thu Jan 08 2009 -
- v3.03
- added LVM support for oemboot (bnc #447059)
- added LVM support for vmxboot (bnc #447059)
- added LVM support for usbboot (bnc #447059)
- added support for a custom displayname which can be
  specified in config.xml and is used the boot menu for
  isolinux and grub (bnc #446455)
- restructured/cleaned up oemboot boot code and prepared
  it for use with LVM, related to (bnc #447059)
- fixed integration of the OVF image format created
  by the ovftool from VMware (bnc #464810)
- fixed missing eval output in case of wrong eval call
- print internal backtrace only if --debug is set
- added check for broken root trees. While setting up the
  root tree kiwi marks it as broken and after a successful
  preparation the tree looses the broken mark
- removed jabber log functions, never used
* Tue Dec 30 2008 -
- v3.02
- fixed package repo for SLE11 boot images (bnc #461671)
- fixed package setup for 11.1/SLE11 boot images (bnc #457229)
- fixed remote repo paths for kiwi examples
- fixed documentation for ec2
* Tue Dec 23 2008 -
- fixed NFS mount install command problem (bnc #455963)
- fixed 11.1 pxe example package list
* Fri Dec 19 2008 -
- added ohci-hcd.ko to SLE10 usbdrivers section
* Thu Dec 11 2008 -
- fixed missing S/390 eltorito entry (bnc #439907)
* Tue Dec 09 2008 -
- added check for system map when stripping kernels
* Tue Dec 09 2008 -
- fix pigz so that it can decompress .spl files (bnc #457633)
* Thu Dec 04 2008 -
- move usb device scan to probeUSB function (bnc #455993)
- call usb device scan only if a usb host controller was
  found and successfully loaded (bnc #455993)
* Wed Dec 03 2008 -
- fixed unified/split based oem second boot phase (bnc #450780)
- added usb-storage device scan detection (bnc #455993)
* Wed Dec 03 2008 -
- added slepos functions (bnc #349181)
- changed sfdiskGetPartitionSize to calculate the entire
  disk size based on max cylinders -1
* Tue Dec 02 2008 -
- fixed split based boot configuration (bnc #450780)
* Tue Dec 02 2008 -
- added deviceMap to allow custom partition device names by id
- fixed sfdiskGetPartitionSize to report the correct size if
  called on a whole disk and not on a partition
* Fri Nov 28 2008 -
- fixed build
- fixed filesystem blocksize value for ramdisk usage on
  old style live systems. the ramdisk code as well as the
  filesystem uses 4k blocksize in that case
* Fri Nov 28 2008 -
- don't evaluate bios edd disk-by-id links (bnc #449757)
- fixed disk partition size calculation in oemboot (bnc #449757)
- update pigz tool, used in suse studio only
* Thu Nov 27 2008 -
- changed from sector based calculation to cylinder based
  calculation for partitions created with parted
- added ifplugd to suse-11.1 examples
- fixed setup of kiwi_type when in creation mode
- added versioned requires for kiwi-instsource
- updated dotty dependency graph
- make sure MBR disk labels starts with first byte > 0xf
- allow prebuilt boot image path to be the same as the
  destination directory for the final image
- make fdisk output part of the log file when oemboot
  repartitions the disk
* Tue Nov 25 2008 -
- moved setupPackageKeys() to the beginning of prepare (bnc #447025)
* Tue Nov 25 2008 -
- added usb module support for netboot images
- make sure proc is not mounted when calling init
- respect atftp option name convention for multicast
- allow losetup to be used on older systems. This means if
  the call with option -s -f fails kiwi tries to manually find
  a free loop device
- manually load the usbhid driver to support USB keyboards
  while inside the initrd
* Fri Nov 21 2008 -
- added check for USB stick size before deployment (bnc #446450)
- fixed documentation about usbdrivers section (bnc #448085)
- added usb hid modules to iso|oem and usbboot (bnc #448085)
- compare resolv.conf files only if they exist
- fixed CDDevice() function to report devices correctly
- fixed bindLoopDevice(), possible race condition
- compare resolv.conf files only if they exist
* Fri Nov 21 2008 -
- fixed filesystem setup for netboot partitions (bnc #415402)
- fixed atftp multicast handling, disabled for compressed
  images because you can't seek in a pipe (bnc #356974)
* Fri Nov 21 2008 -
- removed some mkisofs options for ppc (bnc #446416)
- added docu dir to directory.yast create list (bnc #447486)
* Tue Nov 18 2008 -
- added setupPackageKeys function (bnc #447025)
- fixed getStorageSize() [fdisk] return value (bnc #446812)
- added kernel consistency check (bnc #445309)
- set framebuffer to verbose mode in sax init script
- added SLE[SD]11 boot image templates used by JeOS
* Tue Nov 18 2008 -
- fixed parted type setup and storage size function
* Mon Nov 17 2008 -
- include inst-source branch changes from autobuild team (r1776):
  * changed cp -v to cp -a to preserve timestamps (bnc #445734)
  * removed false cp command (wrong targetdir) (bnc #444705)
  * added options for EFI boot
  * create volid string (patch by Olaf Hering <>
  * fixed quoting in tools/cdtool/suse-isolinux for
  hfs-volid string (bnc #444304)
* Mon Nov 17 2008 -
- fixed mountSystemUnified() to move the union mount points
  into the system which allows remounting tmpfs (bnc #442612)
- fixed evaluation of bool value (bnc #444996)
- fixed USBStickDevice() to check for config.isoclient too.
  This is needed if a live iso was converted to boot from USB
  stick as described in Bug (bnc #441278)
- fixed grub default language setup in suseGFXBoot
- changed examples default source path to point to network
- update documentation, added chapter how to create a local
  SUSE installation source and reference it for the examples
- include inst-source branch changes from autobuild team (r1761):
  * removed false copy statement (wrong targetdir)
  * fix handling of addarch, this must not use substring searches to
  detect duplicate architectures.
* Thu Nov 13 2008 -
- include inst-source branch changes from autobuild team (r1753):
  * suse-isolinux: call parameters appear in logfile now
  * suse-isolinux: fixed missing test for ppc specialities
* Thu Nov 13 2008 -
- include inst-source branch changes from autobuild team (r1753):
  * fix handling of additional architectures not part of fallback list.
  * Disable version require handling until bugs are solved.
  * remove obsolete code
  * a bit more debug output
* Wed Nov 12 2008 -
- kiwi version freeze for SUSE 11.1 => v3.01
- include inst-source branch changes from autobuild team (r1750):
  * moved suse-isolinux script to cdtool tools directory
  * install suse-isolinux along with kiwi-instsource
  * removed an unneccesary hash parameter
  * changed the return value of KIWICollect::createBootPackageLinks
  (verbose debugging plus failed exit)
  * changed return value of KIWIRepoMetaHandler::loadPlugins:
  return a pair of numbers showing discrepancies between available
  and loaded plugins (todo: implement exceptions for disabled pl.)
  * fixed a bug in HTTP access: accessing failed due
  to a wrong regex
* Thu Nov 06 2008 -
- v3.01
- start udevd in preinit stage (bnc #442302)
- evaluate value for oem-boot-title in initial bootloader
  configuration too (bnc #442361)
* Tue Nov 04 2008 -
- v3.00
- removed asus eepc modules from diskless netboot (bnc #442273)
- allow alternative tmp dir set with TMPDIR (bnc #441834)
- adapt iso live image to allow boot from stick (bnc #441278)
- fixed netboot boot setup for overlayed NBD root
- added image file link with filesystem extension
* Fri Oct 31 2008 -
- v2.99
- fixed usbboot to check for LOCAL_BOOT correctly
- fixed suse-11.1/suse-live-stick earlyxdm meta data
* Thu Oct 30 2008 -
- v2.98
- enhanced suse-11.1/suse-live-stick example to make use
  of the yast2-firstboot configuration step
- use option -A in mkisofs instead of genisoimage -A
- added support for zypper's target architecture. kiwi allows
  to set the option --target-arch to one of the following
  values: i586, x86_64, armv5tel or ppc. This option should be
  used for building cross arch images. Please note:
  * Installing packages for another than the build machines
  architecture additionally requires an environment setup which
  allows running binaries of that architecture.
  * One approach to do this is to use QEMU in user mode. Just copy
  the static qemu binaries from /usr/bin/qemu* into the root/usr/bin
  directory of your image description. Last step before calling
  qemu is to run the /usr/sbin/ script to
  prepare the environment
  Thanks to Jan-Simon Moeller, Martin Mohring and Michael Andres
  for their effort
* Mon Oct 27 2008 -
- v2.97
- fixed SaT plugin due to API changes (bnc #436249)
- added the same padding to tagmedia as used with mkisofs
  by default this are 150 sectors (bnc #434563)
- fixed build and warnings
* Wed Oct 22 2008 -
- v2.96
- fixed shell exception if redirected to /dev/console (bnc #413474)
- added XML catalog for XSL stylesheets
- added functions to activate/deactivate trace output
- turn runlevel 4 requests into runlevel 5 for suse
- added usage message for --verbose option
- fixed POSIX based date call
* Tue Oct 21 2008 -
- v2.95
- run boot shell only in debug mode (bnc #403207)
- test for genisoimage before calling it, fixed spec file
- export ZYPP_CONF to point to /var/cache/kiwi/zypp.conf
- removed warn overwrite, use eval { Carp::longmess ... }
- update suse-11.1/suse-live-stick example to serve as
  1GB stick with KDE4 + dmidecoded X11 setup
* Mon Oct 20 2008 -
- v2.94
- fixed oemboot to log fdisk output when re-partitioning
- fixed KIWILinuxRC /dev/ram* check in mountSystemUnified
- fixed oemboot to resize read-write filesystem
* Fri Oct 17 2008 -
- v2.93
- fixed suse-11.1/suse-live-stick example, wrong pattern
- added file check before calling commands with qxx
* Thu Oct 16 2008 -
- v2.92
- added backtrace in case of error (bnc #435991)
- make the suse-11.1/suse-live-stick example more robust
- added check for possibly existing oem partition file
- put the perl bindings into a common KIWI namespace
* Thu Oct 16 2008 -
- v2.91
- don't remove scsi_id.config from initrd (bnc #435093)
* Mon Oct 13 2008 -
- v2.90
- changed grub and fstab setup to use disk ID labels (bnc #434806)
- use diskID labels for UNION mounts and INITRD params (bnc #434806)
- added check media label via genisoimage -A (bnc #434104)
- fixed setupKernel to change the sysconfig.kernel template file
  instead of creating a new one (bnc #435060)
- fixed kernel/initrd links for unified oem|vmx boot
- fixed mbrid detection for unified systems
- fixed netboot local boot, cmdline too long
- fixed parted type setup
* Thu Oct 09 2008 -
- v2.89
- added support for F3 -> textmode at boot time (bnc #391313)
- moved activate/boot code into common functions
- fixed typo in cookbook, thanks to nick://descriptor
- added option to select between fdisk and parted
- update scheme documentation according to last change
  by Adrian
* Wed Oct 08 2008 -
- v2.88
- added option --check to tagmedia call in KIWIIsoLinux
* Tue Oct 07 2008 -
- v2.87
- fixed permissions of live iso root (bnc #432971)
- fixed creation of sat solvable (bnc #32477)
* Tue Oct 07 2008 -
- v2.86
- fixed build, quick install guide was removed
- fixed getInstSourceSatSolvable() for online repos
* Mon Oct 06 2008 -
- v2.85
- fixed getPackageAttributes() to respect profiles
- removed completely outdated kiwi.quick.pdf
- fixed udev initial setup, default rules in /lib/udev/rules.d
- added support for openSUSE project patterns (bnc #432477)
- added required kernel packages -base, -extras according
  to kernel split for SUSE 11.1 (bnc #432482)
* Mon Oct 06 2008 -
- v2.84
- fixed instsource support for SLES10 (gzip problems)
- fixed instsource rpm handling for i686 arch
- added i586 <> i386 loader directory hack
- fixed creation of content file
- added support for Beta version handling
- added debug output for module loader
* Fri Oct 03 2008 -
- fix with latests kernel split
* Fri Sep 26 2008 -
- v2.83
- added suse 11.1 / SLES11 examples
- fixed patternType evaluation for zypper
- fixed USB stick partitioning, clean table first
- added architecture information for sat solv cache
- added xenbridge element to setup Xen bridge networking
- fixed file:// usage in xenconfig, this setup requires
  a full qualified path name according to the Xen docs
- fixed xenboot arch setup for kernel package
- fixed product parsing
- moved suse-isolinux (m_cd) code into
  perl based module.
* Thu Sep 25 2008 -
- v2.82
- removed plugins from moved to\
- also the plugins will be moved from the kiwi-instsource package to the
  packages kiwi-instsource-plugins-<distro>-<version>
* Tue Sep 23 2008 -
- v2.81
- fixed, initial value of @packages
* Tue Sep 23 2008 -
- v2.80
- included updates and weak-updates path for aufs into
  boot image descriptions, related to (bnc #428232)
* Tue Sep 23 2008 -
- v2.79
- fixed kernel updates inclusion (bnc #428232)
* Thu Sep 18 2008 -
- v2.78
- adapted new location of aufs module in 11.1 (bnc #428232)
- update kiwi manual pages, fixed usage message
- removed smart from BuildRequires, as it will be removed
  from the internal build service
* Tue Sep 16 2008 -
- v2.77
- added support for parted in kiwi. All partition tasks inside and in linuxrc are now possible with parted. Even
  though there is one exception which is the oemboot linuxrc.
  the repartition code in this boot code is still based on fdisk.
  All changes required due to bug (bnc #413637)
- added log excerpt information and fixed exit code handling
  if kiwi operation doesn't take place in a screen session. Last
  part of the fix is related to (bnc #420320)
- fixed detection of boot device in oemboot by using the BIOS
  id value 0x80. This fixes the detection of the wrong storage
  device when oemboot starts the repartitioning of the device
  on first boot. The change requires the edd module to be present
  in the boot image (initrd)
- added custom MBR ID for virtual disks. If the BIOS 0x80 check
  fails we still have the chance to find the correct boot device
  by the /boot/grub/mbrid file written by kiwi itself
* Mon Sep 15 2008 -
- v2.76
- fixed files (-f) check in migration mode (bnc #419219)
- added quoting for excluded param values (bnc #419219)
- added checkBrokenLinks() function (bnc #419219)
* Tue Sep 09 2008 -
- v2.75
- don't use i686 glibc for the boot images, it could cause
  the init process to hang and therefore locks the boot process
  completely (bnc #310001)
- added schema adaptions for instsource creation
- make create instsource a non root task, requested
  by autobuild team (mls,jcborn)
* Fri Sep 05 2008 -
- v2.74
- Patch by Peter Bowen which causes zypper to use a private
  copy of zypp.conf (rather than the host system copy) and
  provides an interface to modify the config file.
- Patch by Peter Bowen which allows automatic exclusion of
  documentation during install. Smart and zypper both support
  setting options that pass the right flag to rpm on the
- update documentation plus scheme documentation
* Wed Sep 03 2008 -
- v2.73
- fixed weak-updates handling (bnc #419988)
- fixed bindLoopDevice to look for free loop device by
  using losetup -f, thanks to Till for the hint
- added baseUpdateSysConfig function to
  which allows updating /etc/sysconfig/.. variables
* Fri Aug 29 2008 -
- v2.72
- don't open a network log port by default, option required
- don't use filesystem options by default, provided options
- fixed handling of other than name="drivers" sections
- fixed deb-dir repo type for smart (bnc #421958)
- added product support by Peter Bowen along with the
  existing packages / pattern support (bnc #422018)
* Wed Aug 27 2008 -
- v2.71
- fixed cache bind mount, only bind mount kiwi and package
  manager cache directories to avoid conflicts with others
* Mon Aug 25 2008 -
- v2.70
- added support for repository alias name
- added support for repository priority (smart only)
- added better schema documentation
* Fri Aug 22 2008 -
- v2.69
- fixed cache usage, need bind mount in early prepare (bnc #417457)
- fixed channel names, don't use PID here (bnc #417457)
- zypper: keep packages from remote repos only (bnc #419380)
- allow --set-repo/--set-repotype for migrate mode (bnc #419219)
- added partition format patch for netboot by SLEPOS team
* Thu Aug 21 2008 -
- v2.68
- don't use the zypper service-* commands (bnc #418994)
- added recommends handling for zypper according to the
  value of the patternType/patternPackageType (bnc #418817)
* Wed Aug 20 2008 -
- v2.67
- added zypper option --keep-packages (bnc #417457)
* Mon Aug 18 2008 -
- v2.66
- disabled build of images in spec file
- fixed adapter type detection in KIWIBoot (bnc #417461)
- fixed use of package manager cache. kiwi uses a global cache
  for building now. This is below /var/cache/kiwi/<manager>.
  The package manager data is temporarly bind mounted into the
  image root system for any package manager operation.
  This allows a faster processing within the second stage of
  the image preparation and also alows re-use of already
  downloaded remote packages (bnc #417457)
- changed locking process due to cache handling changes.
  This is related to (bnc #417457)
* Mon Aug 11 2008 -
- v2.65
- code cleanup, introduce partition table functions:
  getStorageSize and setStoragePartition to encapsulate
  disk partitioning. This is related to (bnc #413637)
- allow ramdisk size setup via kernel parameter (bnc #412457)
- added diskless drivers and bootsplash support (bnc #415662)
- removed unused X11 library requirement (bnc #413311)
- added migration chapter to the cookbook (bnc #412215)
- removed unused tools suse-instsource and createLiveCD
  Please refer to the kiwi documentation or the wiki page
  for a howto to build an example iso image
* Thu Jul 31 2008 -
- v2.64
- fixed shell exception on /dev/console (bnc #413474)
- added x bits on /init script (bnc #413610)
- increased boot timeout for lilo configuration
- improved migration code, makes use of patterns now and
  checks with SaTSolver whether the package exists in the
  solvables or not. I also added the possibility to add
  repositories while calling kiwi --migrate (bnc #412215)
- changed date calls in KIWILog to use localtime()
* Tue Jul 29 2008 -
- v2.63
- don't use umount -l (bnc #413122)
- add arch attribute to <configuration> section (bnc #412869)
- fixed suseGFXBoot to still allow setting up the splash screen
  even if gfxboot is missing, these two actions should be independent
- fixed automatic boot image building if the type setup
  is part of a profiled preferences section
- fixed KIWITest and KIWITestResult modules which uses
  ublessed object references when calling module methods
- fixed use of satsolver. It's required to queue jobs as
  how, what pairs otherwise the result is not solved
* Mon Jul 28 2008 -
- v2.62
- added ppc related lilo boot functions and rewrote the
  kernelList function. Hopefully this doesn't break other
  bootloader configurations
- fixed build for ia64
* Thu Jul 24 2008 -
- v2.61
- added Amazon EC2 chapter in kiwi cookbook
- removed use of kernel-xenpae for >= 11.0, doesn't exist there
- fixed suseStripKernel() function to include module dependency
  checking. Patch by Olaf Hering <>. Thanks Olaf
- fixed reading md5 file in isoboot suse-linuxrc (bnc #411673)
* Wed Jul 23 2008 -
- v2.60
- added ec2 example for suse 11.0: suse-ec2-guest (bnc #367138)
- fixed KIWIMigrate according to current scheme (bnc #411088)
- allow redirection of the log messages to a console set
  by the kernel parameter kiwistderr=... (bnc #411304)
- added suse-11.0 examples and reorganized the doc tree
- added suse-11.0 netboot description for ppc and reorganized
  the boot tree to allow different architectures
- fixed KIWISatSolver queue code and binding
* Wed Jul 16 2008 -
- v2.59
- fixed KIWIMigrate copy of files with spaces (bnc #410295)
- removed unneeded package inclusion for libcom_err. This package
  is required by other core components and therefore resolved
  correctly by the package manager. (bnc #410722)
- update migration table for openSUSE 11.0
- fixed suseStripKernel function to work with ppc
- added suseCloneRunlevel function which allows to
  clone the runlevel 3 links into the given runlevel. The
  function also activates the runlevel in /etc/inittab if
  not yet done. This function is relevant for systems booting
  into non standard runlevels like (4)
- added missing package requirements:
  * perl-XML-LibXML-Common
  * perl-XML-SAX
* Mon Jul 14 2008 -
- v2.58
- check for DHCPSID value too (bnc #408668)
- allow multiple preferences sections in config.xml (bnc #407981)
- allow creation of Amazon aki/ari image with the ec2 type (bnc #367138)
- fixed importBranding for usbboot, it should be called
  at first boot only and allow users to change their boot
  data persistently
- introduction of new attribute "local" (values boolean) in <instrepo>
  element. Tells kiwi to use link instead of lwp-download (much faster)
  For OBS scenario local trees will be used. Patch by Jan Bornschlegel
- fixed KIWIPatternsPlugin: use the correct subdir name in case
  of single subdir trees. Patch by Jan Bornschlegel
* Thu Jul 10 2008 -
- v2.57
- moved from bzip2 to gzip for the recovery archive (bnc #401749)
- install grub into recovery partition if present (bnc #407983)
- fixed OPTIND initial value for getopts shell builtin
- Integration of head functionality in,
  and respective unittest. Patch by Jan Bornschlegel
* Thu Jul 10 2008 -
- v2.56
- fixed relocateCatalog function for udf style iso's
* Wed Jul 09 2008 -
- v2.55
- use udf mount for installable iso images
- use getopts build in function to parse Echo options
- make the USB controller configurable in <vmwareconfig>
- added new element to <architectures> group to specify not only
  the fallback list but also the head elements Integration
  in KIWIArchList follows. fixed by Jan Bornschlegel
* Tue Jul 08 2008 -
- v2.54
- added sles option in guestOS setup of <vmwareconfig>
- better stylesheet convert20to24.xsl with help from Tom
- fixed copy of files in netboot linuxrc
* Mon Jul 07 2008 -
- v2.53
- added support for the openSUSE buildservice internal
  obs:// type. This is a follow up for bug (bnc #404460)
- fixed use of uninitialized values in instsource creation
- fixed xsltproc output in case of an error message
* Mon Jul 07 2008 -
- v2.52
- allow multiple <repopackages> groups in <instsource>
* Mon Jul 07 2008 -
- v2.51
- allow Echo function to use escape sequences (bnc #397949)
- instsource cleanup fixes by Jan Bornschlegel
* Fri Jul 04 2008 -
- v2.50
- added SUSE 11.1 (base SLE11) boot image descriptions
- use zypper as packagemanager for 11.1 descriptions
* Wed Jul 02 2008 -
- v2.49
- added support for netboot interrupt (bnc #397949)
- removed guest configuration attributes from <packages> section
  and add new main sections for VMware -> <vmareconfig> and
  for Xen -> <xenconfig>. This change requires a new scheme
  version 2.4 and the xsl stylesheet convert20to24.xsl. The
  conversion will _not_ add one of the new xen|vmareconfig
  sections but removes the invalid VM configuration related
  attributes from the packages sections (bnc #397528)
* Mon Jun 30 2008 -
- v2.48
- support this:// url type in boot attribute (bnc #404460)
* Fri Jun 27 2008 -
- v2.47
- fixed xenboot, don't remove mandatory files
- fixed initial semaphore locking state
* Thu Jun 26 2008 -
- v2.46
- skip USB stick detection in QEMU environment (bnc #402851)
- fixed kiwi processing if *.kiwi file is used as xml description
* Wed Jun 25 2008 -
- v2.45
- update documentation: new vmx format 'ovf' added to table
- fixed branding import, silent-* pictures were missing
- added patch by Adrian to fix the config.xml lookup
- add versioned requires for kiwi-desc-* packages
* Tue Jun 24 2008 -
- v2.44
- added support for creating the open virtual file format. The
  support is limited to the capabilities of the ovtool provided
  by VMware. At the moment kiwi expects the program "ovtool" to
  be present in the root execution path (bnc #399558)
* Thu Jun 19 2008 -
- v2.43
- added support for additive size setup (bnc #401747)
- fixed race condition when searching for free loop (bnc #402848)
- removed cdboot directory from isoboot descriptions. kiwi
  creates the isolinux configuration files now in
- fixed partition size calculation in oemboot
- fixed xenboot, make it smaller, remove unused kernel
  modules (network,scsi,cdrom,reiserfs,fat,vfat)
* Wed Jun 18 2008 -
- v2.42
- call grub with a device map to avoid probing
- create a generic boot image description for SLE
- update documentation, some words about checkprebuilt
* Tue Jun 17 2008 -
- v2.41
- added testsuite patches by Pavel Nemec (bnc #400817)
- fixed iso images if built with prebuild boot image. The isoboot
  boot images build standalone are missing important isolinux
  files because they were removed in createImageCPIO()
- fixed setupFirstBootYaST() to work on SUSE 11.0
- added configuration details suggested by VMware
- added ensconce patches by Nat Friedman which are related
  to the SUSE studio project only.
* Mon Jun 16 2008 -
- v2.40
  * instsource creation:
   - extracted loadable plugins for metadata creations
  those reside now in the modules/plugins subdirectory
   - implemented new metadata plugin controller class
   - reorganized methods from KIWICollect to KIWIUtil
* Thu Jun 12 2008 -
- v2.40
- allow xen bootprofile for isoboot images (bnc #399600)
- added bzip2 application as part of the boot images
- added experimental system recovery implementation
- expect ensconce package manager to be part of the image
  description. This change is only important for studio
* Tue Jun 10 2008 -
- v2.39
- fixed semaphore array cleanup code
- added kiwi_ prefix to all .profile variables
- fixed checkFileSystem function to use type=auto if the
  filesystem couldn't be detected by the file util (bnc #398381)
- added svn revision information to .profile and let it
  appear in /var/log/ during first deployment
- allow package manager to be set on the commandline
- fixed missing file close, patch by Nat Friedman
- added creation of /etc/sysconfig/bootloader
- fixed oemboot repartition code if no swap, no home and a
  recovery partition was specified
* Mon Jun 09 2008 -
- fixed update check for split images (bnc #398515)
- fixed initrd setup for netboot split images (bnc #398515)
* Mon Jun 09 2008 -
- fixed getRemovableUSBStorageDevices function to work on
  SUSE 11.0 due to /sys layer changes (bnc #398513)
- fixed detection of file when setting up the bootloader
  during netboot deployment in setupSUSEInitrd (bnc #398515)
* Thu Jun 05 2008 -
- fixed mountSystemUnified: read/write part is ext3 now
- code cleanup: put all bootloader related kiwi module code
  into the functions: setupBootLoaderStages setupBootLoaderConfiguration
  and installBootLoader. This happened to be able to include
  new bootloader types more easily
* Thu Jun 05 2008 -
- fixed smart call in setupSignatureCheck (bnc #397365)
* Wed Jun 04 2008 -
- fixed isolinux text boot message (bnc #396759)
* Tue Jun 03 2008 -
- added support for splashy. To activate it replace the
  packages bootsplash and bootsplash-(branding|theme)-* with
  the package: splashy in your boot image description. Also make
  sure the package pcre stays in the boot image it's required
  for splashy. At the moment we stick to the old bootsplash
  system by default
* Tue Jun 03 2008 -
- added getDiskID function which is able to turn a given
  standard device name into the udev ID based representation.
  The function is currently not used but will be in the future
* Tue Jun 03 2008 -
- added checkmedia support for iso images. kiwi will sign each iso
  with an md5sum using the tagmedia program. If the option --isocheck
  is specified when calling the create step an additional boot
  menu entry is created which allows to check the media
* Sat May 31 2008 -
- fixed USB stick identification code
* Fri May 30 2008 -
- make kiwi build on all archs. This does _not_ mean it
  has full functionality on other archs than ix86 and x86_64
  Support for other archs is still work in progress !
- fixed find command in baseSetupPlainTextGITRepository
- create generic bootloader functions which calls specific
  bootloader code according to the architecture. At the moment
  only x*86 and x86_64 have code for it
- fixed grub title setup if multiple kernels are installed
* Thu May 29 2008 -
- make NFSROOT work together with UNIONFS_CONFIG. The read-only
  device in the UNIONFS_CONFIG setup will be replaced by the
  nfs mount options. According to this the follwing UNIONFS_CONFIG
  setup would be sufficient: UNIONFS_CONFIG=/dev/ram1,nfs,aufs
- if NFSROOT is used in combination with UNIONFS_CONFIG or
  COMBINED_IMAGE mount the remote root tree read-only
* Thu May 29 2008 -
- better NFSROOT fix which fixes kiwiMount to work
  when kiwiMount is set. This is required in case of a
  non standard mount operation which also makes sense
  for root over NFS (example COMBINED_IMAGE over nfs)
- update documentation:
  * added a chapter how to build appliances with kiwi
* Wed May 28 2008 -
- don't call kiwiMount function if NFSROOT is used
* Wed May 28 2008 -
- fixed blocks/blocksize value used if the remote image is
  compressed. Normally this information was created from the
  uncompressed image but if the download happens on a compressed
  file the values should also be available for this file.
  Detailed information can be found here: (bnc #387228)
- fixed NFSROOT mount. NFS mount will fail if the -t auto mount
  option is set. The fix makes sure FSTYPE=nfs is set before
* Fri May 23 2008 -
- added sense code checking for CD/DVD drives (bnc #390934)
  The required driveready application is part of the kiwi-tools
  packages. Therefore this fix applies to >= suse-11.0. For older
  versions the wait counter has been increased.
- fixed SaT solvable creation (bnc #393495)
* Fri May 23 2008 -
- added baseStripUnusedLibs functions to reduce initrd size
- removed unused network modules from vmxboot and oemboot
- removed support for reiserfs starting from suse-10.3 vmx/oemboot
- added oem-recovery element to support recovery of a damaged
  root tree. This is still work in progress
* Wed May 21 2008 -
- added id attribute. The optional attribute id allows to
  set an identification number which appears as file /etc/ImageID
  within the image
* Wed May 21 2008 -
- added optional kiwirevision attribute. The optional attribute
  kiwirevision allows to specify a kiwi SVN revision number which is
  known to build a working image from this description. If the kiwi
  SVN revision is less than the specified value the
  process will exit.
* Tue May 20 2008 -
- remove temporary .buildenv file after prepare (bnc #392054)
- fixed xenconfig creation, use kernel link file instead
  of a glob match to setup the kernel=... variable
* Mon May 19 2008 -
- don't remove /var/lib required for dhcp info (bnc #391317)
- added support for OEM settings in system image (bnc #390652)
* Fri May 16 2008 -
- create ext3 read/write partition in usb stick workflow
- allow oemboot to set a custom title OEM_BOOT_TITLE (bnc #390652)
- allow oemboot to prevent creating a swap partition with
  OEM_WITHOUTSWAP=1 (bnc #390652)
* Fri May 16 2008 -
- allow xenpae kernel to be used on ix86 systems (bnc #390809)
- allow group/user ID's to be set in <users> section (bnc #384330)
- allow 32bit and 64bit VMware guestOS setup (bnc #390889)
* Thu May 15 2008 -
- replace db43 with rpmdb from rpm-devel (bnc #390832)
- changed back to lsilogic, dont't ask :-)
* Thu May 15 2008 -
- call mke2fs with -I 128 (bnc #358483)
* Thu May 15 2008 -
- don't call pattern solver twice
- fixed virtual CD device setup for VMware
- fixed initrd and kernel setup in xenconfig
- update documentation:
  * added information about kiwiserver and
  kiwiservertype used in PXE images
  * added Xen chapter
* Wed May 14 2008 -
- fixed import of loader/branding files (bnc #386674)
- fixed VMware SCSI setup, use buslogic driver
- don't clear the screen when calling linuxrc
- don't include unneeded /image data into the boot images
- fixed local grub setup for vmxboot with UNIONFS_CONFIG
- allow empty type=image packages
- added patch by Steffen Winterfeldt <> which
  uses gfxboot directly to setup livecd=1
* Tue May 13 2008 -
- make sure the source path doesn't contain spaces or
  tabs at the beginning and/or at the end
* Fri May 09 2008 -
- fixed grub boot sector check for --bootstick workflow
- removed /boot partition from --bootstick workflow
* Thu May 08 2008 -
- added support for file:// semantic in config.xml
- fixed scsi fileName setup in VMware .vmx creation
- update documentation
  * added new system design documentation (cookbook)
  * added testsuite schema documentation
  * update kiwi schema documentation
  * update kiwi quickstart documentation
* Tue May 06 2008 -
- fixed oemboot repartition check (bnc #386593)
* Mon May 05 2008 -
- lib64 fix for old-style link system for iso live systems
- fixed kernel driver name rd.ko -> brd.ko for suse 11.0
- fixed version number of suse-live-iso example
- fixed importBranding function
* Tue Apr 29 2008 -
- added support for creating Amazon EC2 images (bnc #367138)
- fixed name resolution in upgrade and testing mode
- fixed "--bootvm-disksize" option
* Mon Apr 28 2008 -
- added image identification for USB sticks (bnc #383746)
* Mon Apr 28 2008 -
- fixed build of solver plugin, sat api has changed
- moved cracklib-dict-small from image to bootstrap
* Sun Apr 27 2008 -
- fix build with new satsolver
* Thu Apr 24 2008 -
- fixed oemboot repartition check isFSTypeReadOnly
- make sure cromfs tools stay in initrd, fixed fuse based
  cromfs mount. It's not allowed to use a loop device here
- fixed build of satsolver binding and requirements
- changed bigsmp -> pae for SUSE 11.0 boot descriptions
- added cracklib-dict-small to SUSE 11.0 boot image descriptions
  this prevents the -full package to become installed
- added empty $root/.buildenv to prevent problems when building
  images within an autobuild chroot environment
* Thu Apr 24 2008 -
- removed redundant package repositories
- KIWIBoot constructor fix to setup vmmbyte correctly
- KIWIBoot constructor fix to recognizes raw split images correctly
- added kiwi-instsource sub-package for installation source
  creation. This code is maintained by
* Wed Apr 23 2008 -
- don't create filesystem if read-write image exist
- fixed kernelList call in oemboot/suse-preinit
* Wed Apr 23 2008 -
- added inst-source patch by Jan Bornschlegel <>
- removed use of single /boot partition on virtual disk
  based images. Patch by James Willcox <>
* Tue Apr 22 2008 -
- added support for creating VMware scsi disks (bnc #380065)
- added support for creating cromfs images (bnc #379027)
- added version format check (bnc #380750)
* Mon Apr 21 2008 -
- fixed creation of install CD/DVD (bnc #381953)
- fixed vmmbyte value for split image (bnc #381953)
- fixed bad boot sector check (bnc #382165)
* Mon Apr 21 2008 -
- fixed use of CD root script and tarball, don't let them to
  be part of the resulting image file (bnc #381247)
- added libxslt requirement for use of xsltproc (bnc #381355)
- fixed gfxboot setup for openSUSE 11.0 (bnc #381152)
- added KIWITest patches from Pavel Sladek <>
  * scripts are now made executable before they are run
  * requirements can be both internal or external (applies rpm test too)
  * also corrected some bad behaviour when pathname
  contained spaces (bnc #381421)
* Fri Apr 18 2008 -
- fixed initial environment setup (bnc #381232)
- changed gfxboot theme name from SuSE to openSUSE (bnc #381152)
* Thu Apr 17 2008 -
- fixed missing %%ForeignRepo information used for rebuilding
  the .profile environment. Hash is needed in KIWIXML object
- display only an excerpt of the screen log information
  in case of an error. Don't store the duplicate error
  information in the log file
* Wed Apr 16 2008 -
- fixed unused space in repartition code (bnc #380063)
* Tue Apr 15 2008 -
- added grub information into logfile, check grub status
- fixed VMware configuration setup:
  * don't add image path to fileName variable
  * fixed network setup use vmxnet driver
  * added raw cdrom setup on ide controller
  * make HWversion a config.xml attribute
  * removed floppy controller
  * make guestOS a config.xml attribute
  * change to soft power options
- fixed Xen configuration setup:
  * don't add image path to file: variable
  * fixed root setup pointing to the partition not the disk
- fixed xen storage device detection if no disk but only
  a partition device is present
- fixed source repo setup for the testsuite if the config.xml
  includes the this:// repository source path
- added check for installed packages in kiwi testsuite
  changed testing attribute to testsuite
- removed xsd documentation as kiwi uses relaxNG schema
  definitions. maintain kiwi.rng.html for the future
- added LSB check by Pavel Nemec <>
* Tue Apr 15 2008 -
- adapt to some package renames in 11.0
* Fri Apr 11 2008 -
- fixed pattern quoting for required patterns
- added testsuite readme by Pavel Nemec <>
- fixed prebuilt image build by removing the SLED prebuild
  the source has changed and SLES prebuilds are more important
- added baseSetupPlainTextGITRepository (bnc #379029)
- netboot: fixed typo fillPartition -> sfdiskFillPartition (bnc #379211)
- netboot: fixed root partition index when extended partition
  is required (bnc #378884)
* Thu Apr 10 2008 -
- fixed USB stick detection for suse 11.0 kernel (bnc #358483)
- fixed grub setup for oemboot if no swap partition exists
* Tue Apr 08 2008 -
- fixed netboot download of files if compressed (.gz) image
  name is set in config.<MAC> (bnc #378321)
- hide smart package cache before building the logical extend
  and move it back afterwards. This allows to keep the downloaded
  packages in the prepared tree but not in the image itself
- added installPackages/removePackages methods in KIWIManager
  allow packages type=testing section. Added new KIWITest module
  and a new --testsuite mode. This allows you to run integrity
  tests on your previosly created image root tree. If the test
  required additional packages they can be added in a testing
  section of the config.xml file. It is also planned to integrate
  the LSB tests into this system (bnc #374477)
- added <package name="gfxboot-devel"/> to config.xml files
  for SUSE Linux 11.0
* Tue Apr 08 2008 -
- fixed compiler warnings in pigz code
- if OEM_REBOOT is specified mount / ro before rebooting
- tell smart to keep the downloaded files after installation
- added schema and XML changes for instsource setup by
  Jan-Christoph Bornschlegel <>
* Tue Apr 08 2008 -
- fixed build
* Mon Apr 07 2008 -
- fixed Nested quantifiers in regex
- oemboot: added support for OEM_REBOOT in config.oempartition
  This allows to reboot the oem system after initial deployment.
  don't specify OEM_REBOOT if you want to boot directly into
  the system (bnc #371744)
* Sat Apr 05 2008 -
- added check for maximum blocksize for atftp protocol (bnc #372918)
- fixed maximum block count for atftp protocol (bnc #377034)
* Fri Apr 04 2008 -
- libata needs dock.ko now - fixing live cd boot
* Thu Apr 03 2008 -
- disabling the (failing) build of boot images
* Wed Apr 02 2008 -
- really fixed update of .profile env (bnc #369936)
* Fri Mar 28 2008 -
- improved usage information for base-root option (bnc #374370)
- fixed update of .profile env, needs profile name to work
  correctly (bnc #369936)
* Fri Mar 21 2008 -
- call dhcpcd -k after upload notification (bnc #372894)
- added inode number calculation for rootfs tarball (bnc #372648)
* Sun Mar 16 2008 -
- fixed nbd port and swap setup (bnc #371554)
- fixed invalid option linkage, call init only one time (bnc #372017)
- make KIWICollect an on demand module, patch by jcborn
- added file check for rootfs tarball
* Thu Mar 13 2008 -
- use startmode ifplugd for pxe netconfig (bnc #365170)
- allow ext2/3 and reiserfs for fsreadonly too
- update kiwi qickstart guide, changes by Thomas Schraitle
- update rng schema documentation
- update xsd schema documentation
* Thu Mar 13 2008 -
- added loginfo data about USB stick partitions
- allow dhcpcd to log its output to the tty3 log console
* Wed Mar 12 2008 -
- fixed update of .profile env according to type setup (bnc #369936)
- don't remove after first call (bnc #369957)
* Wed Mar 12 2008 -
- removed smart from being part of the package list. The package
  manager is added automatically according to the xml setup
- use --logfile terminal for prebuilding images
- fixed signal handling in case of interrupt
* Wed Mar 12 2008 -
- v2.38
- the image script is not called in case of vmx images
  the function call: setupLogicalExtend() was missing (bnc #369394)
- fixed image upgrade functionality and prevent the addon packages
  to be passed into an eventually build boot image (bnc #369303)
* Mon Mar 10 2008 -
- v2.37
- prevent split system from duplicating files/dirs (bnc #368661)
- fixed argument handling when mountSystem() function is called
- don't create a compressed rootfs tarball, it gets compressed
  by the squashfs filesystem layer anyway and double compression
  doesn't have any benefit
* Fri Mar 07 2008 -
- v2.36
- fixed use of smart options rpm-root and deb-root (bnc #368120)
- allow *.kiwi file as valid input beside config.xml (bnc #368129)
* Wed Mar 05 2008 -
- v2.35
- added setupDefaultPXENetwork() function (bnc #365170)
- added isoboot profiles to allow default, smp and rt (bnc #367263)
- allow exceptions to be specified within split section (bnc #366510)
- fixed suseStripKernel if multiple kernels are installed (bnc #367263)
- fixed satsolver cache directory creation
- fixed validateTarSize ram check
* Tue Mar 04 2008 -
- fixed build
* Mon Mar 03 2008 -
- v2.34
- fixed packaging errors and rpmlint complains (bnc #365536)
- removed gzip program from beeing deleted in diskless profile
- added --bootusb option which works like --bootcd but for sticks
- added better image description examples
* Fri Feb 29 2008 -
- v2.33
- added speedup patch for the deletion of rpm packages
- allow netboot linuxrc to evaluate the PXE BOOTIF information.
  Along with this feature the setupNetwork and probeNetwork
  function has been rewritten (bnc #365170)
- allow all oemboot modes (standard,combined and unified) to
  work without re-partition of the disk if this is not possible
  due to not enough disk space (bnc #365504)
* Thu Feb 28 2008 -
- v2.32
- fixed packaging errors and rpmlint complains (bnc #365536)
- added validateTarSize() function to check if the rootfs archive
  of a split system fits into the available tmpfs RAM space
* Mon Feb 25 2008 -
- v2.31
- fixed kernelList function in and make
  sure it is called when required (bnc #364806)
- fixed vmsize/vmmbyte calculation in
- yet another relative path fix for createImageSplit()
- added -o ro option to read-only mount in combined mount
- fixed COMBINED_IMAGE setup for setupInstallCD / Stick
- added xsl stylesheet to transform kiwi schema v1.4 to v2.0
  switch to new 2.0 schema definition. The new schema changes
  the packages type=boot into packages type=bootstrap and
  requires the attributes fsreadwrite/fsreadonly for the split
  image type instead of one filesystem attribute with comma
  separated filesystem names as content
- added dbusdevice perl binding to send Lock message to hal
  via dbus. This allows a perl program to prevent a storage
  device from being mounted automatically by the hal daemon
  The module is used when kiwi creates USB
  sticks (bnc #355938)
* Mon Feb 25 2008 -
- v2.30
- fixed relative path bug in createImageSplit()
- cleanup installation source setup created by kiwi
- fixed create password call, dm-crypt requires root permissions
- fixed shell cleanup code for password input mode
- added check for user/group commands (bnc #364494)
* Wed Feb 20 2008 -
- v2.29
- fixed suseActivateDefaultServices function
- change non privileged actions to work without root permissions
- make sure the size value is used if a virtual disk image is
  created from a given prepared root tree (bnc #363953)
- added support for config.oempartition in oemboot linuxrc.
  This file allows to set the size of the swap partition,
  system partition and can specify whether a /home partition should
  be created or not. The following variables are allowed:
  * OEM_SWAPSIZE=<number in MB>
  * OEM_SYSTEMSIZE=<number in MB>
  don't specify OEM_WITHOUTHOME if you want a /home partition
* Wed Feb 20 2008 -
- v2.28
- fixed loop mount if filesystem type is required by mount
- fixed virtual disk boot type detection, could be oem or vmx
- fixed image description md5 hash creation
* Mon Feb 18 2008 -
- v2.27
- fixed creation of install sticks, wrong target
- fixed perl sat binding due to current version of libsatsolver
* Fri Feb 15 2008 -
- v2.26
- fixed split image support on netboot if NBDROOT is used
- added waitForBlockDevice function and call it with NBD
- fixed invalid function call in boot stick creation (bnc #362239)
* Thu Feb 14 2008 -
- v2.25
- allow boot attribute to be optional for split images
- changed ISO image type when flags="compressed" is set. The new
  style will use the split system by James Willcox and therefore
  require a split section to define the read-write data
* Wed Feb 13 2008 -
- v2.24
- fixed CD/DVD detection if multiple devices appear lately (bnc #359511)
- added main::checkFileSystem() method to get attributes of a fs
- fixed missing md5sum creation for install USB Stick image
- removed cramfs support because of its size limit. It doesn't apply
  very well as compressed filesystem for system images.
* Mon Feb 11 2008 -
- v2.23
- fixed module probing code due to hwinfo changes (bnc #359788)
- added interactive creation of destination directory (bnc #360487)
- make split image type to create the specified boot image (bnc #359124)
* Sun Feb 10 2008 -
- v2.22
- added bootprofiles xen, smp and default to all boot image
  descriptions except xenboot which has no alternative and has to
  use the xen kernel. Additionally removed all -smp boot descriptions
  as they are now handled with a bootprofile="smp" attribute
* Thu Feb 07 2008 -
- v2.21
- added tar program to be available in boot images
- fixed /proc/cmdline processing
- changed rootfs tarbal to use gzip instead of bzip2. We don't
  have bzip2 in the boot images and the RAM part shouldn't be
  that big that we require the small compression improvement here.
- cleaned up mountSystem function, use sub functions to
  be called according to the different root mount methods
- add ramdisk module (rd) to netboot and load the module (bnc #310001)
- added support for split images in vmx/oem and usbboot (bnc #359124)
- increase CD/DVD drive test max probe count (bnc #356571)
- create very first smart cache inside the chroot (bnc #359449)
- fixed CD/DVD detection (bnc #359511)
* Tue Feb 05 2008 -
- v2.20
- fixed RNG schema to handle split information correctly
- adapt suseGFXBoot function due to changes in suse-11.0
- fixed grub setup in if the used kernel is a Xen kernel
- added better disk detection for oemboot installation mode. We also
  present the user a list of disk devices found and a selection must
  be done at that point
* Sat Feb 02 2008 -
- v2.19
- fixed missing device nodes in chroot system. When in the
  second stage of the prepare step smart and zypper may require
  access to the /dev device nodes.
* Fri Feb 01 2008 -
- v2.18
- fixed oemboot boot image descriptions for SLE10 (#355963)
- added ISO boot catalog relocation function. It's important that
  the boot catalog is in one of the first sectors. Unfortunately
  mkisofs places it somewhere which may lead to boot problems on
  some (not all) hardware. The relocation code will move the boot
  catalog to the first possible sector
- added post partition size check for virtual disk images. Due to
  alignment effects a partition may be smaller than the image it should
  store. The added size check in repeats the partition
  setup until the image fits in
* Thu Jan 31 2008 -
- v2.17
- prevent resizing and checking of the root filesystem in case
  of a vmx image type. These adaptions are now made in
- fixed URL problems if special characters are used. The bash
  we use to add the channels evaluates the data which it shouldn't do
- add smart channel information to log file
* Wed Jan 30 2008 -
- v2.16
- don't remove file utility from diskless netboot profile
* Sun Jan 27 2008 -
- v2.15
- fixed cleanup function call when iso:// type is used (#356928)
- fixed git installed check and ignore list in
- change XML schema to allow user defined order of elements
- make /var/log/ available in system image
- fixed oemboot for compressed images on small disks
* Thu Jan 24 2008 -
- v2.14
- fixed usb hub detection (#348362)
- umount USB stick partitions before deployment (#355938)
- added mkisofs requirement for kiwi-desc-isoboot package
* Mon Jan 21 2008 -
- v2.13
- fixed branding data which wasn't copied completely (#354634)
- added root tree consistency check for all types (#355715)
- fixed netboot fetchfile to allow compression on all protocols
- added ensconce package manager support to kiwi.
- added kiwi quickstart guide
* Fri Jan 18 2008 -
- v2.12
- added ability to download images over ftp/http/https to netboot
  linuxrc.  Requires curl. The 'kiwitftp' kernel param is renamed
  to 'kiwiserver'.  Set the 'kiwiservertype' kernel param to one of
  'tftp', 'ftp', 'http', or 'https' to download using the
  appropriate method. Patch by James Willcox <>
* Mon Jan 14 2008 -
- v2.11
- fixed storage device detection for SLES, related to (#250241)
- fixed udevd setup and prevent udev from load modules which
  it shouldn't load, removing 80-drivers.rules while booting (#354278)
- fixed probedevices function (#354278)
- added support for execution logging (#335573)
- fixed config-yast-firstboot.xml service setup
- fixed if \" are used (#353601)
- fixed Don't create a bogus terminal file (#353610)
- fixed Don't open huge amounts of redundant file
  descriptors (#353610)
- added option --prechroot-call. If specified within --prepare
  this option allows you to name a program which is called before
  the switch into the chroot system happens and the second phase of
  the prepare call starts.
- moved depmod call to suseStripKernel function
* Fri Jan 11 2008 -
- v2.10
- fixed ZYPP_MOD_ALIAS setup
- added kiwi config file manual pages:
* Wed Jan 09 2008 -
- v2.09
- added simple html schema documentation
- added missing forcearch attribute to instsource
* Sun Dec 30 2007 -
- v2.08
- don't turn patterns into a package list if zypper is used.
  request pattern directly with zypper in this case (#350706)
- fixed netboot bootsplash setup, glibc-locale was missing
  when suseGFXBoot was called. this was necessary for 10.3 and 11.0
- cosmetic change: fixed error messages when stripping down the initrd
- added parport and lp kernel modules to boot image descriptions
- fixed locale setup and add boot default language if locale is
  specified in system image description
- added function getInstSourceSatSolvable to
  This function will return an uncompressed sat solvable record
  for the given repository list. If it's required to create
  this solvable because it doesn't exist on the repository
  the satsolver toolkit is used and therefore required in
  order to allow this function to work correctly (#348734)
- added KIWISatSolver module and use it if libsatsolver is
  available (#348734)
* Fri Dec 21 2007 -
- v2.07
- fixed extractKernel call checks (#350263)
* Thu Dec 20 2007 -
- v2.06
- added common suseStripKernel function and fix version check (#349829)
- use suseStripKernel in all boot images and remove config/kernel-*
  package scripts. Related to (#349829)
* Wed Dec 19 2007 -
- v2.05
- fixed package check when zypper is used (#348031)
- fixed size of boot images when zypper is used (#348031)
- make isoboot linuxrc to be more verbose (#349764)
- added product information when zypper is used. This can
  be done by a function named suseSetupProductInformation()
  The function must be called in (#348029)
- fixed missing includeKernelParameters() calls (#349781)
- fixed permission setup in Makefile
* Wed Dec 12 2007 -
- v2.04
- added URL quoting according to RFC 2396
- added module used by Jan-Christoph Bornschlegel
- fixed swap file setup if filesystem type is unknown (#348623)
- fixed umount of iso loop mounted paths (#348722)
- fixed searchSwapSpace / searchDiskSpace function to return
  after first match (#349123)
- moved schema description from xsd to RelaxNG (#348084)
- resize ramdisk filesystem to get full access (#348316)
- added first version of SaT module (#348734)
- added /usr/share/doc/packages/kiwi/ChangeLog (#349492)
- added cleanup code for temporary resolv.conf (#349491)
- added baseSetupBusyBox function which allows you to replace
  the mentioned programs in busybox.links by a link to the
  busybox binary. This function should be used in boot images
  only and can reduce the size of your boot image. Using this
  function requires the package busybox to be installed as
  part of the boot image config.xml (#349181)
* Tue Dec 11 2007 -
- v2.03
- fixed kernel package name in isoboot/suse-SLES10-SP1-smp (#346753)
- added repository type validation to KIWIScheme.xsd (#347479)
- fixed filelog() call when logging takes place into a file (#348035)
- fixed isoboot config.xml which have 2 rpm declarations
  wrapped in one line. Patch by Guy Lunardi <>
* Fri Dec 07 2007 -
- v2.02
- fixed local grub setup and sysconfig/kernel (#346824)
- fixed home partition handling in oemboot linuxrc (#346644)
- added waitForStorageDevice function which was implemented as
  inline code in the netboot linuxrc. The function is used in
  the netboot and oemboot images to check for disk/partition
  devices (#346644)
- added netboot config.xml patch to reduce initrd size for
  diskless systems. Patch by Jigish Gohil <> added
  to suse-10.3 and suse-11.0 netboot descriptions (#347182)
- remove /usr/share/locale* in
  instead of only /usr/share/locale
* Wed Dec 05 2007 -
- v2.01
- fixed size check and decompression for gz images (#345896)
- call hash -r at the end of cleanInitrd (#346356)
- use killproc to stop udevd (#332678)
* Fri Nov 30 2007 -
- v2.00
- fixed netboot atftp download, patch by
  jacob berkman <>. Thanks Jacob (#345859)
- fixed pattern search if pattern name contains regular
  expression information which needs to be quoted
- fixed cleanup code and log server session. Added a new
  command 'exit' for log server sessions
- fixed repotype detection for opensuse:// url type
- changed config-yast.xml to config-yast-autoyast.xml
- added support for config-yast-firstboot.xml based on the
  yast2-firstboot mechanism
- update documentation according to the yast2 autoyast and
  firstboot changes
* Wed Nov 28 2007 -
- v1.99
- don't use /mnt as mount directory (#344589)
- reread partition table using blockdev (#340317)
- fixed cleanup code in KIWIBoot and objects of this class
- added pigz to kiwi-tools package and fixed pigz to allow
  splash files which are compressed cpio archives
- start blogd for setting up /var/log/boot.msg file
- added two examples to /usr/share/doc/packages/kiwi/examples
  the documentation will refer to this examples in the future
- fixed --bootstick and --bootvm options when uncompressed
  boot images are used
- added kiwi manual page
* Wed Nov 28 2007 -
- v1.98
- fixed console redirect while booting into the system
- fixed oemboot descriptions, atftp is not required (#344546)
* Wed Nov 28 2007 -
- fixed build, tested with mbuild
* Tue Nov 27 2007 -
- v1.97
- fixed package query call for older smart versions
- performance fix: prevent gzip from being called too often
* Mon Nov 26 2007 -
- v1.96
- fixed block count used with sparse files (#343845)
- fixed md5sum check, use head not tail (#341240)
- added better error checking for setupSplashForGrub()
- udevtrigger and udevsettle are links to udevadm
- added device wait check for storage device to appear
- make gzip a configurable command, default is gzip -9
- fixed parted partition setup
- fixed package query call
* Fri Nov 23 2007 -
- v1.95
- fixed oemboot repartition code for small disks
- fixed oemboot fstab setup to check whether there is already
  a non empty /home directory which would become covered by
  the mount of the extra home partition. If such a /home directory
  exists we will prevent the partition from being mounted
- patch by Nat Friedman <> which adds an argument
  to kiwi, --ignore-repos, which causes Kiwi to Ignore all repositories
  specified so-far, in XML or otherwise.  This option should be used in
  conjunction with subsequent calls to --add-repo to specify repositories
  at the command-line that override previous specifications.
- patch by Nat Friedman <> which makes Kiwi's log files
  include seconds, which is very useful when you're optimizing.
* Wed Nov 21 2007 -
- v1.94
- added option --createhash to create a description md5sum
- added md5 based integrity check for image descriptions. As
  soon as the file .checksum.md5 exists in the image directory
  it will be used to check the md5 hash for all files listed in
  the md5 file. Kiwi creates by default checksums for all boot
* Tue Nov 20 2007 -
- v1.93
- added support for iso:///path/to/iso/file (#338090)
- added update of user/group permissions (#342219)
- added closeKernelConsole function and rename existing function
  to openKernelConsole which is more what it does
- fixed initial creation of /dev/tty1-4 devices
* Tue Nov 20 2007 -
- v1.92
- fixed cleanup code, make sure umount happens when not busy
* Mon Nov 19 2007 -
- v1.91
- fixed removal of base-system path
- fixed cache dir name for smart to be a unique name
- fixed partition table setup for USB sticks. The problem was
  that the sparse file created for the boot partition add 1MB
  more space than calculated before (#342604)
* Sun Nov 18 2007 -
- use default block size for mksquashfs call. This also means
  you can't use squashfs compressed images in ramdisk devices
  without the following patch:
  Index: modules/
--- modules/        (revision 823)
  +++ modules/        (working copy)
  @@ -2291,7 +2291,7 @@
  $tree = $imageTree;
  unlink ("$imageDest/$name");
-       my $data = qx (/usr/bin/mksquashfs $tree $imageDest/$name 2>&1);
  +       my $data = qx (/usr/bin/mksquashfs $tree $imageDest/$name -b 4096 2>&1);
  my $code = $? >> 8;
  if ($code != 0) {
  $kiwi -> failed ();
  As it is more important to have best compression results I reverted
  the blocksize option for mksquashfs. This is related to bug (#341909)
* Fri Nov 16 2007 -
- fixed call of mksquashfs (#342263)
* Fri Nov 16 2007 -
- v1.90
- all filesystems created by kiwi use blocksize 4096 (#341909)
- added ramdisk_blocksize=4096 as kernel append parameter to the
  sample pxelinux.cfg/default file provided with the kiwi-pxeboot
  package (#341909)
- added rd_blocksize=4096 to modprobe.conf.local to isoboot and
  netboot boot images up to suse-10.3 (#341909)
* Thu Nov 15 2007 -
- v1.89
- fixed kernel scripts to take care for the weak-updates dir (#341876)
- added boot logging on /dev/tty3 for all boot images (#341924)
- added base root mode recycle to allow an existing base root path
  to be used directly. This of course will change the base root path
- changed cleanup order, kill forked processes first (#341635)
- fixed resume partition setup (#341310)
* Wed Nov 14 2007 -
- v1.88
- enhanced base-root support to be able to choose two modes. The mode
  can be set by --base-root-mode and allows the values "union" or "copy".
  The union type is the already existing overlay support by mounting a
  readonly base tree together with a new image tree. The second and new
  mode is the copy mode which tar/untar the base root tree instead
  of using an overlay mount via aufs. The default mode is: copy
* Wed Nov 14 2007 -
- v1.87
- fixed oemboot initrd to be able to reboot the system (#341310)
* Mon Nov 12 2007 -
- v1.87
- added warning message to check the architecture / repository
  combination if a pattern match results in an empty list (#340263)
- changed oemboot initrd to reboot the system (#341310)
- added faster md5sum check. A fixed blocksize is used. Patch
  by Peter Stark <> (#341240)
- fixed removal of cache dir in case of interrupt
- fixed shell wait call to provide the correct exit code of the
  process which wait is waiting for
- better local and remote pattern file check
- better USB stick detection, wait until device is ready
  remove static sleep
* Fri Nov 09 2007 -
- v1.86
- fixed date string in usage information (#340224)
- cleanup initrd stuff in suseStripInitrd, cleanup KIWIBoot code
  better error checking when calling multiple commands
- remove 1400x1050 and 1600x1200 from suseGFXBoot function
- fixed location detection of files
- fixed usbboot boot images for SLE (#340467)
* Wed Nov 07 2007 -
- v1.85
- dont add /dev/shm as tmpfs to fstab. This fixes the network
  setup done by /etc/init.d/network
- added kiwi-tools package to SUSE 11.0 boot descriptions
- fixed opensuse:// URL type. Fixed by Jan <>
- fixed splitPathHTTP which fails if the base URL doesn't return a
  dir listing but something different. Fixed by Jan too
- check result of copying root/ data to image (#339814)
- added read-only check for mounting the repositories. If a
  repository path has no write permissions it doesn't make sense to
  use aufs/unionfs to implement a read-only mount. Use bind mount
  directly in that situation (#339503)
- use setctsid to call a systemException shell. Fix call of
  boot shell on /dev/tty2
- aufs back again in SUSE 11.0 :-)
- allow use of perl debugger
* Tue Nov 06 2007 -
- v1.84
- fixed killing dhcpcd if no system update is required (#339460)
- fixed fstab setup, overwritten due to wrong IO redirection (#339458)
- added /etc/ImagePackages file on initial deployment
- added hwinfo to be part of the usbboot boot images
- added baseSetupInPlaceGITRepository() function
- added integrity check for --force-new-root option
* Mon Nov 05 2007 -
- v1.83
- cleaned code according to shell syntax
- added startShell and killShell function to (#335678)
- added netboot/suse-11.0 target and fix diskless profile (#332595)
- fixed use of uninitialized value in (#339117)
- added next release targets as copy of 10.3
* Mon Nov 05 2007 -
- v1.82
- optional split section added by James Willcox <>
  The following applies to the new split image type:
  In the new split image type, files/directories can exist in one
  of three places:
  1) read-only disk area
  2) read-write disk area
  3) tmpfs
  By default, every directory is in tmpfs and every file is a symbolic
  link to the read-only location.  The patch I have attached allows you to
  specify which files/directories should be in one of the two other
  locations.  For instance, take the following:
  <file name="/etc/fstab"/>
  <file name="/etc/mtab"/>
  <file name="/boot"/>
  This would copy /etc/fstab and /etc/mtab to tmpfs and put /boot in the
  read-write disk area.  Note, however, that none of the files
  *within* /boot are affected.  They remain symbolic links to the real
  files in the read-only area.  The main advantage to putting just a
  directory in the read-write area is that any new files created there are
  stored on the disk instead of tmpfs.  Of course files can be specified
  here too, and wildcards are allowed.  Example:
  <file name="/etc/fstab"/>
  <file name="/etc/mtab"/>
  <file name="/boot"/>
  <file name="/boot/*"/>
  This time, all files and directories within /boot are copied to the
  read-write disk image as well.
  The 'split' information is optional.  When left out, no read-write disk
  image is produced since everything is either read-only or on tmpfs in
  that case.
* Fri Nov 02 2007 -
- v1.81
- fixed packagemanager adaption if system image and boot image
  description doesn't use the same packagemanager (#338378)
- added option --bootcd which allows to create a bootable CD
  based on the given initrd file (#338467)
- fixed oemboot missing md5 file problem
- changed arch call to uname -m to prevent requirement on
  util-linux package
* Wed Oct 31 2007 -
- v1.80
- added kiwi-tools package (startshell), related to (#335678)
* Mon Oct 29 2007 -
- v1.79
- added KDE profile to createLiveCD script
- fixed attribute flags check, check for empty value too
- added support for kiwibrokenmodule kernel parameter. A list
  of comma seperated modules which should _not_ become loaded
  even if they are selected to get loaded (#337545)
- added support for kiwinoswapsearch kernel parameter. If set
  the isoboot (live systems) boot image will not setup a swap
  space or swap file (#337533)
- added cleanLoop function for KIWIBoot objects. clean loop
  and device mapper setup in case of an interrupt signal
- fixed interrupt signal handling (#337009)
- added option --prebuiltbootimage which allows to specify another
  than the default search path for the pre-built boot images
- added option --listxmlinfo which prints information from
  config.xml. Right now this function is used for internal reasons
  only but can be enhanced to print more useful information
- fixed use of --logfile option
- using new split image system by James Willcox <>
  Thanks James, great job !
  The split image type has changed:
  Given a read-only image, a tarball of directories and symbolic
  links is created which mirrors the structure of the read-only image.
  The symbolic link for each file points to the location where the
  read-only image will be mounted.  For instance, /usr/lib/
  will be a link to /read-only/usr/lib/  After creating this
  tarball, it is placed in the read-only image at /rootfs.tar.bz2.
  At mount time, this tarball is unpacked into a tmpfs and used as the
  root filesystem.  The advantage of this approach over a typical 'split'
  filesystem is that new files can be created in every directory
  instead of just a few pre-defined toplevel trees.
  This patch also goes one level further and separates some directories
  (/etc, /root, /home, /var/lib/rpm) to be put onto a separate read-write
  image.  The advantage of this is that when deployed onto a diskful
  machine, any files created in those trees will be stored on the disk
  instead of tmpfs.  We may want to have a way for images to specify those
  paths directly instead of having a hard-coded list.
  Secondly, the patch adds a hook mechanism to the netboot script.  With
  this, custom images can get their own script code executed at various
  points.  This is great if, for instance, you need to conditionally load
  kernel modules with specific parameters.  It can be used by simply
  creating a file like /hooks/<hook_name>.sh with the custom bits inside.
  These scripts are sourced from the init script so they have access to
  the same variables/functions.
* Sat Oct 27 2007 -
- v1.78
- activated shell set -x mode (#335573)
- fixed createLiveCD script due to renaming of image (#337391
- use Recommends flag for packagemanager (#300981)
- disable use of zypper --catalog option it doesn't exist in newer
  versions. zypper v0.9.0-7 (#335116)
- fixed users and group matching (#336884)
- fixed integration of template files while starting to create
  a new root system (#335268)
* Thu Oct 25 2007 -
- v1.77
- fixed exit code of kiwi call. Some module destructors call
  external processes which causes the exit code to be the value
  of this process, which is apparently wrong. (#336734)
- added support for pre-built boot images. To enable the lookup
  one had to specify the attribute checkprebuilt="true" within the
  type section(s). If specified the prebuilt boot image must reside
  in /usr/share/kiwi/image/*boot/*-prebuilt/. The search is based
  on the boot="..." attribute given in the type section (#334475)
- moved call of at the end of all configurations
- moved in place repo code into extra function called
  baseSetupInPlaceSVNRepository. This function can be called
  on demand in with the directories the repo should
  take control over as function arguments
- added creation of md5 file which was skipped due to performance
  patches. In case kiwi directly writes the system image data onto
  a device mapper partition the md5 file needs to be created
  afterwards (#337096)
- use bs=32k for image installation in oemboot linuxrc. Patch
  by Till Franke <>
- use bs=32k for usb and virtual disk dumps (#336822)
- prevent e2fsck from being called too often (#336889)
- code cleanup, added -w switch
* Thu Oct 25 2007 -
- v1.76
- fixed ZYPP_MODALIAS_SYSFS setup for zypper install/update (#335116)
* Wed Oct 24 2007 -
- v1.75
- kill udev before preinit starts (#332678)
- added failsafe entry to grub configuration (#334712)
- added failsafe entry to isolinux configuration (#334712)
- added resume=/dev/<swap-part> to grub configuration (#335522)
- remove unneeded /image directory after deployment (#335517)
- fixed resetInstallationSource for zypper manager (#335134)
- remove config-cdroot.tgz and from image (#334645)
- fixed interrupt signal handling for log process (#335588)
- added "ZYPP_MODALIAS_SYSFS=/tmp" for zypper install/update (#335116)
- use --auto-agree-with-licenses option for zypper in and outside
  of the chroot environment (#335147)
* Tue Oct 16 2007 -
- v1.74
- fixed cdrom detection, wait for usb devices to settle (#333498)
- make devices visible for udev by mount --move /dev /mnt/dev (#332678)
- don't remove udev from boot images, related to (#332678)
- added usb-uhci-hcd module for isoboot suse-10.3 (#334549)
- removed runme_at_boot from oemboot linuxrc
* Fri Oct 12 2007 -
- v1.73
- added setLogHumanReadable() function to convert the kiwi log
  file into something readable, concerning the \r escape sequences
- fixed inplace kiwi calls to not overwrite the log file
- added bootprofiles for smp netboot boot descriptions
- load ramdisk module (rd) if required in isoboot linuxrc
* Thu Oct 11 2007 -
- v1.72
- fixed udevStart function, added missing udev tools (#332678)
- removed devs package from all boot image descriptions
- added copyDevices function, bettern than moving it
- added optional kiwikernelmodule=<modulelist> parameter
- removed setupBootSplash function from initrd
* Wed Oct 10 2007 -
- v1.71
- move initrd device nodes to system image to allow system
  images without static devs
* Wed Oct 10 2007 -
- v1.70
- fixed NBD support udev creates nbd not nb device nodes (#332493)
- fixed device probing bug, restore IFS before probing
- added option --log-port to specify the log server port
- use sparse files for image creation [speedup]
- copy system image directly for vmx types [speedup]
* Tue Oct 09 2007 -
- v1.69
- create device nodes in shared memory segment which fixes
  the nodes created in initrd from being removed while booting
  into the system. This also fixes the splash problem (#332036)
- removed devs package from 10.3 boot images
- removed deb-root from being set for smart
- allow shell attribute to setup the login shell for a user
  Patch by Nat Friedman <>
- There are some nice deployment options in config.mac, but nothing to set
  these from config.xml.  Specifically, I'm talking about the
  settings.  This patch adds the ability to set these from config.xml
  Patch by James Willcox <>
* Mon Oct 08 2007 -
- v1.68
- use hwinfo to load storage drivers in correct order (#299663)
- added framebuffer devices in initrd suse-preinit
- added udev start/stop to initrd linuxrc's, don't delete udev
  for suse 10.2 / 10.3 boot descriptions
- added creation of /boot/grub/ used by mkinitrd
- use smart --data-dir instead of force-channels. This will setup
  a clean data dir channel repo for smart used by kiwi only. The
  standard channel list in /var/lib/smart remains untouched
* Fri Oct 05 2007 -
- v1.67
- fixed jabber setup
* Fri Oct 05 2007 -
- v1.66
- added ata drivers to isoboot boot image (#299663)
- create /etc/sysconfig/bootsplash which is used by the distro
  initrd tool. Added function call to all linuxrc's
* Thu Sep 27 2007 -
- v1.65
- fixed relative path problem of --installcd (#329842)
- added suseActivateDefaultServices function (#309801)
- added better CD detection based on hwinfo (#299663)
- added kiwidebug kernel option which turns every reboot
  exception into a shell exception. related to (#299663)
- added option nocolor to prevent color output (#328298)
- make perl-Net-Jabber an option not a requirement
- created common functions for setting up grub and change all
  suse-linuxrc / suse-preinit files accordingly
- opened log server for XML based milestone logs on default
  port number 9000. One can change the port by setting
  our $LogServerPort = ... in $HOME/.kiwirc. The server runs
  as long as kiwi runs and accept a small set of commands.
  Right now only the server is there but no commands exists.
  This will follow the next days.
- added optional defaultbaseroot element to preferences section
- added optional baseroot attribute to type section
- update documentation concerning the new element/attribute
- added KIWISocket module for milestone server
- added image name to be displayed in the boot loader setup
- fixed TFTP server lookup
- added check for livecd_config in /proc/cmdline for isoboot
  linuxrc to allow changing the image file name via kernel
  option. Patch by Christoph Thiel <>
- Currently when KIWI writes out the image config file for netboot, it
  sometimes gets the partition size wrong for partitions that are marked
  to be just big enough for the image. Patched by
  James Willcox <>
- added experimental callSUSEInitrdScripts to
  The function is not called right now but should be in the
  future to ensure a better pre-init environment for SUSE
  based systems. This is related to missing udev support
  and bootsplash problems during boot
* Wed Sep 26 2007 -
- fixed stick creation for compressed images. Too many spare
  space was added to the read-only image part. This was a waste
  of space
* Wed Sep 26 2007 -
- added harddisk boot for isoboot (#328509)
- load BusLogic module for vmxboot/oemboot systems (#327358)
- fixed pattern download by using the content file. On local
  repo check by glob search if no content file exists (#328003)
* Tue Sep 25 2007 -
- added more robust disk device detection for oemboot (#328327)
- changed relative path handling. Check if relative path exist
  before using the default /usr/share/kiwi/image lookup (#328269)
* Tue Sep 25 2007 -
- fixed ftp:// pattern requests (#328003)
- really fixed call of if relative path is used
- added better error information for pattern downloads
* Tue Sep 25 2007 -
- fixed build for x86_64
- fixed call of if relative path is used
* Tue Sep 25 2007 -
- fixed spec file architecture build requirements
- fixed missing copy call of
* Mon Sep 24 2007 -
- fixed documentation typos (#327668)
- added to be called if existent. The script is called
  with access to the image environment and within the CD root directory.
  The call takes place outside of a chroot because the CD root has no
  accessable root tree with bash or other programs available (#327799)
- added better failed message if loop mount has failed
- added posbios as allowed tool in initrd
- allow tool parameter to suseStripInitrd() function to
  prevent the given tools from being deleted
- added experimental jabber client to kiwi, which can be
  configured in $HOME/.kiwirc
  my $JabberServer    = "server-name"
  my $JabberUserName  = "user-name"
  my $JabberPassword  = "password"
  my $JabberRessource = "ressource-name"
  my $JabberComponent = "component-name"
* Fri Sep 21 2007 -
- pass allong $@ to init process (#327037)
- fixed remote download of pattern files (#327096)
- added updateMTAB function for all linuxrc's (#326386)
* Thu Sep 20 2007 -
- fixed usage of basename and dirname by using  File::Basename and
  in scripts use /usr/bin/[basename|dirname] so a function can't
  overwrite the use case here (#326758)
* Thu Sep 20 2007 -
- fixed oemboot linuxrc for vmx raw boot (#309800)
- fixed repartition code in oemboot for small disks (#309800)
* Wed Sep 19 2007 -
- added check for isolinux-config in suse-isolinux
- added checks for copy calls in while creating
  a live ISO image
- don't install grub if initrd and/or menu.lst can't be
  created in case of an oemboot system
- fixed mount in oemboot if not unified system
- better failed message if system image is too small to hold
  the boot image data required for virtual disk boot
* Tue Sep 18 2007 -
- reread partition table after oemboot installation
- fixed repartition code for squasfs/aufs based system images
  installed by oemboot
- fixed virtual disk size calculation if squashfs is used
- don't throw a reboot exception in mountSystem but return
  with code 1 to allow caller to check the return value
- added support for $HOME/.kiwirc file. It's perl syntax and
  allows to set the variables $BasePath and $System. By default
  /usr/share/kiwi is used for $BasePath and /usr/share/kiwi/image
  is used for $System (#308597)
- use correct passwd and group template file of the
  distribution. image descriptions should _not_ provide
  a passwd or group file within the image description root/
  path anymore (#297610)
* Tue Sep 18 2007 -
- fixed missing message file for vmx type
- added usage information for --add-profile option
- added baseGetProfilesUsed() function to get information
  about the used profile
* Mon Sep 17 2007 -
- missing mksquashfs is now handled as fatal error
* Mon Sep 17 2007 -
- fixed suse-isolinux exit code
* Mon Sep 17 2007 -
- added call of posbios if installed to obtain BIOS information
  uploaded into the registry file while a new network client is
- added kernelCheck for installed and active kernel in
  netboot boot image, suse-linuxrc
- added image notification if a new image is installed on the
  client via PXE in the netboot boot image, suse-linuxrc
- added support for base image usage. This means you can use
  the contents of a given directory as the base image instead of
  starting with a clean and empty directory. kiwi will use the
  overlay technique with either aufs or unionfs to build the
  target directory as combination of the base (--base-root) image
  and a new image directory optionally specified with the --root
  option. As result the image root directory will contain only a
  part of the complete image which is the data not part of the
  base image or the data which has been touched/copied. In
  principal all copy-on-write actions within the combined filesystem
  causes data to be written in the image root directory. base
  image support works for the prepare and create steps of kiwi
* Wed Sep 12 2007 -
- show the output of --list-profiles in a nicer format
- added installed OS version check for oemboot
- added revision information to kiwi --version
- added filesystem check for unified write extend. If first
  mount failed, try to check filesystem, if next mount failed
  re-create the write filesystem of the unified tree
- added support for unified virtual disk images to oemboot.
  In this case the kiwi initrd will not be replaced by the
  distribution default initrd
- added additional patternPackageType attribute which allows
  to distinguish between pattern and package references of a
  specified pattern. For example one can use only required
  patterns with patternType="onlyRequired" but want to use
  all suggested packages of these required packages with
  patternPackageType="plusSuggested" (#309989)
- added support for USB install sticks.
- fixed USB stick search, check if device is active
- added CRNAME and IPADDR values to upload file
- added CDEject function to KIWILinuxRC and eject the install
  CD when installation has finished
* Mon Sep 10 2007 -
- v1.64
- changed to know about compressed patterns. With 10.3
  the yast2 repositories provides compressed meta and pattern files
- changed oemboot repartition code to use the same default
  partition names than netboot does. This means the partition
  are as follows: root -> xda2 / swap -> xda1 / home -> xda3
- make use of the profile mode and added a default and a xen
  profile into the netboot boot images. According to this the
  xennetboot boot images can be removed and are replaced by the
  new netboot boot image descriptions. To distinguish between
  a netboot with default or Xen kernel a new attribute called
  bootprofile has been implemented. By default the attribute will
  have the value "default" but this can be overwritten with
  another bootprofile attribute of a system image with "pxe"
  image type. Instead of boot=xennetboot/suse-... write
  boot=netboot/suse-... bootprofile="xen"
* Thu Sep 06 2007 -
- v1.63
- added splash support for usbboot boot images
- added usbboot boot image for SLED10 (#308187)
- added bootsplash support for netboot (#308233)
  implement option --setup-grub-splash
* Thu Sep 06 2007 -
- v1.62
- fixed changed location of squashfs module in 10.3 kernel
- added --auto-agree-with-licenses option for zypper
- include packagemanager adaption from system to boot image
* Tue Sep 04 2007 -
- v1.61
- changed default NBD device to be /dev/nb0
- added support for NBD swap space if NBDROOT is used. Patch by
  Jigish Gohil <>
- added oemboot description for suse-10.3
- implemented the previous system installer code from isoinstboot
  into oemboot. The mechanism is based on a virtual disk image
  created before. Using the kiwi call:
  kiwi --bootcd <oemboot-initrd> --bootcd-system <virtual-disk-system>
  will create an ISO image which serves as installation media.
  Burned on a CD or DVD one can boot from it and the oemboot initrd
  automatically will install the disk image on the disk. Please note
  like before with isoinstboot all data on the disk will be lost.
  The system will be rebooted automatically and the same oemboot initrd
  takes care for the initial boot of the virtual disk system image.
  The oemboot initrd will adapt the disk geometry to the real disk
  and will boot into the system.
- added oemboot installcd documentation
- added patch by Cornelius Schumacher <>
  which allows optional remove of root directory
* Mon Sep 03 2007 -
- v1.60
- added support for <packages type="delete"> section (#304765)
- removed isoinstboot description from repo, not valid anymore
- got a nice cover page by Frank Sundermeyer <> for
  the documentation, thanks Frank
* Mon Sep 03 2007 -
- v1.59
- update documentation
- fixed network block device default name: is now nbd0
- allow block device name to be specified in NBDROOT
- added patch by Jan <> which fixes
  directory changes not happen in subshells
* Tue Aug 28 2007 -
- v1.58
- moved documentation to openSUSE book on
  The book is work in progress as well as the kiwi chapter in
  there. I started to update the documentation and set the
  initial structure. There are some TODO entries which we are
  working on
- added nfs-client package to be part of netboot/suse-10.3
  fixed nfs mount for 10.3 mount.nfs was missing
- added partition code by Jan <> and
  activate bootsplash for oemboot initrd
- added experimental support for network block device diskless
  boot, NBDROOT support (#304760)
- fixed splash files detection check in setupSplashForGrub()
- removed squashfs-kmp-default from descriptions. The module ist part
  of the standard kernel of openSUSE 10.3 now
- added optional CD root data. The description can contain
  the file config-cdroot.tgz which is a gzip tar archive.
  The archive will be unpacked as CD root data and can contain
  license and/or README data (#299732)
* Tue Aug 28 2007 -
- v1.57
- fixed build and smart channel setup
* Fri Aug 24 2007 -
- v1.56
- fixed UNIONFS_CONFIG setup in
- added checkExclusiveLock function (#304769)
- added defaultdestination/defaultroot attribute to optionally be
  specified in config.xml <preferences> section (#304775)
- added mandatory schemeversion attribute (v1.4)
- added splash screen for vmxboot boot images
- fixed zypper service name: Plaindir instead of plaindir
- added splash=silent and vga=0x317 to isoboot configurations
- disable build of prebuild boot images. I can't access the
  repo via smart on either ftp or http
- added patch by Magnus Boman <> which
  is preventing a few NFS boot required binaries from being deleted
- added patch by James Willcox <> which implements
  profile support into kiwi's config.xml format
  **** description ****
  It allows you to maintain one image description while
  still allowing for some variation in the set of packages and drivers
  that are included.  For instance, a good use of profiles would be to
  have a 'gnome' and 'kde' profile for a LiveCD.  The patch adds two new
  command line arguments to kiwi: --list-profiles and --add-profile.
  * The first allows you to simply list the profiles available in a given
  image. Each one has a name and description.
  * The second option allows you to specify which profiles should be
  included when preparing the image.
  The other part of the patch modifies the config.xml and the code
  which reads it.  You can now use the following to create a set of
  profiles in config.xml:
  <profile name="gnome" description="The GNOME desktop"/>
  <profile name="kde"   description="The KDE desktop"/>
  <profile name="www"   description="The Apache, PHP, etc"/>
  To mark a set of packages as belonging to a profile, simply annotate
  the 'packages' tag with the 'profiles' attribute.  For example,
  <packages type="image" profiles="gnome">
  If a given set of packages belongs to more than one profile, separate
  them with a comma.  Example:
  <packages type="image" profiles="gnome,kde,webserver"/>
  If a 'packages' tag has no 'profile' attribute, it is assumed to be
  present for all profiles.  BTW, all of the above also goes for the
  'drivers' tag too.
  *** end ***
* Wed Aug 22 2007 -
- v1.55
- fixed /tmp security problems (#302552)
- don't remove dmesg application from initrd
* Mon Aug 20 2007 -
- v1.54
- use gzip --force in KIWIImage to compress data
- added configuration of timezone/locale and keytable
- activate splash screen for isoboot images, live media (#293742)
- added zypper type conversion from rpm-dir to plaindir (#301839)
- implement splash support if installed (#293742)
- added loop detection for image inheritance (#296397)
* Mon Aug 20 2007 -
- v1.53
- make zypper work with kiwi (#298731,#300133)
* Tue Aug 14 2007 -
- v1.52
- added README.prebuild for the kiwi-pxeboot-prebuild package
- fixed searchSwapSpace and searchDiskSpace to look for a
  maximum number of 15 partitions per disk (Linux specific)
* Tue Aug 07 2007 -
- v1.51
- added livecd=1 to gfxboot.cfg in function suseGFXBoot (#296778)
- changed permissons of tftpboot upload directory to 755 (#298337)
- changed vga param from 318 to 317, bootsplash works in 15bit only
- fixed mountSystem to create write part in case of an image update
  reload process. Patch by James Willcox <>
- improved runtime check for mksquashfs (#298781)
- added kiwi-pxeboot-prebuild boot images package (#299573)
- use option --non-interactive for all zypper related actions
- fixed prebuild boot image creation
* Fri Jul 27 2007 -
- v1.50
- fixed import of grub stages, get the stages from the initrd.
  Because if this grub has been included into the iso/usb/vmx/oemboot
- added oemboot system, usable for OEM contracts with customers
  who would like to deliver their hardware with a pre-installed
  Linux operating system *this is work in progress*
* Wed Jul 25 2007 -
- v1.49
- added setValidateRepositoryType() method
- fixed creation of stick image, it might happen that there is no space
  left to copy the grub stages or the grub message file
- fixed mountSystem() in case of squashfs/aufs mounts to use
  eventually existing write extend instead of creating a new one
  all the time which overwrites the previously stored data.
- fix by Jan-Christoph Bornschlegel <>
  extraction of message file from initrd doesn't work in case of
  relative paths
* Tue Jul 24 2007 -
- v1.48
- fixed pattern support for local repositories
* Fri Jul 20 2007 -
- v1.47
- added check for squashfs in iso creation (#289552)
- added special handling in probeDevices() for ata_piix (#292782)
- added suseGFXBoot function in, activate graphics
  menu for grub (gfxmenu)
- compress RW part of an old-style live CD/DVD to enable fast boot
- fixed KIWIMigrate, creates activation files in wrong place
- activate kernel framebuffer for VM systems
* Fri Jul 13 2007 -
- v1.46
- activate DMA mode for live media boot (#292782)
- umount kernel filesystems like /proc in KIWIImage constructor.
  This will umount any kernel filesystems as soon as --create is
  used in order to create an image (#292686)
- added yast second stage to be called during initial boot of a
  kiwi migrated image. This will re-detect and configure the
  eventually changed hardware. This one needs some testing
- fixed exit criteria in case of of KIWIImage error
- fixed image tree validation code
- removed redundant screenrc.log from image
- removed unused boot/initrd data from USB stick system image. The
  data is unneeded because an extra boot partition is created
- fixed pattern search for local repositories
- removed fixed size in boot partitions, use the size of the initrd
- added umount information if there is something kiwi has mounted
- fixed parted setup, decrement max sector size p_size -= 1
- fixed this:// code in case of ForeignRepo nodes (#292138)
- added suseStripInitrd() function to reduce size of
  netboot/xennetboot/isoboot boot images. The boot images are
  about 12MB of size now. This is comparable to the standard suse
  initrd size (#291643)
* Wed Jul 11 2007 -
- v1.45
- fixed rpm validation expression in KIWIMigrate and change the
  File::Find to prevent the call from following symlinks
- use within the URL
  type opensuse://...
* Tue Jul 10 2007 -
- v1.44
- fixed use of undefined reference
- fixed use of plusSuggested, means required + suggested only
- fixed report creation in
* Tue Jul 03 2007 -
- v1.43
- re-added resolv.conf to be part of the chroot system. This was the reason
  for the smart error: "Temporary failure in name resolution" (#290379)
- added baseSetupUserPermissions() method in to change
  the user and group ownership of the files referenced by /etc/passwd
- added searchSwapSpace() function for live media. include swap
  activation of partition or into a file (#289313)
- make the <size> attribute an optional value. If you don't set
  it in config.xml kiwi will calculate the image size itself
- added module to turn the running system into an
  image description. This is in an experimental stage and was
  designed for suse(rpm) based systems:
  kiwi --migrate mySystem --destdir /tmp/migrated \
  [ --exclude ... --exclude ... ] [ --report ]
* Fri Jun 22 2007 -
- v1.42
- don't use fstab from host system, create default file (#286298)
- allow --add-package in --upgrade mode. This will install additional
  packages as specified into the existing root tree after the upgrade
  was finished successfully
- added support for parted partitioner in
- fixed standalone grub setup if UNIONFS_CONFIG is used
- added optional config.<mac> parameter KIWI_KERNEL
- added vmware package/configuration description section. This
  will lead to an appropriate .vmx file for use in vmware player
- fixed isoboot theme used for SLED (#288849)
* Wed Jun 20 2007 -
- v1.41
- fixed cleanInitrd() for 64bit archs
- allow multiple pairs of --add-repo / --add-repotype options (#285845)
- added --add-package option to allow adding image packages (#285845)
- fixed relative --root path setup (#286264)
* Wed Jun 20 2007 -
- added prebuild SLE SP1 images for build in autobuild
* Wed Jun 06 2007 -
- v1.40
- fixed typo in (#281760)
- fixed type in documentation OpenSuSE -> openSUSE (#285483)
- added suse-repo directory for repo packages not on media (#282531)
- removed atftp from the isoboot descriptions
- mark pxelinux default file as %%config in spec file
- fixed cpio creation if destination dir is a relative path (#283862)
- added getInstSourceFile() method to allow local/network
  downloads from the given file. This method is outside of
  the package manager functionality
- added support for squashfs/aufs in usb and vmx typed images
- changed instsource format according to the discussion with
  Lars, Rudi and Jan
- renamed method: getInstSourceMetaList -> getInstSourceMetaPackageList
- renamed method: getInstSourceList -> getInstSourcePackageList
- added name, username, pwd attributes to <instrepo> tag
- added getInstSourceMetaFiles() method to handle file downloads
  within the new <metafile> tag
- changed getInstSourceRepository() method to work with
  new instrepo attributes. The method now returns a hash of the
  following structure: hash{reponame}{repoattr} = attrvalue
* Mon Jun 04 2007 -
- 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 -
- v1.38
- use as default server address in default
  pxelinux.cfg/default file kiwitftp=... (#277958)
* Wed May 23 2007 -
- v1.37
- added boot images for SLES10/SLED10 isoboot (#270881)
- added boot images for SLES10/SLED10 vmxboot (#270881)
- added boot images for SLES10/SLED10 xenboot (#270881)
- replaced tools restart and timed with reboot and read -t
- some package building changes to make rpmlint happy
* Wed May 23 2007 -
- fixed x86_64 build for SLES based products
* Tue May 22 2007 -
- v1.36
- fixed readlink call in to obtain kernel file
* Tue May 22 2007 -
- v1.35
- fixed creating kernel link
- added check for autobuild environment
* Mon May 14 2007 -
- v1.34
- code cleanup: reduce amount of package variables. Move module
  variables into this hash, don't allow private data to be exported
- fixed grub virtual disk setup, grub stages were missing
- added plusSuggested for pattern validation
- use aufs || unionfs for read-only mounts in
- added support for aufs to isoboot live media for suse >= 10.3
  using aufs for live media requires: "flags=unified" to be set
- added cleanInitrd method to remove the boot image data from
  main memory before chroot'ing into the system
- added loginfo method and include script output to root log
- fixed set-repo option to use this path for downloading
  patterns if specified
- make importFile function easier, fixed KERNEL_LIST content
  if system image doesn't provide it but KIWI_INITRD does.
  Thanks to who created the patch
- added required netboot versions for SLES and SLED
  GM and SP1, activate prebuilding for GM versions (#270881)
- allow USB stick device to be selected via --bootstick-device
  option. The given device must be one of the devices detected
  by the getRemovableUSBStorageDevices() method (#275137)
- fixed possible race condition while searching for the correct
  kernel file. kiwi will create a link pointing to the correct
  file and thus kiwi can use this link later instead of a glob
* Tue May 08 2007 -
- v1.33
- kiwi-pxeboot: install files to /srv/tftpboot (#248008)
- added patch for netboot and xennetboot linuxrc to allow
  alternative config files. The same search order like PXE
  implements it was used (#272337)
- print version information in help output
- scheme version upgrade from 1.2 to 1.3. The type specification
  within the preferences section has changed.
- added --set-repo and --set-repotype options. This allows a
  temporary overwrite of the first repository entry within the
  config.xml file.
- added possibility to include multiple type sections into
  the preferences section of the config.xml file. There should
  be one primary type which is used if no other type was selected
  with the option --type. If there is no primary attribute the
  first type specified is the primary type
- replace readFileSystem with probeFileSystem in all
  linuxrc files. Removed readFileSystem function from
* Mon May 07 2007 -
- v1.32
- use unionfs to implement read-only mounts. If unionfs mount
  fails kiwi will use standard bind mount to access the data.
  A warning message is printed on stdout in that case (#270945)
* Wed May 02 2007 -
- v1.31
- fixed option -c / -C clash
- fixed pattern support for -32bit patterns
- added maintenance chapter to kiwi documentation
- added missing inherit attribute to KIWIScheme.xsd
- fixed --list option, method listImage()
- prevent mounting the system (/) path to the image chroot (#270945)
  kiwi will bind mount the repository location only. The bind mount
  now also happens on _local_ repository references only
- added --add-repo and --add-repotype option to kiwi. This allows
  you to specify an additional repository used within a prepare
  or upgrade process. The information will not be written to the
  config.xml file
* Thu Apr 26 2007 -
- v1.30
- added XML version validation, current XSD version 1.2
- added experimental <instsource> section in config.xml.
  This should be used to setup an installation source specified
  by meta packages
- fixed terminal logging, don't use screen if you want logging
  to the terminal
* Mon Apr 23 2007 -
- v1.29
- added nfs root support to kiwi's netboot image
- added --logfile terminal option which causes all data from kiwi
  and its screen sessions to be logged on the calling terminal
- don't create a 10GB default virtual disk in case of vmware and qemu
  images. kiwi now calculates the size and provides the information
  to the user. Overriding the calucaltion can still be done by using
  the --bootvm-disksize option
* Fri Apr 20 2007 -
- v1.28
- fixed depmod call, call it from within the chroot
* Thu Apr 19 2007 -
- v1.27
- fixed xennetboot requirements, adapt .dot graph
- added loop search while creating virtual disk
- added --non-interactive option for zypper. Unfortunately there
  are still questions in case of gpg keys or missing patterns
- added pxe: target within <type> of config.xml
  This allows you to create the system and boot image in one
  creation run from the same source the system image used
- added root log file which contains all data from kiwi and
  the screen sessions
- include enhancements for deploy section, allow server and
  blocksize to be set, allow configuration files to be
  included. fixed partition setup
- fixed suseRemoveService to know about dependant services
- added suseService/suseServiceDefaultOn by
  Mike Veltman <>
* Fri Apr 06 2007 -
- v1.26
- fixed logging to /var/log/kiwi
- added USER variable to enable/disable prebuild
* Thu Apr 05 2007 -
- v1.25
- make use of kernel updates directory if it exists
- fixed repository handling for auto generated boot images.
  These images could use a foreign repository for building but
  could also have additional repos in its configuration. To handle
  them correctly a status attribute with either "replaceable" or
  "fixed" determines wheter this repository could be replaced
  by a foreign node or not. Default for this option attribute
  is "fixed"
* Thu Apr 05 2007 -
- James Willcox added basic support for aufs.
- Changed UNIONFS_CONFIG to allow specification of union
  filesystem type. Currently unionfs and aufs are possible
- added magic files to be used for filesystem detection in
  netboot/xennetboot and usbboot
* Wed Apr 04 2007 -
- v1.24
- split image code from image descriptions
* Tue Apr 03 2007 -
- v1.23
- added support for squashfs on USB stick images
- fixed grub installation on usb stick devices
- added module to be used in scripts
- removed from the boot descriptions. The only action
  was to copy linuxrc to init which is done in the KIWIRoot module
* Fri Mar 30 2007 -
- allow use of recommended pattern entries by setting up
  the option <packages> attribute patternType. Default type
  is "onlyRequired"
* Thu Mar 29 2007 -
- v1.22
- fixed .xenconfig, patch from Magnus Boman <>
- fixed kernel-default package script for vmxboot/netboot 10.3
* Tue Mar 27 2007 -
- added squashfs requirement for kiwi-desc-livesystem
- added interrupt handling for split extends
* Mon Mar 26 2007 -
- v1.21
- added support for compressed ISO live media based on squashfs
- added KIWIConfigure module which implements all the
  configuration tasks like setting up users/groups,
  autoyast, subversion, etc...
* Fri Mar 23 2007 -
- added /var/log/kiwi
* Thu Mar 22 2007 -
- v1.20
- added default displaymanager/windowmanager files to liveDVD
- added support for upgrading a prepared image in case
  of changes to the installation source
* Thu Mar 22 2007 -
- v1.19
- added support for squashfs/unionfs by James Willcox <>
  the main point is to add support for squashfs/unionfs images.
  Using squashfs is straightforward -- just set 'squashfs' as the
  image type.  Using unionfs is a little trickier, and only netboot
  is supported currently.  You need to add something like
  UNIONFS_CONFIG=/dev/hda2,/dev/hda3 to config.<MAC> where the first
  partition is the writable one (where an ext2 filesystem will
  be created), and the second is the read-only filesystem (squashfs,
  cramfs, whatever).
* Thu Mar 22 2007 -
- fixed lo setup problem during boot time (#252543)
- remove include file after preinit
- update documentation
* Tue Mar 20 2007 -
- v1.18
- fixed CD device detection (#256397)
- added functions module KIWILinuxRC for linuxrc and preinit
- fixed permission problem on live media (#252546)
- added support for using the kiwi netboot initrd for local boot
  as well. This makes sense if the image type is something not
  locally bootable by the standard initrd creation mechanism of
  the distribution
- changed pattern support, include only required data not
  recommended data (#255226)
* Mon Mar 19 2007 -
- v1.17
- added Wyse terminal image for 10.3
- fixed pattern download. wrong patterns concerning the
  architecture were used
* Fri Mar 16 2007 -
- v1.16
- moved xenboot to xennetboot, used for PXE boot of Xen kernel
- added xenboot used as boot image for xm create -c ...
- added new target: xen:fs:boot-image. This allows you to create
  Xen images with automatic boot image setup plus Xen config file
- removed --virtual option
* Thu Mar 15 2007 -
- v1.15
- changed live DVD source to SL-OSS-factory
- fixed new smart behaviour of asking questions even if it
  shouldn't ask. Option -y was again useless so I changed the
  calls to yes | ...
* Wed Mar 14 2007 -
- v1.14
- added netboot/suse-10.3 for network deployment
- added support for creating Xen configuration files
- fixed /etc/fstab in case of Xen deployment
* Wed Mar 14 2007 -
- fixed architecture search in KIWIImage (isoboot)
* Thu Mar 08 2007 -
- added helper script createLiveCD
* Wed Mar 07 2007 -
- fixed network detection for netboot/xenboot. In case of
  multiple nic's all modules should be loaded
* Wed Mar 07 2007 -
- update documentation v2.8
* Tue Mar 06 2007 -
- v1.12
- added <description> section to config.xml
* Sun Mar 04 2007 -
- fixed post image setup
* Fri Mar 02 2007 -
- v1.11
- added isoinstboot to package kiwi-desc-isoboot
- moved VERSION file information into config.xml <version> tag
* Tue Feb 27 2007 -
- added dependency graph for current package structure:
* Tue Feb 27 2007 -
- added a new type of boot image, 'isoinstboot', which boots from CD
  and installs a system image to the hard disk (or flash drive, etc)
- added code to generate the boot config files automatically from
  information found in config.xml
* Mon Feb 26 2007 -
- removed atftp from vmxboot descriptions
- added repository check for local paths before adding them
- check return value from createBootStructure() method
- added timezone and keytable to XSD scheme
- fixed resolveLink() method
* Wed Feb 21 2007 -
- v1.10
- changed liveDVD description, enable amarok again
- changed isoboot descriptions, removed static isolinux part.
  kiwi will provide the isolinux and gfxboot data within the
  <root>/image/loader/ metadata directory. For SuSE this means the
  package gfxboot and syslinux must be installed in order to create
  the needed data for booting the ISO in graphics mode. The needed
  preparation steps are implemented in the script.
- changed package structure
* Fri Feb 16 2007 -
  * fixed broken isoboot links
* Wed Feb 14 2007 -
- added boot/<arch>/loader scheme for iso systems
* Wed Feb 14 2007 -
  * support for qemu, vmware, Xen images
  * support for zypper and smart
  * xsd scheme for XML validation
  * target: vmx: automatic build of vmware/qemu disk images
  * target: usb: automatic build of usb boot images
* Tue Feb 13 2007 -
- activated zypper support, currently broken in zypper
- added kiwi-images-boot requirement
* Tue Feb 13 2007 -
- exclude archs not supported by OBS
* Mon Feb 12 2007 -
- added needsrootforbuild
- added kiwi XSD scheme for XML validation
- added --recheck option while calling grub-install
- fixed USB stick detection if no serial identifier exists
  Thanks to: Guy Coste <>
* Mon Feb 12 2007 -
- better XML checking (not only syntax check). In the long
  run I would like to have DTD here but currently the document
  type is not stable
- added hwinfo.$DHCPCHADDR file for machine registration
- added architecture to hwtype.$DHCPCHADDR file
* Fri Feb 09 2007 -
- added %%arch tag for source specifications
- added arch=... attribute for package tags
* Fri Feb 09 2007 -
- fixed design bug. If someone wants to prepare an image on one
  machine and would like to create it on another machine its not
  a good idea to refer to the machines filesystem structure. Therefore
  all meta data must be present in the image preparation (chroot)
* Wed Feb 07 2007 -
- added isoboot/suse-10.3 boot image
- added modprobe.conf.local (max_loop=32) for buildhosts
- changed live CD/DVD setup to resize RW part on the fly instead
  of downloading RW part + free space in one file
* Wed Feb 07 2007 -
- changed boot image structure into groups of boot images
  each group contains its own linuxrc/preinit files to which
  the images of the group create a link to. This will reduce
  the overhead of same linuxrc/preinit files for each image
- update documentation
* Wed Feb 07 2007 -
- added patch from James Willcox <> to
  fix the default search path if no path is set for preparing
  the image
* Tue Feb 06 2007 -
- better/faster device probing
* Sun Feb 04 2007 -
- added support for qemu and vmdk (VMware) images (F:#301945)
- added targets usb:<type><boot> and vmx:<type><boot>
- use sparse files for buildhost image (Xen support)
- update documentation
* Thu Feb 01 2007 -
- added wyseXMini-suse-10.1 to kiwi-images-wyse package
* Thu Feb 01 2007 -
- added check for second level installation. The check will
  lookup already installed packages and remove them from the
  list if set
* Tue Jan 30 2007 -
- fixed chroot path problem if repository pointer is a
  symbolic link to somewhere else
* Sat Jan 27 2007 -
- added improved size information
* Fri Jan 26 2007 -
- added wyseXMini description for a 128 MB image usable
  on a Wyse Model VX0 terminal only
* Wed Jan 24 2007 -
- added rpm-force=true option for smart level 2 installation
- added support for zypper level 2 installation
* Sun Jan 21 2007 -
- added perl-TimeDate to buildhost image
- fixed linuxrc to provide reiserfs in INITRD_MODULES even if
  the image is not reiserfs based. This has been done for backward
* Fri Jan 19 2007 -
- added bsmd init script for buildservice image. This runlevel
  script is used to automatically setup a md0 raid for /abuild
* Wed Jan 17 2007 -
- added bootable flag for first system partition
* Tue Jan 16 2007 -
- fixed pattern support
- fixed support for prebuild boot images. They can only be built
  if the build user is root. I'm hoping to get rid of that
  requirement in the future
* Wed Dec 27 2006 -
- fixed build in opensuse environment
* Tue Dec 19 2006 -
- added documentation about image deployment
- added prebuild boot images
* Thu Dec 14 2006 -
- added option -O dir_index for ext3 images
* Wed Dec 06 2006 -
- added wyseGhost-suse-10.2 system to kiwi
* Wed Dec 06 2006 -
- added support for modifiying user accounts
- added support for --list option which gives an overview
  about the available image descriptions
- added support for specifying --prepare without path. In that
  case it is assumed the image can be found in /usr/share/kiwi/image
- changed repository and package structure. Split kiwi-images
  into kiwi-images-boot and a kiwi-images-<Systems> packages
* Fri Dec 01 2006 -
- update isoboot-suse-10.2 CD data
* Wed Nov 29 2006 -
- starting zypper integration: added support removing services
  and getting package info: KIWIManager::resetSource
* Wed Nov 29 2006 -
- starting zypper integration: added support for adding installation
  sources. This means method: KIWIManager::setupInstallationSource()
* Fri Nov 24 2006 -
- rewrite root code to be able to easily exchange the
  package manager. This has been done to be able to integrate
  other package managers like zypper.
- update documentation
* Wed Nov 22 2006 -
- reduced boot image size of netboot-suse-10.2 image
* Tue Nov 21 2006 -
- update bsworker init skript in buildhost image
* Mon Nov 20 2006 -
- reduced boot image size of usbboot-suse-10.2 image
- added basic system to inherit data from one config
  description to another. Update documentation concerning the
  inherit attribute
- fixed URL handler not to start if URL is not pointing to the
  network. This will increase startup speed in case of local
* Fri Nov 17 2006 -
- added ata/ tree to boot images for 10.2 and 10.2-smp
- fixed on-stick image support. Tested default 10.2 from USB
  stick, works great :-)
* Tue Nov 14 2006 -
- added support for system image on stick. One need to use
  option --bootstick in combination with --bootstick-system.
  The parameter to --bootstick must be an usbboot initrd
  provided by kiwi. The parameter to --bootstick-system is
  a kiwi generated system image. Support for this is <alpha>
* Thu Nov 09 2006 -
- fixed build for non SUSE distributions
* Wed Nov 08 2006 -
- fixed pattern support
* Mon Nov 06 2006 -
- added samba to the wyse image, only samba no client for now
* Fri Nov 03 2006 -
- fixed this:// path if non absolut path specifications are used
  as paramter to the --prepare option
* Thu Nov 02 2006 -
- added wyse description to source repository
- added image size check to initrd. The needed space is now
  displayed while downloading the image. If there is not enough
  space the download will not start
* Sat Oct 28 2006 -
- creating an ISO image requires kiwi to implicitly create a boot
  image which is copied on the CD. It is very important that the
  kernel of the image and the boot image is the same. According to
  this I changed the code to use the same <repository> information
  for the boot image as it was used during prepare of the main image.
  The additional meta information is stored in
* Wed Oct 25 2006 -
- added netboot descriptions for 10.1[-smp]/10.2[-smp]
- remove loop device usage from liveCD setup
- added high level URL: this:// which points to the
  description directory itself. This is usefull if you want
  to add an additional repository in your image description
  tree for example
* Mon Oct 23 2006 -
- changed isolinux description files in cdboot/
- added isoboot-suse-10.2 image for 10.2 live CD setup
- include ext2 into boot images because the kernel exports
  the filesystem as module now
* Fri Oct 20 2006 -
- fix for linuxrc sata detection. The order to load the
  modules piix and ata_piix is important to detect the disk
* Thu Oct 19 2006 -
- added support for autoyast profiles
- fixed pattern support, don't use recommends (Prc)
- added <ignore> tag to be able to remove packages when needed
- adapt documentation
* Tue Oct 17 2006 -
- improved recursive pattern check, setup pattern cache
* Fri Oct 13 2006 -
- added grub and hwinfo to boot images
* Thu Oct 12 2006 -
- added /srv/* and /var/log/* to the in-place repository
- added support for SuSE patterns. Patterns have been
  added with openSuSE 10.2 and can be used to describe a
  package set with one statement. To use this system the
  XML description provides the tag:
  <opensusePattern name="..."/>
* Mon Oct 09 2006 -
- cleanup boot package list
- added option --createpassword to create cryp codes
* Thu Oct 05 2006 -
- fixed xen build environment setup
* Mon Oct 02 2006 -
- added support for <users> section. This allows the config.xml
  to specifiy users/groups to be added to the image. Update
  documentation concerning this feature
* Fri Sep 29 2006 -
- added cramfs support for read-only images
* Fri Sep 22 2006 -
- add setup of rpm-check-signatures option in xml description
* Tue Sep 19 2006 -
- run smart update/install actions in screen session(s)
- added support for stripping binaries [--strip]
* Mon Sep 18 2006 -
- fixed build for distributions without mboot.c32
  loader packaged in syslinux package
* Mon Sep 18 2006 -
- added support for image deployment via USB stick and CD
- added support for --logfile option
* Fri Sep 15 2006 -
- fixed repository handling in case of same types
- fixed return code handling of mktemp() call
- fixed setupMount() if source if a loop device
- disabled gpg key checking temporarily until smart -y
  really stops asking for fingerprint confirmation
* Wed Sep 13 2006 -
- added drivers/message/fusion to xenboot image
- fixed bsworker init script to setup xen build
* Tue Sep 12 2006 -
- fixed permissions for ssh keys in buildhost
- fixed hosts entries in buildhost
* Tue Sep 12 2006 -
- added support for split images. These are images which
  consist of two portions. The first one contains the Read/Write
  data and the second contains the ReadOnly data according to
  current FHS. Each image can have its own filesystem which
  means you can put the ReadOnly part into a compressed filesystem
  as well. Disadvantage of such an image is that it requires a
  boot infrastructure to become activated.
* Fri Sep 08 2006 -
- added linux32 to buildhost image
* Wed Sep 06 2006 -
- added arch information to image name
- update cdboot documentation
* Mon Sep 04 2006 -
- fixed adding subversion repository of /etc tree
- added cleanSmart() function to remove kiwi created smart
  channels on HUP signal
* Fri Sep 01 2006 -
- added support for in-place subversion repository. This
  can be used to create an update dif before reloading an image
* Fri Sep 01 2006 -
- added authorized_keys for root of buildhost image
- fixed boot images not to create the resolv.conf file
  this should be done automatically by the network setup
- added ntp service for buildhost image
- added dhcp config information to sysconfig/network
  This will set the hostname and resolv.conf
- added ssh host keys to the buildhost image
* Thu Aug 31 2006 -
- fixed buildhost image: added hosts, fixed bsworker
- fixed kernel extracting, extract for boot images only
* Wed Aug 30 2006 -
- fixed filesystem type detection in linuxrc
- fixed xenboot image to install the xen base package.
  This is needed to extract the xen.gz kernel to be able
  to multiboot the xen kernel with an initrd (mboot.c32)
* Tue Aug 29 2006 -
- fixed missing kernel module.* alias,info files
- added new xenboot subtree for boot images with xen kernel
* Wed Aug 09 2006 -
- fixed pxe config file initrd=... statement
- added 3com tg3 and bcm5700 network drivers to suse netboot
- changed location of pxelinux.0 and pxelinux.cfg
- added support for SATA und SCSI storage devices
* Tue Jul 25 2006 -
- added support for Live CD file systems (CD ISO)
  The bootstrap code for the live CD is not yet ready
* Mon Jul 24 2006 -
- added syslinux requirement instead of using a packed pxelinux.0
- added %%defattr(-, root, root) to %%files section. Thanks to
  Christoph Thiel <>
* Fri Jul 21 2006 -
- added support for high level urls like opensuse://
- added new XML format
* Wed Jul 12 2006 -
- added helper script to generate grub boot disk and CD
- fixed linuxrc to mount the image os if needed
- added checkTFTP() function to check for the tftp server
  1) at the kernel cmdline
  2) as host tftp.$DOMAIN
  3) as the same host as the DHCP server is
* Fri Jul 07 2006 -
- added support for LVM in initrd
- added opensuse installation source in image descriptions
- added lvm services to be started if installed
- added lvm2 package to package set for suse images
* Thu Jul 06 2006 -
- First Version of KIWI - Image system