SHA256
1
0
forked from openSUSE/Leap

Compare commits

...

37 Commits
16.0 ... 16.0

Author SHA256 Message Date
0adbf35e7b Revert "Bring back old agama-live from eaa15e23"
* 9.X images now work. No longer needed
This reverts commit 752bed146e.
2024-07-15 12:23:39 +02:00
752bed146e Bring back old agama-live from eaa15e23 2024-07-10 14:30:40 +02:00
Lubos Kocman
6bebefbf3a Update Leap/config.sh 2024-07-04 13:52:34 +02:00
94784320cb update tar files to latest agama 2024-07-04 13:13:11 +02:00
104e8e64b7 do not build playwright 2024-07-03 15:40:49 +02:00
0cb2bbfbfd use Leap release 2024-07-03 15:39:50 +02:00
196d92554a drop agama-live in favor of agama-installer-openSUSE 2024-07-03 15:19:07 +02:00
eaa15e23a1 use ruby3.2 for Leap 16 2024-07-03 15:15:24 +02:00
46efc9b71f Import of agama-installer-openSUSE from devproject 2024-07-03 15:14:57 +02:00
5447326a36 drop self-install image with GNOME for now 2024-07-01 13:52:09 +02:00
f3643ce6df rewrite kiwi from scratch 2024-06-25 15:59:26 +02:00
d347705203 rewrite kiwi from scratch 2024-06-25 15:56:58 +02:00
Lubos Kocman
3da5a256fd Update Leap-selfinstall-GNOME/selfinstall-gnome.kiwi 2024-06-25 10:08:19 +02:00
Lubos Kocman
42cd5b5f40 Update Leap-selfinstall-GNOME/selfinstall-gnome.kiwi 2024-06-24 16:37:40 +02:00
Lubos Kocman
c28319b4b6 Update agama-live/agama-live.kiwi 2024-06-24 16:18:19 +02:00
Lubos Kocman
22dbff30f4 Update agama-live/agama-live.kiwi 2024-06-24 15:59:29 +02:00
Lubos Kocman
746aefe323 temp disable overlayfs script
te
2024-06-24 15:47:22 +02:00
Lubos Kocman
09ae4c2c24 Update agama-live/_multibuild 2024-06-24 14:34:49 +02:00
Lubos Kocman
ab1c6c7162 revert b2dac808b1
revert use patterns-base
2024-06-24 14:29:15 +02:00
Lubos Kocman
b2dac808b1 use patterns-base 2024-06-24 14:24:41 +02:00
Lubos Kocman
acf082542d Merge pull request 'Use Leap-release' (#7) from master into 16.0
Reviewed-on: openSUSE/Leap#7
2024-06-24 14:22:51 +02:00
40ce94b406 Use Leap-release 2024-06-24 14:22:43 +02:00
Lubos Kocman
08b9e9ba8e Use Leap-release 2024-06-24 13:59:40 +02:00
Lubos Kocman
a2f7a4fba8 Merge pull request 'don't use readonly root, further rename _multibuild' (#6) from master into 16.0
Reviewed-on: openSUSE/Leap#6
2024-06-24 13:47:19 +02:00
2ebaf7ee9f don't use readonly root, further rename _multibuild 2024-06-24 13:46:57 +02:00
Lubos Kocman
7fc0b6b7d1 Update Leap-selfinstall-GNOME/_multibuild 2024-06-24 13:43:31 +02:00
Lubos Kocman
2b38acf326 Merge pull request 'Rename experimental GNOME image' (#5) from master into 16.0
Reviewed-on: openSUSE/Leap#5
2024-06-24 13:42:46 +02:00
6447c2cd7e Rename experimental GNOME image 2024-06-24 13:42:07 +02:00
Lubos Kocman
634f60f31a Merge pull request 'Add Leap-GNOME experiment' (#4) from master into 16.0
Reviewed-on: openSUSE/Leap#4
2024-06-24 13:38:14 +02:00
5b1ff093b7 Add Leap-GNOME experiment 2024-06-24 13:38:04 +02:00
Lubos Kocman
f0c4f1daa7 Merge pull request 'add agama-live image' (#3) from master into 16.0
Reviewed-on: openSUSE/Leap#3
2024-06-24 13:29:49 +02:00
728095762a add agama-live image 2024-06-24 13:28:57 +02:00
Lubos Kocman
676b9514ca Merge pull request 'Drop Leap-release which we already have' (#2) from master into 16.0
Reviewed-on: openSUSE/Leap#2
2024-06-24 13:16:30 +02:00
0458e7093d Drop Leap-release which we already have 2024-06-24 13:16:08 +02:00
Lubos Kocman
db1d411765 Merge pull request 'Use openSUSE-build key and import gpkeys to recognize ALP key' (#1) from master into 16.0
Reviewed-on: openSUSE/Leap#1
2024-06-24 13:15:29 +02:00
174960e619 Use openSUSE-build-key 2024-06-24 13:14:47 +02:00
ddbf660c8d Ensure to import all gpgkeys 2024-06-24 13:13:38 +02:00
14 changed files with 765 additions and 298 deletions

View File

@ -1,253 +0,0 @@
#
# spec file for package SUSE-MicroOS-release
#
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# old location was /etc/YaST2/licenses/, see jsc#SLE-3067
%define product_license_dir /usr/share/licenses/product/
Name: Leap-release
Summary: openSUSE Leap 16.0 Alpha
License: MIT
Group: System/Fhs
Version: 6.0
Release: 0
#BuildRequires: skelcd-EULA-SMO
BuildRequires: skelcd-openSUSE
#BuildRequires: skelcd-control-SMO
Recommends: branding
# in rare cases, 'ln' is not found...
Requires(post): coreutils
Recommends: issue-generator
# bsc#1078737#c7
Recommends: release-notes-leap-micro
Provides: distribution-release
Provides: product(Leap-Micro) = %{version}-%{release}
#Provides: product(SUSE_SLE-SP) = %{version}-%{release}
Provides: system-installation() = Leap-Micro
# relaxes openSUSE/SUSE vendor change in zypper dup bsc#1182629
Provides: dup-vendor-relax(suse)
# bsc#1055299
Conflicts: otherproviders(distribution-release)
Provides: %name-%version
Provides: product() = Leap
Provides: product(Leap-Micro) = 16.0-1
%ifarch x86_64
Provides: product-register-target() = openSUSE%2DLeap%2DMicro%2D6.0%2Dx86_64
%endif
%ifarch aarch64
Provides: product-register-target() = openSUSE%2DLeap%2DMicro%2D6.0%2Daarch64
%endif
Provides: product-label() = openSUSE%20Leap%20Micro
Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aleap%2Dmicro%3A6.0
Provides: product-url(releasenotes) = https%3A%2F%2Fdoc.opensuse.org%2Frelease%2Dnotes%2F%{_target_cpu}%2FopenSUSE%2FLeapMicro%2F6.0%2Frelease%2Dnotes%2Dleap%2Dmicro.rpm
Provides: product-url(repository) = https%3A%2F%2Fdownload.opensuse.org%2Fdistribution%2Fleap%2Dmicro%2F6.0%2Fproduct%2Frepo%2FLeap%2DMicro%2D6.0%2Dx86_64%2DMedia1%2F
Provides: product-url(repository) = https%3A%2F%2Fdownload.opensuse.org%2Fdistribution%2Fleap%2Dmicro%2F6.0%2Fproduct%2Frepo%2FLeap%2DMicro%2D6.0%2Daarch64%2DMedia1%2F
Provides: product-url(repository) = http%3A%2F%2Fdownload.opensuse.org%2Fupdate%2Fleap%2Dmicro%2F6.0%2Fsle%2F
Provides: product-updates-repoid() = obsrepository%3A%2F%2Fbuild.opensuse.org%2FSUSE%3AUpdates%3AopenSUSE%2DLeap%2DMicro%3A6.0%2Fstandard
Provides: product-endoflife() = 2025%2D05%2D31
# Make sure we are at SLES15 level
# TBD
PreReq: glibc >= 2.22
Conflicts: kernel < 4.4
Conflicts: perl-Bootloader < 0.904
# help packagelist generator to pick -default flavor instead of vanilla, when in doubt
Suggests: kernel-default
Suggests: openSUSE-repos-LeapMicro
# old package obsoletes removed. If we support 11 SP4 migration to 15, we may
# need to re-add some.
# ./.
BuildRoot: %{_tmppath}/%{name}-%{version}-build
# this package should only be available for the "basearchs" of a product
# i586 added as installation-images-SLES reequires it.
ExclusiveArch: x86_64 ppc64le s390x aarch64
Source100: weakremovers.inc
%include %{SOURCE100}
%description
openSUSE Leap Micro 6.0
%prep
%setup -qcT
mkdir license
tar -C license -xzf %{_prefix}/lib/skelcd/CD1/license.tar.gz
%build
%install
mkdir -p $RPM_BUILD_ROOT/etc
mkdir -p $RPM_BUILD_ROOT/usr/lib/issue.d
# Create set-up for issue-generator
echo -e "\nWelcome to openSUSE Leap Micro 6.0 Alpha (%{_target_cpu}) - Kernel \\\r (\\\l).\n" > $RPM_BUILD_ROOT/usr/lib/issue.d/10-SUSE
echo -e "\n" > $RPM_BUILD_ROOT/usr/lib/issue.d/90-SUSE
# create /etc/SuSE-release - deprecated, FATE#316268
# no longer build, in case you wonder
touch $RPM_BUILD_ROOT/etc/motd
# Setup rpm macros
# XXX this wrong. Needs to be in rpm-config-SUSE
mkdir -p $RPM_BUILD_ROOT/etc/rpm/
echo "#" > $RPM_BUILD_ROOT/etc/rpm/macros.sle
echo "# RPM macros to identify SLE distribution" >> $RPM_BUILD_ROOT/etc/rpm/macros.sle
echo "#" >> $RPM_BUILD_ROOT/etc/rpm/macros.sle
echo "#==================================================" >> $RPM_BUILD_ROOT/etc/rpm/macros.sle
echo "" >> $RPM_BUILD_ROOT/etc/rpm/macros.sle
echo "%%sle_version %sle_version" >> $RPM_BUILD_ROOT/etc/rpm/macros.sle
mkdir -p %{buildroot}%{_prefix}/lib
cat > %{buildroot}%{_prefix}/lib/os-release <<EOF
NAME="openSUSE Leap Micro"
VERSION="%{version}%{?betaversion:%{betaversion}}"
ID="opensuse-leap-micro"
ID_LIKE="suse opensuse opensuse-leap suse-microos"
VERSION_ID="%{version}"
PRETTY_NAME="openSUSE Leap Micro %{version}%{?betaversion:%{betaversion}}"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:opensuse:leap-micro:%{version}"
BUG_REPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://www.opensuse.org/"
DOCUMENTATION_URL="https://en.opensuse.org/Portal:LeapMicro"
LOGO="distributor-logo-LeapMicro"
EOF
ln -s ..%{_prefix}/lib/os-release %{buildroot}%{_sysconfdir}/os-release
#mv $RPM_BUILD_ROOT/etc/os-release $RPM_BUILD_ROOT/usr/lib/os-release
install -D -d -m 755 "%{buildroot}%{_datadir}/licenses/product/base"
install -D -d -m 755 "%{buildroot}%{_defaultlicensedir}"
cp -a license "%{buildroot}%{_defaultlicensedir}/%{name}"
pushd license
# SLE compat
for i in *; do
ln -s "%{_defaultlicensedir}/%{name}/$i" %{buildroot}%{_datadir}/licenses/product/base/$i
done
mkdir -p %{buildroot}%{_sysconfdir}/products.d
cat >%{buildroot}%{_sysconfdir}/products.d/Leap-Micro.prod << EOF
<?xml version="1.0" encoding="UTF-8"?>
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>Leap-Micro</name>
<version>6.0</version>
<release>1</release>
<endoflife>2025-05-31</endoflife>
<arch>%{_target_cpu}</arch>
<cpeid>cpe:/o:opensuse:leap-micro:6.0</cpeid>
<productline>Leap</productline>
<codestream>
<name>openSUSE Leap Micro 6.0</name>
<endoflife>2026-10-31</endoflife>
</codestream>
<register>
<pool>
<repository url="https://download.opensuse.org/distribution/leap-micro/6.0/product/repo/Leap-Micro-6.0-x86_64-Media1/" arch="x86_64">
<zypp name="openSUSE-Leap-Micro-6.0-Pool" alias="openSUSE-Leap-Micro-6.0-Pool"/>
</repository>
<repository url="https://download.opensuse.org/distribution/leap-micro/6.0/product/repo/Leap-Micro-6.0-aarch64-Media1/" arch="aarch64">
<zypp name="openSUSE-Leap-Micro-6.0-Pool" alias="openSUSE-Leap-Micro-6.0-Pool"/>
</repository>
</pool>
<updates>
<distrotarget arch="x86_64">openSUSE-Leap-Micro-6.0-x86_64</distrotarget>
<distrotarget arch="aarch64">openSUSE-Leap-Micro-6.0-aarch64</distrotarget>
<repository project="SUSE:Updates:openSUSE-Leap-Micro:6.0" name="standard">
<zypp name="openSUSE-Leap-Micro-6.0-Updates" alias="openSUSE-Leap-Micro-6.0-Updates"/>
</repository>
</updates>
</register>
<repositories>
<repository type="update" repoid="obsrepository://build.opensuse.org/SUSE:Updates:openSUSE-Leap-Micro:6.0/standard"/>
</repositories>
<summary>openSUSE Leap Micro 6.0</summary>
<shortsummary>openSUSE Leap Micro</shortsummary>
<description>openSUSE Leap Micro 6.0</description>
<linguas>
<language>en</language>
</linguas>
<urls>
<url name="releasenotes">https://doc.opensuse.org/release-notes/%{_target_cpu}/openSUSE/LeapMicro/6.0/release-notes-leap-micro.rpm</url>
<url name="repository" arch="x86_64">https://download.opensuse.org/distribution/leap-micro/6.0/product/repo/Leap-Micro-6.0-x86_64-Media1/</url>
<url name="repository" arch="aarch64">https://download.opensuse.org/distribution/leap-micro/6.0/product/repo/Leap-Micro-6.0-aarch64-Media1/</url>
<url name="repository">http://download.opensuse.org/update/leap-micro/6.0/sle/</url>
</urls>
<buildconfig>
<producttheme>Leap-Micro</producttheme>
<betaversion>Alpha</betaversion>
</buildconfig>
<installconfig>
<defaultlang>en_US</defaultlang>
<releasepackage name="%{name}" flag="EQ" version="%{version}" release="%{release}"/>
<distribution>openSUSE</distribution>
</installconfig>
<runtimeconfig/>
</product>
EOF
# enable vendor change openSUSE,SUSE
mkdir -p %{buildroot}%{_sysconfdir}/zypp/vendors.d
echo -e "[main]\nvendors=openSUSE,SUSE,SUSE LLC <https://www.suse.com/>\n" > %{buildroot}%{_sysconfdir}/zypp/vendors.d/00-openSUSE.conf
%post
# this is a base product, create symlink bsc#1091952
if [ ! -L %{_sysconfdir}/products.d/baseproduct ]; then
ln -sf Leap-Micro.prod %{_sysconfdir}/products.d/baseproduct
fi
%files
%defattr(644,root,root,755)
%{_sysconfdir}/os-release
%{_prefix}/lib/os-release
# Bug 404141 - /etc/YaST/control.xml should be owned by some package
# No control file for the time being
# %dir %{_sysconfdir}/YaST2/
# %config %{_sysconfdir}/YaST2/control.xml
%dir %{_sysconfdir}/zypp
%dir %{_sysconfdir}/zypp/vendors.d
%config(noreplace) %{_sysconfdir}/zypp/vendors.d/00-openSUSE.conf
%dir /etc/products.d
%ghost /etc/products.d/baseproduct
/etc/products.d/*
%config /etc/rpm/macros.sle
%config(noreplace) /etc/motd
%dir /usr/lib/issue.d/
/usr/lib/issue.d/*-SUSE
%dir %{product_license_dir}
%{product_license_dir}/base
%license license/*
%changelog

View File

@ -1,18 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- OBS-Profiles: @BUILD_FLAVOR@ -->
<!-- OBS-Milestone: %current_milestone -->
<!-- OBS-BcntSyncTag: Leap-Micro -->
<image schemaversion="7.5" name="openSUSE-Leap-Micro" displayname="openSUSE Leap">
<!-- OBS-BcntSyncTag: Leap -->
<image schemaversion="7.5" name="Leap" displayname="Leap">
<description type="system">
<author>openSUSE</author>
<contact>crc@suse.com</contact>
<specification>openSUSE Leap Micro</specification>
<specification>Leap</specification>
</description>
<profiles>
<!-- Profiles used as dependencies of actual image profiles -->
<!-- Flavors -->
<profile name="full" description="openSUSE Leap Micro as KVM and Container host"/>
<profile name="container-host" description="openSUSE Leap Micro as Container host"/>
<profile name="full" description="Leap as KVM and Container host"/>
<profile name="container-host" description="Leap as Container host"/>
<profile name="ecs_anywhere" description="Amazon ECS Anywhere support"/>
<!-- Platforms - support profiles -->
<profile name="bootloader" description="Bootloader files for x86_64 and aarch64"/>
@ -64,123 +64,123 @@
<requires profile="bootloader"/>
</profile>
<!-- Images (flavor + platform) -->
<profile name="Default" description="openSUSE Leap Micro with Podman and KVM as raw image with uEFI boot" arch="x86_64">
<profile name="Default" description="Leap with Podman and KVM as raw image with uEFI boot" arch="x86_64">
<requires profile="full"/>
<requires profile="x86"/>
</profile>
<profile name="Base" description="openSUSE Leap Micro with Podman as raw image with uEFI boot" arch="x86_64">
<profile name="Base" description="Leap with Podman as raw image with uEFI boot" arch="x86_64">
<requires profile="container-host"/>
<requires profile="x86"/>
</profile>
<profile name="Default-VMware" description="openSUSE Leap Micro with Podman and KVM as raw image with uEFI boot" arch="x86_64">
<profile name="Default-VMware" description="Leap with Podman and KVM as raw image with uEFI boot" arch="x86_64">
<requires profile="full"/>
<requires profile="x86-vmware"/>
</profile>
<profile name="Base-VMware" description="openSUSE Leap Micro with Podman as raw image with uEFI boot" arch="x86_64">
<profile name="Base-VMware" description="Leap with Podman as raw image with uEFI boot" arch="x86_64">
<requires profile="container-host"/>
<requires profile="x86-vmware"/>
</profile>
<profile name="Default-encrypted" description="openSUSE Leap Micro with Podman and KVM as raw image with uEFI boot" arch="x86_64">
<profile name="Default-encrypted" description="Leap with Podman and KVM as raw image with uEFI boot" arch="x86_64">
<requires profile="full"/>
<requires profile="x86-encrypted"/>
</profile>
<profile name="Base-encrypted" description="openSUSE Leap Micro with Podman as raw image with uEFI boot" arch="x86_64">
<profile name="Base-encrypted" description="Leap with Podman as raw image with uEFI boot" arch="x86_64">
<requires profile="container-host"/>
<requires profile="x86-encrypted"/>
</profile>
<profile name="Base-RT-encrypted" description="openSUSE Leap Micro with Podman as raw image with uEFI boot" arch="x86_64">
<profile name="Base-RT-encrypted" description="Leap with Podman as raw image with uEFI boot" arch="x86_64">
<requires profile="container-host"/>
<requires profile="x86-rt-encrypted"/>
</profile>
<profile name="Default-SelfInstall" description="openSUSE Leap Micro with Podman and KVM as raw image with uEFI boot - SelfInstall" arch="x86_64">
<profile name="Default-SelfInstall" description="Leap with Podman and KVM as raw image with uEFI boot - SelfInstall" arch="x86_64">
<requires profile="full"/>
<requires profile="x86-self_install"/>
<requires profile="self_install"/>
</profile>
<profile name="Base-SelfInstall" description="openSUSE Leap Micro with Podman as raw image with uEFI boot - SelfInstall" arch="x86_64">
<profile name="Base-SelfInstall" description="Leap with Podman as raw image with uEFI boot - SelfInstall" arch="x86_64">
<requires profile="container-host"/>
<requires profile="x86-self_install"/>
<requires profile="self_install"/>
</profile>
<profile name="Default-SelfInstall" description="openSUSE Leap Micro with Podman and KVM as raw image with uEFI boot - SelfInstall" arch="aarch64">
<profile name="Default-SelfInstall" description="Leap with Podman and KVM as raw image with uEFI boot - SelfInstall" arch="aarch64">
<requires profile="full"/>
<requires profile="aarch64-self_install"/>
<requires profile="self_install"/>
</profile>
<profile name="Base-SelfInstall" description="openSUSE Leap Micro with Podman as raw image with uEFI boot - SelfInstall" arch="aarch64">
<profile name="Base-SelfInstall" description="Leap with Podman as raw image with uEFI boot - SelfInstall" arch="aarch64">
<requires profile="container-host"/>
<requires profile="aarch64-self_install"/>
<requires profile="self_install"/>
</profile>
<profile name="ECS-Anywhere" description="openSUSE Leap Micro with Podman and ECS Anywhere packagesas raw image with uEFI boot" arch="x86_64">
<profile name="ECS-Anywhere" description="Leap with Podman and ECS Anywhere packagesas raw image with uEFI boot" arch="x86_64">
<requires profile="full"/>
<requires profile="ecs_anywhere"/>
<requires profile="x86"/>
</profile>
<profile name="ECS-Anywhere-SelfInstall" description="openSUSE Leap Micro with Podman and ECS Anywhere packages as raw image with uEFI boot - SelfInstall" arch="x86_64">
<profile name="ECS-Anywhere-SelfInstall" description="Leap with Podman and ECS Anywhere packages as raw image with uEFI boot - SelfInstall" arch="x86_64">
<requires profile="full"/>
<requires profile="ecs_anywhere"/>
<requires profile="x86-self_install"/>
<requires profile="self_install"/>
</profile>
<profile name="Default" description="openSUSE Leap Micro with Podman and KVM as raw image with uEFI boot" arch="aarch64">
<profile name="Default" description="Leap with Podman and KVM as raw image with uEFI boot" arch="aarch64">
<requires profile="full"/>
<requires profile="rpi"/>
</profile>
<profile name="Base" description="openSUSE Leap Micro with Podman as raw image with uEFI boot" arch="aarch64">
<profile name="Base" description="Leap with Podman as raw image with uEFI boot" arch="aarch64">
<requires profile="container-host"/>
<requires profile="rpi"/>
</profile>
<profile name="Base-RT" description="openSUSE Leap Micro with Podman as raw image with uEFI boot" arch="x86_64">
<profile name="Base-RT" description="Leap with Podman as raw image with uEFI boot" arch="x86_64">
<requires profile="container-host"/>
<requires profile="x86-rt"/>
</profile>
<profile name="Base-RT-SelfInstall" description="openSUSE Leap Micro with Podman as raw image with uEFI boot - SelfInstall" arch="x86_64">
<profile name="Base-RT-SelfInstall" description="Leap with Podman as raw image with uEFI boot - SelfInstall" arch="x86_64">
<requires profile="container-host"/>
<requires profile="x86-rt-self_install"/>
<requires profile="self_install"/>
</profile>
<profile name="Default-qcow" description="openSUSE Leap Micro with Podman and KVM as raw image for KVM on System z" arch="s390x">
<profile name="Default-qcow" description="Leap with Podman and KVM as raw image for KVM on System z" arch="s390x">
<requires profile="full"/>
<requires profile="s390-kvm"/>
</profile>
<profile name="Base-qcow" description="openSUSE Leap Micro with Podman as raw image for KVM on System z" arch="s390x">
<profile name="Base-qcow" description="Leap with Podman as raw image for KVM on System z" arch="s390x">
<requires profile="container-host"/>
<requires profile="s390-kvm"/>
</profile>
<profile name="Default-dasd" description="openSUSE Leap Micro with Podman and KVM as raw image for KVM on System z" arch="s390x">
<profile name="Default-dasd" description="Leap with Podman and KVM as raw image for KVM on System z" arch="s390x">
<requires profile="full"/>
<requires profile="s390-dasd"/>
</profile>
<profile name="Base-dasd" description="openSUSE Leap Micro with Podman as raw image for KVM on System z" arch="s390x">
<profile name="Base-dasd" description="Leap with Podman as raw image for KVM on System z" arch="s390x">
<requires profile="container-host"/>
<requires profile="s390-dasd"/>
</profile>
<profile name="Default-fba" description="openSUSE Leap Micro with Podman and KVM as raw image for KVM on System z" arch="s390x">
<profile name="Default-fba" description="Leap with Podman and KVM as raw image for KVM on System z" arch="s390x">
<requires profile="full"/>
<requires profile="s390-fba"/>
</profile>
<profile name="Base-fba" description="openSUSE Leap Micro with Podman as raw image for KVM on System z" arch="s390x">
<profile name="Base-fba" description="Leap with Podman as raw image for KVM on System z" arch="s390x">
<requires profile="container-host"/>
<requires profile="s390-fba"/>
</profile>
<profile name="Default-legacy" description="openSUSE Leap Micro with Podman as raw image with legacy boot" arch="x86_64">
<profile name="Default-legacy" description="Leap with Podman as raw image with legacy boot" arch="x86_64">
<requires profile="full"/>
<requires profile="x86-legacy"/>
</profile>
<profile name="Default-qcow" description="openSUSE Leap Micro with Podman and KVM as raw image with uEFI boot" arch="x86_64">
<profile name="Default-qcow" description="Leap with Podman and KVM as raw image with uEFI boot" arch="x86_64">
<requires profile="full"/>
<requires profile="x86-qcow"/>
</profile>
<profile name="Base-qcow" description="openSUSE Leap Micro with Podman as raw image with uEFI boot" arch="x86_64">
<profile name="Base-qcow" description="Leap with Podman as raw image with uEFI boot" arch="x86_64">
<requires profile="container-host"/>
<requires profile="x86-qcow"/>
</profile>
<profile name="Default-qcow" description="openSUSE Leap Micro with Podman and KMV as raw image with uEFI boot" arch="aarch64">
<profile name="Default-qcow" description="Leap with Podman and KMV as raw image with uEFI boot" arch="aarch64">
<requires profile="full"/>
<requires profile="aarch64-qcow"/>
</profile>
<profile name="Base-qcow" description="openSUSE Leap Micro with Podman as raw image with uEFI boot" arch="aarch64">
<profile name="Base-qcow" description="Leap with Podman as raw image with uEFI boot" arch="aarch64">
<requires profile="container-host"/>
<requires profile="aarch64-qcow"/>
</profile>
@ -203,7 +203,7 @@
bootkernel="custom"
devicepersistency="by-uuid"
btrfs_root_is_snapshot="true"
btrfs_root_is_readonly_snapshot="true"
btrfs_root_is_readonly_snapshot="false"
btrfs_quota_groups="true"
luks_version="luks2"
luks="1234"
@ -246,7 +246,7 @@
bootkernel="custom"
devicepersistency="by-uuid"
btrfs_root_is_snapshot="true"
btrfs_root_is_readonly_snapshot="true"
btrfs_root_is_readonly_snapshot="false"
btrfs_quota_groups="true"
>
<bootloader name="grub2" console="gfxterm" timeout="3"/>
@ -285,7 +285,7 @@
bootkernel="custom"
devicepersistency="by-uuid"
btrfs_root_is_snapshot="true"
btrfs_root_is_readonly_snapshot="true"
btrfs_root_is_readonly_snapshot="false"
btrfs_quota_groups="true"
>
<bootloader name="grub2" console="gfxterm" timeout="3" />
@ -326,7 +326,7 @@
btrfs_root_is_snapshot="true"
efipartsize="128"
editbootinstall="editbootinstall_rpi.sh"
btrfs_root_is_readonly_snapshot="true"
btrfs_root_is_readonly_snapshot="false"
btrfs_quota_groups="false"
disk_start_sector="4096"
>
@ -365,7 +365,7 @@
bootkernel="custom"
devicepersistency="by-uuid"
btrfs_root_is_snapshot="true"
btrfs_root_is_readonly_snapshot="true"
btrfs_root_is_readonly_snapshot="false"
btrfs_quota_groups="true"
disk_start_sector="4096"
>
@ -403,7 +403,7 @@
kernelcmdline="hvc_iucv=8 TERM=dumb security=selinux selinux=1 quiet"
devicepersistency="by-uuid"
btrfs_root_is_snapshot="true"
btrfs_root_is_readonly_snapshot="true"
btrfs_root_is_readonly_snapshot="false"
btrfs_quota_groups="true"
>
<bootloader name="grub2_s390x_emu" timeout="3" />
@ -440,7 +440,7 @@
devicepersistency="by-uuid"
target_blocksize="4096"
btrfs_root_is_snapshot="true"
btrfs_root_is_readonly_snapshot="true"
btrfs_root_is_readonly_snapshot="false"
btrfs_quota_groups="true"
>
<bootloader name="grub2_s390x_emu" console="serial" timeout="3" targettype="CDL" />
@ -622,7 +622,7 @@
<namedCollection name="selinux"/>
<package name="patterns-base-selinux"/>
<package name="suseconnect-ng"/>
<package name="Leap-Micro-release"/>
<package name="Leap-release"/>
<package name="grub2-branding-openSUSE" arch="x86_64,aarch64"/>
<package name="systemd-default-settings-branding-SLE-Micro"/>
<package name="firewalld"/>
@ -653,7 +653,7 @@
<namedCollection name="selinux"/>
<package name="patterns-base-selinux"/>
<package name="suseconnect-ng"/>
<package name="Leap-Micro-release"/>
<package name="Leap-release"/>
<package name="grub2-branding-openSUSE" arch="x86_64,aarch64"/>
<package name="systemd-default-settings-branding-SLE-Micro"/>
<package name="firewalld"/>
@ -690,12 +690,12 @@
<package name="grub2"/>
<package name="glibc-locale-base"/>
<package name="ca-certificates"/>
<package name="Leap-Micro-release"/>
<package name="Leap-release"/>
<package name="systemd-default-settings-branding-SLE-Micro"/>
<package name="firewalld"/>
<package name="NetworkManager-tui"/>
<package name="growpart-generator"/>
<package name="suse-build-key"/>
<package name="openSUSE-build-key"/>
<!-- for debugging -->
<package name="less"/>
<package name="vim-small"/>

26
Leap/_multibuild Normal file
View File

@ -0,0 +1,26 @@
<multibuild>
<!-- for release -->
<flavor>Default</flavor>
<flavor>Base</flavor>
<!--
<flavor>Default-VMware</flavor>
<flavor>Base-VMware</flavor>
<flavor>Default-encrypted</flavor>
<flavor>Base-encrypted</flavor>
<flavor>Default-SelfInstall</flavor>
<flavor>Base-SelfInstall</flavor>
<flavor>Default-qcow</flavor>
<flavor>Base-qcow</flavor>
<flavor>Base-RT-SelfInstall</flavor>
<flavor>Base-RT</flavor>
<flavor>Base-RT-encrypted</flavor>
<flavor>Base-dasd</flavor>
<flavor>Base-fba</flavor>
<flavor>Default-dasd</flavor>
<flavor>Default-fba</flavor> -->
<!-- for testing purposes only -->
<!--
<flavor>image-legacy</flavor>
-->
</multibuild>

View File

@ -189,7 +189,7 @@ cat >/etc/fstab.script <<"EOF"
#!/bin/sh
set -eux
/usr/sbin/setup-fstab-for-overlayfs
#/usr/sbin/setup-fstab-for-overlayfs
# If /var is on a different partition than /...
if [ "$(findmnt -snT / -o SOURCE)" != "$(findmnt -snT /var -o SOURCE)" ]; then
# ... set options for autoexpanding /var
@ -314,4 +314,17 @@ if [[ "$kiwi_profiles" =~ ^(x86-qcow|x86-vmware|aarch64-qcow)$ ]]; then
echo "policy: search,found=all,maybe=disabled,notfound=disabled" > /etc/cloud/ds-identify.cfg
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
done
#======================================
# Refresh zypper services / repos
#--------------------------------------
#zypper refs # throws 'std::optional<zypp::repo::ServicePluginInformalException>'
exit 0

View File

@ -0,0 +1,35 @@
# Live ISO
This directory contains a set of files that are used to build the Agama Live ISO
image.
## Sources
The sources are maintained in the [Agama Git
repository](https://github.com/openSUSE/agama/tree/master/live) repository.
## Building the ISO
To build the ISO locally run the
```shell
osc build -M <build_flavor> images
```
command. See the [_multibuild](_multibuild) file for the list of configured
build flavors. To build for example the openSUSE flavor run this command:
```shell
osc build -M openSUSE images
```
Note: For building an ISO image you need a lot of free space at the `/var`
partition. Make sure there is at least 25GiB free space otherwise the build
might fail.
## Changes
Please *do not* change any file in the OBS repository. The files are
automatically uploaded from the [Agama Git
repository](https://github.com/openSUSE/agama/tree/master/live), your manual
changes will be lost at the next update.

View File

@ -0,0 +1,7 @@
<constraints>
<hardware>
<disk>
<size unit="G">25</size>
</disk>
</hardware>
</constraints>

View File

@ -0,0 +1,4 @@
<multibuild>
<flavor>openSUSE</flavor>
<!--<flavor>openSUSE-Playwright</flavor>-->
</multibuild>

View File

@ -0,0 +1,212 @@
-------------------------------------------------------------------
Wed Jul 3 13:40:25 UTC 2024 - Lubos Kocman <lubos.kocman@suse.com>
- Do not build Playwright on Leap 16
-------------------------------------------------------------------
Wed Jul 3 13:39:27 UTC 2024 - Lubos Kocman <lubos.kocman@suse.com>
- Use ruby 3.2 and Leap-release on Leap 16
-------------------------------------------------------------------
Mon Jul 1 12:28:30 UTC 2024 - Lubos Kocman <lubos.kocman@suse.com>
- Rename agama-live to agama-installer-openSUSE
so TW SR matches source package name
- Suggesting better name for Leap 16 / TW installer image
https://code.opensuse.org/leap/features/issue/158
-------------------------------------------------------------------
Thu Jun 27 14:33:24 UTC 2024 -Steffen Winterfeldt <snwint@suse.com>
- Enable checksum generation for s390x agama live images
(gh#openSUSE/agama#1406).
-------------------------------------------------------------------
Thu Jun 27 13:24:19 UTC 2024 - Imobach Gonzalez Sosa <igonzalezsosa@suse.com>
- Version 9
-------------------------------------------------------------------
Fri Jun 14 10:36:52 UTC 2024 - Ladislav Slezák <lslezak@suse.com>
- Experimental Agama self-update (gh#openSUSE/agama#1341)
-------------------------------------------------------------------
Thu Jun 13 16:07:08 UTC 2024 - Ladislav Slezák <lslezak@suse.com>
- Added Tumbleweed OSS and Agama Staging repositories to the Live
system itself (gh#openSUSE/agama#1332)
-------------------------------------------------------------------
Tue Jun 11 21:39:51 UTC 2024 - Imobach Gonzalez Sosa <igonzalezsosa@suse.com>
- Add the jq package to the image (gh#openSUSE/agama#1314).
-------------------------------------------------------------------
Thu Jun 6 14:30:19 UTC 2024 - Ladislav Slezák <lslezak@suse.com>
- Automatically generate the root password (gh#openSUSE/agama#1292)
- Allow setting the default root password in ISO metadata
(gh#openSUSE/agama#1290)
- Alloe setting teh root password from boot command line or set
it interactively during boot (gh#openSUSE/agama#1288)
-------------------------------------------------------------------
Wed Jun 5 15:40:43 UTC 2024 - Knut Anderssen <kanderssen@suse.com>
- Fix the cd.ikr content for booting the s390x iso
(gh#openSUSE/agama#1289).
-------------------------------------------------------------------
Tue May 21 10:38:39 UTC 2024 - Imobach Gonzalez Sosa <igonzalezsosa@suse.com>
- Add the procps4 package to the image (gh#openSUSE/agama#1245).
-------------------------------------------------------------------
Fri May 17 09:52:27 UTC 2024 - Imobach Gonzalez Sosa <igonzalezsosa@suse.com>
- Version 8
-------------------------------------------------------------------
Fri Feb 9 16:16:29 UTC 2024 - Ladislav Slezák <lslezak@suse.com>
- Image size reduced:
- Removed translations and locale definitions for unsupported
languages, removed translations for unused tools
- Removed sound card and TV card drivers (not needed for the installer)
- Removed alsa packages
- Removed unused firmware files
- Require 25GB disk space for build (PXE build might fail with
just 20GB)
-------------------------------------------------------------------
Thu Feb 1 08:27:29 UTC 2024 - Josef Reidinger <jreidinger@suse.com>
- Improve multipath experience: preload kernel module and set probing
to smart option (bsc#1215598)
-------------------------------------------------------------------
Thu Dec 21 15:43:06 UTC 2023 - Imobach Gonzalez Sosa <igonzalezsosa@suse.com>
- Version 7
-------------------------------------------------------------------
Mon Dec 4 16:03:08 UTC 2023 - José Iván López González <jlopez@suse.com>
- Remove dependencies included by Agama packages (related to
gh#openSUSE/agama#911).
-------------------------------------------------------------------
Fri Dec 1 14:23:09 UTC 2023 - Imobach Gonzalez Sosa <igonzalezsosa@suse.com>
- Version 6
-------------------------------------------------------------------
Mon Nov 13 18:02:39 UTC 2023 - Josef Reidinger <jreidinger@suse.com>
- Use by default zram to allow having 2GiB memory requirements
(jsc#PED-7303)
-------------------------------------------------------------------
Mon Nov 6 08:30:01 UTC 2023 - Marcus Schäfer <marcus.schaefer@suse.com>
- Fix s390 PXE build by using 'custom' bootloader for s390 target
There is an error inside grub2-zipl-setup which calls zipl that
then complains with "Unable to create temporary device node: No such device or address".
We don't see this issue with zipl in the kiwi integration test from here:
https://build.opensuse.org/project/show/Virtualization:Appliances:Images:Testing_s390:tumbleweed
Thus I don't think it's an issue with kiwi but most probably a conflict
between the zipl setup and the raw btrfs filesystem usage in this case.
Long story short, the zipl issue needs extra inspection and the fix
here is simple because we actually don't need a bootloader to be installed
into the disk image because it is expected to be deployed via a remote
boot infrastructure. Therefore this change disables the bootloader
install for s390 by setting the attribute: bootloader="custom"
-------------------------------------------------------------------
Tue Oct 24 08:04:07 UTC 2023 - Marcus Schäfer <marcus.schaefer@suse.com>
- Add new profile ALP-PXE which builds a variant of the agama
installer that is an oem disk image which can be remote deployed
into a ramdisk to boot into the agama installation. The size constraints
are similar to the live-iso size. For more details please refer
to README.pxe
----------------------------------------------------------------------------
Mon Oct 23 12:03:55 UTC 2023 - Imobach González Sosa <igonzalezsosa@suse.com>
- Add adobe-sourcehansans-jp-fonts
- Version 5
----------------------------------------------------------------------------
Thu Oct 19 20:19:11 UTC 2023 - Imobach González Sosa <igonzalezsosa@suse.com>
- Add libstorage-ng translations
----------------------------------------------------------------------------
Wed Sep 27 08:45:26 UTC 2023 - Imobach González Sosa <igonzalezsosa@suse.com>
- Version 4
----------------------------------------------------------------------------
Tue Sep 26 07:55:34 UTC 2023 - Imobach González Sosa <igonzalezsosa@suse.com>
- Clean-up zypper logs
----------------------------------------------------------------------------
Tue Sep 26 05:28:35 UTC 2023 - Imobach González Sosa <igonzalezsosa@suse.com>
- Added nvme-cli requested by https://bugzilla.suse.com/show_bug.cgi?id=1215572
----------------------------------------------------------------------------
Wed Aug 30 09:44:04 UTC 2023 - Imobach González Sosa <igonzalezsosa@suse.com>
- Add microos-tools package and enable proxy setup services.
----------------------------------------------------------------------------
Tue Aug 29 09:19:26 UTC 2023 - Imobach González Sosa <igonzalezsosa@suse.com>
- Enable ppc64le images
----------------------------------------------------------------------------
Thu Aug 03 10:23:49 UTC 2023 - Imobach González Sosa <igonzalezsosa@suse.com>
- Disable building the ALP image for ppc64le
----------------------------------------------------------------------------
Wed Aug 02 10:37:21 UTC 2023 - Imobach González Sosa <igonzalezsosa@suse.com>
- Version 3
----------------------------------------------------------------------------
Tue Aug 01 09:56:42 UTC 2023 - Imobach González Sosa <igonzalezsosa@suse.com>
- Replace "default" flavor with a new "openSUSE" flavor that only includes
openSUSE-based products.
- Replace ALP-build-key with suse-build-key.
----------------------------------------------------------------------------
Mon Jul 31 11:34:26 UTC 2023 - Imobach González Sosa <igonzalezsosa@suse.com>
- Replace ALP-build-key with suse-build-key
----------------------------------------------------------------------------
Tue Jul 25 14:43:39 UTC 2023 - José Iván López González <jlopez@suse.com>
- Update filtering
----------------------------------------------------------------------------
Wed Jul 05 08:27:33 UTC 2023 - Imobach González Sosa <igonzalezsosa@suse.com>
- Bump version to match Agama
----------------------------------------------------------------------------
Thu Jun 08 14:12:15 UTC 2023 - Josef Reidinger <jreidinger@suse.com>
- add to live image also dbus services written in rust
----------------------------------------------------------------------------
Thu Jun 01 14:05:13 UTC 2023 - Ladislav Slezák <lslezak@suse.com>
- osc copypac from project:YaST:Head:Agama package:agama-live revision:13

View File

@ -0,0 +1,138 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- OBS-ExclusiveArch: aarch64 ppc64le x86_64 s390x -->
<!-- OBS-Profiles: @BUILD_FLAVOR@ -->
<image schemaversion="7.5" name="agama-installer-openSUSE">
<description type="system">
<author>YaST Team</author>
<contact>yast2-maintainers@suse.de</contact>
<specification>Agama Live ISO</specification>
</description>
<profiles>
<profile name="openSUSE" description="openSUSE multiproduct image" import="true" />
<profile name="openSUSE-Playwright" description="openSUSE image with Playwright integration tests" arch="aarch64,x86_64" />
</profiles>
<preferences>
<version>9.0.0</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>
<bootsplash-theme>bgrt</bootsplash-theme>
<bootloader-theme>openSUSE</bootloader-theme>
</preferences>
<preferences arch="ppc64le" profiles="openSUSE">
<type image="iso" flags="dmsquash" firmware="ofw" mediacheck="true" volid="agama" editbootconfig="fix_bootconfig">
<bootloader name="grub2" console="serial" timeout="10"/>
</type>
</preferences>
<preferences arch="aarch64,x86_64" profiles="openSUSE,openSUSE-Playwright">
<type image="iso" flags="dmsquash" firmware="uefi" mediacheck="true" volid="agama" editbootconfig="fix_bootconfig">
<bootloader name="grub2" timeout="10"/>
</type>
</preferences>
<preferences arch="s390x" profiles="openSUSE">
<type image="iso" flags="dmsquash" mediacheck="true" volid="agama" editbootconfig="fix_bootconfig">
<bootloader name="custom" />
</type>
</preferences>
<users>
<!-- the password is configured during boot -->
<user password="!*" home="/root" name="root" groups="root"/>
</users>
<repository type="rpm-md">
<source path="obsrepositories:/"/>
</repository>
<packages type="image">
<package name="avahi"/>
<package name="bind-utils"/>
<package name="patterns-openSUSE-base"/>
<package name="systemd"/>
<package name="grub2-branding-openSUSE" arch="aarch64,x86_64"/>
<package name="procps4"/>
<package name="iputils"/>
<package name="vim"/>
<package name="grub2"/>
<package name="grub2-arm64-efi" arch="aarch64"/>
<package name="grub2-x86_64-efi" arch="x86_64"/>
<package name="grub2-i386-pc" arch="x86_64"/>
<package name="grub2-s390x-emu" arch="s390x" />
<package name="grub2-powerpc-ieee1275" arch="ppc64le"/>
<package name="syslinux" arch="x86_64"/>
<package name="fontconfig"/>
<package name="fonts-config"/>
<package name="adobe-sourcecodepro-fonts"/>
<package name="adobe-sourcehansans-jp-fonts"/>
<package name="openssh"/>
<package name="iproute2"/>
<package name="less"/>
<package name="bash-completion"/>
<package name="dhcp-client"/>
<package name="which"/>
<package name="kernel-default"/>
<!-- the firmware files not referenced by any kernel driver are removed from the image -->
<package name="kernel-firmware"/>
<package name="adaptec-firmware"/>
<package name="atmel-firmware"/>
<package name="bluez-firmware"/>
<package name="ipw-firmware"/>
<package name="mpt-firmware"/>
<package name="zd1211-firmware"/>
<package name="systemd-zram-service"/> <!--- needed for zram -->
<package name="shim" arch="aarch64,x86_64"/>
<package name="timezone"/>
<package name="dracut-kiwi-live"/>
<package name="blog" arch="s390x" />
<package name="libblogger2" arch="s390x" />
<package name="xauth"/>
<package name="patterns-base-x11"/>
<namedCollection name="x11"/>
<package name="patterns-yast-yast2_basis"/>
<package name="MozillaFirefox" arch="aarch64,x86_64"/>
<package name="MozillaFirefox-branding-openSUSE" arch="aarch64,x86_64"/>
<package name="libpwquality-tools"/>
<package name="NetworkManager"/>
<package name="ruby3.2-rubygem-byebug"/>
<package name="ruby3.2-rubygem-agama-yast"/>
<package name="agama"/>
<package name="agama-web-ui"/>
<package name="agama-cli"/>
<package name="agama-auto"/>
<package name="microos-tools"/>
<package name="staging-build-key"/>
<package name="icewm-lite"/>
<package name="xinit"/>
<package name="psmisc"/>
<package name="joe"/>
<package name="checkmedia"/>
<package name="spice-vdagent"/>
<package name="libtss2-tcti-device0"/>
<package name="jq"/>
<archive name="root.tar.xz"/>
</packages>
<!-- additional packages for the openSUSE flavors -->
<packages type="image" profiles="openSUSE,openSUSE-Playwright">
<package name="agama-products-opensuse"/>
<package name="openSUSE-build-key"/>
</packages>
<!-- additional packages for the Playwright flavors -->
<packages type="image" profiles="openSUSE-Playwright">
<package name="playwright"/>
<package name="agama-playwright"/>
<!-- Playwright does not work with the openSUSE Firefox, -->
<!-- install the chromium browser for running the tests -->
<!-- unfortunately it is not available for s390x -->
<package name="chromium"/>
</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="Leap-release"/>
</packages>
</image>

Binary file not shown.

View File

@ -0,0 +1,177 @@
#! /bin/bash
set -ex
# KIWI functions
test -f /.kconfig && . /.kconfig
test -f /.profile && . /.profile
# greeting
echo "Configure image: [$kiwi_iname]..."
# setup baseproduct link
suseSetupProduct
# configure the repositories in the Live system
# import the OBS key for the systemsmanagement OBS project
rpm --import /tmp/systemsmanagement_key.gpg
rm /tmp/systemsmanagement_key.gpg
# import the openSUSE keys
rpm --import /usr/lib/rpm/gnupg/keys/*.asc
# activate services
systemctl enable sshd.service
systemctl enable NetworkManager.service
systemctl enable avahi-daemon.service
systemctl enable agama.service
systemctl enable agama-web-server.service
systemctl enable agama-auto.service
systemctl enable agama-hostname.service
systemctl enable agama-proxy-setup.service
systemctl enable agama-certificate-issue.path
systemctl enable agama-certificate-wait.service
systemctl enable agama-welcome-issue.service
systemctl enable agama-avahi-issue.service
systemctl enable agama-ssh-issue.service
systemctl enable agama-self-update.service
systemctl enable live-password-cmdline.service
systemctl enable live-password-dialog.service
systemctl enable live-password-iso.service
systemctl enable live-password-random.service
systemctl enable live-password-systemd.service
systemctl enable setup-systemd-proxy-env.path
systemctl enable x11-autologin.service
systemctl enable spice-vdagentd.service
systemctl enable zramswap
# default target
systemctl set-default graphical.target
# disable snapshot cleanup
systemctl disable snapper-cleanup.timer
systemctl disable snapper-timeline.timer
# disable unused services
systemctl disable YaST2-Firstboot.service
systemctl disable YaST2-Second-Stage.service
### setup dracut for live system
label=${kiwi_install_volid:-$kiwi_iname}
arch=$(uname -m)
echo "Setting default live root: live:LABEL=$label"
mkdir /etc/cmdline.d
echo "root=live:LABEL=$label" >/etc/cmdline.d/10-liveroot.conf
echo "root_disk=live:LABEL=$label" >>/etc/cmdline.d/10-liveroot.conf
# if there's a default network location, add it here
# echo "root_net=" >> /etc/cmdline.d/10-liveroot.conf
echo 'install_items+=" /etc/cmdline.d/10-liveroot.conf "' >/etc/dracut.conf.d/10-liveroot-file.conf
echo 'add_dracutmodules+=" dracut-menu "' >>/etc/dracut.conf.d/10-liveroot-file.conf
if [ "${arch}" = "s390x" ];then
# workaround for custom bootloader setting
touch /config.bootoptions
fi
# replace the @@LIVE_MEDIUM_LABEL@@ with the real Live partition label name from KIWI
sed -i -e "s/@@LIVE_MEDIUM_LABEL@@/$label/g" /usr/bin/live-password
################################################################################
# Reducing the used space
# Clean-up logs
rm /var/log/zypper.log /var/log/zypp/history
# reduce the "vim-data" content, this package is huge (37MB unpacked!), keep only
# support for JSON (for "agama config edit") and Ruby (fixing/debugging the Ruby
# service)
rpm -ql vim-data | grep -v -e '/ruby.vim$' -e '/json.vim$' -e colors | xargs rm 2> /dev/null || true
du -h -s /usr/{share,lib}/locale/
# Agama expects that the same locales available in the installation system can
# be also used later in the installed system and offers them in the web UI to
# select. But to make the Live ISO smaller it makes sense to delete the locales
# not supported by Agama itself. To solve this problem the list of available
# locales is saved to a file before deleting the locales not supported by Agama.
# Agama then reads this file instead of running the "localectl list-locales"
# command.
mkdir -p /etc/agama.d
# emulate "localectl list-locales" call, it cannot be used here because it
# insists on running systemd as PID 1 :-/
ls -1 -d /usr/lib/locale/*.utf8 | sed -e "s#/usr/lib/locale/##" -e "s#utf8#UTF-8#" > /etc/agama.d/locales
# delete translations and unusupported languages (makes ISO about 22MiB smaller)
# build list of ignore options for "ls" with supported languages like "-I cs* -I de* -I es* ..."
readarray -t IGNORE_OPTS < <(ls /usr/share/agama/web_ui/po.*.js.gz | sed -e "s#/usr/share/agama/web_ui/po\.\(.*\)\.js\.gz#-I\n\\1*#")
# additionally keep the en_US translations
ls -1 "${IGNORE_OPTS[@]}" -I en_US /usr/share/locale/ | xargs -I% sh -c "echo 'Removing translations %...' && rm -rf /usr/share/locale/%"
# delete locale definitions for unsupported languages (explicitly keep the C and en_US locales)
ls -1 "${IGNORE_OPTS[@]}" -I "en_US*" -I "C.*" /usr/lib/locale/ | xargs -I% sh -c "echo 'Removing locale %...' && rm -rf /usr/lib/locale/%"
# delete unused translations (MO files)
for t in zypper gettext-runtime p11-kit; do
rm /usr/share/locale/*/LC_MESSAGES/$t.mo
done
du -h -s /usr/{share,lib}/locale/
# remove documentation
du -h -s /usr/share/doc/packages/
rm -rf /usr/share/doc/packages/*
# remove man pages
du -h -s /usr/share/man
rm -rf /usr/share/man/*
## removing drivers and firmware makes the Live ISO about 370MiB smaller
#
# Agama does not use sound, added by icewm dependencies
rpm -e --nodeps alsa alsa-utils alsa-ucm-conf || true
# driver and firmware cleanup
# Note: openSUSE Tumbleweed Live completely removes firmware for some server
# network cars, because you very likely won't run TW KDE Live on a server.
# But for Agama installer it makes more sense to run on server. So we keep it
# and remove the drivers for sound cards and TV cards instead. Those do not
# make sense on a server.
du -h -s /lib/modules /lib/firmware
# delete sound drivers
rm -rfv /lib/modules/*/kernel/sound
# delete TV cards and radio cards
rm -rfv /lib/modules/*/kernel/drivers/media/
# remove the unused firmware (not referenced by kernel drivers)
/tmp/fw_cleanup.rb --delete
# remove the script, not needed anymore
rm /tmp/fw_cleanup.rb
du -h -s /lib/modules /lib/firmware
################################################################################
# The rest of the file was copied from the openSUSE Tumbleweed Live ISO
# https://build.opensuse.org/package/view_file/openSUSE:Factory:Live/livecd-tumbleweed-kde/config.sh?expand=1
#
# disable the services included by dependencies
for s in purge-kernels; do
systemctl -f disable $s || true
done
# Only used for OpenCL and X11 acceleration on vmwgfx (?), saves ~50MiB
rpm -e --nodeps Mesa-gallium || true
# Too big and will have to be dropped anyway (unmaintained, known security issues)
rm -rf /usr/lib*/libmfxhw*.so.* /usr/lib*/mfx/
# the new, optional nvidia gsp firmware blobs are huge - ~ 70MB
du -h -s /lib/firmware/nvidia
find /lib/firmware/nvidia -name gsp | xargs -r rm -rf
du -h -s /lib/firmware/nvidia
# The gems are unpackaged already, no need to store them twice
du -h -s /usr/lib*/ruby/gems/*/cache/
rm -rf /usr/lib*/ruby/gems/*/cache/
# Not needed, boo#1166406
rm -f /boot/vmlinux*.[gx]z
rm -f /lib/modules/*/vmlinux*.[gx]z
# Remove generated files (boo#1098535)
rm -rf /var/cache/zypp/* /var/lib/zypp/AnonymousUniqueId /var/lib/systemd/random-seed

View File

@ -0,0 +1,89 @@
#! /bin/bash
# This script uses the KIWI 'editbootconfig' hook to modify the Live layout
# and ISO generation.
#
# Note that the 'editbootconfig' hook runs before the initrd is generated -
# this is too early for our purposes. So we have to do some gray area
# trickery:
#
# 1. Inject our modification scripts via config-cdroot.tar.xz into the Live tree.
# 2. Inject a 'xorriso' wrapper script into /usr/local/bin to hook into the ISO
# creation directly.
# This script (a) adjusts the boot config, (b) runs xorriso, and (c) makes
# it zIPL bootable on s390x.
#
# KIWI config
test -f .profile && . .profile
dst=${1#iso:}
arch=`uname -m`
# removing live root setting from command line - it's in /etc/cmdline.d instead
if [ -f $dst/boot/grub2/grub.cfg ] ; then
sed -i -E -e 's/\s+root=\S+//' -e 's/\s+rd.live\.image//' $dst/boot/grub2/grub.cfg
fi
bootfix=$dst/fix_bootconfig.$arch
if [ -f $bootfix ] ; then
echo "bootconfig script found: \"$bootfix\""
fi
if [ $arch = ppc64le ] ; then
mkdir -p $dst/boot/grub2
cp -r usr/share/grub2/powerpc-ieee1275 $dst/boot/grub2
mv $dst/boot/grub2/powerpc-ieee1275/grub.elf $dst/boot/grub2
fi
cat <<XXX >/usr/local/bin/xorriso
#! /bin/bash
set -x
# get ISO file name and ISO volume id from xorriso parameters
for i in "\$@" ; do
if [ -n "\$iso_opt" ] ; then
iso_opt=
export iso="\$i"
continue
fi
if [ -n "\$volid_opt" ] ; then
volid_opt=
export volid="\$i"
continue
fi
if [ "\$i" = "-outdev" ] ; then
iso_opt=1
continue
fi
if [ "\$i" = "-volid" ] ; then
volid_opt=1
continue
fi
done
volid=${kiwi_install_volid:-$kiwi_iname}
[ -x $bootfix ] && $bootfix $dst
rm -f $dst/fix_bootconfig.*
case $arch in
s390x)
/usr/bin/xorriso "\$@" -volid "\$volid" -boot_image any bin_path=boot/s390x/cd.ikr -boot_image any boot_info_table=off -boot_image any load_size=512
err=\$?
[ -x /usr/bin/isozipl ] && isozipl "\$iso"
;;
ppc64le)
/usr/bin/xorriso "\$@" -volid "\$volid" -boot_image any chrp_boot_part=on
err=\$?
;;
*)
/usr/bin/xorriso "\$@" -volid "\$volid"
esac
exit \$err
XXX
chmod +x /usr/local/bin/xorriso

View File

@ -0,0 +1,19 @@
#! /bin/bash
echo 'add memory size check for livenetroot installation'
[[ -f /usr/lib/dracut/modules.d/90livenet/livenetroot.sh ]] || exit 1
echo 'let memsize=$(($(sed -n "s/MemTotal: *\([[:digit:]]*\).*/\1/p" /proc/meminfo) / 1024))' > /tmp/livenetroot-mod
echo 'let imgsize=$(($(curl -sI "$liveurl" | sed -n "s/Content-Length: *\([[:digit:]]*\).*/\1/p") / (1024 * 1024)))' >> /tmp/livenetroot-mod
echo '' >> /tmp/livenetroot-mod
echo 'if [ $((memsize - imgsize)) -lt 1024 ]; then' >> /tmp/livenetroot-mod
echo " sed -i 'N;/echo \"\$RDSOSREPORT\"/s/echo$/echo\\" >> /tmp/livenetroot-mod
echo ' echo Warning!!!\' >> /tmp/livenetroot-mod
echo ' echo The memory size of your system is too small for this live image.\' >> /tmp/livenetroot-mod
echo ' echo Expect killed processes due to out of memory conditions.\' >> /tmp/livenetroot-mod
echo " echo /' usr/bin/dracut-emergency" >> /tmp/livenetroot-mod
echo ' emergency_shell' >> /tmp/livenetroot-mod
echo 'fi' >> /tmp/livenetroot-mod
sed -i '/info "fetching $liveurl"$/ r /tmp/livenetroot-mod' /usr/lib/dracut/modules.d/90livenet/livenetroot.sh

Binary file not shown.