From 46efc9b71fa204463dc105e39e38275d8a42167edfb6d8f1790f8222488ce518 Mon Sep 17 00:00:00 2001 From: Lubos Kocman Date: Wed, 3 Jul 2024 15:14:57 +0200 Subject: [PATCH] Import of agama-installer-openSUSE from devproject --- agama-installer-openSUSE/README.md | 35 +++ agama-installer-openSUSE/_constraints | 7 + agama-installer-openSUSE/_multibuild | 4 + .../agama-installer-openSUSE.changes | 202 ++++++++++++++++++ .../agama-installer-openSUSE.kiwi | 139 ++++++++++++ agama-installer-openSUSE/config-cdroot.tar.xz | Bin 0 -> 2592 bytes agama-installer-openSUSE/config.sh | 172 +++++++++++++++ agama-installer-openSUSE/fix_bootconfig | 89 ++++++++ agama-installer-openSUSE/images.sh | 19 ++ agama-installer-openSUSE/root.tar.xz | Bin 0 -> 10216 bytes 10 files changed, 667 insertions(+) create mode 100644 agama-installer-openSUSE/README.md create mode 100644 agama-installer-openSUSE/_constraints create mode 100644 agama-installer-openSUSE/_multibuild create mode 100644 agama-installer-openSUSE/agama-installer-openSUSE.changes create mode 100644 agama-installer-openSUSE/agama-installer-openSUSE.kiwi create mode 100644 agama-installer-openSUSE/config-cdroot.tar.xz create mode 100644 agama-installer-openSUSE/config.sh create mode 100644 agama-installer-openSUSE/fix_bootconfig create mode 100644 agama-installer-openSUSE/images.sh create mode 100644 agama-installer-openSUSE/root.tar.xz diff --git a/agama-installer-openSUSE/README.md b/agama-installer-openSUSE/README.md new file mode 100644 index 0000000..4922bbc --- /dev/null +++ b/agama-installer-openSUSE/README.md @@ -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 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. diff --git a/agama-installer-openSUSE/_constraints b/agama-installer-openSUSE/_constraints new file mode 100644 index 0000000..7e25096 --- /dev/null +++ b/agama-installer-openSUSE/_constraints @@ -0,0 +1,7 @@ + + + + 25 + + + diff --git a/agama-installer-openSUSE/_multibuild b/agama-installer-openSUSE/_multibuild new file mode 100644 index 0000000..0b3f13e --- /dev/null +++ b/agama-installer-openSUSE/_multibuild @@ -0,0 +1,4 @@ + + openSUSE + openSUSE-Playwright + diff --git a/agama-installer-openSUSE/agama-installer-openSUSE.changes b/agama-installer-openSUSE/agama-installer-openSUSE.changes new file mode 100644 index 0000000..bb2c174 --- /dev/null +++ b/agama-installer-openSUSE/agama-installer-openSUSE.changes @@ -0,0 +1,202 @@ +------------------------------------------------------------------- +Mon Jul 1 12:28:30 UTC 2024 - Lubos Kocman + +- 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 + +- Enable checksum generation for s390x agama live images + (gh#openSUSE/agama#1406). + +------------------------------------------------------------------- +Thu Jun 27 13:24:19 UTC 2024 - Imobach Gonzalez Sosa + +- Version 9 + +------------------------------------------------------------------- +Fri Jun 14 10:36:52 UTC 2024 - Ladislav Slezák + +- Experimental Agama self-update (gh#openSUSE/agama#1341) + +------------------------------------------------------------------- +Thu Jun 13 16:07:08 UTC 2024 - Ladislav Slezák + +- 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 + +- Add the jq package to the image (gh#openSUSE/agama#1314). + +------------------------------------------------------------------- +Thu Jun 6 14:30:19 UTC 2024 - Ladislav Slezák + +- 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 + +- 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 + +- Add the procps4 package to the image (gh#openSUSE/agama#1245). + +------------------------------------------------------------------- +Fri May 17 09:52:27 UTC 2024 - Imobach Gonzalez Sosa + +- Version 8 + +------------------------------------------------------------------- +Fri Feb 9 16:16:29 UTC 2024 - Ladislav Slezák + +- 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 + +- 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 + +- Version 7 + +------------------------------------------------------------------- +Mon Dec 4 16:03:08 UTC 2023 - José Iván López González + +- Remove dependencies included by Agama packages (related to + gh#openSUSE/agama#911). + +------------------------------------------------------------------- +Fri Dec 1 14:23:09 UTC 2023 - Imobach Gonzalez Sosa + +- Version 6 + +------------------------------------------------------------------- +Mon Nov 13 18:02:39 UTC 2023 - Josef Reidinger + +- Use by default zram to allow having 2GiB memory requirements + (jsc#PED-7303) + +------------------------------------------------------------------- +Mon Nov 6 08:30:01 UTC 2023 - Marcus Schäfer + +- 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 + +- 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 + +- Add adobe-sourcehansans-jp-fonts +- Version 5 + +---------------------------------------------------------------------------- +Thu Oct 19 20:19:11 UTC 2023 - Imobach González Sosa + +- Add libstorage-ng translations + +---------------------------------------------------------------------------- +Wed Sep 27 08:45:26 UTC 2023 - Imobach González Sosa + +- Version 4 + +---------------------------------------------------------------------------- +Tue Sep 26 07:55:34 UTC 2023 - Imobach González Sosa + +- Clean-up zypper logs + +---------------------------------------------------------------------------- +Tue Sep 26 05:28:35 UTC 2023 - Imobach González Sosa + +- 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 + +- Add microos-tools package and enable proxy setup services. + +---------------------------------------------------------------------------- +Tue Aug 29 09:19:26 UTC 2023 - Imobach González Sosa + +- Enable ppc64le images + +---------------------------------------------------------------------------- +Thu Aug 03 10:23:49 UTC 2023 - Imobach González Sosa + +- Disable building the ALP image for ppc64le + +---------------------------------------------------------------------------- +Wed Aug 02 10:37:21 UTC 2023 - Imobach González Sosa + +- Version 3 + +---------------------------------------------------------------------------- +Tue Aug 01 09:56:42 UTC 2023 - Imobach González Sosa + +- 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 + +- Replace ALP-build-key with suse-build-key + +---------------------------------------------------------------------------- +Tue Jul 25 14:43:39 UTC 2023 - José Iván López González + +- Update filtering + +---------------------------------------------------------------------------- +Wed Jul 05 08:27:33 UTC 2023 - Imobach González Sosa + +- Bump version to match Agama + +---------------------------------------------------------------------------- +Thu Jun 08 14:12:15 UTC 2023 - Josef Reidinger + +- add to live image also dbus services written in rust + +---------------------------------------------------------------------------- +Thu Jun 01 14:05:13 UTC 2023 - Ladislav Slezák + +- osc copypac from project:YaST:Head:Agama package:agama-live revision:13 diff --git a/agama-installer-openSUSE/agama-installer-openSUSE.kiwi b/agama-installer-openSUSE/agama-installer-openSUSE.kiwi new file mode 100644 index 0000000..d27e351 --- /dev/null +++ b/agama-installer-openSUSE/agama-installer-openSUSE.kiwi @@ -0,0 +1,139 @@ + + + + + + + YaST Team + yast2-maintainers@suse.de + Agama Live ISO + + + + + + + 9.0.0 + zypper + en_US + us + Europe/Berlin + true + false + bgrt + openSUSE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/agama-installer-openSUSE/config-cdroot.tar.xz b/agama-installer-openSUSE/config-cdroot.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000000000000000000000000000..a800bf8b7efb0d1cd9fc5fe59053f2c38c0d24059cb8e37e9c31cd4aa1bee589 GIT binary patch literal 2592 zcmV+*3g7kpH+ooF000E$*0e?hz}*vopaCHP8~^|S0001X%%36PPyY$kT>uvg!W-mk z%MhkZ`c;a`LITA24_5XxuZqR528v*Wf)}%pcB@1dEgccdzeiP!7l~(HAa+>#BL1a( zG@9ryGuj5u#1P+zxE`n3AZ&jr-Tu-Kk9>_7&^cdsb9aa2BQ@akG<)Qwgm zl7$Wij8O!XeQvJ+r$*?7ap&x8`!&F}6{8uBVB%rVDiof_a({YQ4uiikIOpSGStx7Y zhD&z#6_hgJZReQiU=2aZlitnMD0}Bn?M|p%a|r`$;jyCM3}diF9qqvOyqu#q0Qxu*yi@D?-GqAUY>lcD}P4; zH3N#vu4Ph?R_wJDR}nOP=mSzrZ-41Le+0V72dtwjC^@G$F#K^?s(9GIi#!bT}$ zmIOiO*egstFJWK|;mXAmHH;Y}bFx*K=PN!O-6y*_6p;oZ{a|iV3$$Ye$dj0WuiI96 zb5rKjoOYaSCTx8Hm^TZ0JVZ_v@?}TS***_WfZgV1`OAb66q$)(3#6L@%HcH_@ATs% z5`Lssn&$kUpO?%<;m~Kt(K|>GFmQfHf7FzvBrq% zKJO44%wN+EH=lAatx$fnRU`kP5+bW27&*^MUrMz?;gd_D&Bq#g(X^H$lVpwwW94Ix;N5RzaZ23?2V6^V%llWZ(8gYr7``I(s{99-f5Di3j~6AMUAcZgD{)BU z+~Ru&hvzk}Ew99T#+~emzeR1)?-@2C{{7H-z6@A1Ncy=iTFcs2=V;*7vWRa@e%zCS zl)c}#RI?F|x0E2;qkLaU_D??PR@NpJ5~%+%htmXNvp`X9siUdkL>VgpK<4Ax zAmC4kMZ1`2k?qOie;I6gxRdcV5)dy4J?cmoWx)M(2_DiGSO8(socDO+yUwzEg8%81 zxWTe&3=(d0v`Uj%Qy2cg`_QI9E<}osR(7C(&1zowwuaGc^{*6(!Sm9H@}9(axW}S^ zp?0gJ9hMTZN73NBt685``n}}w$xq4XL)9`bw3WH#pCKMD^jF2e;gNW`Ms6$eTjVm0 zuB4A$SVm@b$FATJE&_TyDoXIX_^O;8lNK1iMazI4y`FvSDCyKX?&GgNrGHI>POq`} zn^ho(Y*>41dsuJvgv`Hf&V#oAv2J6`@Y;iAF0SG_oSB38(}mW3uheo9cREQ*ELg<` z##i$@Je9d(xm*pM+=mBrOEZ?7Pr)D8urPv=5v+D?PkTks*y3m7NF45SPUhK9<3YhU z!rjbO4R@lXU*J3*T?s)azQSJkrK)n-7O)LDdT25w?Ee&@rZzY~-JT4GGqKz7@)QM^?^|b#J zbmS5hd$WN}M_|yS$g2LbU#+^VVf)&Y?s&9yCp<<}nFCS)D$@sZR}U@cCEYCKGBJ@P zTFP_sn0^u&p-d1_=Iyy^*Aq3ojTKG(g3KCg8(7!_7vrY*)uHX3x;%3!iTdBL-&3H| zvrKWFO0kI;zDkmkB^r`*1&{JvZ9zW|u0MUaB!rPGs<)@b zRC?Y{wzSwvZ76))VpcQ;wWyf`ih()a+ax*>;11jM9#4#Pn1?3Ny!GR)3d$T()ZS|z zeak{3gCVQ331 zk;=QVwPP(OSW|~_brdN)Lzj?gYv(c^GYaLV;XTe$HnNX?-4t)vF%+jh(i|tv>3%h6 zvP>QV-QV6x=Os(@Wi&gJ+P)%gv!m=(+y(I?vuBl=LRAJFuy6EKzHel+(a4>exE|gu zRUIX%FbeGI_F#I%*tk4T&4Xm!r;U9P3wSwqLRUDs5p3gyT1g)nEW*7`Vbu6X8~0RA z4H}^ofjw6{Nb5XXT*6;8;YQ_YZgas-$ShKQK-QoCVd22vpWoKYv@ z*M$^OJabN=yR&$pSPWwNY22tP2RtkJSddZ`088puaDWL z`ZY_i^!M0LDrc1d%D=1dS?d)Q0B{Nui&nAosCtT$5X zXV%RjilxBe-PGN|bJEnMcah7b29A4o&e07OdY#-OHE#L06JtaG4iskpHs){&=4`6j zF#e^hDMcXFU6YVW(y}T5WQ12#D zA9iil+QPEpT(IdRWA4y$MsAX%WpD{VV{y2^re))9l0MyBe zgW=pY?2HYp`74zb&~mS>@o?XRpx`3x)|A9`yggU8!9=;c1lhVTWqd)b z&Z(pBA2ovL)@#BuLuS7JhG2W8d1|B9<1RU55orK?<5NQQK6NY&=rS8~cS=|9$EbFw z)z?1rQ|D<-OeP8KSxx`|0002Z(>bnRG1t@p0r?YvpaB3xtFrsC#Ao{g000001X)@q C%>?%V literal 0 HcmV?d00001 diff --git a/agama-installer-openSUSE/config.sh b/agama-installer-openSUSE/config.sh new file mode 100644 index 0000000..d83b48b --- /dev/null +++ b/agama-installer-openSUSE/config.sh @@ -0,0 +1,172 @@ +#! /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 + +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 diff --git a/agama-installer-openSUSE/fix_bootconfig b/agama-installer-openSUSE/fix_bootconfig new file mode 100644 index 0000000..1482824 --- /dev/null +++ b/agama-installer-openSUSE/fix_bootconfig @@ -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 </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 diff --git a/agama-installer-openSUSE/images.sh b/agama-installer-openSUSE/images.sh new file mode 100644 index 0000000..e5c5c7c --- /dev/null +++ b/agama-installer-openSUSE/images.sh @@ -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 diff --git a/agama-installer-openSUSE/root.tar.xz b/agama-installer-openSUSE/root.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000000000000000000000000000..f57447012730e4faaf2825aa55ab26f1d7a2479a98c7580801edd5725b729662 GIT binary patch literal 10216 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 literal 0 HcmV?d00001