oemaker/0002-add-config-for-arch-ppc64le.patch
2024-07-05 17:16:38 +08:00

1248 lines
50 KiB
Diff

From 145c0817bfb3cd5527678a69090c567f34d7ac44 Mon Sep 17 00:00:00 2001
From: "jiahua.yu" <jiahua.yu@shingroup.cn>
Date: Thu, 28 Mar 2024 15:51:22 +0800
Subject: [PATCH 2/3] add config for arch ppc64le
---
isocut/config/ppc/anaconda-ks.cfg | 372 ++++++++++++++++++
isocut/config/ppc/rpmlist | 1 +
.../config_files/ppc/bootinfo.txt | 170 ++++++++
.../config_files/ppc/grub.cfg.in} | 0
isomaker/80-openeuler/live/ppc64le.tmpl | 96 +++++
isomaker/80-openeuler/ppc64le.tmpl | 103 +++++
isomaker/config/ppc/edge_normal.xml | 158 ++++++++
isomaker/config/ppc/normal.xml | 222 +++++++++++
isomaker/config/ppc/standard.conf | 6 +
.../live/config_files/ppc64le/grub.cfg.in | 30 ++
10 files changed, 1158 insertions(+)
create mode 100644 isocut/config/ppc/anaconda-ks.cfg
create mode 100644 isocut/config/ppc/rpmlist
create mode 100644 isomaker/80-openeuler/config_files/ppc/bootinfo.txt
rename isomaker/{config/ppc64le/livecd/live/config_files/ppc64le/grub.cfg => 80-openeuler/config_files/ppc/grub.cfg.in} (100%)
create mode 100644 isomaker/80-openeuler/live/ppc64le.tmpl
create mode 100644 isomaker/80-openeuler/ppc64le.tmpl
create mode 100644 isomaker/config/ppc/edge_normal.xml
create mode 100644 isomaker/config/ppc/normal.xml
create mode 100644 isomaker/config/ppc/standard.conf
create mode 100644 isomaker/config/ppc64le/livecd/live/config_files/ppc64le/grub.cfg.in
diff --git a/isocut/config/ppc/anaconda-ks.cfg b/isocut/config/ppc/anaconda-ks.cfg
new file mode 100644
index 0000000..9bd7cfe
--- /dev/null
+++ b/isocut/config/ppc/anaconda-ks.cfg
@@ -0,0 +1,372 @@
+#version=DEVEL
+# Use CDROM installation media
+cdrom
+# Use graphical install
+graphical
+# Run the Setup Agent on first boot
+firstboot --enable
+ignoredisk --only-use=sda
+# Keyboard layouts
+keyboard --vckeymap=us --xlayouts='us'
+# System language
+lang en_US.UTF-8
+
+# Network information
+network --bootproto=dhcp --device=ens3 --onboot=off --ipv6=auto
+network --hostname=localhost.localdomain
+
+# Root password
+rootpw --iscrypted $6$xcWWTkm29Zd5V8hv$MrbjVgQ.BCaRXoTGcpq2snPnGx36HUuC7uqH0IEMV3QQXDT6lacPX32Zwdn3yeq4aywymTlaO6anqzZ8tnKFA1
+# System timezone
+timezone Asia/Beijing --isUtc
+# Reboot after install
+reboot
+# System bootloader configuration
+bootloader --append=" net.ifnames=0 biosdevname=0" --location=mbr --boot-drive=sda
+autopart --type=lvm
+# Partition clearing information
+clearpart --all --initlabel --drives=sda
+
+%packages --multilib --ignoremissing
+acl.ppc64le
+aide.ppc64le
+audit-libs.ppc64le
+audit.ppc64le
+autogen-libopts.ppc64le
+avahi-libs.ppc64le
+basesystem.noarch
+bash.ppc64le
+bind-libs-lite.ppc64le
+bind-libs.ppc64le
+bind-utils.ppc64le
+blktrace.ppc64le
+bridge-utils.ppc64le
+bzip2-libs.ppc64le
+bzip2.ppc64le
+chkconfig.ppc64le
+cifs-utils.ppc64le
+coreutils.ppc64le
+cpio.ppc64le
+cracklib-dicts.ppc64le
+cracklib.ppc64le
+cronie-anacron.ppc64le
+cronie.ppc64le
+crontabs.noarch
+cryptsetup-libs.ppc64le
+cups-libs.ppc64le
+curl.ppc64le
+cyrus-sasl-lib.ppc64le
+dbus-glib.ppc64le
+dbus-libs.ppc64le
+dbus.ppc64le
+deltarpm.ppc64le
+device-mapper-event-libs.ppc64le
+device-mapper-event.ppc64le
+device-mapper-libs.ppc64le
+device-mapper-persistent-data.ppc64le
+device-mapper.ppc64le
+dhcp-libs.ppc64le
+diffutils.ppc64le
+dmidecode.ppc64le
+dos2unix.ppc64le
+dracut-network.ppc64le
+dracut.ppc64le
+dump_mem_tool.ppc64le
+e2fsprogs-libs.ppc64le
+e2fsprogs.ppc64le
+elfutils-libelf.ppc64le
+elfutils-libs.ppc64le
+ethtool.ppc64le
+openEuler-release.ppc64le
+expat-devel.ppc64le
+expat.ppc64le
+expect.ppc64le
+file-libs.ppc64le
+filesystem.ppc64le
+file.ppc64le
+findutils.ppc64le
+fipscheck-lib.ppc64le
+fipscheck.ppc64le
+freetype.ppc64le
+fuse.ppc64le
+gawk.ppc64le
+gdbm.ppc64le
+genisoimage.ppc64le
+gettext-libs.ppc64le
+gettext.ppc64le
+glib2.ppc64le
+glibc-common.ppc64le
+glibc.ppc64le
+gmp.ppc64le
+gnupg2.ppc64le
+gobject-introspection.ppc64le
+gpgme.ppc64le
+gpm-libs.ppc64le
+grep.ppc64le
+grub2-tools.ppc64le
+grubby.ppc64le
+gssproxy.ppc64le
+gzip.ppc64le
+hardlink.ppc64le
+hdparm.ppc64le
+hostname.ppc64le
+hwdata.noarch
+info.ppc64le
+initscripts.ppc64le
+iotop.noarch
+ipmitool.ppc64le
+iproute.ppc64le
+iptables.ppc64le
+iputils.ppc64le
+irqbalance.ppc64le
+json-c.ppc64le
+kbox-kmod.ppc64le
+kernel-tools-libs.ppc64le
+kernel-tools.ppc64le
+kernel.ppc64le
+kexec-tools.ppc64le
+keyutils-libs.ppc64le
+keyutils.ppc64le
+kmod-libs.ppc64le
+kmod.ppc64le
+kpartx.ppc64le
+kpatch-runtime.noarch
+krb5-libs.ppc64le
+less.ppc64le
+libacl.ppc64le
+libaio.ppc64le
+libalarm.ppc64le
+libassuan.ppc64le
+libattr.ppc64le
+libbasicobjects.ppc64le
+libblkid.ppc64le
+libcap-ng.ppc64le
+libcap.ppc64le
+libcgroup-tools.ppc64le
+libcgroup.ppc64le
+libcollection.ppc64le
+libcom_err.ppc64le
+libcroco.ppc64le
+libcurl.ppc64le
+libdb-utils.ppc64le
+libdb.ppc64le
+libedit.ppc64le
+libestr.ppc64le
+libevent.ppc64le
+libffi.ppc64le
+libgcc.ppc64le
+libgcrypt.ppc64le
+libgomp.ppc64le
+libgpg-error.ppc64le
+libidn.ppc64le
+libini_config.ppc64le
+libldb.ppc64le
+libmnl.ppc64le
+libmount.ppc64le
+libnetfilter_conntrack.ppc64le
+libnfnetlink.ppc64le
+libnfsidmap.ppc64le
+libpath_utils.ppc64le
+libpcap.ppc64le
+libpciaccess.ppc64le
+libpwquality.ppc64le
+libref_array.ppc64le
+libsecurec.ppc64le
+libselinux.ppc64le
+libsemanage.ppc64le
+libsepol.ppc64le
+libssh2.ppc64le
+libss.ppc64le
+libstdc++.ppc64le
+libsysfs.ppc64le
+libtalloc.ppc64le
+libtasn1.ppc64le
+libtdb.ppc64le
+libtevent.ppc64le
+libtirpc.ppc64le
+libunistring.ppc64le
+libusal.ppc64le
+libuser.ppc64le
+libutempter.ppc64le
+libuuid.ppc64le
+libverto.ppc64le
+libwbclient.ppc64le
+libxml2.ppc64le
+libxslt.ppc64le
+linux-firmware.noarch
+lm_sensors-libs.ppc64le
+logrotate.ppc64le
+lsof.ppc64le
+lsscsi.ppc64le
+lua.ppc64le
+lvm2-libs.ppc64le
+lvm2.ppc64le
+lzo.ppc64le
+mailcap.noarch
+mailx.ppc64le
+man-db.ppc64le
+mtools.ppc64le
+ncurses-base.noarch
+ncurses-libs.ppc64le
+ncurses.ppc64le
+net-snmp-libs.ppc64le
+net-tools.ppc64le
+nfs-utils.ppc64le
+nscd.ppc64le
+nspr.ppc64le
+nss-softokn-freebl.ppc64le
+nss-softokn.ppc64le
+nss-sysinit.ppc64le
+nss-tools.ppc64le
+nss-util.ppc64le
+nss.ppc64le
+ntpdate.ppc64le
+numactl-libs.ppc64le
+numactl.ppc64le
+numad.ppc64le
+OpenIPMI-libs.ppc64le
+OpenIPMI.ppc64le
+openldap.ppc64le
+openssh-clients.ppc64le
+openssh-server.ppc64le
+openssh.ppc64le
+openssl-libs.ppc64le
+openssl.ppc64le
+p11-kit-trust.ppc64le
+p11-kit.ppc64le
+pam.ppc64le
+parted.ppc64le
+passwd.ppc64le
+pciutils-libs.ppc64le
+pciutils.ppc64le
+pcre.ppc64le
+perl-Business-ISBN-Data.noarch
+perl-Business-ISBN.noarch
+perl-Carp.noarch
+perl-Compress-Raw-Bzip2.ppc64le
+perl-Compress-Raw-Zlib.ppc64le
+perl-Config-IniFiles.noarch
+perl-constant.noarch
+perl-Data-Dumper.ppc64le
+perl-DBD-SQLite.ppc64le
+perl-DBI.ppc64le
+perl-Digest-MD5.ppc64le
+perl-Digest.noarch
+perl-Digest-SHA.ppc64le
+perl-Encode-Locale.noarch
+perl-Encode.ppc64le
+perl-Exporter.noarch
+perl-File-Listing.noarch
+perl-File-Path.noarch
+perl-File-Temp.noarch
+perl-Filter.ppc64le
+perl-Getopt-Long.noarch
+perl-HTML-Parser.ppc64le
+perl-HTML-Tagset.noarch
+perl-HTTP-Cookies.noarch
+perl-HTTP-Daemon.noarch
+perl-HTTP-Date.noarch
+perl-HTTP-Message.noarch
+perl-HTTP-Negotiate.noarch
+perl-HTTP-Tiny.noarch
+perl-IO-Compress.noarch
+perl-IO-HTML.noarch
+perl-IO-Socket-IP.noarch
+perl-IO-Socket-SSL.noarch
+perl-libs.ppc64le
+perl-libwww-perl.noarch
+perl-List-MoreUtils.noarch
+perl-LWP-MediaTypes.noarch
+perl-macros.ppc64le
+perl-Net-Daemon.noarch
+perl-Net-HTTP.noarch
+perl-Net-LibIDN.ppc64le
+perl-Net-SSLeay.ppc64le
+perl-parent.noarch
+perl-PathTools.ppc64le
+perl-Pod-Escapes.noarch
+perl-podlators.noarch
+perl-Pod-Perldoc.noarch
+perl-Pod-Simple.noarch
+perl-Pod-Usage.noarch
+perl-Scalar-List-Utils.ppc64le
+perl-Socket.ppc64le
+perl-Storable.ppc64le
+perl-Text-ParseWords.noarch
+perl-threads-shared.ppc64le
+perl-threads.ppc64le
+perl-TimeDate.noarch
+perl-Time-HiRes.ppc64le
+perl-Time-Local.noarch
+perl-URI.noarch
+perl-WWW-RobotRules.noarch
+perl.ppc64le
+perl-XML-LibXML.ppc64le
+perl-XML-NamespaceSupport.noarch
+perl-XML-SAX-Base.noarch
+perl-XML-SAX.noarch
+pinentry.ppc64le
+popt.ppc64le
+procps-ng.ppc64le
+psmisc.ppc64le
+qrencode-libs.ppc64le
+quota-nls.noarch
+quota.ppc64le
+rasdaemon.ppc64le
+readline.ppc64le
+rootfiles.noarch
+rpcbind.ppc64le
+rpm-build-libs.ppc64le
+rpm-libs.ppc64le
+rpm.ppc64le
+rsync.ppc64le
+rsyslog.ppc64le
+samba-libs.ppc64le
+screen.ppc64le
+security-tool.ppc64le
+sed.ppc64le
+setup.noarch
+shadow-utils.ppc64le
+smartmontools.ppc64le
+sqlite.ppc64le
+squashfs-tools.ppc64le
+sudo.ppc64le
+sysfsutils.ppc64le
+sysmonitor-kmod.ppc64le
+sysstat.ppc64le
+systemd-libs.ppc64le
+systemd.ppc64le
+tar.ppc64le
+tcp_wrappers-libs.ppc64le
+tcp_wrappers.ppc64le
+teamd.ppc64le
+tuned.noarch
+tzdata.noarch
+unzip.ppc64le
+util-linux.ppc64le
+vim-common.ppc64le
+vim-enhanced.ppc64le
+vim-filesystem.noarch
+vim-minimal.ppc64le
+virt-what.ppc64le
+wget.ppc64le
+which.ppc64le
+xfsprogs.ppc64le
+xz-libs.ppc64le
+xz.ppc64le
+zip.ppc64le
+zlib.ppc64le
+dnf.noarch
+dnf-utils.noarch
+authselect.ppc64le
+authselect-libs.ppc64le
+grub2-efi-aa64.ppc64le
+grub2-efi-aa64-cdboot.ppc64le
+grub2-common.noarch
+grub2-tools.ppc64le
+shim-aa64.ppc64le
+openEuler-logos.noarch
+network-scripts.ppc64le
+NetworkManager.ppc64le
+
+%end
diff --git a/isocut/config/ppc/rpmlist b/isocut/config/ppc/rpmlist
new file mode 100644
index 0000000..884e2de
--- /dev/null
+++ b/isocut/config/ppc/rpmlist
@@ -0,0 +1 @@
+kernel.ppc64le
diff --git a/isomaker/80-openeuler/config_files/ppc/bootinfo.txt b/isomaker/80-openeuler/config_files/ppc/bootinfo.txt
new file mode 100644
index 0000000..6eac6c4
--- /dev/null
+++ b/isomaker/80-openeuler/config_files/ppc/bootinfo.txt
@@ -0,0 +1,170 @@
+<chrp-boot>
+<description>grub 2.00</description>
+<os-name>grub 2.00</os-name>
+<boot-script>boot &device;:\boot\grub\powerpc-ieee1275\core.elf</boot-script>
+<icon size=64,64 color-space=3,3,2>
+<bitmap> FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
+FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 </bitmap> </icon> </chrp-boot>
diff --git a/isomaker/config/ppc64le/livecd/live/config_files/ppc64le/grub.cfg b/isomaker/80-openeuler/config_files/ppc/grub.cfg.in
similarity index 100%
rename from isomaker/config/ppc64le/livecd/live/config_files/ppc64le/grub.cfg
rename to isomaker/80-openeuler/config_files/ppc/grub.cfg.in
diff --git a/isomaker/80-openeuler/live/ppc64le.tmpl b/isomaker/80-openeuler/live/ppc64le.tmpl
new file mode 100644
index 0000000..5cd79e0
--- /dev/null
+++ b/isomaker/80-openeuler/live/ppc64le.tmpl
@@ -0,0 +1,96 @@
+<%page args="kernels, runtime_img, basearch, libdir, inroot, outroot, product, isolabel, extra_boot_args"/>
+<%
+configdir="tmp/config_files/ppc"
+BOOTDIR="ppc"
+GRUBDIR="boot/grub"
+LIVEDIR="LiveOS"
+LORAXDIR="usr/share/lorax/"
+
+## NOTE: yaboot freaks out and stops parsing its config if it sees a '\',
+## so we can't use the udev escape sequences in the root arg.
+## Instead we'll just replace any non-ASCII characters in the isolabel
+## with '_', which means we won't need any udev escapes.
+isolabel = ''.join(ch if ch.isalnum() else '_' for ch in isolabel)
+
+import os
+from os.path import basename
+from pylorax.sysutils import joinpaths
+
+# Test the runtime_img, if it is > 4GiB we need to set -iso-level to 3
+if os.stat(joinpaths(inroot, runtime_img)).st_size >= 4*1024**3:
+ isoargs = "-iso-level 3"
+else:
+ isoargs = ""
+%>
+
+mkdir ${LIVEDIR}
+install ${runtime_img} ${LIVEDIR}/squashfs.img
+treeinfo stage2 mainimage ${LIVEDIR}/squashfs.img
+
+## install the bootloaders
+## ppc/chrp: for normal PPC systems.
+## uses /ppc/bootinfo.txt in the iso root
+## uses /boot/grub/grub.cfg in the iso root
+mkdir ${BOOTDIR}
+## boot stuff for normal (CHRP/PREP) PPC systems
+install ${configdir}/bootinfo.txt ${BOOTDIR}
+
+mkdir ${GRUBDIR}/powerpc-ieee1275
+## "()" means the current device to grub2
+runcmd grub2-mkimage --format=powerpc-ieee1275 --directory=/usr/lib/grub/powerpc-ieee1275 --prefix="()/"${GRUBDIR} \
+--output=${outroot}/${GRUBDIR}/powerpc-ieee1275/core.elf iso9660 ext2 ofnet net tftp http
+install /usr/lib/grub/powerpc-ieee1275/*.mod ${GRUBDIR}/powerpc-ieee1275
+install /usr/lib/grub/powerpc-ieee1275/*.lst ${GRUBDIR}/powerpc-ieee1275
+
+install ${configdir}/grub.cfg.in ${GRUBDIR}/grub.cfg
+replace @PRODUCT@ '${product.name}' ${GRUBDIR}/grub.cfg
+replace @VERSION@ ${product.version} ${GRUBDIR}/grub.cfg
+replace @ROOT@ 'root=live:CDLABEL=${isolabel|udev}' ${GRUBDIR}/grub.cfg
+replace @EXTRA@ '${extra_boot_args}' ${GRUBDIR}/grub.cfg
+
+## Install kernel and bootloader config (in separate places for each arch)
+%for kernel in kernels:
+ <%
+ bits = 64
+ ## separate dirs/images for each arch
+ KERNELDIR=BOOTDIR+"/ppc%s" % bits
+ %>
+ ## install kernel
+ mkdir ${KERNELDIR}
+ installkernel images-${kernel.arch} ${kernel.path} ${KERNELDIR}/vmlinuz
+ installinitrd images-${kernel.arch} ${kernel.initrd.path} ${KERNELDIR}/initrd.img
+
+ treeinfo images-${kernel.arch} zimage
+%endfor
+
+# Create optional product.img and updates.img
+<% filegraft=""; images=["product", "updates"] %>
+%for img in images:
+ %if exists("%s/%s/" % (LORAXDIR, img)):
+ installimg ${LORAXDIR}/${img}/ images/${img}.img
+ treeinfo images-${basearch} ${img}.img images/${img}.img
+ <% filegraft += " images/{0}.img={1}/images/{0}.img".format(img, outroot) %>
+ %endif
+%endfor
+
+# Add the license files
+%for f in glob("/usr/share/licenses/*-release/*"):
+ install ${f} ${f|basename}
+ <% filegraft += " {0}={1}/{0}".format(basename(f), outroot) %>
+%endfor
+
+## make boot.iso
+runcmd xorrisofs -v -U -J -R ${isoargs} \
+ -o ${outroot}/images/boot.iso \
+ -r -l -sysid PPC \
+ -A "${product.name} ${product.version}" -V '${isolabel}' \
+ -volset "${product.version}" -volset-size 1 -volset-seqno 1 \
+ -chrp-boot \
+ -graft-points \
+ ${BOOTDIR}=${outroot}/${BOOTDIR} \
+ ${GRUBDIR}=${outroot}/${GRUBDIR} \
+ ${LIVEDIR}=${outroot}/${LIVEDIR} ${filegraft}
+
+%for kernel in kernels:
+ treeinfo images-${kernel.arch} boot.iso images/boot.iso
+%endfor
diff --git a/isomaker/80-openeuler/ppc64le.tmpl b/isomaker/80-openeuler/ppc64le.tmpl
new file mode 100644
index 0000000..dc03c09
--- /dev/null
+++ b/isomaker/80-openeuler/ppc64le.tmpl
@@ -0,0 +1,103 @@
+<%page args="kernels, runtime_img, basearch, libdir, inroot, outroot, product, isolabel"/>
+<%
+configdir="tmp/config_files/ppc"
+BOOTDIR="ppc"
+GRUBDIR="boot/grub"
+STAGE2IMG="images/install.img"
+LORAXDIR="usr/share/lorax/"
+
+## Don't allow spaces or escape characters in the iso label
+def valid_label(ch):
+ return ch.isalnum() or ch == '_'
+
+isolabel = ''.join(ch if valid_label(ch) else '-' for ch in isolabel)
+
+import os
+from os.path import basename
+from pylorax.sysutils import joinpaths
+
+# Test the runtime_img, if it is > 4GiB we need to set -iso-level to 3
+if os.stat(joinpaths(inroot, runtime_img)).st_size >= 4*1024**3:
+ isoargs = "-iso-level 3"
+else:
+ isoargs = ""
+%>
+
+mkdir images
+install ${runtime_img} ${STAGE2IMG}
+treeinfo stage2 mainimage ${STAGE2IMG}
+
+## install the bootloaders
+## ppc/chrp: for normal PPC systems.
+## uses /ppc/bootinfo.txt in the iso root
+## uses /boot/grub/grub.cfg in the iso root
+mkdir ${BOOTDIR}
+## boot stuff for normal (CHRP/PREP) PPC systems
+install ${configdir}/bootinfo.txt ${BOOTDIR}
+
+mkdir ${GRUBDIR}/powerpc-ieee1275
+## "()" means the current device to grub2
+runcmd grub2-mkimage --format=powerpc-ieee1275 --directory=/usr/lib/grub/powerpc-ieee1275 --prefix="()/"${GRUBDIR} \
+--output=${outroot}/${GRUBDIR}/powerpc-ieee1275/core.elf iso9660 ext2 ofnet net tftp http
+install /usr/lib/grub/powerpc-ieee1275/*.mod ${GRUBDIR}/powerpc-ieee1275
+install /usr/lib/grub/powerpc-ieee1275/*.lst ${GRUBDIR}/powerpc-ieee1275
+
+install ${configdir}/grub.cfg.in ${GRUBDIR}/grub.cfg
+replace @PRODUCT@ '${product.name}' ${GRUBDIR}/grub.cfg
+replace @VERSION@ ${product.version} ${GRUBDIR}/grub.cfg
+replace @ROOT@ 'inst.stage2=hd:LABEL=${isolabel|udev}' ${GRUBDIR}/grub.cfg
+
+## Install kernel and bootloader config (in separate places for each arch)
+%for kernel in kernels:
+ <%
+ bits = 64
+ ## separate dirs/images for each arch
+ KERNELDIR=BOOTDIR+"/ppc%s" % bits
+ %>
+ ## install kernel
+ mkdir ${KERNELDIR}
+ installkernel images-${kernel.arch} ${kernel.path} ${KERNELDIR}/vmlinuz
+ installinitrd images-${kernel.arch} ${kernel.initrd.path} ${KERNELDIR}/initrd.img
+
+ treeinfo images-${kernel.arch} zimage
+%endfor
+
+# Create optional product.img and updates.img
+<% filegraft=""; images=["product", "updates"] %>
+%for img in images:
+ %if exists("%s/%s/" % (LORAXDIR, img)):
+ installimg ${LORAXDIR}/${img}/ images/${img}.img
+ treeinfo images-${basearch} ${img}.img images/${img}.img
+ <% filegraft += " images/{0}.img={1}/images/{0}.img".format(img, outroot) %>
+ %endif
+%endfor
+
+# Inherit iso-graft/ if it exists from external templates
+<%
+ import os
+ if os.path.exists(workdir + "/iso-graft"):
+ filegraft += " " + workdir + "/iso-graft"
+%>
+
+# Add the license files
+%for f in glob("/usr/share/licenses/*-release/*"):
+ install ${f} ${f|basename}
+ <% filegraft += " {0}={1}/{0}".format(basename(f), outroot) %>
+%endfor
+
+## make boot.iso
+runcmd xorrisofs -v -U -J -R ${isoargs} \
+ -o ${outroot}/images/boot.iso \
+ -r -l -sysid PPC \
+ -A "${product.name} ${product.version}" -V '${isolabel}' \
+ -volset "${product.version}" -volset-size 1 -volset-seqno 1 \
+ -chrp-boot \
+ -graft-points \
+ .discinfo=${outroot}/.discinfo \
+ ${BOOTDIR}=${outroot}/${BOOTDIR} \
+ ${GRUBDIR}=${outroot}/${GRUBDIR} \
+ ${STAGE2IMG}=${outroot}/${STAGE2IMG} ${filegraft}
+
+%for kernel in kernels:
+ treeinfo images-${kernel.arch} boot.iso images/boot.iso
+%endfor
diff --git a/isomaker/config/ppc/edge_normal.xml b/isomaker/config/ppc/edge_normal.xml
new file mode 100644
index 0000000..8ce22fc
--- /dev/null
+++ b/isomaker/config/ppc/edge_normal.xml
@@ -0,0 +1,158 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE comps
+ PUBLIC '-//openEuler//DTD Comps info//EN'
+ 'comps.dtd'>
+<comps>
+ <group>
+ <id>core</id>
+ <name>Core</name>
+ <name xml:lang="zh_CN">核心</name>
+ <description>Smallest possible installation</description>
+ <description xml:lang="zh_CN">最小安装</description>
+ <default>true</default>
+ <uservisible>false</uservisible>
+ <packagelist>
+ <packagereq type="mandatory">audit</packagereq>
+ <packagereq type="mandatory">kernel</packagereq>
+ <packagereq type="mandatory">basesystem</packagereq>
+ <packagereq type="mandatory">bash</packagereq>
+ <packagereq type="mandatory">coreutils</packagereq>
+ <packagereq type="mandatory">cronie</packagereq>
+ <packagereq type="mandatory">curl</packagereq>
+ <packagereq type="mandatory">dnf</packagereq>
+ <packagereq type="mandatory">e2fsprogs</packagereq>
+ <packagereq type="mandatory">filesystem</packagereq>
+ <packagereq type="mandatory">firewalld</packagereq>
+ <packagereq type="mandatory">glibc</packagereq>
+ <packagereq type="mandatory">grubby</packagereq>
+ <packagereq type="mandatory">hostname</packagereq>
+ <packagereq type="mandatory">initscripts</packagereq>
+ <packagereq type="mandatory">iproute</packagereq>
+ <packagereq type="mandatory">iprutils</packagereq>
+ <packagereq type="mandatory">iputils</packagereq>
+ <packagereq type="mandatory">irqbalance</packagereq>
+ <packagereq type="mandatory">kbd</packagereq>
+ <packagereq type="mandatory">kexec-tools</packagereq>
+ <packagereq type="mandatory">less</packagereq>
+ <packagereq type="mandatory">man-db</packagereq>
+ <packagereq type="mandatory">ncurses</packagereq>
+ <packagereq type="mandatory">openssh</packagereq>
+ <packagereq type="mandatory">openssh-server</packagereq>
+ <packagereq type="mandatory">openssh-clients</packagereq>
+ <packagereq type="mandatory">parted</packagereq>
+ <packagereq type="mandatory">passwd</packagereq>
+ <packagereq type="mandatory">policycoreutils</packagereq>
+ <packagereq type="mandatory">procps-ng</packagereq>
+ <packagereq type="mandatory">rng-tools</packagereq>
+ <packagereq type="mandatory">rootfiles</packagereq>
+ <packagereq type="mandatory">rpm</packagereq>
+ <packagereq type="mandatory">selinux-policy-targeted</packagereq>
+ <packagereq type="mandatory">setup</packagereq>
+ <packagereq type="mandatory">shadow</packagereq>
+ <packagereq type="mandatory">sssd</packagereq>
+ <packagereq type="mandatory">sudo</packagereq>
+ <packagereq type="mandatory">systemd</packagereq>
+ <packagereq type="mandatory">tuned</packagereq>
+ <packagereq type="mandatory">util-linux</packagereq>
+ <packagereq type="mandatory">vim-minimal</packagereq>
+ <packagereq type="mandatory">xfsprogs</packagereq>
+ <packagereq type="mandatory">yum</packagereq>
+ <packagereq type="mandatory">wget</packagereq>
+ <packagereq type="mandatory">openEuler-release</packagereq>
+ <packagereq type="mandatory">openEuler-performance</packagereq>
+ <packagereq type="mandatory">openEuler-latest-release</packagereq>
+ <packagereq type="default">NetworkManager</packagereq>
+ <packagereq type="default">NetworkManager-config-server</packagereq>
+ <packagereq type="default">authselect</packagereq>
+ <packagereq type="default">dnf-plugins-core</packagereq>
+ <packagereq type="default">dracut-config-rescue</packagereq>
+ <packagereq type="default">kernel-tools</packagereq>
+ <packagereq type="default">sysfsutils</packagereq>
+ <packagereq type="default">linux-firmware</packagereq>
+ <packagereq type="default">lshw</packagereq>
+ <packagereq type="default">lsscsi</packagereq>
+ <packagereq type="default">rsyslog</packagereq>
+ <packagereq type="default">security-tool</packagereq>
+ <packagereq type="default">sg3_utils</packagereq>
+ <packagereq type="optional">dracut-config-generic</packagereq>
+ <packagereq type="optional">dracut-network</packagereq>
+ <packagereq type="optional">rdma-core</packagereq>
+ <packagereq type="optional">selinux-policy-mls</packagereq>
+ <packagereq type="default">patch</packagereq>
+ <packagereq type="default">patch-help</packagereq>
+ <packagereq type="default">ntp</packagereq>
+ <packagereq type="default">ntp-help</packagereq>
+ <packagereq type="default">ntp-perl</packagereq>
+ <packagereq type="default">iSulad</packagereq>
+ <packagereq type="default">tar</packagereq>
+ <packagereq type="default">socat</packagereq>
+ <packagereq type="default">socat-help</packagereq>
+ <packagereq type="default">conntrack-tools</packagereq>
+ <packagereq type="default">conntrack-tools-help</packagereq>
+ <packagereq type="optional">vim-X11</packagereq>
+ <packagereq type="default">vim-common</packagereq>
+ <packagereq type="optional">vim-enhanced</packagereq>
+ <packagereq type="optional">vim-filesystem</packagereq>
+ <packagereq type="optional">vim-minimal</packagereq>
+ <packagereq type="optional">efibootmgr</packagereq>
+ <packagereq type="optional">efibootmgr-help</packagereq>
+ <packagereq type="optional">cjson</packagereq>
+ <packagereq type="optional">cjson-devel</packagereq>
+ <packagereq type="optional">mosquitto</packagereq>
+ <packagereq type="optional">chrony</packagereq>
+ </packagelist>
+ </group>
+ <group>
+ <id>edge</id>
+ <name>Edge</name>
+ <name xml:lang="zh_CN">边缘场景</name>
+ <description>Package for edge scene</description>
+ <description xml:lang="zh_CN">边缘场景相关包</description>
+ <default>true</default>
+ <uservisible>false</uservisible>
+ <packagelist>
+ <packagereq type="default">kubernetes</packagereq>
+ <packagereq type="default">kubernetes-client</packagereq>
+ <packagereq type="default">kubernetes-help</packagereq>
+ <packagereq type="default">kubernetes-kubeadm</packagereq>
+ <packagereq type="default">kubernetes-kubelet</packagereq>
+ <packagereq type="default">kubernetes-master</packagereq>
+ <packagereq type="default">kubernetes-node</packagereq>
+ <packagereq type="default">kubeedge-cloudcore</packagereq>
+ <packagereq type="default">kubeedge-edgecore</packagereq>
+ <packagereq type="default">kubeedge-edgesite</packagereq>
+ <packagereq type="default">kubeedge-keadm</packagereq>
+ <packagereq type="default">mdadm</packagereq>
+ <packagereq type="default">mdadm-help</packagereq>
+ </packagelist>
+ </group>
+ <environment>
+ <id>minimal-environment</id>
+ <name>Minimal Install</name>
+ <name xml:lang="zh_CN">最小安装</name>
+ <description>Basic functionality.</description>
+ <description xml:lang="zh_CN">基本功能。</description>
+ <display_order>1</display_order>
+ <grouplist>
+ <groupid>core</groupid>
+ </grouplist>
+ <optionlist>
+ <groupid>standard</groupid>
+ </optionlist>
+ </environment>
+ <environment>
+ <id>edge-cloud-environment</id>
+ <name>Edge Cloud</name>
+ <name xml:lang="zh_CN">边缘云</name>
+ <description>For edge computing scenarios</description>
+ <description xml:lang="zh_CN">用于边缘计算场景</description>
+ <display_order>2</display_order>
+ <grouplist>
+ <groupid>core</groupid>
+ <groupid>edge</groupid>
+ </grouplist>
+ <optionlist>
+ <groupid>standard</groupid>
+ </optionlist>
+ </environment>
+</comps>
diff --git a/isomaker/config/ppc/normal.xml b/isomaker/config/ppc/normal.xml
new file mode 100644
index 0000000..2ccad86
--- /dev/null
+++ b/isomaker/config/ppc/normal.xml
@@ -0,0 +1,222 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE comps
+ PUBLIC '-//openEuler//DTD Comps info//EN'
+ 'comps.dtd'>
+<comps>
+ <group>
+ <id>core</id>
+ <name>Core</name>
+ <name xml:lang="zh_CN">核心</name>
+ <description>Smallest possible installation</description>
+ <description xml:lang="zh_CN">最小安装</description>
+ <default>true</default>
+ <uservisible>false</uservisible>
+ <packagelist>
+ <packagereq type="mandatory">audit</packagereq>
+ <packagereq type="mandatory">kernel</packagereq>
+ <packagereq type="mandatory">basesystem</packagereq>
+ <packagereq type="mandatory">bash</packagereq>
+ <packagereq type="mandatory">coreutils</packagereq>
+ <packagereq type="mandatory">cronie</packagereq>
+ <packagereq type="mandatory">curl</packagereq>
+ <packagereq type="mandatory">dnf</packagereq>
+ <packagereq type="mandatory">e2fsprogs</packagereq>
+ <packagereq type="mandatory">filesystem</packagereq>
+ <packagereq type="mandatory">glibc</packagereq>
+ <packagereq type="mandatory">grubby</packagereq>
+ <packagereq type="mandatory">hostname</packagereq>
+ <packagereq type="mandatory">initscripts</packagereq>
+ <packagereq type="mandatory">iproute</packagereq>
+ <packagereq type="mandatory">kbd</packagereq>
+ <packagereq type="mandatory">less</packagereq>
+ <packagereq type="mandatory">man-db</packagereq>
+ <packagereq type="mandatory">ncurses</packagereq>
+ <packagereq type="mandatory">openssh</packagereq>
+ <packagereq type="mandatory">openssh-server</packagereq>
+ <packagereq type="mandatory">openssh-clients</packagereq>
+ <packagereq type="mandatory">passwd</packagereq>
+ <packagereq type="mandatory">procps-ng</packagereq>
+ <packagereq type="mandatory">rootfiles</packagereq>
+ <packagereq type="mandatory">rpm</packagereq>
+ <packagereq type="mandatory">setup</packagereq>
+ <packagereq type="mandatory">shadow</packagereq>
+ <packagereq type="mandatory">sudo</packagereq>
+ <packagereq type="mandatory">systemd</packagereq>
+ <packagereq type="mandatory">util-linux</packagereq>
+ <packagereq type="mandatory">vim-minimal</packagereq>
+ <packagereq type="mandatory">yum</packagereq>
+ <packagereq type="mandatory">openEuler-latest-release</packagereq>
+ <packagereq type="default">NetworkManager</packagereq>
+ <packagereq type="default">NetworkManager-config-server</packagereq>
+ <packagereq type="default">authselect</packagereq>
+ <packagereq type="default">dracut-config-rescue</packagereq>
+ <packagereq type="default">sysfsutils</packagereq>
+ <packagereq type="default">linux-firmware</packagereq>
+ <packagereq type="default">rsyslog</packagereq>
+ <packagereq type="optional">dracut-config-generic</packagereq>
+ <packagereq type="optional">dracut-network</packagereq>
+ </packagelist>
+ </group>
+ <group>
+ <id>large-systems</id>
+ <name>Large Systems Performance</name>
+ <name xml:lang="zh_CN">大系统性能</name>
+ <description>Performance support tools for large systems.</description>
+ <description xml:lang="zh_CN">用于大型系统的性能支持工具。</description>
+ <default>true</default>
+ <uservisible>false</uservisible>
+ <packagelist>
+ <packagereq type="mandatory">numactl</packagereq>
+ </packagelist>
+ </group>
+ <group>
+ <id>legacy-x</id>
+ <name>Legacy X Window System Compatibility</name>
+ <name xml:lang="zh_CN">传统 X Windows 系统的兼容性</name>
+ <description>Compatibility programs for migration from or working with legacy X Window System environments.</description>
+ <description xml:lang="zh_CN">用于从继承 X Windows 环境中迁移或者可用于该环境的兼容程序。</description>
+ <default>true</default>
+ <uservisible>false</uservisible>
+ <packagelist>
+ <packagereq type="default">libXmu</packagereq>
+ </packagelist>
+ </group>
+ <group>
+ <id>mail-server</id>
+ <name>Mail Server</name>
+ <name xml:lang="zh_CN">邮件服务器</name>
+ <description>These packages allow you to configure an IMAP or SMTP mail server.</description>
+ <description xml:lang="zh_CN">这些软件包允许您配置 IMAP 或 Postfix 邮件服务器。</description>
+ <default>true</default>
+ <uservisible>false</uservisible>
+ <packagelist>
+ <packagereq type="default">cyrus-sasl</packagereq>
+ </packagelist>
+ </group>
+ <group>
+ <id>network-server</id>
+ <name>Network Servers</name>
+ <name xml:lang="zh_CN">网络服务器</name>
+ <description>These packages include network-based servers such as DHCP, Kerberos and NIS.</description>
+ <description xml:lang="zh_CN">这些软件包包括基于网络的服务器,例如 DHCP、Kerberos 和 NIS。</description>
+ <default>true</default>
+ <uservisible>true</uservisible>
+ <packagelist>
+ <packagereq type="mandatory">krb5-server</packagereq>
+ <packagereq type="optional">rsyslog</packagereq>
+ <packagereq type="optional">rsyslog-mysql</packagereq>
+ <packagereq type="optional">rsyslog-pgsql</packagereq>
+ <packagereq type="optional">rsyslog-relp</packagereq>
+ </packagelist>
+ </group>
+ <group>
+ <id>network-tools</id>
+ <name>Networking Tools</name>
+ <name xml:lang="zh_CN">联网工具</name>
+ <description>Tools for configuring and analyzing computer networks.</description>
+ <description xml:lang="zh_CN">配置和分析计算机网络的工具。</description>
+ <default>true</default>
+ <uservisible>false</uservisible>
+ <packagelist>
+ <packagereq type="optional">rsyslog</packagereq>
+ <packagereq type="optional">rsyslog-mysql</packagereq>
+ <packagereq type="optional">rsyslog-pgsql</packagereq>
+ <packagereq type="optional">rsyslog-relp</packagereq>
+ </packagelist>
+ </group>
+ <group>
+ <id>networkmanager-submodules</id>
+ <name>Common NetworkManager submodules</name>
+ <description>This group contains NetworkManager submodules that are commonly used, but may not be wanted in some streamlined configurations.</description>
+ <default>true</default>
+ <uservisible>false</uservisible>
+ <packagelist>
+ <packagereq type="default">NetworkManager-bluetooth</packagereq>
+ <packagereq type="default">NetworkManager-wifi</packagereq>
+ <packagereq type="default">NetworkManager-wwan</packagereq>
+ <packagereq type="default">iptables</packagereq>
+ </packagelist>
+ </group>
+ <group>
+ <id>standard</id>
+ <name>Standard</name>
+ <name xml:lang="zh_CN">标准</name>
+ <description>The standard installation.</description>
+ <description xml:lang="zh_CN">标准安装。</description>
+ <default>true</default>
+ <uservisible>false</uservisible>
+ <packagelist>
+ <packagereq type="mandatory">acl</packagereq>
+ <packagereq type="mandatory">attr</packagereq>
+ <packagereq type="mandatory">bc</packagereq>
+ <packagereq type="mandatory">cpio</packagereq>
+ <packagereq type="mandatory">cyrus-sasl</packagereq>
+ <packagereq type="mandatory">crontabs</packagereq>
+ <packagereq type="mandatory">file</packagereq>
+ <packagereq type="mandatory">logrotate</packagereq>
+ <packagereq type="mandatory">lsof</packagereq>
+ <packagereq type="mandatory">net-tools</packagereq>
+ <packagereq type="mandatory">pciutils</packagereq>
+ <packagereq type="mandatory">quota</packagereq>
+ <packagereq type="mandatory">openEuler-release</packagereq>
+ <packagereq type="mandatory">sudo</packagereq>
+ <packagereq type="mandatory">systemd-udev</packagereq>
+ <packagereq type="mandatory">tar</packagereq>
+ <packagereq type="mandatory">util-linux-user</packagereq>
+ <packagereq type="default">bpftool</packagereq>
+ <packagereq type="default">bzip2</packagereq>
+ <packagereq type="default">chrony</packagereq>
+ <packagereq type="default">cryptsetup</packagereq>
+ <packagereq type="default">dosfstools</packagereq>
+ <packagereq type="default">ethtool</packagereq>
+ <packagereq type="default">gnupg2</packagereq>
+ <packagereq type="default">lvm2</packagereq>
+ <packagereq type="default">mdadm</packagereq>
+ <packagereq type="default">mtr</packagereq>
+ <packagereq type="default">realmd</packagereq>
+ <packagereq type="default">rsync</packagereq>
+ <packagereq type="default">smartmontools</packagereq>
+ <packagereq type="default">strace</packagereq>
+ <packagereq type="default">libteam</packagereq>
+ <packagereq type="default">unzip</packagereq>
+ <packagereq type="default">usbutils</packagereq>
+ <packagereq type="default">which</packagereq>
+ <packagereq type="default">xfsdump</packagereq>
+ <packagereq type="default">zip</packagereq>
+ <packagereq type="optional">ima-evm-utils</packagereq>
+ <packagereq type="optional">nfs-utils</packagereq>
+ <packagereq type="default">rng-tools</packagereq>
+ <packagereq type="mandatory">rsyslog-gnutls</packagereq>
+ <packagereq type="mandatory">rsyslog</packagereq>
+ <packagereq type="mandatory">rsyslog-relp</packagereq>
+ <packagereq type="default">nmap</packagereq>
+ <packagereq type="default">plymouth</packagereq>
+ <packagereq type="default">vim-enhanced</packagereq>
+ <packagereq type="default">wget</packagereq>
+ </packagelist>
+ </group>
+ <environment>
+ <id>minimal-environment</id>
+ <name>Minimal Install</name>
+ <name xml:lang="zh_CN">最小安装</name>
+ <description>Basic functionality.</description>
+ <description xml:lang="zh_CN">基本功能。</description>
+ <display_order>1</display_order>
+ <grouplist>
+ <groupid>core</groupid>
+ </grouplist>
+ <optionlist>
+ <groupid>standard</groupid>
+ </optionlist>
+ </environment>
+ <langpacks>
+ <match install="aspell-%s" name="aspell"/>
+ <match install="autocorr-%s" name="autocorr-en"/>
+ <match install="gnome-getting-started-docs-%s" name="gnome-getting-started-docs"/>
+ <match install="hunspell-%s" name="hunspell"/>
+ <match install="hyphen-%s" name="hyphen"/>
+ <match install="libreoffice-help-%s" name="libreoffice-core"/>
+ <match install="man-pages-%s" name="man-pages"/>
+ <match install="mythes-%s" name="mythes"/>
+ </langpacks>
+</comps>
diff --git a/isomaker/config/ppc/standard.conf b/isomaker/config/ppc/standard.conf
new file mode 100644
index 0000000..fa13e32
--- /dev/null
+++ b/isomaker/config/ppc/standard.conf
@@ -0,0 +1,6 @@
+CONFIG_YUM_REPOS="http://repo.openeuler.org/openEuler-22.03-LTS/everything/ppc64le/"
+CONFIG_PACKAGES_LIST_FILE="config/ppc64le/normal.xml"
+CONFIG_RPM_LIST="config/rpmlist.xml"
+CONFIG_PRODUCT="openEuler"
+CONFIG_VERSION="22.03"
+CONFIG_RELEASE="LTS"
diff --git a/isomaker/config/ppc64le/livecd/live/config_files/ppc64le/grub.cfg.in b/isomaker/config/ppc64le/livecd/live/config_files/ppc64le/grub.cfg.in
new file mode 100644
index 0000000..417856e
--- /dev/null
+++ b/isomaker/config/ppc64le/livecd/live/config_files/ppc64le/grub.cfg.in
@@ -0,0 +1,30 @@
+set default=0
+set timeout=5
+
+echo -e "\nWelcome to the @PRODUCT@ @VERSION@ installer!\n\n"
+
+menuentry "Install @PRODUCT@ @VERSION@ (64-bit kernel)" --class fedora --class gnu-linux --class gnu --class os {
+ linux /ppc/ppc64/vmlinuz @ROOT@ ro
+ initrd /ppc/ppc64/initrd.img
+}
+
+menuentry "Test this media & install @PRODUCT@ @VERSION@ (64-bit kernel)" --class fedora --class gnu-linux --class gnu --class os {
+ linux /ppc/ppc64/vmlinuz @ROOT@ rd.live.check ro
+ initrd /ppc/ppc64/initrd.img
+}
+
+menuentry "Rescue a @PRODUCT@ system (64-bit kernel)" --class fedora --class gnu-linux --class gnu --class os {
+ linux /ppc/ppc64/vmlinuz @ROOT@ rescue ro
+ initrd /ppc/ppc64/initrd.img
+}
+
+submenu 'Other options...' {
+ menuentry 'Reboot' {
+ reboot
+ }
+
+ menuentry 'Exit to Open Firmware' {
+ exit
+ }
+}
+
--
2.43.0