Compare commits

..

2 Commits
main ... el8

Author SHA1 Message Date
Marcus Schäfer
0b1e806cf2 Fixed missing selinux context setup for live ISOs
When building live ISO images the selinux context was not created
for eventually new created files during the live ISO creation
process. This Fixes OSInside/kiwi-boxed-plugin#99
2026-03-12 22:33:57 +01:00
Marcus Schäfer
28d9f45ca6 Run grub mkconfig with os-prober disabled
Set GRUB_DISABLE_OS_PROBER=true to the caller environment
such that it gets consumed via /etc/grub.d/30_os-prober
This Fixes #2883
2026-03-12 22:33:50 +01:00
916 changed files with 18199 additions and 33793 deletions

View File

@ -1,10 +1,8 @@
[bumpversion]
current_version = 10.2.44
current_version = 9.25.22
commit = True
tag = True
[bumpversion:file:pyproject.toml]
[bumpversion:file:kiwi/version.py]
[bumpversion:file:doc/source/conf.py]

View File

@ -3,16 +3,16 @@ name: CI-Code-Style
on:
push:
branches:
- "main"
- "master"
pull_request:
jobs:
unit_tests:
name: Linter checks for KIWI python and Shell code
runs-on: ubuntu-latest
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13"]
python-version: ["3.8", "3.9", "3.10"]
steps:
- uses: actions/checkout@v3
@ -20,10 +20,10 @@ jobs:
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install Poetry
- name: Install Tox
run: |
python -m pip install --upgrade pip
python -m pip install poetry
python -m pip install tox
- name: Run code checks
run: |
make check
tox -e check

View File

@ -4,19 +4,21 @@ name: CI-Config-Functions
on:
push:
branches:
- "main"
- "master"
paths:
- "kiwi/config/functions.sh"
- ".github/workflows/**"
- "test/scripts/**"
- "pyproject.toml"
- "tox.ini"
- "*requirements.txt"
pull_request:
paths:
# copy-pasta from the above because workflows don't support anchors :-(
- "kiwi/config/functions.sh"
- ".github/workflows/**"
- "test/scripts/**"
- "pyproject.toml"
- "tox.ini"
- "*requirements.txt"
jobs:
scripts_integration_tests:
@ -25,21 +27,27 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: [3.11]
container_runtime:
- DOCKER
- PODMAN
steps:
- uses: actions/checkout@v3
- name: Python${{ matrix.python-version }}
uses: actions/setup-python@v4
- uses: actions/cache@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install Poetry
run: |
python -m pip install --upgrade pip
python -m pip install poetry
sudo python -m pip install pytest-container
path: |
~/.cache/pip
.tox/
key: pip-${{ hashFiles('.virtualenv.dev-requirements.txt') }}-${{ hashFiles('.virtualenv.requirements.txt') }}
restore-keys: |
-pip-
- name: checkout source code
uses: actions/checkout@v3
- name: set up Python
uses: actions/setup-python@v4
- name: Install Tox
run: sudo apt update && sudo apt install tox
- name: Run the scripts integration tests
run: make test_scripts
run: sudo tox -e scripts
env:
CONTAINER_RUNTIME: ${{ matrix.container_runtime }}

View File

@ -1,7 +1,7 @@
name: CI-Differential-ShellCheck
on:
pull_request:
branches: [main]
branches: [master]
permissions:
contents: read

View File

@ -3,7 +3,7 @@ name: CI-Documentation
on:
push:
branches:
- "main"
- "master"
pull_request:
jobs:
@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.11]
python-version: [3.8]
steps:
- uses: actions/checkout@v3
@ -20,10 +20,9 @@ jobs:
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install Poetry
- name: Install Tox
run: |
python -m pip install --upgrade pip
python -m pip install poetry
sudo apt update && sudo apt install tox
- name: Run sphinx build
run: |
make docs
tox -e doc

View File

@ -8,28 +8,26 @@ on:
jobs:
documentation:
runs-on: ubuntu-latest
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: ["3.11"]
python-version: ["3.10"]
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v3
- name: Python${{ matrix.python-version }}
uses: actions/setup-python@v5
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install
run: |
python -m pip install --upgrade pip
python -m pip install poetry
python -m pip install tox
- name: Render
run: |
make ghpages
tox -e doc_gh_pages
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
publish_branch: gh-pages
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./doc/build
force_orphan: true
publish_dir: ./doc/build_gh_pages

View File

@ -7,10 +7,10 @@ on:
jobs:
release:
runs-on: ubuntu-latest
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: ["3.11"]
python-version: ["3.10"]
environment:
name: pypi
@ -28,9 +28,9 @@ jobs:
- name: Install
run: |
python -m pip install --upgrade pip
python -m pip install poetry==1.7.1
python -m pip install tox
- name: Prepare
run: |
make prepare_for_pypi
tox -e doc_man,release
- name: Publish
uses: pypa/gh-action-pypi-publish@release/v1

View File

@ -1,16 +0,0 @@
name: 'Mark stale issues and PRs with the stale label'
on:
schedule:
- cron: '30 1 * * *'
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v10
with:
stale-issue-message: 'This issue is stale because it has been open 60 days with no activity. stale label was set.'
stale-pr-message: 'This PR is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed as part of the community meeting.'
days-before-stale: 60
days-before-pr-close: -1
days-before-issue-close: -1

View File

@ -3,7 +3,7 @@ name: CI-Unit-And-Types
on:
push:
branches:
- "main"
- "master"
pull_request:
jobs:
@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13"]
python-version: ["3.9", "3.10", "3.11", "3.12"]
steps:
- uses: actions/checkout@v3
@ -20,11 +20,11 @@ jobs:
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install Poetry
- name: Install Tox
run: |
python -m pip install --upgrade pip
python -m pip install poetry
python -m pip install tox
- name: Run unit and type tests
run: make test
run: tox -e "unit_py${PY_VER/./_}" -- -n auto
env:
PY_VER: ${{ matrix.python-version }}

View File

@ -3,7 +3,7 @@ name: CI-Update-Build-Tests
on:
push:
branches:
- "main"
- "master"
paths:
- "build-tests/**"

7
.gitignore vendored
View File

@ -48,9 +48,6 @@ var/
.installed.cfg
*.egg
# Poetry
poetry.lock
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
@ -65,6 +62,7 @@ htmlcov/
.tox/
.coverage
.cache
nosetests.xml
coverage.xml
# Translations
@ -77,6 +75,9 @@ coverage.xml
docs/_build/
doc/xml/
# PyBuilder
target/
# man pages
*.1.gz

View File

@ -0,0 +1,60 @@
#
# Requirement files for Python Virtual Environments
#
-r .virtualenv.requirements.txt
# setuptools for pypi upload
setuptools
# virtualenv-based automation of test activities
tox
# python unit testing framework
pytest
pytest-cov
pytest-xdist
# Rolling backport of unittest.mock for all Pythons
mock
# Version-bump your software with a single command!
bumpversion
# A built-package format for Python
wheel
# Python style guide checker
flake8
mypy
types-pkg_resources
types-requests
types-PyYAML
types-mock
types-simplejson
# Generate Data Structures from XML Schema
# http://pythonhosted.org/generateDS
generateDS==2.29.24
# for building documentation
sphinx==5.0.0
git+https://github.com/openSUSE/rstxml2docbook.git@feature/kiwi
sphinx_rtd_theme
sphinxcontrib-spelling
pyenchant
# for github pages deployment tasks
travis-sphinx
ghp-import
# for helper tools
python-dateutil
# for release
twine
# for scripts testing
pytest-container

View File

@ -0,0 +1,30 @@
#
# Requirement files for Python Virtual Environments
#
# Shell interface for docopt, the command-line interface description language
docopt
# Powerful and Pythonic XML processing library
lxml
# YAML file parsing
PyYAML
# TOML file parsing
toml
# Python wrapper for extended filesystem attributes
xattr==0.9.3
# Network request/response library
requests
# markup support
anymarkup-core
xmltodict
# json support that also knows about tuples
simplejson
typing_extensions; python_version < '3.8'

48
MANIFEST.in Normal file
View File

@ -0,0 +1,48 @@
# Manifest describing source package contents
graft tools
graft dracut
graft helper
graft kiwi/boot
graft kiwi/utils
graft kiwi/markup
graft kiwi/archive
graft kiwi/bootloader
graft kiwi/builder
graft kiwi/container
graft kiwi/filesystem
graft kiwi/package_manager
graft kiwi/partitioner
graft kiwi/repository
graft kiwi/schema
graft kiwi/storage
graft kiwi/system
graft kiwi/volume_manager
graft kiwi/xsl
graft kiwi/schema
graft kiwi/config
graft kiwi/tasks
graft kiwi/solver
graft kiwi/iso_tools
graft kiwi/oci_tools
graft package
graft doc/source
graft test
include doc/Makefile
include Makefile
include README.rst
include LICENSE
include tox.ini
include kiwi.yml
recursive-include doc/build/man *
recursive-include *.gz *.iso *.kiwi *.pf2 *.py *.txt *.xml *.xz
include .bumpversion.cfg
include .coverage*
include .virtualenv.requirements.txt
include .virtualenv.dev-requirements.txt
global-exclude *.py[cod] __pycache__

104
Makefile
View File

