KIWI NG
Overview
Basic Workflow
Components of an Image Description
Conceptual Overview
Terminology
System Requirements
Installation
Installation from OBS
Installation from Distribution Repositories
Installation for SUSE Linux Enterprise
Example Appliance Descriptions
Quick Start
Before you start
Choose a First Image
Build your First Image
Run your Image
Tweak and Customize your Image
Working from the Command Line
kiwi-ng
SYNOPSIS
DESCRIPTION
GLOBAL OPTIONS
EXAMPLE
kiwi-ng result list
SYNOPSIS
DESCRIPTION
OPTIONS
kiwi-ng result bundle
SYNOPSIS
DESCRIPTION
OPTIONS
kiwi-ng system prepare
SYNOPSIS
DESCRIPTION
OPTIONS
kiwi-ng system update
SYNOPSIS
DESCRIPTION
OPTIONS
kiwi-ng system build
SYNOPSIS
DESCRIPTION
OPTIONS
URI_TYPES
kiwi-ng system create
SYNOPSIS
DESCRIPTION
OPTIONS
kiwi-ng image resize
SYNOPSIS
DESCRIPTION
OPTIONS
kiwi-ng image info
SYNOPSIS
DESCRIPTION
OPTIONS
Troubleshooting
Build Host Constraints
Package Manager Behavior
zypper: modalias matching
Architectures
Host Security Settings Conflicts with KIWI
Incompatible Filesystem Settings on Host vs. Image
Boxbuild Tweaks
Increase Box Build Image Size
KIWI Plugins
Building in a Self-Contained Environment
Requirements
Building with the boxbuild command
Sharing Backends
Building in Container
Building based on Containers
Installation
Concept
Create a stash
Rebuild from a stash
Turn a container into a VM image
Concept and Workflow
Host Requirements To Build Images
Setting up Repositories
Adding repositories
Supported repository paths
Adding and Removing Packages
The
package
element
The
archive
element
Uninstall System Packages
The
product
and
namedCollection
element
The
ignore
element
Image Profiles
Adding Users
User-Defined Scripts
Developing/Debugging Scripts
Script Template for config.sh / images.sh
Functions and Variables Provided by KIWI NG
Configuration Tips
The Runtime Configuration File
Customizing the Boot Process
Boot Image Hook-Scripts
Boot Image Parameters
Boot Debugging
Overview
Image Building Process
The Prepare Step
The Create Step
Image Description
Image Description Elements
<image>
<include>
<description>
<certificates>
<preferences>
<preferences><version>
<preferences><packagemanager>
<preferences><rpm-locale-filtering>
<preferences><rpm-check-signatures>
<preferences><rpm-excludedocs>
<preferences><keytable>
<preferences><timezone>
<preferences><locale>
<preferences><bootsplash-theme>
<preferences><bootloader-theme>
<preferences><release-version>
<preferences><type>
<preferences><type><luksformat>
<preferences><type><bootloader>
<preferences><type><bootloader><securelinux>
<preferences><type><bootloader><bootloadersettings>
<preferences><type><containerconfig>
<preferences><type><vagrantconfig>
<preferences><type><systemdisk>
<preferences><type><partitions>
<preferences><type><oemconfig>
<preferences><type><size>
<preferences><type><machine>
<preferences><type><installmedia>
<preferences><type><initrd>
<containers>
<containers><container>
<repository>
<repository><source>
<packages>
<packages><package>
<packages><namedCollection>
<packages><collectionModule>
<packages><file>
<packages><archive>
<packages><ignore>
<packages><product>
<users>
<profiles>
Main Root
Image Identity
Image Preferences
Image Software Sources
Image Content Setup
Image Users
Image Namespace
Image Includes
Image Types
Image Results
Image Bundle Format
Building Images for Supported Types
Build an ISO Hybrid Live Image
overlay
or
dmsquash
Build a Virtual Disk Image
Setting up the Bootloader in the Image
Modifying the Size of the Image
Customizing the Virtual Machine
Modifying the VM Configuration Directly
Adding Network Interfaces to the VM
Specifying Disks and Disk Controllers
Adding CD/DVD Drives
Build an Expandable Disk Image
Deployment Methods
Manual Deployment
CD/DVD Deployment
Network Deployment
OEM Customization
Installation Media Customization
Build a Container Image
Build a WSL Container Image
Setup of the WSL-DistroLauncher
Testing the WSL image
Build KIS Image (Kernel, Initrd, System)
Build an AWS Nitro Enclave
Working with Images
Deploy ISO Image on a USB Stick
Deploy ISO Image as a File on a FAT32 Formatted USB Stick
Booting Live ISO Images from Grub2
Image Description for Amazon EC2
Image Description for Microsoft Azure
Image Description for Google Compute Engine
Image Description for Vagrant
Customizing the embedded Vagrantfile
Image Description for an Encrypted Disk
Deploy and Run a System in a Ramdisk
Custom Disk Partitions
Custom Disk Volumes
Partition Clones
Use Case
Setting Up a Network Boot Server
Installing and Configuring DHCP and TFTP with dnsmasq
Build PXE Root Filesystem Image for the legacy netboot infrastructure
PXE Client Setup Configuration
Setup Client with Remote Root
Setup Client with System on Local Disk
Setup Client with System on Local MD RAID Disk
Setup Loading of Custom Configuration File(s)
Setup Client to Force Reload Image
Setup Client to Force Reload Configuration Files
Setup Client for Reboot After Deployment
Setup custom kernel boot options
Setup a Custom Boot Timeout
Setup a Different Download Protocol and Server
Booting a Root Filesystem from Network
Booting a Live ISO Image from Network
Available Remote Boot Options
Persistent Live System
Add or Update the Fstab File
Building Images with Profiles
Local Builds
Building with the Open Build Service
Building in the Open Build Service
Advantages of using the Open Build Service (OBS)
Differences Between Building Locally and on OBS
Recommendations
Working with OBS
Repository Configuration
Project Configuration
Using SUSE Product ISO To Build
Circumvent Debian Bootstrap
How to Create a bootstrap_package
Contributing
Using KIWI NG in a Python Project
Plugin Architecture
Naming conventions
Example plugin
Write Integration Tests for the Scripts
Test setup
Extending KIWI NG with Custom Operations
The <extension> Section
RELAX NG Schema for the Extension
Extension schema in XML catalog
Using the extension
The Basics
Fork the upstream repository
Create a local clone of the forked repository
Install Required Operating System Packages
Create a Python Virtual Development Environment
Running the Unit Tests
Create a Branch for each Feature or Bugfix
Coding Style
Documentation
Additional Information
Signing Git Patches
Bumping the Version
Creating an RPM Package
Building Build Tests
Python API
kiwi Package
KIWI NG
Index
Index