@ -3,7 +3,6 @@ docdir = /usr/share/doc/packages
python_version = 3
python_lookup_name = python$(python_version)
python = $(shell which $(python_lookup_name))
sc_disable = SC1091,SC1090,SC2001,SC2174,SC1117,SC2048,SC2004
LC = LC_MESSAGES
@ -12,6 +11,13 @@ version := $(shell \
'from kiwi.version import __version__; print(__version__)'\
)
.PHONY: tools
tools:
# apart from python sources there are also some legacy
# C tools used in custom kiwi boot descriptions.
# Note: These information will be missing when installed from pip
${MAKE} -C tools all
install_dracut:
for dracut in dracut/modules.d/*; do \
${MAKE} -C $$dracut install ;\
@ -19,6 +25,8 @@ install_dracut:
install_package_docs:
install -d -m 755 ${buildroot}${docdir}/python-kiwi
install -m 644 doc/build/latex/kiwi.pdf \
${buildroot}${docdir}/python-kiwi/kiwi.pdf
install -m 644 LICENSE \
${buildroot}${docdir}/python-kiwi/LICENSE
install -m 644 README.rst \
@ -26,8 +34,9 @@ install_package_docs:
install:
# apart from python sources there are also
# the manual pages and the completion
# the C tools, the manual pages and the completion
# Note: These information will be missing when installed from pip
${MAKE} -C tools buildroot=${buildroot} install
# manual pages
install -d -m 755 ${buildroot}usr/share/man/man8
for man in doc/build/man/*.8; do \
@ -40,16 +49,14 @@ install:
# kiwi default configuration
install -d -m 755 ${buildroot}etc
install -m 644 kiwi.yml ${buildroot}etc/kiwi.yml
# kiwi old XSL stylesheets for upgrade
install -d -m 755 ${buildroot}usr/share/kiwi
cp -a helper/xsl_to_v74 ${buildroot}usr/share/kiwi/
tox:
tox -- "-n 5"
kiwi/schema/kiwi.rng: kiwi/schema/kiwi.rnc
# whenever the schema is changed this target will convert
# the short form of the RelaxNG schema to the format used
# in code and auto generates the python data structures
@type -p trang &>/dev/null || \
(echo "ERROR: trang not found in path: $(PATH)"; exit 1)
trang -I rnc -O rng kiwi/schema/kiwi.rnc kiwi/schema/kiwi.rng
# XML parser code is auto generated from schema using generateDS
# http://pythonhosted.org/generateDS
@ -90,63 +97,27 @@ clean_git_attributes:
# for details on when this target is called see setup.py
git checkout kiwi/version.py
setup:
poetry install --all-extras
docs: setup
poetry run make -C doc man html
ghpages: setup
poetry run sphinx-build doc/source doc/build
poetry run pdoc kiwi \
'!kiwi.cli' '!kiwi.tasks' '!kiwi.builder' '!kiwi.xml_parse' \
'!kiwi.kiwi' '!kiwi.api_helper' \
--logo https://osinside.github.io/kiwi/_static/kiwi-logo.png \
--output-dir doc/build/api
docs_suse: setup
poetry run make -C doc xml
rm -rf doc/build/restxml
mv doc/build/xml doc/build/restxml
poetry run pip install \
git+https://github.com/openSUSE/rstxml2docbook.git@feature/kiwi
poetry run bash -c 'pushd doc && rstxml2docbook \
-v --no-split -o build/xml/book.xml build/restxml/index.xml'
bash -c 'mkdir -p doc/build/images/src/png && \
cp -a doc/source/.images/* doc/build/images/src/png'
cp doc/DC-kiwi doc/build/
bash -c 'pushd doc/build && daps -d DC-kiwi html'
test_scripts: setup
poetry run bash -c 'pushd test/scripts && sudo pytest -s -vv'
check: setup
# shell code checks
find build-tests -name config.sh | xargs shellcheck
bash -c 'shellcheck -e ${sc_disable} dracut/modules.d/*/*.sh -s bash'
bash -c 'shellcheck -e ${sc_disable} kiwi/config/functions.sh -s bash'
bash -c 'shellcheck build-tests.sh'
# python flake tests
poetry run flake8 --statistics -j auto --count kiwi
poetry run flake8 --statistics -j auto --count test/unit
poetry run flake8 --statistics -j auto --count test/scripts
test: setup
# python static code checks
poetry run mypy kiwi
# unit tests
poetry run bash -c 'pushd test/unit && pytest -n 5 \
--doctest-modules --no-cov-on-fail --cov=kiwi \
--cov-report=term-missing --cov-fail-under=100 \
--cov-config .coveragerc'
build: clean check test
build: clean tox
# create setup.py variant for rpm build.
# delete module versions from setup.py for building an rpm
# the dependencies to the python module rpm packages is
# managed in the spec file
sed -ie "s@>=[0-9.]*'@'@g" setup.py
# build the sdist source tarball
poetry build --format=sdist
$(python) setup.py sdist
# restore original setup.py backed up from sed
mv setup.pye setup.py
# provide rpm source tarball
mv dist/kiwi-${version}.tar.gz dist/python-kiwi.tar.gz
# append PDF documentation to tarball
gzip -d dist/python-kiwi.tar.gz
mkdir -p kiwi-${version}/doc/build/latex
mv doc/build/latex/kiwi.pdf kiwi-${version}/doc/build/latex
tar -uf dist/python-kiwi.tar kiwi-${version}/doc/build/latex/kiwi.pdf
gzip dist/python-kiwi.tar
rm -rf kiwi-${version}
# update rpm changelog using reference file
helper/update_changelog.py --since package/python-kiwi.changes --fix > \
helper/update_changelog.py --since package/python-kiwi.changes > \
dist/python-kiwi.changes
helper/update_changelog.py --file package/python-kiwi.changes >> \
dist/python-kiwi.changes
@ -160,17 +131,12 @@ build: clean check test
-e s"@%%MD5SUM@$${md5sums}@" > dist/PKGBUILD
# provide rpm rpmlintrc
cp package/python-kiwi-rpmlintrc dist
# provide patches
cp package/*.patch dist
prepare_for_pypi: clean setup
# documentation render and tests
poetry run make -C doc man
# sdist tarball, the actual publishing happens via the
# ci-publish-to-pypi.yml github action
poetry build --format=sdist
pypi: clean tox
$(python) setup.py sdist upload
clean: clean_git_attributes
rm -rf dist
$(python) setup.py clean
rm -rf doc/build
rm -rf doc/dist
${MAKE} -C tools clean

View File

@ -18,9 +18,8 @@ KIWI - Next Generation
.. |Doc| replace:: `Documentation <https://osinside.github.io/kiwi/>`__
.. |Installation| replace:: `Installation <https://osinside.github.io/kiwi/installation.html>`__
.. |Contributing| replace:: `Contributing <https://osinside.github.io/kiwi/contributing.html>`__
.. |IntegrationTesting| replace:: `Integration Testing <https://osinside.github.io/kiwi/integration_testing.html>`__
.. |Donate| image:: https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif
:target: https://www.paypal.com/donate/?hosted_button_id=CYZY57A7Q4TCC
:target: https://www.paypal.me/SchaeferMarcus
|GitHub Action Code Style| |GitHub Action Config Functions| |GitHub Action Documentation| |GitHub Action Publish Pages| |GitHub Action Publish PyPi| |GitHub Action Unit Types| |Health|
@ -28,13 +27,10 @@ KIWI - Next Generation
* |Installation|
* |IntegrationTesting|
* |Contributing|
* |Doc|
KIWI has helped you in your work ? Even the smallest gift is
a way to help that we don't run out of coffee :)
We'll donate it for good luck so's you're sure to come back :)
|Donate|

View File

@ -1,165 +0,0 @@
#!/bin/bash
# git clone https://github.com/OSInside/kiwi.git
# Simple build test script to build the integration test
# images from a given test directory. The host to run this
# command requires the following tools:
#
# - tree
# - git
# - xmllint
# - podman
# - pip
#
# And requires the installation of the kiwi box plugin
#
# $ pip install --upgrade kiwi-boxed-plugin
#
set -e
ARGUMENT_LIST=(
"test-dir:"
"test-name:"
"box-name:"
"vm"
)
function usage() {
echo "usage: build-tests --test-dir <dir>"
echo " --test-dir <dir>"
echo " Some test dir name, e.g. build-tests/x86/tumbleweed/"
echo " --test-name <name>"
echo " some test name, e.g. test-image-disk"
echo " --box-name <name>"
echo " name of the box to use for the build, default: universal"
echo " --vm"
echo " build in a virtual machine instead of a container"
}
if ! opts=$(getopt \
--longoptions "$(printf "%s," "${ARGUMENT_LIST[@]}")" \
--name "$(basename "$0")" \
--options "" \
-- "$@"
); then
usage
exit 0
fi
eval set --"${opts}"
while [[ $# -gt 0 ]]; do
case "$1" in
--test-dir)
argTestDir=$2
shift 2
;;
--test-name)
argTestName=$2
shift 2
;;
--box-name)
argBoxName=$2
shift 2
;;
--vm)
argVM=1
shift
;;
*)
break
;;
esac
done
if [ ! "${argTestDir}" ];then
usage
exit 1
fi
if [ ! -e "${argTestDir}"/.repos ];then
echo "No .repos information for specified test dir"
exit 1
fi
boxname=universal
if [ "${argBoxName}" ];then
boxname="${argBoxName}"
fi
function create_repo_list() {
local build_dir=$1
if [ -s "${build_dir}"/.repos ];then
local repo_options="--ignore-repos"
while read -r repo;do
repo_options="${repo_options} --add-repo ${repo}"
done < "${build_dir}"/.repos
echo "${repo_options}"
fi
}
function create_build_commands() {
local build_dir=$1
local test_name=$2
build_commands=()
for image in "${build_dir}"/*;do
test -e "${image}/appliance.kiwi" || continue
test -e "${image}/.skip_boxbuild_container" && continue
base_image=$(basename "${image}")
if [ -n "${test_name}" ] && [ ! "${test_name}" = "${base_image}" ];then
continue
fi
build_command="kiwi-ng --debug"
has_profiles=false
repo_options=$(create_repo_list "${build_dir}")
box_options="system boxbuild --box ${boxname}"
if [ ! "${argVM}" = 1 ];then
box_options="${box_options} --container"
fi
for profile in $(
xmllint --xpath "//image/profiles/profile/@name" \
"${image}/appliance.kiwi" 2>/dev/null | cut -f2 -d\"
);do
has_profiles=true
target_dir="build_results/${base_image}/${profile}"
build_command="${build_command} --profile ${profile}"
build_command="${build_command} ${box_options} --"
build_command="${build_command} --description $image"
build_command="${build_command} ${repo_options}"
build_command="${build_command} --target-dir ${target_dir}"
echo "${build_command}" \
> "build_results/${base_image}-${profile}.build"
build_commands+=( "${build_command}" )
build_command="kiwi-ng --debug"
done
if [ "${has_profiles}" = "false" ];then
target_dir="build_results/${base_image}"
build_command="${build_command} ${box_options} --"
build_command="${build_command} --description $image"
build_command="${build_command} ${repo_options}"
build_command="${build_command} --target-dir ${target_dir}"
echo "${build_command}" \
> "build_results/${base_image}.build"
build_commands+=( "${build_command}" )
fi
done
}
# create results directory
mkdir -p build_results
# build command list
create_build_commands "${argTestDir}" "${argTestName}"
# build them in a row
for build in "${build_commands[@]}";do
${build}
sudo rm -rf build_results/*/*/build/
sudo rm -rf build_results/*/build/
done
# show result tree
test -d build_results && tree -L 3 build_results

10
build-tests/README.rst Normal file
View File

@ -0,0 +1,10 @@
KIWI - Image Build Tests
========================
.. |BuildService| replace:: `Open Build Service <https://build.opensuse.org>`__
This directory contains the description files of several images
which are used for testing KIWI within the |BuildService|
Testing projects can be found at `Virtualization:Appliances:Images` in
the `Testing_XXX/DISTRO` subprojects.

View File

@ -1,2 +0,0 @@
obs://Virtualization:Appliances:Staging/Fedora_39
https://mirrors.fedoraproject.org/metalink?repo=fedora-39&arch=aarch64,,,,,,,,,,metalink

View File

@ -1,4 +1,2 @@
iso:
- media_tag_tool: isomd5sum
oci:
- archive_tool: buildah

View File

@ -8,7 +8,7 @@
</description>
<preferences>
<version>1.33.2</version>
<packagemanager>dnf5</packagemanager>
<packagemanager>dnf</packagemanager>
<bootsplash-theme>charge</bootsplash-theme>
<bootloader-theme>breeze</bootloader-theme>
<locale>en_US</locale>
@ -40,8 +40,6 @@
<package name="tzdata"/>
<package name="dracut-kiwi-live"/>
<package name="fedora-logos"/>
<package name="systemd-resolved"/>
<package name="systemd-networkd"/>
</packages>
<packages type="bootstrap">
<package name="filesystem"/>
@ -51,6 +49,5 @@
<package name="grub2-efi-aa64-modules"/>
<package name="grub2-efi-aa64-cdboot"/>
<package name="fedora-release"/>
<package name="shadow"/>
</packages>
</image>

View File

@ -1,8 +1,38 @@
#!/bin/bash
set -ex
#================
# FILE : config.sh
#----------------
# PROJECT : OpenSuSE KIWI Image System
# COPYRIGHT : (c) 2006 SUSE LINUX Products GmbH. All rights reserved
# :
# AUTHOR : Marcus Schaefer <ms@suse.de>
# :
# BELONGS TO : Operating System images
# :
# DESCRIPTION : configuration script for SUSE based
# : operating systems
# :
# :
# STATUS : BETA
#----------------
#======================================
# Functions...
#--------------------------------------
test -f /.kconfig && . /.kconfig
test -f /.profile && . /.profile
#======================================
# Greeting...
#--------------------------------------
echo "Configure image: [$kiwi_iname]..."
#======================================
# Activate services
#--------------------------------------
systemctl enable systemd-networkd
systemctl enable systemd-resolved
baseInsertService network
baseInsertService grub_config
#======================================
# Setup default target, multi-user
#--------------------------------------
baseSetRunlevel 3

View File

@ -1,2 +0,0 @@
obs://Virtualization:Appliances:Staging/Fedora_Rawhide
https://mirrors.fedoraproject.org/metalink?repo=rawhide&arch=aarch64,,,,,,,,,,metalink

View File

@ -1,8 +1,38 @@
#!/bin/bash
set -ex
#================
# FILE : config.sh
#----------------
# PROJECT : OpenSuSE KIWI Image System
# COPYRIGHT : (c) 2006 SUSE LINUX Products GmbH. All rights reserved
# :
# AUTHOR : Marcus Schaefer <ms@suse.de>
# :
# BELONGS TO : Operating System images
# :
# DESCRIPTION : configuration script for SUSE based
# : operating systems
# :
# :
# STATUS : BETA
#----------------
#======================================
# Functions...
#--------------------------------------
test -f /.kconfig && . /.kconfig
test -f /.profile && . /.profile
#======================================
# Greeting...
#--------------------------------------
echo "Configure image: [$kiwi_iname]..."
#======================================
# Activate services
#--------------------------------------
systemctl enable network
systemctl enable grub_config
baseInsertService network
baseInsertService grub_config
#======================================
# Setup default target, multi-user
#--------------------------------------
baseSetRunlevel 3

View File

@ -1,2 +0,0 @@
obs://Virtualization:Appliances:Staging/openSUSE_Tumbleweed
https://download.opensuse.org/ports/aarch64/tumbleweed/repo/oss/

View File

@ -27,7 +27,7 @@
<type image="iso" flags="overlay" firmware="uefi" kernelcmdline="console=ttyS0" hybridpersistent_filesystem="ext4" hybridpersistent="true"/>
</preferences>
<preferences profiles="Disk">
<type image="oem" firmware="efi" kernelcmdline="console=ttyS0" installiso="true" installboot="install" filesystem="ext4">
<type image="oem" firmware="uefi" kernelcmdline="console=ttyS0" installiso="true" installboot="install" filesystem="ext4">
<bootloader name="grub2" console="serial" timeout="10"/>
<oemconfig>
<oem-unattended>true</oem-unattended>
@ -45,7 +45,6 @@
<packages type="image">
<package name="bind-utils"/>
<package name="patterns-openSUSE-base"/>
<package name="procps"/>
<package name="systemd"/>
<package name="plymouth-theme-bgrt"/>
<package name="grub2-branding-openSUSE"/>
@ -67,9 +66,9 @@
<package name="which"/>
<package name="kernel-default"/>
<package name="timezone"/>
<package name="shim"/>
</packages>
<packages type="image" profiles="Live">
<package name="shim"/>
<package name="dracut-kiwi-live"/>
</packages>
<packages type="image" profiles="Disk">

View File

@ -1,7 +1,39 @@
#!/bin/bash
set -ex
#================
# FILE : config.sh
#----------------
# PROJECT : OpenSuSE KIWI Image System
# COPYRIGHT : (c) 2006 SUSE LINUX Products GmbH. All rights reserved
# :
# AUTHOR : Marcus Schaefer <ms@suse.de>
# :
# BELONGS TO : Operating System images
# :
# DESCRIPTION : configuration script for SUSE based
# : operating systems
#----------------
#======================================
# Functions...
#--------------------------------------
test -f /.kconfig && . /.kconfig
test -f /.profile && . /.profile
#======================================
# Greeting...
#--------------------------------------
echo "Configure image: [$kiwi_iname]..."
#======================================
# Setup baseproduct link
#--------------------------------------
suseSetupProduct
#======================================
# Activate services
#--------------------------------------
systemctl enable sshd
suseInsertService sshd
#======================================
# Setup default target, multi-user
#--------------------------------------
baseSetRunlevel 3

View File

@ -29,7 +29,6 @@
</repository>
<packages type="image">
<package name="patterns-openSUSE-base"/>
<package name="procps"/>
<package name="acl"/>
<package name="dracut"/>
<package name="group(mail)"/>

View File

@ -1,10 +1,34 @@
#!/bin/bash
set -ex
#======================================
# Functions...
#--------------------------------------
test -f /.kconfig && . /.kconfig
test -f /.profile && . /.profile
#======================================
# Greeting...
#--------------------------------------
echo "Configure image: [$kiwi_iname]-[$kiwi_profiles]..."
#======================================
# Debug
#--------------------------------------
#systemctl enable debug-shell.service
#======================================
# Setup baseproduct link
#--------------------------------------
suseSetupProduct
#======================================
# Specify default runlevel
#--------------------------------------
baseSetRunlevel 3
#======================================
# Activate services
#--------------------------------------
systemctl enable sshd
suseInsertService sshd
#======================================
# SSL Certificates Configuration
@ -16,7 +40,7 @@ update-ca-certificates
# Enable ntpd if installed
#-------------------------------------
if [ -f /etc/ntp.conf ]; then
systemctl enable ntpd
suseInsertService ntpd
for i in 0 1 2 3; do
echo "server $i.opensuse.pool.ntp.org iburst" >> /etc/ntp.conf
done

View File

@ -52,6 +52,7 @@
<package name="group(wheel)"/>
<package name="grub2-branding-openSUSE"/>
<package name="iputils"/>
<package name="zypper-lifecycle-plugin"/>
<package name="vim"/>
<package name="grub2"/>
<package name="grub2-arm64-efi" arch="aarch64"/>
@ -82,6 +83,7 @@
<package name="kernel-default"/>
<package name="ntp"/>
<package name="bcm43xx-firmware"/>
<package name="ruby"/>
</packages>
<packages type="bootstrap">
<package name="udev"/>

View File

@ -1,28 +1,41 @@
#!/bin/bash
set -ex
declare kiwi_btrfs_root_is_snapshot=${kiwi_btrfs_root_is_snapshot}
# shellcheck disable=SC1091
#======================================
# Functions...
#--------------------------------------
test -f /.kconfig && . /.kconfig
test -f /.profile && . /.profile
mkdir /var/lib/misc/reconfig_system
#======================================
# init reconfig system startup
# Greeting...
#--------------------------------------
mkdir /var/lib/misc/reconfig_system
echo "Configure image: [$kiwi_iname]-[$kiwi_profiles]..."
#======================================
# Debug
#--------------------------------------
#systemctl enable debug-shell.service
#======================================
# add missing fonts
#--------------------------------------
CONSOLE_FONT="eurlatgr.psfu"
#======================================
# Setup baseproduct link
#--------------------------------------
suseSetupProduct
#======================================
# Specify default runlevel
#--------------------------------------
baseSetRunlevel 3
#======================================
# Activate services
#--------------------------------------
systemctl enable sshd
suseInsertService sshd
#======================================
# Sysconfig Update
@ -36,38 +49,42 @@ echo FONT="$CONSOLE_FONT" >> /etc/vconsole.conf
echo '** Rehashing SSL Certificates...'
update-ca-certificates
touch /var/log/zypper.log
if [ ! -s /var/log/zypper.log ]; then
> /var/log/zypper.log
fi
#======================================
# Import trusted rpm keys
#--------------------------------------
for i in /usr/lib/rpm/gnupg/keys/gpg-pubkey*asc; do
# importing can fail if it already exists
rpm --import "$i" || true
rpm --import $i || true
done
#=====================================
# Configure snapper
#-------------------------------------
if [ "${kiwi_btrfs_root_is_snapshot-false}" = 'true' ]; then
echo "creating initial snapper config ..."
cp /usr/share/snapper/config-templates/default /etc/snapper/configs/root
baseUpdateSysConfig /etc/sysconfig/snapper SNAPPER_CONFIGS root
if [ "$kiwi_btrfs_root_is_snapshot" = 'true' ]; then
echo "creating initial snapper config ..."
# we can't call snapper here as the .snapshots subvolume
# already exists and snapper create-config doens't like
# that.
cp /etc/snapper/config-templates/default /etc/snapper/configs/root
# Change configuration to match SLES12-SP1 values
sed -i -e '/^TIMELINE_CREATE=/s/yes/no/' /etc/snapper/configs/root
sed -i -e '/^NUMBER_LIMIT=/s/50/10/' /etc/snapper/configs/root
# Adjust parameters
sed -i'' 's/^TIMELINE_CREATE=.*$/TIMELINE_CREATE="no"/g' \
/etc/snapper/configs/root
sed -i'' 's/^NUMBER_LIMIT=.*$/NUMBER_LIMIT="2-10"/g' \
/etc/snapper/configs/root
sed -i'' 's/^NUMBER_LIMIT_IMPORTANT=.*$/NUMBER_LIMIT_IMPORTANT="4-10"/g' \
/etc/snapper/configs/root
baseUpdateSysConfig /etc/sysconfig/snapper SNAPPER_CONFIGS root
fi
#=====================================
# Enable chrony if installed
# Enable ntpd if installed
#-------------------------------------
if [ -f /etc/chrony.conf ]; then
systemctl enable chronyd
if [ -f /etc/ntp.conf ]; then
suseInsertService ntpd
for i in 0 1 2 3; do
echo "server $i.opensuse.pool.ntp.org iburst" >> /etc/ntp.conf
done
fi
#======================================

View File

@ -1,9 +0,0 @@
obs://Virtualization:Appliances:Staging/xUbuntu_24.04_aarch64,apt-deb,kiwi,,,,,,,false
https://ports.ubuntu.com/ubuntu-ports,apt-deb,noble_1,,,,,main,noble,false
https://ports.ubuntu.com/ubuntu-ports,apt-deb,noble_2,,,,,multiverse,noble,false
https://ports.ubuntu.com/ubuntu-ports,apt-deb,noble_3,,,,,restricted,noble,false
https://ports.ubuntu.com/ubuntu-ports,apt-deb,noble_4,,,,,universe,noble,false
https://ports.ubuntu.com/ubuntu-ports,apt-deb,noble-updates_1,,,,,main,noble-updates,false
https://ports.ubuntu.com/ubuntu-ports,apt-deb,noble-updates_2,,,,,multiverse,noble-updates,false
https://ports.ubuntu.com/ubuntu-ports,apt-deb,noble-updates_3,,,,,restricted,noble-updates,false
https://ports.ubuntu.com/ubuntu-ports,apt-deb,noble-updates_4,,,,,universe,noble-updates,false

View File

@ -9,6 +9,9 @@
<preferences>
<version>1.22.4</version>
<packagemanager>apt</packagemanager>
<locale>en_US</locale>
<keytable>us</keytable>
<timezone>UTC</timezone>
<rpm-excludedocs>true</rpm-excludedocs>
<type image="oem" filesystem="xfs" firmware="efi" bootpartition="false" efipartsize="128" devicepersistency="by-label" editbootinstall="editbootinstall_rpi.sh">
<bootloader name="custom"/>
@ -27,14 +30,14 @@
<user password="$1$wYJUgpM5$RXMMeASDc035eX.NbYWFl0" home="/home/ubuntu" name="ubuntu" groups="users,kvm" shell="/bin/bash"/>
</users>
<repository type="apt-deb" alias="kiwi-next-generation" priority="1" repository_gpgcheck="false" architectures="arm64">
<source path="obs://Virtualization:Appliances:Staging/xUbuntu_24.04_aarch64"/>
<repository type="apt-deb" alias="kiwi-next-generation" priority="1" repository_gpgcheck="false">
<source path="obs://Virtualization:Appliances:Builder/xUbuntu_22.04"/>
</repository>
<repository type="apt-deb" alias="Ubuntu-Noble-Universe" distribution="noble" components="main multiverse restricted universe" repository_gpgcheck="false">
<source path="obs://Ubuntu:24.04/universe"/>
<repository type="apt-deb" alias="Ubuntu-Jammy-Universe" distribution="jammy" components="main multiverse restricted universe" repository_gpgcheck="false">
<source path="obs://Ubuntu:22.04/universe"/>
</repository>
<repository type="apt-deb" alias="Ubuntu-Noble" distribution="noble" components="main multiverse restricted universe" repository_gpgcheck="false">
<source path="obs://Ubuntu:24.04/standard"/>
<repository type="apt-deb" alias="Ubuntu-Jammy" distribution="jammy" components="main multiverse restricted universe" repository_gpgcheck="false">
<source path="obs://Ubuntu:22.04/standard"/>
</repository>
<packages type="image">
@ -47,12 +50,11 @@
<package name="rpi-eeprom"/>
<package name="libraspberrypi-bin"/>
<!-- system packages -->
<package name="gawk"/>
<package name="libpam-runtime"/>
<package name="bash-completion"/>
<package name="git"/>
<package name="sudo"/>
<package name="net-tools"/>
<package name="tzdata"/>
<package name="apt-utils"/>
<package name="systemd"/>
<package name="systemd-timesyncd"/>
@ -65,19 +67,24 @@
<package name="dbus"/>
<package name="xfsprogs"/>
<package name="dracut-kiwi-oem-repart"/>
<package name="usrmerge"/>
<package name="mawk"/>
<package name="openssh-client"/>
<package name="openssh-server"/>
<package name="netcat"/>
<package name="zstd"/>
<package name="util-linux"/>
<package name="less"/>
<package name="vim"/>
<!-- image building -->
<package name="python3-kiwi"/>
<package name="python3-kiwi-boxed-plugin"/>
<package name="kiwi-systemdeps"/>
<package name="jing"/>
<package name="qemu-kvm"/>
<package name="qemu-system-x86"/>
<package name="qemu-system-arm"/>
<package name="fdisk"/>
<package name="language-pack-en"/>
<package name="locales-all"/>
<package name="tzdata"/>
</packages>
<packages type="bootstrap">
<package name="ca-certificates"/>
</packages>
<packages type="bootstrap"/>
</image>

View File

@ -1,9 +1,12 @@
#!/bin/bash
set -ex
declare kiwi_language=${kiwi_language}
declare kiwi_keytable=${kiwi_keytable}
declare kiwi_timezone=${kiwi_timezone}
#======================================
# Functions...
#--------------------------------------
test -f /.kconfig && . /.kconfig
echo "Configure image: [$kiwi_iname]..."
#======================================
# add missing fonts
@ -16,6 +19,11 @@ CONSOLE_FONT="eurlatgr.psfu"
dpkg -i /var/tmp/firmware/linux-firmware-raspi_6-0ubuntu3_arm64.deb
dpkg -i /var/tmp/firmware/linux-firmware-raspi2_6-0ubuntu3_arm64.deb
#======================================
# Setup default target, multi-user
#--------------------------------------
baseSetRunlevel 3
# On Debian based distributions the kiwi built in way
# to setup locale, keyboard and timezone via systemd tools
# does not work because not(yet) provided by the distribution.
@ -31,17 +39,15 @@ echo "LANG=${kiwi_language}" > /etc/locale.conf
# Setup system keymap
#---------------------------------------
echo "KEYMAP=${kiwi_keytable}" > /etc/vconsole.conf
{
echo "FONT=eurlatgr.psfu"
echo "FONT_MAP="
echo "FONT_UNIMAP="
} >> /etc/vconsole.conf
echo "FONT=eurlatgr.psfu" >> /etc/vconsole.conf
echo "FONT_MAP=" >> /etc/vconsole.conf
echo "FONT_UNIMAP=" >> /etc/vconsole.conf
#=======================================
# Setup system timezone
#---------------------------------------
rm -f /etc/localtime
ln -s /usr/share/zoneinfo/"${kiwi_timezone}" /etc/localtime
ln -s /usr/share/zoneinfo/${kiwi_timezone} /etc/localtime
#=======================================
# Setup HW clock to UTC
@ -53,11 +59,11 @@ echo "UTC" >> /etc/adjtime
#======================================
# Activate services
#--------------------------------------
systemctl enable ssh
systemctl enable systemd-networkd
systemctl enable symlink-resolvconf
systemctl enable rpi-eeprom-update
systemctl enable systemd-timesyncd
baseInsertService ssh
baseInsertService systemd-networkd
baseInsertService symlink-resolvconf
baseInsertService rpi-eeprom-update
baseInsertService systemd-timesyncd
#======================================
# Sysconfig Update

View File

@ -17,8 +17,8 @@ cp -a /usr/lib/firmware/*-raspi/device-tree/broadcom/* /boot/efi/
#==========================================
# copy initrd and kernel
#------------------------------------------
cp /boot/initrd*-raspi /boot/efi/initrd.img
cp /boot/vmlinuz*-raspi /boot/efi/vmlinuz
cp /boot/initrd.img-*-raspi /boot/efi/initrd.img
cp /boot/vmlinuz-*-raspi /boot/efi/vmlinuz
#==========================================
# copy u-boot

View File

@ -1,18 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<image schemaversion="7.5" name="kiwi-test-image-erofs">
<image schemaversion="7.5" name="kiwi-test-image-disk-simple">
<description type="system">
<author>Marcus Schaefer</author>
<contact>marcus.schaefer@suse.com</contact>
<specification>Fedora Appliance, Testing erofs filesystem image</specification>
<author>Marcus Schäfer</author>
<contact>ms@suse.com</contact>
<specification>Simple disk test build</specification>
</description>
<preferences>
<version>2.0.0</version>
<packagemanager>dnf5</packagemanager>
<version>1.30.1</version>
<packagemanager>dnf</packagemanager>
<locale>en_US</locale>
<keytable>us</keytable>
<timezone>UTC</timezone>
<rpm-check-signatures>false</rpm-check-signatures>
</preferences>
<preferences>
<type image="erofs"/>
<type image="oem" filesystem="ext4" kernelcmdline="console=ttyS0" firmware="ofw" format="qcow2">
<oemconfig>
<oem-resize>false</oem-resize>
</oemconfig>
<bootloader name="grub2" console="serial" timeout="10"/>
</type>
</preferences>
<users>
<user password="$1$wYJUgpM5$RXMMeASDc035eX.NbYWFl0" home="/root" name="root" groups="root"/>
@ -21,17 +27,18 @@
<source path="obsrepositories:/"/>
</repository>
<packages type="image">
<package name="grub2"/>
<package name="grubby"/>
<package name="kernel"/>
<package name="selinux-policy-targeted"/>
<package name="dhclient"/>
<package name="glibc-all-langpacks"/>
<package name="vim"/>
<package name="tzdata"/>
<package name="NetworkManager"/>
</packages>
<packages type="bootstrap">
<package name="filesystem"/>
<package name="shadow-utils"/>
<package name="basesystem"/>
<package name="fedora-release"/>
</packages>
</image>

View File

@ -0,0 +1,37 @@
#!/bin/bash
#================
# FILE : config.sh
#----------------
# PROJECT : OpenSuSE KIWI Image System
# COPYRIGHT : (c) 2006 SUSE LINUX Products GmbH. All rights reserved
# :
# AUTHOR : Marcus Schaefer <ms@suse.de>
# :
# BELONGS TO : Operating System images
# :
# DESCRIPTION : configuration script for SUSE based
# : operating systems
# :
# :
# STATUS : BETA
#----------------
#======================================
# Functions...
#--------------------------------------
test -f /.kconfig && . /.kconfig
test -f /.profile && . /.profile
#======================================
# Greeting...
#--------------------------------------
echo "Configure image: [$kiwi_iname]..."
#======================================
# Activate services
#--------------------------------------
baseInsertService network
#======================================
# Setup default target, multi-user
#--------------------------------------
baseSetRunlevel 3

View File

@ -0,0 +1,16 @@
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=permissive
# SELINUXTYPE= can take one of these two values:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
# SETLOCALDEFS= Check local definition changes
SETLOCALDEFS=0

View File

@ -0,0 +1,19 @@
USEWINBINDAUTH=no
USEHESIOD=no
USESYSNETAUTH=no
USEPAMACCESS=no
USEKERBEROS=no
FORCESMARTCARD=no
USESMBAUTH=no
USESMARTCARD=no
USELDAPAUTH=no
PASSWDALGORITHM=md5
USEWINBIND=no
USESHADOW=yes
USEDB=no
USEPASSWDQC=no
USELOCAUTHORIZE=yes
USEMKHOMEDIR=no
USELDAP=no
USECRACKLIB=yes
USENIS=no

View File

@ -0,0 +1 @@
RUN_FIRSTBOOT=NO

View File

@ -0,0 +1,3 @@
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=localhost.localdomain

View File

@ -0,0 +1,3 @@
DEVICE=lan0
BOOTPROTO=dhcp
ONBOOT=yes

View File

@ -0,0 +1 @@
1

View File

@ -1,2 +0,0 @@
obs://Virtualization:Appliances:Staging/Fedora_Rawhide
https://mirrors.fedoraproject.org/metalink?repo=rawhide&arch=ppc64le,,,,,,,,,,metalink

View File

@ -0,0 +1,92 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- OBS-Profiles: @BUILD_FLAVOR@ -->
<image schemaversion="7.5" name="kiwi-test-image-disk">
<description type="system">
<author>Marcus Schäfer</author>
<contact>ms@suse.com</contact>
<specification>Virtual and Physical disk image test</specification>
</description>
<profiles>
<profile name="Virtual" description="Image for use with kvm"/>
<profile name="PhysicalBSZ_4096" description="Image for physical 4k storage disk"/>
<profile name="PhysicalBSZ_512" description="Image for 512byte storage disk"/>
</profiles>
<preferences>
<version>1.15.1</version>
<packagemanager>zypper</packagemanager>
<locale>en_US</locale>
<keytable>us</keytable>
<timezone>Europe/Berlin</timezone>
<rpm-excludedocs>true</rpm-excludedocs>
<rpm-check-signatures>false</rpm-check-signatures>
</preferences>
<preferences profiles="Virtual">
<type image="oem" filesystem="ext4" kernelcmdline="console=ttyS0" firmware="ofw" format="qcow2">
<oemconfig>
<oem-resize>false</oem-resize>
</oemconfig>
<bootloader name="grub2" console="serial" timeout="10"/>
</type>
</preferences>
<preferences profiles="PhysicalBSZ_4096">
<type image="oem" filesystem="ext4" kernelcmdline="console=ttyS0" firmware="ofw" installiso="true" installboot="install" target_blocksize="4096">
<bootloader name="grub2" console="serial" timeout="10"/>
<oemconfig>
<oem-unattended>true</oem-unattended>
</oemconfig>
</type>
</preferences>
<preferences profiles="PhysicalBSZ_512">
<type image="oem" filesystem="ext4" kernelcmdline="console=ttyS0" firmware="ofw" installiso="true" installboot="install">
<bootloader name="grub2" console="serial" timeout="10"/>
<oemconfig>
<oem-unattended>true</oem-unattended>
</oemconfig>
</type>
</preferences>
<users>
<user password="$1$wYJUgpM5$RXMMeASDc035eX.NbYWFl0" home="/root" name="root" groups="root"/>
</users>
<repository type="rpm-md">
<source path="obsrepositories:/"/>
</repository>
<packages type="image">
<package name="patterns-base-minimal_base"/>
<package name="bind-utils"/>
<package name="systemd"/>
<package name="plymouth-theme-bgrt"/>
<package name="iputils"/>
<package name="vim"/>
<package name="grub2"/>
<package name="grub2-powerpc-ieee1275"/>
<package name="lvm2"/>
<package name="plymouth"/>
<package name="fontconfig"/>
<package name="fonts-config"/>
<package name="tar"/>
<package name="parted"/>
<package name="openssh"/>
<package name="iproute2"/>
<package name="less"/>
<package name="bash-completion"/>
<package name="dhcp-client"/>
<package name="which"/>
<package name="kernel-default"/>
<package name="timezone"/>
</packages>
<packages type="image" profiles="PhysicalBSZ_512,PhysicalBSZ_4096">
<package name="dracut-kiwi-oem-repart"/>
<package name="dracut-kiwi-oem-dump"/>
</packages>
<packages type="bootstrap">
<package name="udev"/>
<package name="filesystem"/>
<package name="glibc-locale"/>
<package name="cracklib-dict-full"/>
<package name="ca-certificates"/>
<package name="ca-certificates-mozilla"/>
<package name="sles-release"/>
</packages>
</image>

View File

@ -0,0 +1,42 @@
#!/bin/bash
#================
# FILE : config.sh
#----------------
# PROJECT : OpenSuSE KIWI Image System
# COPYRIGHT : (c) 2006 SUSE LINUX Products GmbH. All rights reserved
# :
# AUTHOR : Marcus Schaefer <ms@suse.de>
# :
# BELONGS TO : Operating System images
# :
# DESCRIPTION : configuration script for SUSE based
# : operating systems
# :
# :
# STATUS : BETA
#----------------
#======================================
# Functions...
#--------------------------------------
test -f /.kconfig && . /.kconfig
test -f /.profile && . /.profile
#======================================
# Greeting...
#--------------------------------------
echo "Configure image: [$kiwi_iname]..."
#======================================
# Setup baseproduct link
#--------------------------------------
suseSetupProduct
#======================================
# Activate services
#--------------------------------------
suseInsertService sshd
#======================================
# Setup default target, multi-user
#--------------------------------------
baseSetRunlevel 3

View File

@ -1,2 +0,0 @@
obs://Virtualization:Appliances:Staging/openSUSE_Tumbleweed
https://download.opensuse.org/ports/ppc/tumbleweed/repo/oss/

View File

@ -52,9 +52,9 @@
<package name="timezone"/>
</packages>
<packages type="bootstrap">
<package name="shadow"/>
<package name="glibc-locale"/>
<package name="udev"/>
<package name="filesystem"/>
<package name="glibc-locale"/>
<package name="cracklib-dict-full"/>
<package name="ca-certificates"/>
<package name="ca-certificates-mozilla"/>

View File

@ -1,7 +1,42 @@
#!/bin/bash
set -ex
#================
# FILE : config.sh
#----------------
# PROJECT : OpenSuSE KIWI Image System
# COPYRIGHT : (c) 2006 SUSE LINUX Products GmbH. All rights reserved
# :
# AUTHOR : Marcus Schaefer <ms@suse.de>
# :
# BELONGS TO : Operating System images
# :
# DESCRIPTION : configuration script for SUSE based
# : operating systems
# :
# :
# STATUS : BETA
#----------------
#======================================
# Functions...
#--------------------------------------
test -f /.kconfig && . /.kconfig
test -f /.profile && . /.profile
#======================================
# Greeting...
#--------------------------------------
echo "Configure image: [$kiwi_iname]..."
#======================================
# Setup baseproduct link
#--------------------------------------
suseSetupProduct
#======================================
# Activate services
#--------------------------------------
systemctl enable sshd
suseInsertService sshd
#======================================
# Setup default target, multi-user
#--------------------------------------
baseSetRunlevel 3

View File

@ -45,7 +45,6 @@
</repository>
<packages type="image">
<package name="patterns-base-minimal_base"/>
<package name="procps"/>
<package name="bind-utils"/>
<package name="systemd"/>
<package name="plymouth-theme-bgrt"/>
@ -71,9 +70,9 @@
<package name="dracut-kiwi-oem-dump"/>
</packages>
<packages type="bootstrap">
<package name="shadow"/>
<package name="glibc-locale"/>
<package name="udev"/>
<package name="filesystem"/>
<package name="glibc-locale"/>
<package name="cracklib-dict-full"/>
<package name="ca-certificates"/>
<package name="ca-certificates-mozilla"/>

View File

@ -1,7 +1,42 @@
#!/bin/bash
set -ex
#================
# FILE : config.sh
#----------------
# PROJECT : OpenSuSE KIWI Image System
# COPYRIGHT : (c) 2006 SUSE LINUX Products GmbH. All rights reserved
# :
# AUTHOR : Marcus Schaefer <ms@suse.de>
# :
# BELONGS TO : Operating System images
# :
# DESCRIPTION : configuration script for SUSE based
# : operating systems
# :
# :
# STATUS : BETA
#----------------
#======================================
# Functions...
#--------------------------------------
test -f /.kconfig && . /.kconfig
test -f /.profile && . /.profile
#======================================
# Greeting...
#--------------------------------------
echo "Configure image: [$kiwi_iname]..."
#======================================
# Setup baseproduct link
#--------------------------------------
suseSetupProduct
#======================================
# Activate services
#--------------------------------------
systemctl enable sshd
suseInsertService sshd
#======================================
# Setup default target, multi-user
#--------------------------------------
baseSetRunlevel 3

View File

@ -1 +0,0 @@
requires valid certificates and CRLs which needs to renew continuously

View File

@ -1 +0,0 @@
requires valid certificates and CRLs which needs to renew continuously

View File

@ -1,157 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- OBS-Profiles: @BUILD_FLAVOR@ -->
<image schemaversion="7.5" name="kiwi-test-image-secure-execution">
<description type="system">
<author>Marcus Schäfer</author>
<contact>marcus.schaefer@suse.com</contact>
<specification>Example disk test build for IBM Secure Execution</specification>
</description>
<profiles>
<profile name="SUSE-Infra" description="IBM SEL image LinuxONE_III@SUSE"/>
<profile name="IBM-Cloud-Secure-Execution" description="IBM SEL image LinuxONE@IBM-Cloud-VPC-Region-eu-de(z16)/Region-eu-gb(z15)"/>
</profiles>
<preferences>
<version>16.0.0</version>
<packagemanager>zypper</packagemanager>
<bootloader-theme>openSUSE</bootloader-theme>
<rpm-excludedocs>true</rpm-excludedocs>
<locale>en_US</locale>
</preferences>
<preferences profiles="IBM-Cloud-Secure-Execution">
<type
image="oem"
luks="random"
luks_pbkdf="pbkdf2"
luks_version="luks2"
filesystem="xfs"
kernelcmdline="systemd.show_status=yes console=ttyS0,115200 console=tty0 net.ifnames=0 swiotlb=262144 rd.debug"
devicepersistency="by-uuid"
bootpartition="true"
bootfilesystem="ext3"
format="qcow2"
>
<luksformat>
<option name="--cipher" value="aes-xts-plain64"/>
<option name="--key-size" value="256"/>
</luksformat>
<oemconfig>
<oem-unattended>true</oem-unattended>
<oem-resize>true</oem-resize>
</oemconfig>
<bootloader name="zipl" timeout="10">
<!-- LinuxONE@IBM-Cloud-VPC-Region-eu-de(z16) -->
<securelinux hkd_sign_cert="/var/lib/se-certs/ibm-z-host-key-signing-gen2.crt" hkd_ca_cert="/var/lib/se-certs/DigiCertCA.crt">
<hkd_cert name="/var/lib/se-certs/HKD-3932-02967D8.crt"/>
<hkd_cert name="/var/lib/se-certs/HKD-3932-02967F8.crt"/>
<hkd_cert name="/var/lib/se-certs/HKD-3932-0296878.crt"/>
<hkd_revocation_list name="/var/lib/se-certs/ibm-z-host-key-gen2.crl"/>
<hkd_revocation_list name="/var/lib/se-certs/DigiCertTrustedG4CodeSigningRSA4096SHA3842021CA1.crl"/>
<hkd_revocation_list name="/var/lib/se-certs/DigiCertTrustedRootG4.crl"/>
</securelinux>
<!-- LinuxONE@IBM-Cloud-VPC-Region-eu-gb(z15) -->
<securelinux hkd_sign_cert="/var/lib/se-certs/ibm-z-host-key-signing.crt" hkd_ca_cert="/var/lib/se-certs/DigiCertCA.crt">
<hkd_cert name="/var/lib/se-certs/HKD-8562-024B858.crt"/>
<hkd_cert name="/var/lib/se-certs/HKD-8562-024B868.crt"/>
<hkd_cert name="/var/lib/se-certs/HKD-8562-024B878.crt"/>
<hkd_revocation_list name="/var/lib/se-certs/ibm-z-host-key.crl"/>
<hkd_revocation_list name="/var/lib/se-certs/DigiCertTrustedG4CodeSigningRSA4096SHA3842021CA1.crl"/>
<hkd_revocation_list name="/var/lib/se-certs/DigiCertTrustedRootG4.crl"/>
</securelinux>
</bootloader>
<size unit="G">2</size>
</type>
</preferences>
<preferences profiles="SUSE-Infra">
<type
image="oem"
luks="random"
luks_pbkdf="pbkdf2"
luks_version="luks2"
filesystem="xfs"
kernelcmdline="systemd.show_status=yes console=ttyS0,115200 console=tty0 net.ifnames=0 swiotlb=262144 rd.debug"
devicepersistency="by-uuid"
bootpartition="true"
bootfilesystem="ext3"
format="qcow2"
>
<luksformat>
<option name="--cipher" value="aes-xts-plain64"/>
<option name="--key-size" value="256"/>
</luksformat>
<oemconfig>
<oem-unattended>true</oem-unattended>
<oem-resize>true</oem-resize>
</oemconfig>
<bootloader name="zipl" timeout="10">
<securelinux hkd_sign_cert="/var/lib/se-certs/ibm-z-host-key-signing.crt" hkd_ca_cert="/var/lib/se-certs/DigiCertCA.crt">
<!-- LinuxONE_III@SUSE -->
<hkd_cert name="/var/lib/se-certs/HKD-8561-02688E8.crt.20241112"/>
<hkd_revocation_list name="/var/lib/se-certs/ibm-z-host-key.crl"/>
<hkd_revocation_list name="/var/lib/se-certs/DigiCertTrustedG4CodeSigningRSA4096SHA3842021CA1.crl"/>
<hkd_revocation_list name="/var/lib/se-certs/DigiCertTrustedRootG4.crl"/>
</securelinux>
</bootloader>
<size unit="G">2</size>
</type>
</preferences>
<users>
<user password="$1$wYJUgpM5$RXMMeASDc035eX.NbYWFl0" home="/root" name="root" groups="root"/>
</users>
<repository type="rpm-md">
<source path="obsrepositories:/"/>
</repository>
<packages type="image" profiles="IBM-Cloud-Secure-Execution">
<package name="ibm-se-certificates"/>
<package name="ibm-se-revocation-lists"/>
<package name="cloud-se-host-certificates"/>
<package name="cloud-init"/>
<package name="cloud-init-config-suse"/>
<package name="systemd-networkd"/>
<package name="systemd-resolved"/>
</packages>
<packages type="image" profiles="SUSE-Infra">
<package name="ibm-se-certificates"/>
<package name="ibm-se-revocation-lists"/>
<package name="suse-se-host-certificates"/>
<package name="systemd-networkd"/>
<package name="systemd-resolved"/>
</packages>
<packages type="image">
<package name="patterns-base-bootloader"/>
<package name="kernel-default"/>
<package name="xfsprogs"/>
<package name="sudo"/>
<package name="blog"/>
<package name="s390-tools"/>
<package name="dracut-kiwi-oem-repart"/>
<package name="shadow"/>
<package name="snapper"/>
<package name="snapper-zypp-plugin"/>
<package name="firewalld"/>
<package name="squashfs"/>
<package name="openssh-server"/>
<package name="openssh"/>
<package name="iproute2"/>
<package name="less"/>
<package name="curl"/>
<package name="cryptsetup"/>
<package name="procps"/>
<package name="zlib-devel"/>
<package name="suseconnect-ng"/>
</packages>
<packages type="bootstrap">
<package name="gawk"/>
<package name="grep"/>
<package name="gzip"/>
<package name="udev"/>
<package name="xz"/>
<package name="shadow"/>
<package name="filesystem"/>
<package name="coreutils"/>
<package name="openssl"/>
<package name="glibc-locale-base"/>
<package name="ca-certificates"/>
<package name="ca-certificates-mozilla"/>
<package name="diffutils"/>
</packages>
</image>

View File

@ -1,37 +0,0 @@
#!/bin/bash
set -euxo pipefail
# shellcheck disable=SC1091
declare kiwi_profiles=${kiwi_profiles}
#======================================
# Setup Core Services
#--------------------------------------
systemctl disable network
systemctl enable sshd.service
#======================================
# Setup Cloud Services
#--------------------------------------
for profile in ${kiwi_profiles//,/ }; do
if [ "${profile}" = "IBM-Cloud-Secure-Execution" ]; then
for service in \
cloud-init-local.service \
cloud-init.service \
cloud-config.service \
cloud-final.service \
systemd-networkd \
systemd-resolved
do
systemctl enable "${service}"
done
fi
if [ "${profile}" = "SUSE-Infra" ]; then
for service in \
systemd-networkd \
systemd-resolved
do
systemctl enable "${service}"
done
fi
done

View File

@ -1 +0,0 @@
add_dracutmodules+=" kiwi-repart "

View File

@ -1,8 +0,0 @@
[Match]
Name=eth0
[Network]
DHCP=yes
[DHCP]
ClientIdentifier=mac

View File

@ -1,21 +0,0 @@
#!/bin/bash
qemu-system-s390x \
-cpu host \
-machine accel=kvm,usb=off \
-netdev user,id=user0 \
-device virtio-net-ccw,netdev=user0 \
-object s390-pv-guest,id=pv0 \
-machine confidential-guest-support=pv0 \
-enable-kvm \
-nodefaults \
-name suse-cc \
-nographic \
-drive id=disk0,file="$1",format=qcow2,if=none,cache=writeback \
-device virtio-blk,id=data0,drive=disk0,physical_block_size=512,logical_block_size=512 \
-device virtio-serial-ccw \
-device sclpconsole,chardev=console \
-chardev stdio,id=console \
-smp 4 \
-m 4096 \
-mem-prealloc

View File

@ -1,2 +0,0 @@
obs://Virtualization:Appliances:Staging/Fedora_Rawhide
https://mirrors.fedoraproject.org/metalink?repo=rawhide&arch=s390x,,,,,,,,,,metalink

View File

@ -1,70 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- The line below is required in order to use the multibuild OBS features -->
<!-- OBS-Profiles: @BUILD_FLAVOR@ -->
<image schemaversion="7.5" name="kiwi-test-image-disk">
<description type="system">
<author>Marcus Schaefer</author>
<contact>marcus.schaefer@suse.com</contact>
<specification>Virtual and Physical disk image test</specification>
</description>
<profiles>
<profile name="Virtual" description="Image for use with kvm"/>
<profile name="Physical" description="Image for physical storage disk CDL mode"/>
</profiles>
<preferences>
<version>1.42.1</version>
<packagemanager>dnf5</packagemanager>
<locale>en_US</locale>
<keytable>us</keytable>
<timezone>Europe/Berlin</timezone>
<rpm-excludedocs>true</rpm-excludedocs>
<rpm-check-signatures>false</rpm-check-signatures>
</preferences>
<preferences profiles="Virtual">
<type image="oem" filesystem="ext4" bootpartition="false" kernelcmdline="console=ttyS0" format="qcow2">
<oemconfig>
<oem-resize>false</oem-resize>
</oemconfig>
<bootloader name="zipl" timeout="10"/>
</type>
</preferences>
<preferences profiles="Physical">
<type image="oem" filesystem="ext4" kernelcmdline="console=ttyS0 dasd_mod.dasd=ipldev" bootpartition="false" target_blocksize="4096">
<bootloader name="zipl" targettype="CDL" timeout="10"/>
<oemconfig>
<oem-swap>true</oem-swap>
<oem-swapsize>512</oem-swapsize>
</oemconfig>
</type>
</preferences>
<users>
<user password="$1$wYJUgpM5$RXMMeASDc035eX.NbYWFl0" home="/root" name="root" groups="root"/>
</users>
<repository type="rpm-md" alias="kiwi-next-generation" priority="1">
<source path="obs://Virtualization:Appliances:Staging/Fedora_Rawhide"/>
</repository>
<repository type="rpm-md" alias="Fedora_Rawhide">
<source path="obs://Fedora:Rawhide/standard"/>
</repository>
<packages type="image">
<package name="s390utils"/>
<package name="mariadb-connector-c-config"/>
<package name="kernel"/>
<package name="selinux-policy-targeted"/>
<package name="dhclient"/>
<package name="glibc-all-langpacks"/>
<package name="vim"/>
<package name="tzdata"/>
<package name="NetworkManager"/>
<package name="dracut-kiwi-oem-repart"/>
<package name="btrfs-progs"/>
<package name="audit"/>
</packages>
<packages type="bootstrap">
<package name="filesystem"/>
<package name="basesystem"/>
<package name="fedora-release"/>
</packages>
</image>

View File

@ -1,8 +0,0 @@
#!/bin/bash
set -ex
#======================================
# Activate services
#--------------------------------------
systemctl enable dbus-broker
systemctl enable NetworkManager

View File

@ -12,18 +12,17 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
%description
Provides a KIWI runtime config file and others suitable
for building the tumbleweed based integrations test
Provides a KIWI runtime config file suitable building
the fedora based integrations test
%prep
%setup -q
%install
mkdir -p %{buildroot}/etc/modprobe.d
cp -a kiwi-settings/60-blacklist_fs-erofs.conf %{buildroot}/etc/modprobe.d/
install -D -m 644 kiwi-settings/kiwi.yml %{buildroot}/etc/kiwi.yml
%files
%defattr(-,root,root)
/etc/modprobe.d/60-blacklist_fs-erofs.conf
%config /etc/kiwi.yml
%changelog

View File

@ -0,0 +1,2 @@
mapper:
- part_mapper: kpartx

View File

@ -0,0 +1,96 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- OBS-Profiles: @BUILD_FLAVOR@ -->
<image schemaversion="7.5" name="kiwi-test-image-disk">
<description type="system">
<author>Marcus Schäfer</author>
<contact>ms@suse.com</contact>
<specification>Virtual and Physical disk image test</specification>
</description>
<profiles>
<profile name="Virtual" description="Image for use with kvm"/>
<profile name="Physical_DASD" description="Image for physical storage disk CDL mode"/>
<profile name="Physical_FBA" description="Image for physical storage disk FBA mode"/>
</profiles>
<preferences>
<version>1.15.1</version>
<packagemanager>zypper</packagemanager>
<locale>en_US</locale>
<keytable>us</keytable>
<timezone>Europe/Berlin</timezone>
<rpm-excludedocs>true</rpm-excludedocs>
<rpm-check-signatures>false</rpm-check-signatures>
</preferences>
<preferences profiles="Virtual">
<type image="oem" filesystem="xfs" bootpartition="false" kernelcmdline="console=ttyS0" format="qcow2">
<oemconfig>
<oem-resize>false</oem-resize>
</oemconfig>
<bootloader name="grub2_s390x_emu" console="serial" timeout="10"/>
</type>
</preferences>
<preferences profiles="Physical_DASD">
<type image="oem" filesystem="xfs" kernelcmdline="console=ttyS0 dasd_mod.dasd=ipldev" bootpartition="true" bootfilesystem="ext3" target_blocksize="4096">
<bootloader name="grub2_s390x_emu" console="serial" targettype="CDL" timeout="10"/>
<oemconfig>
<oem-swap>true</oem-swap>
<oem-swapsize>512</oem-swapsize>
</oemconfig>
</type>
</preferences>
<preferences profiles="Physical_FBA">
<type image="oem" filesystem="xfs" kernelcmdline="console=ttyS0" bootpartition="true" bootfilesystem="ext3">
<bootloader name="grub2_s390x_emu" console="serial" targettype="FBA" timeout="10"/>
<oemconfig>
<oem-swap>true</oem-swap>
<oem-swapsize>512</oem-swapsize>
</oemconfig>
</type>
</preferences>
<users>
<user password="$1$wYJUgpM5$RXMMeASDc035eX.NbYWFl0" home="/root" name="root" groups="root"/>
</users>
<repository type="rpm-md">
<source path="obsrepositories:/"/>
</repository>
<packages type="image">
<package name="patterns-base-minimal_base"/>
<package name="kernel-default"/>
<package name="iputils"/>
<package name="iproute2"/>
<package name="vim"/>
<package name="s390-tools"/>
<package name="grub2-s390x-emu"/>
<package name="grub2"/>
<package name="lvm2"/>
<package name="tar"/>
<package name="parted"/>
<package name="systemd"/>
<package name="dracut"/>
<package name="wicked"/>
<package name="openssh"/>
<package name="rsync"/>
<package name="psmisc"/>
<package name="sudo"/>
<package name="dhcp-client"/>
<package name="which"/>
<package name="btrfsprogs"/>
<package name="kexec-tools"/>
<package name="less"/>
<package name="patch"/>
<package name="util-linux"/>
<package name="timezone"/>
<package name="dracut-kiwi-oem-repart"/>
</packages>
<packages type="bootstrap">
<package name="udev"/>
<package name="blog"/>
<package name="filesystem"/>
<package name="glibc-locale"/>
<package name="cracklib-dict-full"/>
<package name="ca-certificates"/>
<package name="ca-certificates-mozilla"/>
<package name="sles-release"/>
</packages>
</image>

View File

@ -0,0 +1,42 @@
#!/bin/bash
#================
# FILE : config.sh
#----------------
# PROJECT : OpenSuSE KIWI Image System
# COPYRIGHT : (c) 2006 SUSE LINUX Products GmbH. All rights reserved
# :
# AUTHOR : Marcus Schaefer <ms@suse.de>
# :
# BELONGS TO : Operating System images
# :
# DESCRIPTION : configuration script for SUSE based
# : operating systems
# :
# :
# STATUS : BETA
#----------------
#======================================
# Functions...
#--------------------------------------
test -f /.kconfig && . /.kconfig
test -f /.profile && . /.profile
#======================================
# Greeting...
#--------------------------------------
echo "Configure image: [$kiwi_iname]..."
#======================================
# Setup baseproduct link
#--------------------------------------
suseSetupProduct
#======================================
# Activate services
#--------------------------------------
suseInsertService sshd
#======================================
# Setup default target, multi-user
#--------------------------------------
baseSetRunlevel 3

View File

@ -1,2 +0,0 @@
obs://Virtualization:Appliances:Staging/openSUSE_Tumbleweed
https://download.opensuse.org/ports/zsystems/tumbleweed/repo/oss/

View File

@ -1 +0,0 @@
requires valid certificates and CRLs which needs to renew continuously

View File

@ -1 +0,0 @@
requires valid certificates and CRLs which needs to renew continuously

View File

@ -1,228 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- OBS-Profiles: @BUILD_FLAVOR@ -->
<image schemaversion="7.5" name="kiwi-test-image-MicroOS">
<description type="system">
<author>Marcus Schäfer</author>
<contact>marcus.schaefer@suse.com</contact>
<specification>MicroOS disk test build for IBM Secure Execution</specification>
</description>
<profiles>
<profile name="SUSE-Infra" description="MicroOS IBM SEL image LinuxONE_III@SUSE"/>
<profile name="IBM-Cloud-Secure-Execution" description="MicroOS IBM SEL image LinuxONE@IBM-Cloud-VPC-Region-eu-de(z16)/Region-eu-gb(z15)"/>
<profile name="IBM-Cloud-Standard" description="MicroOS IBM Cloud image"/>
</profiles>
<preferences>
<version>16.0.0</version>
<packagemanager>zypper</packagemanager>
<bootloader-theme>openSUSE</bootloader-theme>
<rpm-excludedocs>true</rpm-excludedocs>
<locale>en_US</locale>
</preferences>
<preferences profiles="IBM-Cloud-Standard">
<type
image="oem"
filesystem="btrfs"
kernelcmdline="systemd.show_status=yes console=ttyS0,115200 console=tty0 net.ifnames=0 \$ignition_firstboot ignition.platform.id=qemu rd.debug"
devicepersistency="by-uuid"
btrfs_root_is_snapshot="true"
btrfs_root_is_readonly_snapshot="false"
btrfs_root_is_subvolume="true"
btrfs_quota_groups="true"
bootpartition="true"
bootfilesystem="ext3"
format="qcow2"
>
<oemconfig>
<oem-unattended>true</oem-unattended>
<oem-resize>true</oem-resize>
</oemconfig>
<bootloader name="zipl" timeout="10" targettype="GPT"/>
<systemdisk>
<volume name="home"/>
<volume name="root"/>
<volume name="opt"/>
<volume name="srv"/>
<volume name="boot/writable"/>
<volume name="usr/local"/>
<volume name="var" copy_on_write="false"/>
</systemdisk>
<size unit="G">2</size>
</type>
</preferences>
<preferences profiles="IBM-Cloud-Secure-Execution">
<type
image="oem"
luks="random"
luks_pbkdf="pbkdf2"
luks_version="luks2"
filesystem="btrfs"
kernelcmdline="systemd.show_status=yes console=ttyS0,115200 console=tty0 net.ifnames=0 \$ignition_firstboot ignition.platform.id=qemu swiotlb=262144 rd.debug"
devicepersistency="by-uuid"
btrfs_root_is_snapshot="true"
btrfs_root_is_readonly_snapshot="false"
btrfs_root_is_subvolume="true"
btrfs_quota_groups="true"
bootpartition="true"
bootfilesystem="ext3"
format="qcow2"
>
<luksformat>
<option name="--cipher" value="aes-xts-plain64"/>
<option name="--key-size" value="256"/>
</luksformat>
<oemconfig>
<oem-unattended>true</oem-unattended>
<oem-resize>true</oem-resize>
</oemconfig>
<bootloader name="zipl" timeout="10">
<!-- LinuxONE@IBM-Cloud-VPC-Region-eu-de(z16) -->
<securelinux hkd_sign_cert="/var/lib/se-certs/ibm-z-host-key-signing-gen2.crt" hkd_ca_cert="/var/lib/se-certs/DigiCertCA.crt">
<hkd_cert name="/var/lib/se-certs/HKD-3932-02967D8.crt"/>
<hkd_cert name="/var/lib/se-certs/HKD-3932-02967F8.crt"/>
<hkd_cert name="/var/lib/se-certs/HKD-3932-0296878.crt"/>
<hkd_revocation_list name="/var/lib/se-certs/ibm-z-host-key-gen2.crl"/>
<hkd_revocation_list name="/var/lib/se-certs/DigiCertTrustedG4CodeSigningRSA4096SHA3842021CA1.crl"/>
<hkd_revocation_list name="/var/lib/se-certs/DigiCertTrustedRootG4.crl"/>
</securelinux>
<!-- LinuxONE@IBM-Cloud-VPC-Region-eu-gb(z15) -->
<securelinux hkd_sign_cert="/var/lib/se-certs/ibm-z-host-key-signing.crt" hkd_ca_cert="/var/lib/se-certs/DigiCertCA.crt">
<hkd_cert name="/var/lib/se-certs/HKD-8562-024B858.crt"/>
<hkd_cert name="/var/lib/se-certs/HKD-8562-024B868.crt"/>
<hkd_cert name="/var/lib/se-certs/HKD-8562-024B878.crt"/>
<hkd_revocation_list name="/var/lib/se-certs/ibm-z-host-key.crl"/>
<hkd_revocation_list name="/var/lib/se-certs/DigiCertTrustedG4CodeSigningRSA4096SHA3842021CA1.crl"/>
<hkd_revocation_list name="/var/lib/se-certs/DigiCertTrustedRootG4.crl"/>
</securelinux>
</bootloader>
<systemdisk>
<volume name="home"/>
<volume name="root"/>
<volume name="opt"/>
<volume name="srv"/>
<volume name="boot/writable"/>
<volume name="usr/local"/>
<volume name="var" copy_on_write="false"/>
</systemdisk>
<size unit="G">2</size>
</type>
</preferences>
<preferences profiles="SUSE-Infra">
<type
image="oem"
luks="random"
luks_pbkdf="pbkdf2"
luks_version="luks2"
filesystem="btrfs"
kernelcmdline="systemd.show_status=yes console=ttyS0,115200 console=tty0 net.ifnames=0 \$ignition_firstboot ignition.platform.id=qemu swiotlb=262144 rd.debug"
devicepersistency="by-uuid"
btrfs_root_is_snapshot="true"
btrfs_root_is_readonly_snapshot="false"
btrfs_root_is_subvolume="true"
btrfs_quota_groups="true"
bootpartition="true"
bootfilesystem="ext3"
format="qcow2"
>
<luksformat>
<option name="--cipher" value="aes-xts-plain64"/>
<option name="--key-size" value="256"/>
</luksformat>
<oemconfig>
<oem-unattended>true</oem-unattended>
<oem-resize>true</oem-resize>
</oemconfig>
<bootloader name="zipl" timeout="10">
<securelinux hkd_sign_cert="/var/lib/se-certs/ibm-z-host-key-signing.crt" hkd_ca_cert="/var/lib/se-certs/DigiCertCA.crt">
<!-- LinuxONE_III@SUSE -->
<hkd_cert name="/var/lib/se-certs/HKD-8561-02688E8.crt.20241112"/>
<hkd_revocation_list name="/var/lib/se-certs/ibm-z-host-key.crl"/>
<hkd_revocation_list name="/var/lib/se-certs/DigiCertTrustedG4CodeSigningRSA4096SHA3842021CA1.crl"/>
<hkd_revocation_list name="/var/lib/se-certs/DigiCertTrustedRootG4.crl"/>
</securelinux>
</bootloader>
<systemdisk>
<volume name="home"/>
<volume name="root"/>
<volume name="opt"/>
<volume name="srv"/>
<volume name="boot/writable"/>
<volume name="usr/local"/>
<volume name="var" copy_on_write="false"/>
</systemdisk>
<size unit="G">2</size>
</type>
</preferences>
<users>
<user password="$1$wYJUgpM5$RXMMeASDc035eX.NbYWFl0" home="/root" name="root" groups="root"/>
</users>
<repository type="rpm-md">
<source path="obsrepositories:/"/>
</repository>
<packages type="image" profiles="IBM-Cloud-Secure-Execution">
<package name="ibm-se-certificates"/>
<package name="ibm-se-revocation-lists"/>
<package name="cloud-se-host-certificates"/>
<package name="cloud-init"/>
<package name="cloud-init-config-suse"/>
<package name="systemd-network"/>
<package name="systemd-resolved"/>
</packages>
<packages type="image" profiles="IBM-Cloud-Standard">
<package name="cloud-init"/>
<package name="cloud-init-config-suse"/>
<package name="systemd-network"/>
<package name="systemd-resolved"/>
</packages>
<packages type="image" profiles="SUSE-Infra">
<package name="ibm-se-certificates"/>
<package name="ibm-se-revocation-lists"/>
<package name="suse-se-host-certificates"/>
<package name="systemd-network"/>
<package name="systemd-resolved"/>
</packages>
<packages type="image">
<package name="patterns-base-bootloader"/>
<package name="kernel-default"/>
<package name="ignition-dracut"/>
<package name="combustion"/>
<package name="btrfsmaintenance"/>
<package name="btrfsprogs"/>
<package name="microos-tools"/>
<package name="sudo"/>
<package name="s390-tools"/>
<package name="dracut-kiwi-oem-repart"/>
<package name="shadow"/>
<package name="snapper"/>
<package name="snapper-zypp-plugin"/>
<package name="firewalld"/>
<package name="microos-tools"/>
<package name="health-checker-plugins-MicroOS"/>
<package name="squashfs"/>
<package name="openSUSE-repos-Tumbleweed"/>
<package name="openssh-server"/>
<package name="openssh"/>
<package name="iproute2"/>
<package name="less"/>
<package name="curl"/>
<package name="cryptsetup"/>
<package name="procps"/>
<package name="zlib-devel"/>
</packages>
<packages type="bootstrap">
<package name="gawk"/>
<package name="grep"/>
<package name="gzip"/>
<package name="udev"/>
<package name="xz"/>
<package name="shadow"/>
<package name="filesystem"/>
<package name="coreutils"/>
<package name="openssl"/>
<package name="glibc-locale-base"/>
<package name="ca-certificates"/>
<package name="ca-certificates-mozilla"/>
<package name="MicroOS-release-dvd"/>
<package name="systemd-presets-branding-MicroOS"/>
<package name="diffutils"/>
</packages>
</image>

View File

@ -1,85 +0,0 @@
#!/bin/bash
set -euxo pipefail
# shellcheck disable=SC1091
#======================================
# Functions
#--------------------------------------
test -f /.kconfig && . /.kconfig
declare kiwi_profiles=${kiwi_profiles}
#======================================
# Setup Core Services
#--------------------------------------
systemctl enable sshd.service
#======================================
# Setup Cloud Services
#--------------------------------------
for profile in ${kiwi_profiles//,/ }; do
if [ "${profile}" = "IBM-Cloud-Standard" ] || [ "${profile}" = "IBM-Cloud-Secure-Execution" ]; then
for service in \
cloud-init-local.service \
cloud-init.service \
cloud-config.service \
cloud-final.service \
systemd-networkd \
systemd-resolved
do
systemctl enable "${service}"
done
fi
if [ "${profile}" = "SUSE-Infra" ]; then
for service in \
systemd-networkd \
systemd-resolved
do
systemctl enable "${service}"
done
fi
done
#=====================================
# Configure snapper
#-------------------------------------
if [ "${kiwi_btrfs_root_is_snapshot-false}" = 'true' ]; then
echo "creating initial snapper config ..."
cp /usr/share/snapper/config-templates/default /etc/snapper/configs/root
baseUpdateSysConfig /etc/sysconfig/snapper SNAPPER_CONFIGS root
# Adjust parameters
sed -i'' 's/^TIMELINE_CREATE=.*$/TIMELINE_CREATE="no"/g' \
/etc/snapper/configs/root
sed -i'' 's/^NUMBER_LIMIT=.*$/NUMBER_LIMIT="2-10"/g' \
/etc/snapper/configs/root
sed -i'' 's/^NUMBER_LIMIT_IMPORTANT=.*$/NUMBER_LIMIT_IMPORTANT="4-10"/g' \
/etc/snapper/configs/root
fi
for profile in ${kiwi_profiles//,/ }; do
if [ "${profile}" = "IBM-Cloud-Standard" ]; then
# For image tests with an extra boot partition the
# kernel must not be a symlink to another area of
# the filesystem. Latest changes on SUSE changed the
# layout of the kernel which breaks every image with
# an extra boot partition
#
# All of the following is more than a hack and I
# don't like it all
#
# Complains and discussions about this please with
# the SUSE kernel team as we in kiwi can just live
# with the consequences of this change
#
pushd /
for file in /boot/* /boot/.*; do
if [ -L "${file}" ];then
link_target=$(readlink "${file}")
if [[ "${link_target}" =~ usr/lib/modules ]];then
mv "${link_target}" "${file}"
fi
fi
done
fi
done

View File

@ -1,4 +0,0 @@
#!/bin/bash
set -euxo pipefail
/usr/libexec/setup-etc-subvol

View File

@ -1 +0,0 @@
add_dracutmodules+=" kiwi-repart "

View File

@ -1,8 +0,0 @@
[Match]
Name=eth0
[Network]
DHCP=yes
[DHCP]
ClientIdentifier=mac

View File

@ -1,21 +0,0 @@
#!/bin/bash
qemu-system-s390x \
-cpu host \
-machine accel=kvm,usb=off \
-netdev user,id=user0 \
-device virtio-net-ccw,netdev=user0 \
-object s390-pv-guest,id=pv0 \
-machine confidential-guest-support=pv0 \
-enable-kvm \
-nodefaults \
-name suse-cc \
-nographic \
-drive id=disk0,file="$1",format=qcow2,if=none,cache=writeback \
-device virtio-blk,id=data0,drive=disk0,physical_block_size=512,logical_block_size=512 \
-device virtio-serial-ccw \
-device sclpconsole,chardev=console \
-chardev stdio,id=console \
-smp 4 \
-m 4096 \
-mem-prealloc

View File

@ -9,8 +9,7 @@
<specification>Virtual and Physical disk image test</specification>
</description>
<profiles>
<profile name="Virtual" description="Image for use with kvm DOS disk"/>
<profile name="Virtual_GPT" description="Image for use with kvm GPT disk"/>
<profile name="Virtual" description="Image for use with kvm"/>
<profile name="Physical" description="Image for physical storage disk CDL mode"/>
</profiles>
<preferences>
@ -30,14 +29,6 @@
<bootloader name="grub2_s390x_emu" console="serial" timeout="10"/>
</type>
</preferences>
<preferences profiles="Virtual_GPT">
<type image="oem" filesystem="xfs" bootpartition="false" kernelcmdline="console=ttyS0" format="qcow2">
<oemconfig>
<oem-resize>false</oem-resize>
</oemconfig>
<bootloader name="grub2_s390x_emu" console="serial" timeout="10" targettype="GPT"/>
</type>
</preferences>
<preferences profiles="Physical">
<type image="oem" filesystem="xfs" kernelcmdline="console=ttyS0 dasd_mod.dasd=ipldev" bootpartition="true" bootfilesystem="ext3" target_blocksize="4096">
<bootloader name="grub2_s390x_emu" console="serial" targettype="CDL" timeout="10"/>
@ -85,12 +76,7 @@
<package name="dracut-kiwi-oem-repart"/>
</packages>
<packages type="bootstrap">
<package name="gawk"/>
<package name="grep"/>
<package name="gzip"/>
<package name="udev"/>
<package name="xz"/>
<package name="shadow"/>
<package name="filesystem"/>
<package name="glibc-locale"/>
<package name="cracklib-dict-full"/>

View File

@ -1,10 +1,45 @@
#!/bin/bash
set -ex
#================
# FILE : config.sh
#----------------
# PROJECT : OpenSuSE KIWI Image System
# COPYRIGHT : (c) 2006 SUSE LINUX Products GmbH. All rights reserved
# :
# AUTHOR : Marcus Schaefer <ms@suse.de>
# :
# BELONGS TO : Operating System images
# :
# DESCRIPTION : configuration script for SUSE based
# : operating systems
# :
# :
# STATUS : BETA
#----------------
#======================================
# Functions...
#--------------------------------------
test -f /.kconfig && . /.kconfig
test -f /.profile && . /.profile
#======================================
# Greeting...
#--------------------------------------
echo "Configure image: [$kiwi_iname]..."
#======================================
# Setup baseproduct link
#--------------------------------------
suseSetupProduct
#======================================
# Activate services
#--------------------------------------
systemctl enable sshd
suseInsertService sshd
#======================================
# Setup default target, multi-user
#--------------------------------------
baseSetRunlevel 3
# For image tests with an extra boot partition the
# kernel must not be a symlink to another area of
@ -22,10 +57,10 @@ systemctl enable sshd
pushd /
for file in /boot/* /boot/.*; do
if [ -L "${file}" ];then
link_target=$(readlink "${file}")
if [ -L ${file} ];then
link_target=$(readlink ${file})
if [[ ${link_target} =~ usr/lib/modules ]];then
mv "${link_target}" "${file}"
mv ${link_target} ${file}
fi
fi
done

View File

@ -1,12 +0,0 @@
#!/bin/bash
set -ex
#=======================================
# Create kernel links
#---------------------------------------
pushd boot
rm -f image initrd
ln -s image-* image
ln -s initrd-* initrd
popd

View File

@ -1,2 +0,0 @@
https://dl-cdn.alpinelinux.org/alpine/latest-stable/main/,apk
https://dl-cdn.alpinelinux.org/alpine/latest-stable/community/,apk

View File

@ -1,43 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<image schemaversion="7.5" name="kiwi-test-image-disk">
<description type="system">
<author>Marcus Schaefer</author>
<contact>marcus.schaefer@suse.com</contact>
<specification>Alpine Appliance</specification>
</description>
<preferences>
<version>3.21.0</version>
<packagemanager>apk</packagemanager>
</preferences>
<preferences>
<type image="oem" filesystem="ext4" kernelcmdline="console=ttyS0" firmware="efi" eficsm="false" format="qcow2">
<oemconfig>
<oem-resize>false</oem-resize>
</oemconfig>
<bootloader name="grub2" console="serial" timeout="10"/>
</type>
</preferences>
<users>
<user password="$1$wYJUgpM5$RXMMeASDc035eX.NbYWFl0" home="/root" name="root" groups="root"/>
</users>
<!-- first repository is also used for bootstrap -->
<repository type="apk">
<source path="https://dl-cdn.alpinelinux.org/alpine/latest-stable/main/"/>
</repository>
<repository type="apk">
<source path="https://dl-cdn.alpinelinux.org/alpine/latest-stable/community/"/>
</repository>
<packages type="image">
<package name="shadow"/>
<package name="dracut"/>
<package name="fts"/>
<package name="linux-edge"/>
<package name="linux-firmware"/>
<package name="grub"/>
<package name="grub-efi"/>
</packages>
<packages type="bootstrap">
<package name="alpine-base"/>
</packages>
</image>

View File

@ -1,4 +0,0 @@
http://download.opensuse.org/repositories/Virtualization:/Appliances:/Staging/Arch_Linux/x86_64/,,,,,,,Virtualization_Appliances_Staging_Arch_Linux,,false
http://download.opensuse.org/repositories/Virtualization:/Appliances:/Images:/Testing_x86:/archlinux/standard/x86_64/,,,,,,,Virtualization_Appliances_Images_Testing_x86_archlinux,,false
https://mirror.rackspace.com/archlinux/core/os/x86_64/,,,,,,,core,,false
https://mirror.rackspace.com/archlinux/extra/os/x86_64/,,,,,,,extra,,false

View File

@ -10,10 +10,17 @@
<specification>Arch Appliance</specification>
</description>
<profiles>
<profile name="Live" description="Live image of Arch Linux"/>
<profile name="Virtual" description="Virtual image of Arch Linux"/>
<profile name="Disk" description="OEM image of Arch Linux"/>
<profile name="Live" description="Live image of Arch Linux">
<requires profile="Bootloader"/>
</profile>
<profile name="Virtual" description="Virtual image of Arch Linux">
<requires profile="Bootloader"/>
</profile>
<profile name="Disk" description="OEM image of Arch Linux">
<requires profile="Bootloader"/>
</profile>
<profile name="KIS" description="KIS image of Arch Linux"/>
<profile name="Bootloader" description="bootloader related software"/>
</profiles>
<preferences>
<version>1.0.0</version>
@ -24,12 +31,12 @@
<rpm-check-signatures>false</rpm-check-signatures>
</preferences>
<preferences profiles="Live">
<type image="iso" firmware="efi" flags="dmsquash" kernelcmdline="console=ttyS0">
<type image="iso" firmware="efi" flags="overlay" hybridpersistent_filesystem="ext4" hybridpersistent="true" kernelcmdline="console=ttyS0">
<bootloader name="grub2" console="serial" grub_template="iso_boot.template"/>
</type>
</preferences>
<preferences profiles="Virtual">
<type image="oem" primary="true" filesystem="ext4" firmware="efi" kernelcmdline="console=ttyS0" editbootinstall="editbootinstall_arch.sh" format="qcow2">
<type image="oem" primary="true" filesystem="ext4" firmware="efi" kernelcmdline="console=ttyS0" editbootinstall="editbootinstall_arch.sh">
<oemconfig>
<oem-resize>false</oem-resize>
</oemconfig>
@ -42,11 +49,10 @@
because of that the editbootinstall script and iso_boot.template
is used to hot patch grub.cfg file.
-->
<type image="oem" filesystem="ext4" kernelcmdline="console=ttyS0" editbootinstall="editbootinstall_arch.sh" firmware="efi">
<type image="oem" filesystem="ext4" installiso="true" installboot="install" kernelcmdline="console=ttyS0" editbootinstall="editbootinstall_arch.sh" firmware="efi">
<bootloader name="grub2" console="serial" timeout="10" grub_template="iso_boot.template"/>
<oemconfig>
<oem-unattended>true</oem-unattended>
<oem-resize>false</oem-resize>
</oemconfig>
</type>
</preferences>
@ -84,7 +90,6 @@
<package name="linux-firmware"/>
<package name="netctl"/>
<package name="dracut-hooks"/>
<package name="cpio"/>
<!--
dracut-hooks provide some packman hooks
to ensure dracut recreates the initrd on kernel
@ -94,11 +99,20 @@
updates.
-->
</packages>
<packages type="image" profiles="Live,Virtual,Disk">
<packages type="image" profiles="Bootloader">
<package name="efibootmgr"/>
<package name="dosfstools"/>
<package name="grub"/>
</packages>
<packages type="image" profiles="Live">
<package name="syslinux"/>
<package name="dracut-kiwi-live"/>
</packages>
<packages type="image" profiles="Disk">
<package name="syslinux"/>
<package name="dracut-kiwi-oem-repart"/>
<package name="dracut-kiwi-oem-dump"/>
</packages>
<packages type="bootstrap">
<package name="filesystem"/>
<package name="pacman-mirrorlist"/>

View File

@ -1,5 +1,19 @@
#!/bin/bash
set -ex
#======================================
# Functions...
#--------------------------------------
test -f /.kconfig && . /.kconfig
test -f /.profile && . /.profile
#======================================
# Greeting...
#--------------------------------------
echo "Configure image: [$kiwi_iname]..."
#======================================
# Setup default target, multi-user
#--------------------------------------
baseSetRunlevel 3
#======================================
# Enable lan0 interface
@ -9,7 +23,7 @@ netctl enable ethernet-dhcp
#======================================
# Enable dns resolution
#--------------------------------------
systemctl enable systemd-resolved
baseInsertService systemd-resolved
#======================================
# Enable first mirror in mirrorlist

View File

@ -34,8 +34,8 @@ fi
if [ -f ($$root)/boot/${boot_directory_name}/themes/${theme}/theme.txt ];then
set theme=($$root)/boot/${boot_directory_name}/themes/${theme}/theme.txt
fi
terminal_input ${terminal_input}
terminal_output ${terminal_output}
terminal_input ${terminal_setup}
terminal_output ${terminal_setup}
menuentry "${title}" --class os --unrestricted {
set gfxpayload=keep

View File

@ -1,6 +0,0 @@
obs://Virtualization:Appliances:Staging/CentOS_9
https://mirror.stream.centos.org/SIGs/9-stream/extras/x86_64/extras-common/
https://mirror.stream.centos.org/9-stream/CRB/x86_64/os/
https://mirror.stream.centos.org/9-stream/AppStream/x86_64/os/
https://mirror.stream.centos.org/9-stream/BaseOS/x86_64/os/
obs://Virtualization:Appliances:Builder/CentOS_9

View File

@ -3,20 +3,20 @@
<!-- The line below is required in order to use the multibuild OBS features -->
<!-- OBS-Profiles: @BUILD_FLAVOR@ -->
<image schemaversion="7.5" name="kiwi-test-image-live-disk-v10">
<image schemaversion="7.5" name="kiwi-test-image-live-disk-v8">
<description type="system">
<author>Marcus Schaefer</author>
<contact>marcus.schaefer@gmail.com</contact>
<specification>CentOS Stream 10 Appliance</specification>
<contact>ms@suse.de</contact>
<specification>CentOS Enterprise 8 Appliance</specification>
</description>
<profiles>
<profile name="Live" description="Live image of CentOS 10"/>
<profile name="Virtual" description="Virtual image of CentOS 10"/>
<profile name="Disk" description="OEM image of CentOS 10"/>
<profile name="Live" description="Live image of CentOS 8"/>
<profile name="Virtual" description="Virtual image of CentOS 8"/>
<profile name="Disk" description="OEM image of CentOS 8"/>
</profiles>
<preferences>
<version>1.3.0</version>
<packagemanager>dnf4</packagemanager>
<packagemanager>dnf</packagemanager>
<bootsplash-theme>charge</bootsplash-theme>
<locale>en_US</locale>
<keytable>us</keytable>
@ -51,19 +51,69 @@
<users>
<user password="$1$wYJUgpM5$RXMMeASDc035eX.NbYWFl0" home="/root" name="root" groups="root"/>
</users>
<repository type="rpm-md" priority="1">
<source path='obsrepositories:/'/>
<repository type="rpm-md" alias="kiwi-next-generation" priority="1">
<source path="obs://Virtualization:Appliances:Staging/CentOS_8"/>
</repository>
<repository type="rpm-md">
<source path="obs://Fedora:EPEL:8/next"/>
</repository>
<repository type="rpm-md">
<source path="obs://Fedora:EPEL:8/standard"/>
</repository>
<repository type="rpm-md">
<source path="obs://CentOS:CentOS-8:Stream/powertools"/>
</repository>
<repository type="rpm-md">
<source path="obs://CentOS:CentOS-8:Stream/devel"/>
</repository>
<repository type="rpm-md">
<source path="obs://CentOS:CentOS-8:Stream/extras"/>
</repository>
<repository type="rpm-md">
<source path="obs://CentOS:CentOS-8:Stream/standard"/>
</repository>
<repository type="rpm-md">
<source path="obs://CentOS:CentOS-8:Stream/baseos"/>
</repository>
<repository type="rpm-md">
<source path="obs://CentOS:CentOS-8:Stream/appstream"/>
</repository>
<repository type="rpm-md">
<source path="obs://CentOS:CentOS-8/update"/>
</repository>
<repository type="rpm-md">
<source path="obs://CentOS:CentOS-8/standard"/>
</repository>
<repository type="rpm-md">
<source path="obs://CentOS:CentOS-8/baseos"/>
</repository>
<repository type="rpm-md">
<source path="obs://CentOS:CentOS-8/appstream"/>
</repository>
<repository type="rpm-md">
<source path="obs://CentOS:CentOS-8/powertools"/>
</repository>
<repository type="rpm-md">
<source path="obs://CentOS:CentOS-8/devel"/>
</repository>
<repository type="rpm-md">
<source path="obs://CentOS:CentOS-8/extras"/>
</repository>
<packages type="image">
<package name="syslinux"/>
<package name="gdisk"/>
<package name="grub2"/>
<package name="kernel"/>
<package name="plymouth-theme-charge"/>
<package name="audit"/>
<package name="dhclient"/>
<package name="e2fsprogs"/>
<package name="firewalld"/>
<package name="hostname"/>
<package name="initscripts"/>
<package name="iprutils"/>
<package name="irqbalance"/>
<package name="kbd"/>
<package name="kexec-tools"/>
<package name="openssh-clients"/>
<package name="openssh-server"/>
@ -75,8 +125,8 @@
<package name="selinux-policy-targeted"/>
<package name="xfsprogs"/>
<package name="NetworkManager"/>
<package name="glibc-all-langpacks"/>
<package name="iputils"/>
<package name="fipscheck"/>
</packages>
<packages type="image" profiles="Live">
<package name="dracut-kiwi-live"/>
@ -92,6 +142,5 @@
<package name="grub2-efi-x64" arch="x86_64"/>
<package name="shim-x64" arch="x86_64"/>
<package name="libdb-utils"/>
<package name="dnf"/>
</packages>
</image>

View File

@ -0,0 +1,18 @@
#!/bin/bash
#======================================
# Functions...
#--------------------------------------
test -f /.kconfig && . /.kconfig
test -f /.profile && . /.profile
#======================================
# Greeting...
#--------------------------------------
echo "Configure image: [$kiwi_iname]..."
#======================================
# Setup default target, multi-user
#--------------------------------------
baseSetRunlevel 3
exit 0

View File

@ -0,0 +1,16 @@
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=permissive
# SELINUXTYPE= can take one of these two values:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
# SETLOCALDEFS= Check local definition changes
SETLOCALDEFS=0

View File

@ -0,0 +1 @@
RUN_FIRSTBOOT=NO

View File

@ -0,0 +1,3 @@
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=localhost.localdomain

View File

@ -0,0 +1,3 @@
DEVICE=lan0
BOOTPROTO=dhcp
ONBOOT=yes

View File

@ -0,0 +1 @@
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="?*", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="?*", NAME="lan0"

View File

@ -0,0 +1 @@
1

View File

@ -16,7 +16,7 @@
</profiles>
<preferences>
<version>1.3.0</version>
<packagemanager>dnf4</packagemanager>
<packagemanager>dnf</packagemanager>
<bootsplash-theme>charge</bootsplash-theme>
<locale>en_US</locale>
<keytable>us</keytable>
@ -51,10 +51,26 @@
<users>
<user password="$1$wYJUgpM5$RXMMeASDc035eX.NbYWFl0" home="/root" name="root" groups="root"/>
</users>
<repository type="rpm-md" priority="1">
<source path='obsrepositories:/'/>
<repository type="rpm-md" alias="kiwi-next-generation" priority="1">
<source path="obs://Virtualization:Appliances:Staging/CentOS_9"/>
</repository>
<repository type="rpm-md">
<source path="obs://Fedora:EPEL:9/next"/>
</repository>
<repository type="rpm-md">
<source path="obs://Fedora:EPEL:9/standard"/>
</repository>
<repository type="rpm-md">
<source path="obs://CentOS:CentOS-9:Stream/crb"/>
</repository>
<repository type="rpm-md">
<source path="obs://CentOS:CentOS-9:Stream/appstream"/>
</repository>
<repository type="rpm-md">
<source path="obs://CentOS:CentOS-9:Stream/baseos"/>
</repository>
<packages type="image">
<package name="syslinux"/>
<package name="gdisk"/>
<package name="grub2"/>
<package name="kernel"/>
@ -96,6 +112,5 @@
<package name="grub2-efi-x64" arch="x86_64"/>
<package name="shim-x64" arch="x86_64"/>
<package name="libdb-utils"/>
<package name="dnf"/>
</packages>
</image>

View File

@ -0,0 +1,18 @@
#!/bin/bash
#======================================
# Functions...
#--------------------------------------
test -f /.kconfig && . /.kconfig
test -f /.profile && . /.profile
#======================================
# Greeting...
#--------------------------------------
echo "Configure image: [$kiwi_iname]..."
#======================================
# Setup default target, multi-user
#--------------------------------------
baseSetRunlevel 3
exit 0

View File

@ -1,5 +0,0 @@
obs://Virtualization:Appliances:Staging/Debian_12_update,apt-deb,kiwi,,,,,,,false
obs://Virtualization:Appliances:Staging/Debian_12_x86_64,apt-deb,kiwi,,,,,,,false
https://ftp.halifax.rwth-aachen.de/debian,apt-deb,bookworm_1,,,,,main,bookworm,false
https://ftp.halifax.rwth-aachen.de/debian,apt-deb,bookworm_2,,,,,contrib,bookworm,false
https://ftp.halifax.rwth-aachen.de/debian,apt-deb,bookworm_3,,,,,non-free,bookworm,false

View File

@ -7,15 +7,15 @@
<description type="system">
<author>Marcus Schäfer</author>
<contact>ms@suse.de</contact>
<specification>Debian Bookworm Appliance</specification>
<specification>Debian Buster Appliance</specification>
</description>
<profiles>
<profile name="Live" description="Live image of Debian"/>
<profile name="Virtual" description="Virtual image of Debian"/>
<profile name="Disk" description="OEM image of Debian"/>
<profile name="Live" description="Live image of Debian Buster"/>
<profile name="Virtual" description="Virtual image of Debian Buster"/>
<profile name="Disk" description="OEM image of Debian Buster"/>
</profiles>
<preferences>
<version>12.1</version>
<version>10.4</version>
<packagemanager>apt</packagemanager>
<bootsplash-theme>fade-in</bootsplash-theme>
<bootloader-theme>starfield</bootloader-theme>
@ -51,20 +51,16 @@
<users>
<user password="$1$wYJUgpM5$RXMMeASDc035eX.NbYWFl0" home="/root" name="root" groups="root"/>
</users>
<repository type="apt-deb" repository_gpgcheck="false" architectures="amd64">
<source path="obs://Virtualization:Appliances:Staging/Debian_12_update"/>
<repository type="apt-deb" distribution="buster" components="main contrib non-free" repository_gpgcheck="false">
<source path="obs://Debian:10/universe"/>
</repository>
<repository type="apt-deb" repository_gpgcheck="false" architectures="amd64">
<source path="obs://Virtualization:Appliances:Staging/Debian_12_x86_64"/>
<repository type="apt-deb" distribution="buster" components="main contrib non-free" repository_gpgcheck="false">
<source path="obs://Debian:10/standard"/>
</repository>
<repository type="apt-deb" distribution="bookworm" components="main contrib non-free" repository_gpgcheck="false">
<source path="obs://Debian:12/universe"/>
</repository>
<repository type="apt-deb" distribution="bookworm" components="main contrib non-free" repository_gpgcheck="false">
<source path="obs://Debian:12/standard"/>
<repository type="apt-deb" repository_gpgcheck="false">
<source path="obs://Virtualization:Appliances:Staging/Debian_10"/>
</repository>
<packages type="image">
<package name="libpam-runtime"/>
<package name="grub-theme-starfield"/>
<package name="plymouth-themes"/>
<package name="vim"/>
@ -76,6 +72,9 @@
<package name="xz-utils"/>
<package name="binutils"/>
<package name="linux-image-amd64"/>
<package name="isolinux"/>
<package name="syslinux"/>
<package name="syslinux-common"/>
<package name="init"/>
<package name="gnupg"/>
<package name="iproute2"/>
@ -86,15 +85,6 @@
<package name="netbase"/>
<package name="bsdmainutils"/>
<package name="usrmerge"/>
<package name="usr-is-merged"/>
<package name="netplan.io"/>
<package name="networkd-dispatcher"/>
<package name="net-tools"/>
<package name="dbus"/>
<package name="netbase"/>
<package name="locales-all"/>
<package name="tzdata"/>
<package name="openssh-server"/>
</packages>
<packages type="image" profiles="Virtual">
<package name="shim-signed"/>
@ -107,7 +97,5 @@
<package name="dracut-kiwi-oem-repart"/>
<package name="dracut-kiwi-oem-dump"/>
</packages>
<packages type="bootstrap">
<package name="ca-certificates"/>
</packages>
<packages type="bootstrap"/>
</image>

View File

@ -1,7 +1,37 @@
#!/bin/bash
set -ex
#================
# FILE : config.sh
#----------------
# PROJECT : OpenSuSE KIWI Image System
# COPYRIGHT : (c) 2006 SUSE LINUX Products GmbH. All rights reserved
# :
# AUTHOR : Marcus Schaefer <ms@suse.de>
# :
# BELONGS TO : Operating System images
# :
# DESCRIPTION : configuration script for Debian based
# : operating systems
# :
# :
# STATUS : BETA
#----------------
#======================================
# Functions...
#--------------------------------------
test -f /.kconfig && . /.kconfig
test -f /.profile && . /.profile
#======================================
# Greeting...
#--------------------------------------
echo "Configure image: [$kiwi_iname]..."
#======================================
# Activate services
#--------------------------------------
systemctl enable ssh
baseInsertService sshd
#======================================
# Setup default target, multi-user
#--------------------------------------
baseSetRunlevel 3

View File

@ -1,2 +0,0 @@
obs://Virtualization:Appliances:Staging/Fedora_39
https://mirrors.fedoraproject.org/metalink?repo=fedora-39&arch=x86_64,,,,,,,,,,metalink

View File

@ -1,4 +1,2 @@
iso:
- media_tag_tool: isomd5sum
oci:
- archive_tool: buildah

Some files were not shown because too many files have changed in this diff Show More