From 175fd437f5425aa37f6f38fd64b6c5ef19fe14f1 Mon Sep 17 00:00:00 2001 From: xyn-coder Date: Thu, 1 Aug 2024 11:35:14 +0800 Subject: [PATCH] round downstream patch --- envmaker/config/compile_env_rpmlist.xml | 4 + .../config/loongarch64/openEuler_repo.conf | 17 + envmaker/config/ppc64le/openEuler_repo.conf | 17 + envmaker/config/riscv64/openEuler_repo.conf | 17 + isocut/config/ppc64le/anaconda-ks.cfg | 403 +++++ isocut/config/ppc64le/rpmlist | 1 + isocut/config/riscv64/anaconda-ks.cfg | 371 ++++ isocut/config/riscv64/rpmlist | 1 + isocut/isocut.py | 7 + .../config_files/riscv64/boot.msg | 5 + .../config_files/riscv64/grub.conf | 13 + .../config_files/riscv64/grub2-efi.cfg | 46 + isomaker/80-openeuler/efi.tmpl | 3 + isomaker/80-openeuler/live/efi.tmpl | 5 + isomaker/80-openeuler/live/riscv64.tmpl | 82 + isomaker/80-openeuler/riscv64.tmpl | 75 + isomaker/80-openeuler/runtime-cleanup.tmpl | 4 +- isomaker/80-openeuler/runtime-install.tmpl | 7 +- isomaker/config/aarch64/desktop_normal.xml | 151 -- isomaker/config/aarch64/edge_normal.xml | 157 ++ isomaker/config/aarch64/normal.xml | 137 +- isomaker/config/common/livecd/live/efi.tmpl | 15 +- .../config/loongarch64/desktop_normal.xml | 0 isomaker/config/loongarch64/ks.cfg | 28 + .../live/config_files/loongarch64/boot.msg | 5 + .../live/config_files/loongarch64/grub.conf | 9 + .../config_files/loongarch64/grub2-efi.cfg | 47 + .../loongarch64/livecd/live/loongarch64.tmpl | 75 + .../loongarch64/livecd/livecd_loongarch64.ks | 70 + isomaker/config/loongarch64/livecd/rpmlist | 91 + isomaker/config/loongarch64/normal.xml | 299 ++- isomaker/config/ppc64le/desktop_normal.xml | 151 ++ isomaker/config/ppc64le/edge_normal.xml | 156 ++ .../live/config_files/ppc64le/bootinfo.txt | 170 ++ .../livecd/live/config_files/ppc64le/grub.cfg | 30 + .../config/ppc64le/livecd/live/ppc64le.tmpl | 96 + .../config/ppc64le/livecd/livecd_ppc64le.ks | 74 + isomaker/config/ppc64le/livecd/rpmlist | 112 ++ isomaker/config/ppc64le/normal.xml | 1597 +++++++++++++++++ isomaker/config/ppc64le/standard.conf | 6 + isomaker/config/riscv64/desktop_normal.xml | 0 isomaker/config/riscv64/edge_normal.xml | 0 .../livecd/live/config_files/riscv64/boot.msg | 5 + .../live/config_files/riscv64/grub.conf | 9 + .../live/config_files/riscv64/grub2-efi.cfg | 38 + .../config/riscv64/livecd/live/riscv64.tmpl | 75 + .../config/riscv64/livecd/livecd_riscv64.ks | 70 + isomaker/config/riscv64/livecd/rpmlist | 111 ++ isomaker/config/riscv64/normal.xml | 1569 ++++++++++++++++ isomaker/config/riscv64/standard.conf | 6 + isomaker/config/rpmlist.xml | 183 +- isomaker/config/x86_64/desktop_normal.xml | 151 -- isomaker/config/x86_64/edge_normal.xml | 157 ++ isomaker/config/x86_64/normal.xml | 136 +- isomaker/docs/OpenEuler-Software-License.docx | Bin 30155 -> 27613 bytes isomaker/init.sh | 2 +- isomaker/iso.sh | 26 +- isomaker/rpm.sh | 6 +- 58 files changed, 6400 insertions(+), 698 deletions(-) create mode 100644 envmaker/config/loongarch64/openEuler_repo.conf create mode 100644 envmaker/config/ppc64le/openEuler_repo.conf create mode 100644 envmaker/config/riscv64/openEuler_repo.conf create mode 100644 isocut/config/ppc64le/anaconda-ks.cfg create mode 100644 isocut/config/ppc64le/rpmlist create mode 100644 isocut/config/riscv64/anaconda-ks.cfg create mode 100644 isocut/config/riscv64/rpmlist create mode 100644 isomaker/80-openeuler/config_files/riscv64/boot.msg create mode 100644 isomaker/80-openeuler/config_files/riscv64/grub.conf create mode 100644 isomaker/80-openeuler/config_files/riscv64/grub2-efi.cfg create mode 100644 isomaker/80-openeuler/live/riscv64.tmpl create mode 100644 isomaker/80-openeuler/riscv64.tmpl create mode 100644 isomaker/config/aarch64/edge_normal.xml create mode 100644 isomaker/config/loongarch64/desktop_normal.xml create mode 100644 isomaker/config/loongarch64/ks.cfg create mode 100644 isomaker/config/loongarch64/livecd/live/config_files/loongarch64/boot.msg create mode 100644 isomaker/config/loongarch64/livecd/live/config_files/loongarch64/grub.conf create mode 100644 isomaker/config/loongarch64/livecd/live/config_files/loongarch64/grub2-efi.cfg create mode 100644 isomaker/config/loongarch64/livecd/live/loongarch64.tmpl create mode 100644 isomaker/config/loongarch64/livecd/livecd_loongarch64.ks create mode 100644 isomaker/config/loongarch64/livecd/rpmlist create mode 100644 isomaker/config/ppc64le/desktop_normal.xml create mode 100644 isomaker/config/ppc64le/edge_normal.xml create mode 100644 isomaker/config/ppc64le/livecd/live/config_files/ppc64le/bootinfo.txt create mode 100644 isomaker/config/ppc64le/livecd/live/config_files/ppc64le/grub.cfg create mode 100644 isomaker/config/ppc64le/livecd/live/ppc64le.tmpl create mode 100644 isomaker/config/ppc64le/livecd/livecd_ppc64le.ks create mode 100644 isomaker/config/ppc64le/livecd/rpmlist create mode 100644 isomaker/config/ppc64le/normal.xml create mode 100644 isomaker/config/ppc64le/standard.conf create mode 100644 isomaker/config/riscv64/desktop_normal.xml create mode 100644 isomaker/config/riscv64/edge_normal.xml create mode 100644 isomaker/config/riscv64/livecd/live/config_files/riscv64/boot.msg create mode 100644 isomaker/config/riscv64/livecd/live/config_files/riscv64/grub.conf create mode 100644 isomaker/config/riscv64/livecd/live/config_files/riscv64/grub2-efi.cfg create mode 100644 isomaker/config/riscv64/livecd/live/riscv64.tmpl create mode 100644 isomaker/config/riscv64/livecd/livecd_riscv64.ks create mode 100644 isomaker/config/riscv64/livecd/rpmlist create mode 100644 isomaker/config/riscv64/normal.xml create mode 100644 isomaker/config/riscv64/standard.conf create mode 100644 isomaker/config/x86_64/edge_normal.xml diff --git a/envmaker/config/compile_env_rpmlist.xml b/envmaker/config/compile_env_rpmlist.xml index d2461ea..b7b99ce 100644 --- a/envmaker/config/compile_env_rpmlist.xml +++ b/envmaker/config/compile_env_rpmlist.xml @@ -17,6 +17,10 @@ grub2-efi-x64-modules + + grub2-efi-riscv64-modules + + acl acpica-tools diff --git a/envmaker/config/loongarch64/openEuler_repo.conf b/envmaker/config/loongarch64/openEuler_repo.conf new file mode 100644 index 0000000..e7fc54c --- /dev/null +++ b/envmaker/config/loongarch64/openEuler_repo.conf @@ -0,0 +1,17 @@ +[main] +debuglevel=2 +gpgcheck=1 +installonly_limit=3 +clean_requirements_on_remove=True +best=False +skip_is_unavailable=False + + +# This is the default, if you make this bigger yum won't see if the metadata + +#in /etc/yum.repos.d +[openEuler] +name=openEuler +baseurl=http://repo.openEuler.org/openEuler-24.03-LTS/everything/loongarch64/ +enabled=1 +gpgcheck=0 diff --git a/envmaker/config/ppc64le/openEuler_repo.conf b/envmaker/config/ppc64le/openEuler_repo.conf new file mode 100644 index 0000000..37c3b18 --- /dev/null +++ b/envmaker/config/ppc64le/openEuler_repo.conf @@ -0,0 +1,17 @@ +[main] +debuglevel=2 +gpgcheck=1 +installonly_limit=3 +clean_requirements_on_remove=True +best=False +skip_is_unavailable=False + + +# This is the default, if you make this bigger yum won't see if the metadata + +#in /etc/yum.repos.d +[openEuler] +name=openEuler +baseurl=http://repo.openEuler.org/openEuler-22.03-LTS-SP1/everything/ppc64le/ +enabled=1 +gpgcheck=0 diff --git a/envmaker/config/riscv64/openEuler_repo.conf b/envmaker/config/riscv64/openEuler_repo.conf new file mode 100644 index 0000000..d2a677c --- /dev/null +++ b/envmaker/config/riscv64/openEuler_repo.conf @@ -0,0 +1,17 @@ +[main] +debuglevel=2 +gpgcheck=1 +installonly_limit=3 +clean_requirements_on_remove=True +best=False +skip_is_unavailable=False + + +# This is the default, if you make this bigger yum won't see if the metadata + +#in /etc/yum.repos.d +[openEuler] +name=openEuler +baseurl=https://repo.openeuler.org/openEuler-23.09/OS/riscv64/ +enabled=1 +gpgcheck=0 \ No newline at end of file diff --git a/isocut/config/ppc64le/anaconda-ks.cfg b/isocut/config/ppc64le/anaconda-ks.cfg new file mode 100644 index 0000000..e4eb376 --- /dev/null +++ b/isocut/config/ppc64le/anaconda-ks.cfg @@ -0,0 +1,403 @@ +#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 +authconfig.ppc64le +autogen-libopts.ppc64le +avahi-libs.ppc64le +basesystem.noarch +bash.ppc64le +bind-libs-lite.ppc64le +bind-libs.ppc64le +bind-utils.ppc64le +biosdevname.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 +createrepo.noarch +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-python.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 +dhclient.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.i686 +glibc.ppc64le +gmp.ppc64le +gnupg2.ppc64le +gobject-introspection.ppc64le +gpgme.ppc64le +gpm-libs.ppc64le +grep.ppc64le +grub2-tools.ppc64le +grub2.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-tevent.ppc64le +libverto.ppc64le +libwbclient.ppc64le +libxml2-python.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 +makedumpfile.ppc64le +man-db.ppc64le +mcelog.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.i686 +nss-softokn-freebl.ppc64le +nss-softokn.ppc64le +nss-sysinit.ppc64le +nss-tools.ppc64le +nss-util.ppc64le +nss.ppc64le +ntpdate.ppc64le +ntp.ppc64le +numactl-libs.ppc64le +numactl.ppc64le +numad.ppc64le +OpenIPMI-libs.ppc64le +OpenIPMI-modalias.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.ppc64le +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-PlRPC.noarch +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 +pkgconfig.ppc64le +popt.ppc64le +procps-ng.ppc64le +psmisc.ppc64le +pth.ppc64le +pygobject3-base.ppc64le +pygpgme.ppc64le +pytalloc.ppc64le +python-backports-ssl_match_hostname.noarch +python-backports.ppc64le +python-configobj.noarch +python-decorator.noarch +python-deltarpm.ppc64le +python-iniparse.noarch +python-libs.ppc64le +python-pycurl.ppc64le +python-pyudev.noarch +python-setuptools.noarch +python-urlgrabber.noarch +python.ppc64le +pyxattr.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-python.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 +syslinux.ppc64le +sysmonitor-kmod.ppc64le +sysstat.ppc64le +systemd-libs.ppc64le +systemd-sysv.ppc64le +systemd.ppc64le +sysvinit-tools.ppc64le +tar.ppc64le +tcp_wrappers-libs.ppc64le +tcp_wrappers.ppc64le +teamd.ppc64le +tuned.noarch +tzdata.noarch +unzip.ppc64le +ustr.ppc64le +util-linux.ppc64le +vim-common.ppc64le +vim-enhanced.ppc64le +vim-filesystem.ppc64le +vim-minimal.ppc64le +virt-what.ppc64le +wget.ppc64le +which.ppc64le +xfsprogs.ppc64le +xz-libs.ppc64le +xz.ppc64le +yum-metadata-parser.ppc64le +yum.noarch +yum-plugin-priorities.noarch +zip.ppc64le +zlib.ppc64le +network-scripts.ppc64le +NetworkManager.ppc64le + +%end diff --git a/isocut/config/ppc64le/rpmlist b/isocut/config/ppc64le/rpmlist new file mode 100644 index 0000000..884e2de --- /dev/null +++ b/isocut/config/ppc64le/rpmlist @@ -0,0 +1 @@ +kernel.ppc64le diff --git a/isocut/config/riscv64/anaconda-ks.cfg b/isocut/config/riscv64/anaconda-ks.cfg new file mode 100644 index 0000000..f586d14 --- /dev/null +++ b/isocut/config/riscv64/anaconda-ks.cfg @@ -0,0 +1,371 @@ +#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.riscv64 +aide.riscv64 +audit-libs.riscv64 +audit.riscv64 +autogen-libopts.riscv64 +avahi-libs.riscv64 +basesystem.noarch +bash.riscv64 +bind-libs-lite.riscv64 +bind-libs.riscv64 +bind-utils.riscv64 +blktrace.riscv64 +bridge-utils.riscv64 +bzip2-libs.riscv64 +bzip2.riscv64 +chkconfig.riscv64 +cifs-utils.riscv64 +coreutils.riscv64 +cpio.riscv64 +cracklib-dicts.riscv64 +cracklib.riscv64 +cronie-anacron.riscv64 +cronie.riscv64 +crontabs.noarch +cryptsetup-libs.riscv64 +cups-libs.riscv64 +curl.riscv64 +cyrus-sasl-lib.riscv64 +dbus-glib.riscv64 +dbus-libs.riscv64 +dbus.riscv64 +deltarpm.riscv64 +device-mapper-event-libs.riscv64 +device-mapper-event.riscv64 +device-mapper-libs.riscv64 +device-mapper-persistent-data.riscv64 +device-mapper.riscv64 +dhcp-libs.riscv64 +diffutils.riscv64 +dmidecode.riscv64 +dos2unix.riscv64 +dracut-network.riscv64 +dracut.riscv64 +dump_mem_tool.riscv64 +e2fsprogs-libs.riscv64 +e2fsprogs.riscv64 +elfutils-libelf.riscv64 +elfutils-libs.riscv64 +ethtool.riscv64 +openEuler-release.riscv64 +expat-devel.riscv64 +expat.riscv64 +expect.riscv64 +file-libs.riscv64 +filesystem.riscv64 +file.riscv64 +findutils.riscv64 +fipscheck-lib.riscv64 +fipscheck.riscv64 +freetype.riscv64 +fuse.riscv64 +gawk.riscv64 +gdbm.riscv64 +genisoimage.riscv64 +gettext-libs.riscv64 +gettext.riscv64 +glib2.riscv64 +glibc-common.riscv64 +glibc.riscv64 +gmp.riscv64 +gnupg2.riscv64 +gobject-introspection.riscv64 +gpgme.riscv64 +gpm-libs.riscv64 +grep.riscv64 +grub2-tools.riscv64 +grubby.riscv64 +gssproxy.riscv64 +gzip.riscv64 +hardlink.riscv64 +hdparm.riscv64 +hostname.riscv64 +hwdata.noarch +info.riscv64 +initscripts.riscv64 +iotop.noarch +ipmitool.riscv64 +iproute.riscv64 +iptables.riscv64 +iputils.riscv64 +irqbalance.riscv64 +json-c.riscv64 +kbox-kmod.riscv64 +kernel-tools-libs.riscv64 +kernel-tools.riscv64 +kernel.riscv64 +kexec-tools.riscv64 +keyutils-libs.riscv64 +keyutils.riscv64 +kmod-libs.riscv64 +kmod.riscv64 +kpartx.riscv64 +kpatch-runtime.noarch +krb5-libs.riscv64 +less.riscv64 +libacl.riscv64 +libaio.riscv64 +libalarm.riscv64 +libassuan.riscv64 +libattr.riscv64 +libbasicobjects.riscv64 +libblkid.riscv64 +libcap-ng.riscv64 +libcap.riscv64 +libcgroup-tools.riscv64 +libcgroup.riscv64 +libcollection.riscv64 +libcom_err.riscv64 +libcroco.riscv64 +libcurl.riscv64 +libdb-utils.riscv64 +libdb.riscv64 +libedit.riscv64 +libestr.riscv64 +libevent.riscv64 +libffi.riscv64 +libgcc.riscv64 +libgcrypt.riscv64 +libgomp.riscv64 +libgpg-error.riscv64 +libidn.riscv64 +libini_config.riscv64 +libldb.riscv64 +libmnl.riscv64 +libmount.riscv64 +libnetfilter_conntrack.riscv64 +libnfnetlink.riscv64 +libnfsidmap.riscv64 +libpath_utils.riscv64 +libpcap.riscv64 +libpciaccess.riscv64 +libpwquality.riscv64 +libref_array.riscv64 +libsecurec.riscv64 +libselinux.riscv64 +libsemanage.riscv64 +libsepol.riscv64 +libssh2.riscv64 +libss.riscv64 +libstdc++.riscv64 +libsysfs.riscv64 +libtalloc.riscv64 +libtasn1.riscv64 +libtdb.riscv64 +libtevent.riscv64 +libtirpc.riscv64 +libunistring.riscv64 +libusal.riscv64 +libuser.riscv64 +libutempter.riscv64 +libuuid.riscv64 +libverto.riscv64 +libwbclient.riscv64 +libxml2.riscv64 +libxslt.riscv64 +linux-firmware.noarch +lm_sensors-libs.riscv64 +logrotate.riscv64 +lsof.riscv64 +lsscsi.riscv64 +lua.riscv64 +lvm2-libs.riscv64 +lvm2.riscv64 +lzo.riscv64 +mailcap.noarch +mailx.riscv64 +man-db.riscv64 +mtools.riscv64 +ncurses-base.noarch +ncurses-libs.riscv64 +ncurses.riscv64 +net-snmp-libs.riscv64 +net-tools.riscv64 +nfs-utils.riscv64 +nscd.riscv64 +nspr.riscv64 +nss-softokn-freebl.riscv64 +nss-softokn.riscv64 +nss-sysinit.riscv64 +nss-tools.riscv64 +nss-util.riscv64 +nss.riscv64 +ntpdate.riscv64 +numactl-libs.riscv64 +numactl.riscv64 +numad.riscv64 +OpenIPMI-libs.riscv64 +OpenIPMI.riscv64 +openldap.riscv64 +openssh-clients.riscv64 +openssh-server.riscv64 +openssh.riscv64 +openssl-libs.riscv64 +openssl.riscv64 +p11-kit-trust.riscv64 +p11-kit.riscv64 +pam.riscv64 +parted.riscv64 +passwd.riscv64 +pciutils-libs.riscv64 +pciutils.riscv64 +pcre.riscv64 +perl-Business-ISBN-Data.noarch +perl-Business-ISBN.noarch +perl-Carp.noarch +perl-Compress-Raw-Bzip2.riscv64 +perl-Compress-Raw-Zlib.riscv64 +perl-Config-IniFiles.noarch +perl-constant.noarch +perl-Data-Dumper.riscv64 +perl-DBD-SQLite.riscv64 +perl-DBI.riscv64 +perl-Digest-MD5.riscv64 +perl-Digest.noarch +perl-Digest-SHA.riscv64 +perl-Encode-Locale.noarch +perl-Encode.riscv64 +perl-Exporter.noarch +perl-File-Listing.noarch +perl-File-Path.noarch +perl-File-Temp.noarch +perl-Filter.riscv64 +perl-Getopt-Long.noarch +perl-HTML-Parser.riscv64 +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.riscv64 +perl-libwww-perl.noarch +perl-List-MoreUtils.noarch +perl-LWP-MediaTypes.noarch +perl-macros.riscv64 +perl-Net-Daemon.noarch +perl-Net-HTTP.noarch +perl-Net-LibIDN.riscv64 +perl-Net-SSLeay.riscv64 +perl-parent.noarch +perl-PathTools.riscv64 +perl-Pod-Escapes.noarch +perl-podlators.noarch +perl-Pod-Perldoc.noarch +perl-Pod-Simple.noarch +perl-Pod-Usage.noarch +perl-Scalar-List-Utils.riscv64 +perl-Socket.riscv64 +perl-Storable.riscv64 +perl-Text-ParseWords.noarch +perl-threads-shared.riscv64 +perl-threads.riscv64 +perl-TimeDate.noarch +perl-Time-HiRes.riscv64 +perl-Time-Local.noarch +perl-URI.noarch +perl-WWW-RobotRules.noarch +perl.riscv64 +perl-XML-LibXML.riscv64 +perl-XML-NamespaceSupport.noarch +perl-XML-SAX-Base.noarch +perl-XML-SAX.noarch +pinentry.riscv64 +popt.riscv64 +procps-ng.riscv64 +psmisc.riscv64 +qrencode-libs.riscv64 +quota-nls.noarch +quota.riscv64 +rasdaemon.riscv64 +readline.riscv64 +rootfiles.noarch +rpcbind.riscv64 +rpm-build-libs.riscv64 +rpm-libs.riscv64 +rpm.riscv64 +rsync.riscv64 +rsyslog.riscv64 +samba-libs.riscv64 +screen.riscv64 +security-tool.riscv64 +sed.riscv64 +setup.noarch +shadow-utils.riscv64 +smartmontools.riscv64 +sqlite.riscv64 +squashfs-tools.riscv64 +sudo.riscv64 +sysfsutils.riscv64 +sysmonitor-kmod.riscv64 +sysstat.riscv64 +systemd-libs.riscv64 +systemd.riscv64 +tar.riscv64 +tcp_wrappers-libs.riscv64 +tcp_wrappers.riscv64 +teamd.riscv64 +tuned.noarch +tzdata.noarch +unzip.riscv64 +util-linux.riscv64 +vim-common.riscv64 +vim-enhanced.riscv64 +vim-filesystem.noarch +vim-minimal.riscv64 +virt-what.riscv64 +wget.riscv64 +which.riscv64 +xfsprogs.riscv64 +xz-libs.riscv64 +xz.riscv64 +zip.riscv64 +zlib.riscv64 +dnf.noarch +dnf-utils.noarch +authselect.riscv64 +authselect-libs.riscv64 +grub2-efi-riscv64.riscv64 +grub2-efi-riscv64-cdboot.riscv64 +grub2-common.noarch +grub2-tools.riscv64 +openEuler-logos.noarch +network-scripts.riscv64 +NetworkManager.riscv64 + +%end \ No newline at end of file diff --git a/isocut/config/riscv64/rpmlist b/isocut/config/riscv64/rpmlist new file mode 100644 index 0000000..78c2220 --- /dev/null +++ b/isocut/config/riscv64/rpmlist @@ -0,0 +1 @@ +kernel.riscv64 \ No newline at end of file diff --git a/isocut/isocut.py b/isocut/isocut.py index 5bff8d3..b883ea9 100644 --- a/isocut/isocut.py +++ b/isocut/isocut.py @@ -442,6 +442,8 @@ def regen_repodata(): pack.text = pack.text.split(".aarch64")[0] elif os.uname()[-1].strip() == 'loongarch64': pack.text = pack.text.split(".loongarch64")[0] + elif os.uname()[-1].strip() == 'riscv64': + pack.text = pack.text.split(".riscv64")[0] pack.text = pack.text.split(".noarch")[0] fp_rpm.close() @@ -699,6 +701,11 @@ def remake_iso(): "-joliet-long -allow-multidot -allow-leading-dots -no-bak -V \"%s\" " \ "-o \"%s\" -e images/efiboot.img -no-emul-boot \"%s\"" % ( ICONFIG.new_iso_name, ICONFIG.dest_iso, ICONFIG.temp_path_new_image) + elif ICONFIG.src_iso_arch == 'riscv64': + make_iso_cmd = "genisoimage -R -J -T -r -l -d -input-charset utf-8 " \ + "-joliet-long -allow-multidot -allow-leading-dots -no-bak -V \"%s\" " \ + "-o \"%s\" -e images/efiboot.img -no-emul-boot \"%s\"" % ( + ICONFIG.new_iso_name, ICONFIG.dest_iso, ICONFIG.temp_path_new_image) dest_iso_path = os.path.dirname(ICONFIG.dest_iso) if not (dest_iso_path is None or dest_iso_path == "") and not os.path.exists(dest_iso_path): diff --git a/isomaker/80-openeuler/config_files/riscv64/boot.msg b/isomaker/80-openeuler/config_files/riscv64/boot.msg new file mode 100644 index 0000000..c80e5cb --- /dev/null +++ b/isomaker/80-openeuler/config_files/riscv64/boot.msg @@ -0,0 +1,5 @@ + +splash.lss + + - Press the 0107 key to begin the installation process. + diff --git a/isomaker/80-openeuler/config_files/riscv64/grub.conf b/isomaker/80-openeuler/config_files/riscv64/grub.conf new file mode 100644 index 0000000..a36d183 --- /dev/null +++ b/isomaker/80-openeuler/config_files/riscv64/grub.conf @@ -0,0 +1,13 @@ +#debug --graphics +default=0 +splashimage=@SPLASHPATH@ +timeout 5 +hiddenmenu +title Install @PRODUCT@ @VERSION@ + findiso + kernel @KERNELPATH@ @ROOT@ quiet + initrd @INITRDPATH@ +title Test this media & install @PRODUCT@ @VERSION@ + findiso + kernel @KERNELPATH@ @ROOT@ rd.live.check quiet + initrd @INITRDPATH@ \ No newline at end of file diff --git a/isomaker/80-openeuler/config_files/riscv64/grub2-efi.cfg b/isomaker/80-openeuler/config_files/riscv64/grub2-efi.cfg new file mode 100644 index 0000000..b19ceb2 --- /dev/null +++ b/isomaker/80-openeuler/config_files/riscv64/grub2-efi.cfg @@ -0,0 +1,46 @@ +set default="1" + +function load_video { + if [ x$feature_all_video_module = xy ]; then + insmod all_video + else + insmod efi_gop + insmod efi_uga + insmod ieee1275_fb + insmod vbe + insmod vga + insmod video_bochs + insmod video_cirrus + fi +} + +load_video +set gfxpayload=keep +insmod gzio +insmod part_gpt +insmod ext2 + +set timeout=60 +### END /etc/grub.d/00_header ### + +search --no-floppy --set=root -l '@ISOLABEL@' + +### BEGIN /etc/grub.d/10_linux ### +menuentry 'Install @PRODUCT@ @VERSION@' --class red --class gnu-linux --class gnu --class os { + linux @KERNELPATH@ @ROOT@ ro inst.geoloc=0 systemd.default_timeout_start_sec=600 selinux=0 highres=off earlycon no4lvl + initrd @INITRDPATH@ +} +menuentry 'Test this media & install @PRODUCT@ @VERSION@' --class red --class gnu-linux --class gnu --class os { + linux @KERNELPATH@ @ROOT@ rd.live.check inst.geoloc=0 systemd.default_timeout_start_sec=600 selinux=0 highres=off earlycon no4lvl + initrd @INITRDPATH@ +} +submenu 'Troubleshooting -->' { + menuentry 'Install @PRODUCT@ @VERSION@ in basic graphics mode' --class red --class gnu-linux --class gnu --class os { + linux @KERNELPATH@ @ROOT@ nomodeset inst.geoloc=0 systemd.default_timeout_start_sec=600 selinux=0 highres=off earlycon no4lvl + initrd @INITRDPATH@ + } + menuentry 'Rescue the @PRODUCT@ system' --class red --class gnu-linux --class gnu --class os { + linux @KERNELPATH@ @ROOT@ rescue systemd.default_timeout_start_sec=600 selinux=0 highres=off earlycon no4lvl + initrd @INITRDPATH@ + } +} \ No newline at end of file diff --git a/isomaker/80-openeuler/efi.tmpl b/isomaker/80-openeuler/efi.tmpl index 3dd1c64..9bb276c 100644 --- a/isomaker/80-openeuler/efi.tmpl +++ b/isomaker/80-openeuler/efi.tmpl @@ -10,6 +10,9 @@ mkdir ${EFIBOOTDIR}/fonts/ install boot/efi/EFI/*/grubloongarch64.efi ${EFIBOOTDIR}/BOOT${efiarch64}.EFI install boot/efi/EFI/*/grubloongarch64.efi ${EFIBOOTDIR}/BOOTLOONGARCH.EFI install boot/efi/EFI/*/grubloongarch64.efi ${EFIBOOTDIR}/grub${efiarch64|lower}.efi +%elif efiarch64 == 'RISCV64': +install boot/efi/EFI/*/gcd${efiarch64|lower}.efi ${EFIBOOTDIR}/BOOT${efiarch64}.EFI +install boot/efi/EFI/*/gcd${efiarch64|lower}.efi ${EFIBOOTDIR}/grub${efiarch64|lower}.EFI %else: install boot/efi/EFI/*/shim${efiarch64|lower}.efi ${EFIBOOTDIR}/BOOT${efiarch64}.EFI install boot/efi/EFI/*/mm${efiarch64|lower}.efi ${EFIBOOTDIR}/ diff --git a/isomaker/80-openeuler/live/efi.tmpl b/isomaker/80-openeuler/live/efi.tmpl index 79f6444..25e07f3 100644 --- a/isomaker/80-openeuler/live/efi.tmpl +++ b/isomaker/80-openeuler/live/efi.tmpl @@ -6,10 +6,15 @@ EFIBOOTDIR="EFI/BOOT" mkdir ${EFIBOOTDIR} mkdir ${EFIBOOTDIR}/fonts/ %if efiarch64: +%if efiarch64 == 'RISCV64': +install boot/efi/EFI/*/gcd${efiarch64|lower}.efi ${EFIBOOTDIR}/BOOT${efiarch64}.EFI +install boot/efi/EFI/*/gcd${efiarch64|lower}.efi ${EFIBOOTDIR}/grub${efiarch64|lower}.EFI +%else: install boot/efi/EFI/*/shim${efiarch64|lower}.efi ${EFIBOOTDIR}/BOOT${efiarch64}.EFI install boot/efi/EFI/*/mm${efiarch64|lower}.efi ${EFIBOOTDIR}/ install boot/efi/EFI/*/gcd${efiarch64|lower}.efi ${EFIBOOTDIR}/grub${efiarch64|lower}.efi %endif +%endif %if efiarch32: install boot/efi/EFI/*/shim${efiarch32|lower}.efi ${EFIBOOTDIR}/BOOT${efiarch32}.EFI install boot/efi/EFI/*/mm${efiarch32|lower}.efi ${EFIBOOTDIR}/ diff --git a/isomaker/80-openeuler/live/riscv64.tmpl b/isomaker/80-openeuler/live/riscv64.tmpl new file mode 100644 index 0000000..5f160b5 --- /dev/null +++ b/isomaker/80-openeuler/live/riscv64.tmpl @@ -0,0 +1,82 @@ +<%page args="kernels, runtime_img, basearch, inroot, outroot, product, isolabel"/> +<% +configdir="tmp/config_files/riscv64" +PXEBOOTDIR="images/pxeboot" +KERNELDIR=PXEBOOTDIR +LIVEDIR="LiveOS" +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) + +from os.path import basename +%> + +## Test ${runtime_img} to see if udf is needed +<% + import os + from pylorax.sysutils import joinpaths + if os.stat(joinpaths(inroot, runtime_img)).st_size >= 4*1024**3: + udfargs = "-allow-limited-size" + else: + udfargs = "" +%> + +mkdir ${LIVEDIR} +install ${runtime_img} ${LIVEDIR}/squashfs.img +treeinfo stage2 mainimage ${LIVEDIR}/squashfs.img + +## install kernels +mkdir ${KERNELDIR} +%for kernel in kernels: + ## normal riscv64 + installkernel images-${basearch} ${kernel.path} ${KERNELDIR}/vmlinuz + installinitrd images-${basearch} ${kernel.initrd.path} ${KERNELDIR}/initrd.img +%endfor + +#FIXME: this will need adjusted when we have a real bootloader. +## WHeeeeeeee, EFI. +## We could remove the basearch restriction someday.. +<% efiargs=""; efigraft="" %> +%if exists("boot/efi/EFI/*/gcdriscv64.efi"): + <% + efiarch32 = None + efiarch64 = 'RISCV64' + efigraft="EFI/BOOT={0}/EFI/BOOT".format(outroot) + images = ["images/efiboot.img"] + %> + %for img in images: + <% + efiargs += " -eltorito-alt-boot -e {0} -no-emul-boot".format(img) + efigraft += " {0}={1}/{0}".format(img,outroot) + %> + treeinfo images-${basearch} ${img|basename} ${img} + %endfor + <%include file="efi.tmpl" args="configdir=configdir, KERNELDIR=KERNELDIR, efiarch32=efiarch32, efiarch64=efiarch64, isolabel=isolabel"/> +%endif + +# 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 \ No newline at end of file diff --git a/isomaker/80-openeuler/riscv64.tmpl b/isomaker/80-openeuler/riscv64.tmpl new file mode 100644 index 0000000..c6afbff --- /dev/null +++ b/isomaker/80-openeuler/riscv64.tmpl @@ -0,0 +1,75 @@ +<%page args="kernels, runtime_img, basearch, inroot, outroot, product, isolabel"/> +<% +configdir="tmp/config_files/riscv64" +PXEBOOTDIR="images/pxeboot" +KERNELDIR=PXEBOOTDIR +STAGE2IMG="images/install.img" +LORAXDIR="usr/share/lorax/" + +from os.path import basename +%> + +## Test ${runtime_img} to see if udf is needed +<% + import os + from pylorax.sysutils import joinpaths + if os.stat(joinpaths(inroot, runtime_img)).st_size >= 4*1024**3: + udfargs = "-allow-limited-size" + else: + udfargs = "" +%> + +mkdir images +install ${runtime_img} ${STAGE2IMG} +treeinfo stage2 mainimage ${STAGE2IMG} + +## install kernels +mkdir ${KERNELDIR} +%for kernel in kernels: + ## normal riscv64 + installkernel images-${basearch} ${kernel.path} ${KERNELDIR}/vmlinuz + installinitrd images-${basearch} ${kernel.initrd.path} ${KERNELDIR}/initrd.img +%endfor + +#FIXME: this will need adjusted when we have a real bootloader. +## WHeeeeeeee, EFI. +## We could remove the basearch restriction someday.. +<% efiargs=""; efigraft="";efiarch64=None %> +%if exists("boot/efi/EFI/*/gcdriscv64.efi"): + <% + efiarch64 = 'RISCV64' + efigraft="EFI/BOOT={0}/EFI/BOOT".format(outroot) + images = ["images/efiboot.img"] + %> + %for img in images: + <% + efiargs += " -eltorito-alt-boot -e {0} -no-emul-boot".format(img) + efigraft += " {0}={1}/{0}".format(img,outroot) + %> + treeinfo images-${basearch} ${img|basename} ${img} + %endfor + <%include file="efi.tmpl" args="configdir=configdir, KERNELDIR=KERNELDIR, efiarch32=efiarch32, efiarch64=efiarch64, isolabel=isolabel"/> +%endif + +# 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 \ No newline at end of file diff --git a/isomaker/80-openeuler/runtime-cleanup.tmpl b/isomaker/80-openeuler/runtime-cleanup.tmpl index 256d013..f3c2664 100644 --- a/isomaker/80-openeuler/runtime-cleanup.tmpl +++ b/isomaker/80-openeuler/runtime-cleanup.tmpl @@ -106,7 +106,7 @@ removekmod sound drivers/media drivers/hwmon \ removekmod drivers/char --allbut virtio_console hw_random \ virtio-rng ipmi hmcdrv removekmod drivers/hid --allbut hid-logitech-dj hid-logitech-hidpp -removekmod drivers/video --allbut hyperv_fb syscopyarea sysfillrect sysimgblt fb_sys_fops +removekmod drivers/video --allbut hyperv_fb syscopyarea sysfillrect sysimgblt fb_sys_fops ls2k500sfb remove lib/modules/*/{build,source,*.map} ## NOTE: depmod gets re-run after cleanup finishes @@ -337,8 +337,10 @@ runcmd chroot ${root} find /boot \! -name "vmlinuz*" \ ## (broken systemd service links lead to confusing noise at boot) ## NOTE: not checking /var because we want to keep /var/run ## NOTE: Excluding /etc/mtab which links to /proc/self/mounts for systemd +%if basearch != 'riscv64': runcmd chroot ${root} find -L /etc /usr -xdev -type l -and \! -name "mtab" \ -printf "removing broken symbolic link %p -> %l\n" -delete +%endif ## Clean up some of the mess pulled in by webkitgtk via yelp ## libwebkit2gtk links to a handful of libraries in gstreamer and diff --git a/isomaker/80-openeuler/runtime-install.tmpl b/isomaker/80-openeuler/runtime-install.tmpl index 9937e70..f38e5eb 100644 --- a/isomaker/80-openeuler/runtime-install.tmpl +++ b/isomaker/80-openeuler/runtime-install.tmpl @@ -52,6 +52,11 @@ installpkg glibc-all-langpacks installpkg grub2-efi-loongarch64 grub2-efi-loongarch64-cdboot grub2-efi-loongarch64-modules installpkg grub2-tools grub2-tools-minimal grub2-tools-extra %endif +%if basearch == "riscv64": + installpkg efibootmgr + installpkg grub2-efi-riscv64 grub2-efi-riscv64-cdboot grub2-efi-riscv64-modules + installpkg grub2-tools grub2-tools-minimal grub2-tools-extra +%endif ## yay, plymouth installpkg plymouth @@ -117,7 +122,7 @@ installpkg pciutils usbutils ipmitool installpkg smartmontools installpkg hdparm ## see bug #1483278 -%if basearch not in ("arm", "armhfp", "loongarch64"): +%if basearch not in ("arm", "armhfp", "loongarch64", "riscv64"): installpkg libmlx4 rdma-core %endif installpkg rng-tools diff --git a/isomaker/config/aarch64/desktop_normal.xml b/isomaker/config/aarch64/desktop_normal.xml index ad784b8..e69de29 100644 --- a/isomaker/config/aarch64/desktop_normal.xml +++ b/isomaker/config/aarch64/desktop_normal.xml @@ -1,151 +0,0 @@ - - - - - core - Core - 核心 - Smallest possible installation - 最小安装 - true - false - - audit - kernel - basesystem - bash - coreutils - cronie - curl - dnf - e2fsprogs - filesystem - firewalld - glibc - grubby - hostname - initscripts - iproute - iprutils - iputils - irqbalance - kbd - kexec-tools - less - man-db - ncurses - openssh - openssh-server - openssh-clients - parted - passwd - policycoreutils - procps-ng - rng-tools - rootfiles - rpm - selinux-policy-targeted - setup - shadow - sssd - sudo - systemd - tuned - util-linux - vim-minimal - xfsprogs - yum - wget - openEuler-release - openEuler-performance - openEuler-latest-release - NetworkManager - NetworkManager-config-server - authselect - dnf-plugins-core - dracut-config-rescue - kernel-tools - sysfsutils - linux-firmware - lshw - lsscsi - rsyslog - security-tool - sg3_utils - dracut-config-generic - dracut-network - rdma-core - selinux-policy-mls - patch - patch-help - ntp - ntp-help - ntp-perl - iSulad - tar - socat - socat-help - conntrack-tools - conntrack-tools-help - vim-X11 - vim-common - vim-enhanced - vim-filesystem - vim-minimal - efibootmgr - efibootmgr-help - cjson - cjson-devel - mosquitto - chrony - - - - kiran - Kiran - kiran桌面环境 - kiran Desktop - kiran桌面环境 - true - true - - kiran-desktop - libstdc++ - eclipse-jdt - pycharm-community - virt-manager - - - - ukui - Ukui - ukui麒麟桌面 - Ukui packages - ukui麒麟桌面 - true - true - - ukui - eclipse-jdt - pycharm-community - virt-manager - - - - desktop-environment - Develop Desktop - 开发者桌面 - Develop Desktop - 开发者桌面 - 1 - - core - - - kiran - ukui - - - diff --git a/isomaker/config/aarch64/edge_normal.xml b/isomaker/config/aarch64/edge_normal.xml new file mode 100644 index 0000000..248efc5 --- /dev/null +++ b/isomaker/config/aarch64/edge_normal.xml @@ -0,0 +1,157 @@ + + + + + core + Core + 核心 + Smallest possible installation + 最小安装 + true + false + + audit + kernel + basesystem + bash + coreutils + cronie + curl + dnf + e2fsprogs + filesystem + firewalld + glibc + grubby + hostname + initscripts + iproute + iprutils + iputils + irqbalance + kbd + kexec-tools + less + man-db + ncurses + openssh + openssh-server + openssh-clients + parted + passwd + policycoreutils + procps-ng + rng-tools + rootfiles + rpm + selinux-policy-targeted + setup + shadow + sssd + sudo + systemd + tuned + util-linux + vim-minimal + xfsprogs + yum + wget + openEuler-release + openEuler-latest-release + NetworkManager + NetworkManager-config-server + authselect + dnf-plugins-core + dracut-config-rescue + kernel-tools + sysfsutils + linux-firmware + lshw + lsscsi + rsyslog + security-tool + sg3_utils + dracut-config-generic + dracut-network + rdma-core + selinux-policy-mls + patch + patch-help + ntp + ntp-help + ntp-perl + iSulad + tar + socat + socat-help + conntrack-tools + conntrack-tools-help + vim-X11 + vim-common + vim-enhanced + vim-filesystem + vim-minimal + efibootmgr + efibootmgr-help + cjson + cjson-devel + mosquitto + chrony + + + + edge + Edge + 边缘场景 + Package for edge scene + 边缘场景相关包 + true + false + + kubernetes + kubernetes-client + kubernetes-help + kubernetes-kubeadm + kubernetes-kubelet + kubernetes-master + kubernetes-node + kubeedge-cloudcore + kubeedge-edgecore + kubeedge-edgesite + kubeedge-keadm + mdadm + mdadm-help + + + + minimal-environment + Minimal Install + 最小安装 + Basic functionality. + 基本功能。 + 1 + + core + + + standard + + + + edge-cloud-environment + Edge Cloud + 边缘云 + For edge computing scenarios + 用于边缘计算场景 + 2 + + core + edge + + + standard + + + diff --git a/isomaker/config/aarch64/normal.xml b/isomaker/config/aarch64/normal.xml index 35350f7..942d222 100644 --- a/isomaker/config/aarch64/normal.xml +++ b/isomaker/config/aarch64/normal.xml @@ -12,7 +12,6 @@ true false - atlas-devel audit-libs-devel bzip2-devel c-ares-devel @@ -34,7 +33,6 @@ libcurl-devel libffi-devel libgcrypt-devel - libhugetlbfs-devel libnl3-devel libselinux-devel libusbx-devel @@ -66,7 +64,6 @@ gpm-devel gstreamer1-devel gstreamer1-plugins-base-devel - gvfs-devel hunspell-devel java-1.8.0-openjdk-devel libXau-devel @@ -165,7 +162,6 @@ psacct quota openEuler-release - openEuler-performance openEuler-latest-release sudo symlinks @@ -293,7 +289,6 @@ yum wget openEuler-release - openEuler-performance openEuler-latest-release NetworkManager NetworkManager-config-server @@ -435,7 +430,6 @@ krb5-pkinit krb5-workstation luksmeta - nscd nss-pam-ldapd openldap-clients samba-winbind @@ -462,6 +456,31 @@ open-isns + + opengauss-server + openGauss Server + openGauss数据库 + openGauss is an open source relational database management system. + openGauss一款开源的关系数据库管理系统。 + true + false + + lz4-devel + protobuf-devel + snappy-devel + zstd-devel + boost-devel + libcgroup-devel + unixODBC-devel + jemalloc-devel + java-1.8.0-openjdk-devel + libedit-devel + libaio-devel + numactl-devel + DCF + opengauss + + fonts Fonts @@ -601,76 +620,6 @@ false - - - gnome-desktop - GNOME - GNOME - GNOME is a highly intuitive and user friendly desktop environment. - GNOME 是一个非常直观且用户友好的桌面环境。 - false - false - - at-spi2-atk - at-spi2-core - avahi - control-center - dconf - eog - evince - evince-nautilus - file-roller - file-roller-nautilus - firewall-config - fprintd-pam - gdm - glib-networking - gnome-bluetooth - gnome-classic-session - gnome-color-manager - gnome-dictionary - gnome-disk-utility - gnome-font-viewer - gnome-getting-started-docs - gnome-icon-theme - gnome-initial-setup - gnome-packagekit - gnome-packagekit-updater - gnome-screenshot - gnome-session - gnome-session-xsession - gnome-settings-daemon - gnome-shell - gnome-terminal - gnome-terminal-nautilus - gnome-themes-standard - gnome-user-docs - gvfs-afc - gvfs-afp - gvfs-archive - gvfs-fuse - gvfs-goa - gvfs-gphoto2 - gvfs-mtp - gvfs-smb - initial-setup-gui - libcanberra-gtk2 - libcanberra-gtk3 - librsvg2 - metacity - nautilus - nm-connection-editor - PackageKit-command-not-found - PackageKit-gtk3-module - sane-backends-drivers-scanners - setroubleshoot - vinagre - vino - xdg-user-dirs-gtk - yelp - dconf-editor - vim-X11 - guest-desktop-agents @@ -815,8 +764,6 @@ numactl numad hwloc - libhugetlbfs - libhugetlbfs-utils mstflint qperf libvma @@ -912,7 +859,6 @@ freeradius libreswan radvd - rsyslog-gnutls rsyslog rsyslog-mysql rsyslog-pgsql @@ -938,7 +884,6 @@ freeradius libreswan radvd - rsyslog-gnutls rsyslog rsyslog-mysql rsyslog-pgsql @@ -992,7 +937,6 @@ pcp-import-mrtg2pcp pcp-libs pcp-libs-devel - pcp-manager pcp-pmda-apache pcp-pmda-bash pcp-pmda-bonding @@ -1027,13 +971,11 @@ pcp-pmda-nfsclient pcp-pmda-nvidia-gpu pcp-pmda-oracle - pcp-pmda-papi pcp-pmda-pdns pcp-pmda-perfevent pcp-pmda-prometheus pcp-pmda-redis pcp-pmda-roomtemp - pcp-pmda-rpm pcp-pmda-rsyslog pcp-pmda-samba pcp-pmda-sendmail @@ -1045,7 +987,6 @@ pcp-pmda-systemd pcp-pmda-trace pcp-pmda-unbound - pcp-pmda-vmware pcp-pmda-weblog pcp-pmda-zimbra pcp-pmda-zswap @@ -1053,11 +994,6 @@ pcp-system-tools pcp-testsuite pcp-webapi - pcp-webapp-blinkenlights - pcp-webapp-grafana - pcp-webapp-graphite - pcp-webapp-vector - pcp-webjs pcp-zeroconf perl-PCP-LogImport perl-PCP-LogSummary @@ -1177,7 +1113,6 @@ true true - atlas units fftw fftw-devel @@ -1220,7 +1155,6 @@ polkit realmd openEuler-release - openEuler-performance timedatex dhcp NetworkManager-config-server @@ -1269,7 +1203,6 @@ pciutils quota openEuler-release - openEuler-performance sudo symlinks systemd-udev @@ -1316,7 +1249,6 @@ libstoragemgmt nano rng-tools - rsyslog-gnutls rsyslog rsyslog-relp nmap @@ -1381,8 +1313,6 @@ false libvirt - libvirt-admin - libvirt-bash-completion libvirt-client libvirt-daemon libvirt-daemon-config-network @@ -1404,11 +1334,11 @@ libvirt-daemon-driver-storage-rbd libvirt-daemon-driver-storage-scsi libvirt-daemon-kvm + libvirt-daemon-plugin-sanlock libvirt-daemon-qemu libvirt-devel libvirt-docs libvirt-libs - libvirt-lock-sanlock libvirt-nss python3-libvirt edk2-aarch64 @@ -1445,18 +1375,6 @@ vinagre - - smart-card - Smart Card Support - 智能卡支持 - Support for using smart card authentication. - 支持使用智能卡验证。 - true - true - - esc - - web-server Basic Web Server @@ -1484,7 +1402,6 @@ false glx-utils - initial-setup-gui mesa-dri-drivers plymouth-system-theme spice-vdagent @@ -1625,6 +1542,7 @@ smb-server virtualization-hypervisor web-server + opengauss-server @@ -1649,7 +1567,6 @@ - diff --git a/isomaker/config/common/livecd/live/efi.tmpl b/isomaker/config/common/livecd/live/efi.tmpl index 9a57df4..31fe163 100644 --- a/isomaker/config/common/livecd/live/efi.tmpl +++ b/isomaker/config/common/livecd/live/efi.tmpl @@ -11,9 +11,18 @@ mkdir ${EFIBOOTDIR}/fonts/ install usr/share/shim/lockdown.efi ${EFIBOOTDIR}/ %endif %if efiarch64: -install boot/efi/EFI/*/shim${efiarch64|lower}.efi ${EFIBOOTDIR}/BOOT${efiarch64}.EFI -install boot/efi/EFI/*/mm${efiarch64|lower}.efi ${EFIBOOTDIR}/ -install boot/efi/EFI/*/gcd${efiarch64|lower}.efi ${EFIBOOTDIR}/grub${efiarch64|lower}.efi + %if efiarch64 == 'LOONGARCH64': + install boot/efi/EFI/openEuler/grubloongarch64.efi ${EFIBOOTDIR}/BOOT${efiarch64}.EFI + install boot/efi/EFI/openEuler/grubloongarch64.efi ${EFIBOOTDIR}/BOOTLOONGARCH.EFI + install boot/efi/EFI/openEuler/grubloongarch64.efi ${EFIBOOTDIR}/grub${efiarch64|lower}.efi + %elif efiarch64 == 'RISCV64': + install boot/efi/EFI/*/gcd${efiarch64|lower}.efi ${EFIBOOTDIR}/BOOT${efiarch64}.EFI + install boot/efi/EFI/*/gcd${efiarch64|lower}.efi ${EFIBOOTDIR}/grub${efiarch64}.EFI + %else: + install boot/efi/EFI/*/shim${efiarch64|lower}.efi ${EFIBOOTDIR}/BOOT${efiarch64}.EFI + install boot/efi/EFI/*/mm${efiarch64|lower}.efi ${EFIBOOTDIR}/ + install boot/efi/EFI/*/gcd${efiarch64|lower}.efi ${EFIBOOTDIR}/grub${efiarch64|lower}.efi + %endif %endif install boot/efi/EFI/*/fonts/unicode.pf2 ${EFIBOOTDIR}/fonts/ diff --git a/isomaker/config/loongarch64/desktop_normal.xml b/isomaker/config/loongarch64/desktop_normal.xml new file mode 100644 index 0000000..e69de29 diff --git a/isomaker/config/loongarch64/ks.cfg b/isomaker/config/loongarch64/ks.cfg new file mode 100644 index 0000000..129d653 --- /dev/null +++ b/isomaker/config/loongarch64/ks.cfg @@ -0,0 +1,28 @@ +# version=openEuler 20.03 +# System authorization information + +# Use CDROM installation media +# Use graphical install +# Run the Setup Agent on first boot +# Keyboard layouts +keyboard --vckeymap=us --xlayouts='us' +# System language + +# Network information +# Root password +# System timezone +timezone Asia/Shanghai --isUtc --nontp +# System bootloader configuration +# Partition clearing information + +%packages --multilib +@core +glibc.i686 +gcc +gdb +make +%end + +%post +grub2-set-default 1 +%end diff --git a/isomaker/config/loongarch64/livecd/live/config_files/loongarch64/boot.msg b/isomaker/config/loongarch64/livecd/live/config_files/loongarch64/boot.msg new file mode 100644 index 0000000..ff54899 --- /dev/null +++ b/isomaker/config/loongarch64/livecd/live/config_files/loongarch64/boot.msg @@ -0,0 +1,5 @@ + +splash.lss + + - Press the 0107 key to begin the installation process. + diff --git a/isomaker/config/loongarch64/livecd/live/config_files/loongarch64/grub.conf b/isomaker/config/loongarch64/livecd/live/config_files/loongarch64/grub.conf new file mode 100644 index 0000000..0077343 --- /dev/null +++ b/isomaker/config/loongarch64/livecd/live/config_files/loongarch64/grub.conf @@ -0,0 +1,9 @@ +#debug --graphics +default=0 +splashimage=@SPLASHPATH@ +timeout 60 +hiddenmenu +title Start @PRODUCT@ @VERSION@ + findiso + kernel @KERNELPATH@ @ROOT@ rd.live.ram net.ifnames=0 biosdevname=0 rd.shell=0 + initrd @INITRDPATH@ diff --git a/isomaker/config/loongarch64/livecd/live/config_files/loongarch64/grub2-efi.cfg b/isomaker/config/loongarch64/livecd/live/config_files/loongarch64/grub2-efi.cfg new file mode 100644 index 0000000..37ca171 --- /dev/null +++ b/isomaker/config/loongarch64/livecd/live/config_files/loongarch64/grub2-efi.cfg @@ -0,0 +1,47 @@ +set default="1" + +function load_video { + if [ x$feature_all_video_module = xy ]; then + insmod all_video + else + insmod efi_gop + insmod efi_uga + insmod ieee1275_fb + insmod vbe + insmod vga + insmod video_bochs + insmod video_cirrus + fi +} + +load_video +set gfxpayload=keep +insmod gzio +insmod part_gpt +insmod ext2 +insmod vfat + +set timeout=60 +### END /etc/grub.d/00_header ### + +search --no-floppy --set=root -l '@ISOLABEL@' + +### BEGIN /etc/grub.d/10_linux ### +menuentry 'Install @PRODUCT@ @VERSION@' --class red --class gnu-linux --class gnu --class os { + linux @KERNELPATH@ @ROOT@ ro inst.geoloc=0 console=tty0 smmu.bypassdev=0x1000:0x17 smmu.bypassdev=0x1000:0x15 video=efifb:off fpi_to_tail=off + initrd @INITRDPATH@ +} +menuentry 'Test this media & install @PRODUCT@ @VERSION@' --class red --class gnu-linux --class gnu --class os { + linux @KERNELPATH@ @ROOT@ rd.live.check inst.geoloc=0 console=tty0 smmu.bypassdev=0x1000:0x17 smmu.bypassdev=0x1000:0x15 video=efifb:off fpi_to_tail=off + initrd @INITRDPATH@ +} +submenu 'Troubleshooting -->' { + menuentry 'Install @PRODUCT@ @VERSION@ in basic graphics mode' --class red --class gnu-linux --class gnu --class os { + linux @KERNELPATH@ @ROOT@ nomodeset inst.geoloc=0 console=tty0 smmu.bypassdev=0x1000:0x17 smmu.bypassdev=0x1000:0x15 video=efifb:off fpi_to_tail=off + initrd @INITRDPATH@ + } + menuentry 'Rescue the @PRODUCT@ system' --class red --class gnu-linux --class gnu --class os { + linux @KERNELPATH@ @ROOT@ rescue console=tty0 smmu.bypassdev=0x1000:0x17 smmu.bypassdev=0x1000:0x15 video=efifb:off fpi_to_tail=off + initrd @INITRDPATH@ + } +} diff --git a/isomaker/config/loongarch64/livecd/live/loongarch64.tmpl b/isomaker/config/loongarch64/livecd/live/loongarch64.tmpl new file mode 100644 index 0000000..daf68c1 --- /dev/null +++ b/isomaker/config/loongarch64/livecd/live/loongarch64.tmpl @@ -0,0 +1,75 @@ +<%page args="kernels, runtime_img, basearch, inroot, outroot, product, isolabel"/> +<% +configdir="tmp/config_files/loongarch64" +PXEBOOTDIR="images/pxeboot" +KERNELDIR=PXEBOOTDIR +LORAXDIR="usr/share/lorax/" +LIVEDIR="LiveOS" + + +from os.path import basename +%> + +## Test ${runtime_img} to see if udf is needed +<% + import os + from pylorax.sysutils import joinpaths + if os.stat(joinpaths(inroot, runtime_img)).st_size >= 4*1024**3: + udfargs = "-allow-limited-size" + else: + udfargs = "" +%> +mkdir ${LIVEDIR} +install ${runtime_img} ${LIVEDIR}/squashfs.img +treeinfo stage2 mainimage ${LIVEDIR}/squashfs.img + + +## install kernels +mkdir ${KERNELDIR} +%for kernel in kernels: + ## normal loongarch64 + installkernel images-${basearch} ${kernel.path} ${KERNELDIR}/vmlinuz + installinitrd images-${basearch} ${kernel.initrd.path} ${KERNELDIR}/initrd.img +%endfor + + +## WHeeeeeeee, EFI. +## We could remove the basearch restriction someday.. +<% efiargs=""; efigraft="" %> +%if exists("boot/efi/EFI/*/grubloongarch64.efi"): + <% + efiarch32 = None + efiarch64 = 'LOONGARCH64' + efigraft="EFI/BOOT={0}/EFI/BOOT".format(outroot) + images = ["images/efiboot.img"] + %> + %for img in images: + <% + efiargs += " -eltorito-alt-boot -e {0} -no-emul-boot".format(img) + efigraft += " {0}={1}/{0}".format(img,outroot) + %> + treeinfo images-${basearch} ${img|basename} ${img} + %endfor + <%include file="efi.tmpl" args="configdir=configdir, KERNELDIR=KERNELDIR, efiarch32=efiarch32, efiarch64=efiarch64, isolabel=isolabel"/> +%endif + +# 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 + +%if exists("boot/efi/EFI/*/grubloongarch64.efi"): +## make boot.iso +runcmd mkisofs -o ${outroot}/images/boot.iso \ + ${efiargs} -R -J -V '${isolabel}' -T ${udfargs} \ + -graft-points \ + ${KERNELDIR}=${outroot}/${KERNELDIR} \ + ${LIVEDIR}=${outroot}/${LIVEDIR} \ + ${efigraft} ${filegraft} +treeinfo images-${basearch} boot.iso images/boot.iso +%endif diff --git a/isomaker/config/loongarch64/livecd/livecd_loongarch64.ks b/isomaker/config/loongarch64/livecd/livecd_loongarch64.ks new file mode 100644 index 0000000..192c4b1 --- /dev/null +++ b/isomaker/config/loongarch64/livecd/livecd_loongarch64.ks @@ -0,0 +1,70 @@ +# Minimal Disk Image +# +# Firewall configuration +firewall --enabled +# Use network installation +url --url="INSTALL_REPO" +# Root password +rootpw --iscrypted ROOT_PWD + +# Network information +network --bootproto=dhcp --onboot=on --activate +# System keyboard +keyboard --xlayouts=us --vckeymap=us +# System language +lang en_US.UTF-8 +# SELinux configuration +selinux --enforcing +# Installation logging level +logging --level=info +# Shutdown after installation +shutdown +# System timezone +timezone Asia/Beijing +# System bootloader configuration +bootloader --location=mbr +# Clear the Master Boot Record +zerombr +# Partition clearing information +clearpart --all +# Disk partitioning information +part / --fstype="ext4" --size=40000 +part swap --size=1000 +%pre +#!/bin/bash +mkdir -p /mnt/sysimage/usr/lib64/ +chmod 0755 /mnt/sysimage/usr/lib64/ +cp /usr/lib64/libbep_env.so /mnt/sysimage/usr/lib64 +%end +%post + +touch /etc/sysconfig/network + +cat << EOF > /etc/sysconfig/network-scripts/ifcfg-eth0 +TYPE=Ethernet +BOOTPROTO=dhcp +NAME=eth0 +DEVICE=eth0 +ONBOOT=yes +EOF + +rm -rf /etc/systemd/system/multi-user.target.wants/kbox.service +rm -rf /etc/systemd/system/multi-user.target.wants/kdump.service +rm -rf /usr/lib/systemd/system/kbox.service +rm -rf /usr/lib/systemd/system/kdump.service +rm -rf /boot/initramfs* + +#fix shadows and shadows- time field +awk 'BEGIN{FS=OFS=":"} {$3=18099; print $0 > "/etc/shadow"}' /etc/shadow; +awk 'BEGIN{FS=OFS=":"} {$3=18099; print $0 > "/etc/shadow-"}' /etc/shadow-; + +#fix /etc/pki/ca-trust/extracted/java/cacerts time field +rm /etc/pki/ca-trust/extracted/java/cacerts +/usr/bin/ca-legacy install +/usr/bin/update-ca-trust + + +%end + +%packages --excludedocs +%end diff --git a/isomaker/config/loongarch64/livecd/rpmlist b/isomaker/config/loongarch64/livecd/rpmlist new file mode 100644 index 0000000..2eb4ac9 --- /dev/null +++ b/isomaker/config/loongarch64/livecd/rpmlist @@ -0,0 +1,91 @@ +NetworkManager +NetworkManager-config-server +abattis-cantarell-fonts +audit +authselect +basesystem +bash +bind +bind-dnssec-utils +boost-iostreams +coreutils +cronie +cryptsetup +curl +dejavu-fonts +dnf +dnf-plugins-core +dosfstools +dracut-config-generic +dracut-config-rescue +dracut-live +dracut-network +e2fsprogs +filesystem +fipscheck +firewalld +glibc +grub2-efi-loongarch64 +grub2-efi-loongarch64-cdboot +grubby +hostname +initscripts +ipmitool +iproute +iprutils +iputils +irqbalance +kbd +kernel +kernel-tools +kexec-tools +less +libX11 +libdaemon +libnet +libteam +linux-firmware +lshw +lsscsi +lvm2 +man-db +ncurses +net-snmp +openEuler-latest-release +openEuler-logos +openEuler-release +openssh +openssh-clients +openssh-server +parted +passwd +policycoreutils +procps-ng +python3-decorator +python3-ply +python3-slip +rdma-core +rng-tools +rootfiles +rpm +rsync +rsyslog +samba-client +samba-libs +security-tool +selinux-policy-mls +selinux-policy-targeted +setup +sg3_utils +shadow +sssd +sudo +sysfsutils +systemd +tuned +unzip +util-linux +vim-minimal +wget +xfsprogs +yum diff --git a/isomaker/config/loongarch64/normal.xml b/isomaker/config/loongarch64/normal.xml index d63041b..f752c6f 100644 --- a/isomaker/config/loongarch64/normal.xml +++ b/isomaker/config/loongarch64/normal.xml @@ -23,6 +23,7 @@ fuse3-devel gmp-devel lksctp-tools-devel + iptables-devel libacl-devel libaio-devel libattr-devel @@ -46,6 +47,7 @@ pcre-devel polkit-devel popt-devel + rdma-core-devel readline-devel sqlite-devel systemd-devel @@ -55,9 +57,11 @@ SDL-devel alsa-lib-devel binutils-devel + boost-devel dbus-glib-devel gd-devel gnutls-devel + gpm-devel gstreamer1-devel gstreamer1-plugins-base-devel hunspell-devel @@ -77,8 +81,13 @@ libssh-devel libtiff-devel libxslt-devel + mariadb-devel mpfr-devel + net-snmp-devel newt-devel + openscap-devel + papi-devel + protobuf-c sane-backends-devel slang-devel startup-notification-devel @@ -86,6 +95,7 @@ tk-devel unixODBC-devel xorg-x11-proto-devel + flatpak @@ -104,16 +114,12 @@ dracut-network e2fsprogs efibootmgr + fcoe-utils firewalld gfs2-utils glibc-all-langpacks grub2-tools grub2-tools-extra - grub2-tools-minimal - grub2-efi-loongarch64 - grub2-efi-loongarch64-cdboot - grub2-common - grub2-efi-loongarch64-modules iscsi-initiator-utils lvm2 mdadm @@ -160,13 +166,16 @@ tree util-linux-user bash-completion + bpftool bzip2 chrony + cockpit cryptsetup dos2unix dosfstools ethtool gnupg2 + libstoragemgmt lvm2 mailcap man-pages @@ -178,7 +187,10 @@ rng-tools rsync smartmontools + sssd + strace libteam + time unzip usbutils virt-what @@ -186,8 +198,11 @@ words xfsdump zip + cifs-utils + cockpit-doc ima-evm-utils nfs-utils + traceroute zsh @@ -211,6 +226,7 @@ true true + containernetworking-plugins @@ -259,6 +275,7 @@ selinux-policy-targeted setup shadow + sssd sudo systemd tuned @@ -269,7 +286,6 @@ wget openEuler-release openEuler-latest-release - bc NetworkManager NetworkManager-config-server authselect @@ -280,10 +296,12 @@ linux-firmware lshw lsscsi - sg3_utils + rsyslog security-tool + sg3_utils dracut-config-generic dracut-network + rdma-core selinux-policy-mls @@ -296,6 +314,9 @@ true false + crash + crash-trace-command + xrestop @@ -331,22 +352,28 @@ elfutils gcc-gfortran git + subversion intltool + ltrace patchutils perl-Fedora-VSP perl-generators pesign source-highlight systemtap + valgrind + valgrind-devel babel chrpath expect gcc-objc gcc-objc++ mercurial + mod_dav_svn systemtap-sdt-devel systemtap-server cmake + rpmdevtools rpmlint @@ -376,6 +403,7 @@ bind bind-chroot + bind-dyndb-ldap unbound @@ -391,10 +419,19 @@ adcli oddjob-mkhomedir realmd + sssd + clevis-dracut + clevis-udisks2 krb5-pkinit krb5-workstation + luksmeta nss-pam-ldapd openldap-clients + samba-winbind + samba-winbind-clients + sssd-dbus + sssd-tools + sssd-winbind-idmap @@ -406,9 +443,11 @@ true false + cifs-utils gssproxy nfs-utils nfs4-acl-tools + samba open-isns @@ -422,8 +461,10 @@ false lz4-devel + protobuf-devel snappy-devel zstd-devel + boost-devel libcgroup-devel unixODBC-devel jemalloc-devel @@ -431,6 +472,7 @@ libedit-devel libaio-devel numactl-devel + DCF @@ -442,13 +484,42 @@ true false + dejavu-sans-fonts + dejavu-sans-mono-fonts + dejavu-serif-fonts abattis-cantarell-fonts + gnu-free-mono-fonts + gnu-free-sans-fonts + gnu-free-serif-fonts + google-noto-sans-cjk-ttc-fonts + google-noto-serif-cjk-ttc-fonts jomolhari-fonts julietaula-montserrat-fonts paktype-naskh-basic-fonts paratype-pt-sans-fonts + sil-abyssinica-fonts sil-nuosu-fonts sil-padauk-fonts + smc-meera-fonts + stix-fonts + thai-scalable-waree-fonts + bpg-algeti-fonts + bpg-chveulebrivi-fonts + bpg-courier-fonts + bpg-courier-s-fonts + bpg-elite-fonts + bpg-excelsior-fonts + bpg-glaho-fonts + bpg-ingiri-fonts + bpg-nino-medium-cond-fonts + bpg-nino-medium-fonts + bpg-sans-fonts + bpg-sans-medium-fonts + bpg-sans-modern-fonts + bpg-sans-regular-fonts + bpg-serif-fonts + bpg-serif-modern-fonts + fontawesome-fonts google-droid-kufi-fonts google-droid-sans-fonts google-droid-sans-mono-fonts @@ -469,13 +540,41 @@ kacst-screen-fonts kacst-title-fonts kacst-titlel-fonts + kurdit-unikurd-web-fonts lato-fonts + madan-fonts + nafees-web-naskh-fonts + navilu-fonts overpass-fonts paktype-naqsh-fonts paktype-tehreer-fonts saab-fonts + samyak-devanagari-fonts + samyak-gujarati-fonts + samyak-malayalam-fonts + samyak-odia-fonts + samyak-tamil-fonts sil-scheherazade-fonts + smc-anjalioldlipi-fonts + smc-dyuthi-fonts + smc-kalyani-fonts + smc-rachana-fonts + smc-raghumalayalam-fonts + smc-suruma-fonts + stix-math-fonts + thai-scalable-garuda-fonts + thai-scalable-kinnari-fonts + thai-scalable-loma-fonts + thai-scalable-norasi-fonts + thai-scalable-purisa-fonts + thai-scalable-sawasdee-fonts + thai-scalable-tlwgmono-fonts + thai-scalable-tlwgtypewriter-fonts + thai-scalable-tlwgtypist-fonts + thai-scalable-tlwgtypo-fonts + thai-scalable-umpush-fonts tibetan-machine-uni-fonts + wqy-microhei-fonts xorg-x11-fonts-100dpi xorg-x11-fonts-75dpi xorg-x11-fonts-ISO8859-1-100dpi @@ -515,40 +614,6 @@ false - - - gnome-desktop - GNOME - GNOME - GNOME is a highly intuitive and user friendly desktop environment. - GNOME 是一个非常直观且用户友好的桌面环境。 - false - false - - at-spi2-atk - at-spi2-core - avahi - dconf - firewall-config - glib-networking - gnome-bluetooth - gnome-color-manager - gnome-dictionary - gnome-font-viewer - gnome-getting-started-docs - gnome-screenshot - gnome-user-docs - initial-setup-gui - libcanberra-gtk2 - libcanberra-gtk3 - librsvg2 - metacity - nm-connection-editor - sane-backends-drivers-scanners - setroubleshoot - xdg-user-dirs-gtk - vim-X11 - guest-desktop-agents @@ -559,6 +624,8 @@ true false + qemu-guest-agent + spice-vdagent @@ -601,6 +668,8 @@ true true + PackageKit + cockpit openssh-server sscg @@ -613,6 +682,16 @@ true false + libibverbs + libibverbs-utils + librdmacm + librdmacm-utils + rdma-core + ibacm + iwpmd + perftest + srp_daemon + opensm @@ -624,8 +703,14 @@ true false + ibus-m17n + ibus-sayura + ibus-table + ibus-table-array30 gtk2-immodule-xim gtk3-immodule-xim + ibus-gtk2 + ibus-gtk3 @@ -674,6 +759,9 @@ numactl numad hwloc + mstflint + qperf + libvma @@ -714,6 +802,7 @@ false cyrus-sasl + postfix @@ -725,6 +814,7 @@ true false + x3270-text @@ -736,12 +826,17 @@ true false + cifs-utils device-mapper-multipath + fcoe-utils gssproxy iscsi-initiator-utils + lldpad nfs-utils nfs4-acl-tools + samba-client cachefilesd + cgdcbxd @@ -756,8 +851,15 @@ dhcp-server krb5-server dnsmasq + freeradius + libreswan radvd + rsyslog + rsyslog-mysql + rsyslog-pgsql + rsyslog-relp tang + tftp-server @@ -769,12 +871,20 @@ true false + arpwatch ipset iptraf-ng iptstate dnsmasq + freeradius + libreswan radvd + rsyslog + rsyslog-mysql + rsyslog-pgsql + rsyslog-relp tang + tftp-server @@ -784,7 +894,10 @@ true false + NetworkManager-bluetooth + NetworkManager-wwan dhcp + iptables dnsmasq @@ -801,9 +914,12 @@ perf hdparm tuned + sysstat powertop + fio iperf3 libpfm + papi tuned-utils @@ -849,12 +965,15 @@ libdb-devel libjpeg-turbo-devel libstdc++-devel + libvirt-devel libxml2-devel libxshmfence-devel mesa-libGL-devel mesa-libGLU-devel nss-devel pango-devel + qt5-qtdoc + qt5-qttranslations @@ -893,6 +1012,10 @@ true false + cockpit + net-snmp + net-snmp-utils + tog-pegasus @@ -911,6 +1034,7 @@ gsl-devel lapack python3-numpy + python3-scipy @@ -923,8 +1047,15 @@ true hmaccalc + tpm-quote-tools + tpm-tools trousers + scap-security-guide aide + openscap + openscap-engine-sce + openscap-utils + scap-security-guide-doc @@ -944,6 +1075,20 @@ NetworkManager + + smb-server + Windows File Server + Windows 文件服务器 + This package group allows you to share files between Linux and MS Windows(tm) systems. + 该软件包组允许您在 Linux 和 MS Windows(tm) 系统间共享文件。 + true + false + + samba + samba-client + cifs-utils + + standard Standard @@ -978,8 +1123,10 @@ tree util-linux-user bash-completion + bpftool bzip2 chrony + cockpit cryptsetup dos2unix dosfstools @@ -994,7 +1141,10 @@ realmd rsync smartmontools + sssd + strace libteam + time unzip usbutils virt-what @@ -1002,12 +1152,18 @@ words xfsdump zip + cifs-utils + cockpit-doc ima-evm-utils nfs-utils + traceroute zsh psacct + libstoragemgmt nano rng-tools + rsyslog + rsyslog-relp nmap pinfo plymouth @@ -1026,24 +1182,39 @@ true chrony + cifs-utils openldap-clients + samba-client setserial tmux zsh + arpwatch chrpath fuse iotop lzop + xdelta environment-modules + libreswan nmap tigervnc + PackageKit-command-not-found aide + amanda-client convmv createrepo_c freerdp + gpm + gssdp + gupnp + mc mtx + net-snmp-utils oddjob oddjob-mkhomedir + rear + sysstat + x3270-x11 @@ -1055,6 +1226,39 @@ false false + libvirt + libvirt-client + libvirt-daemon + libvirt-daemon-config-network + libvirt-daemon-config-nwfilter + libvirt-daemon-driver-interface + libvirt-daemon-driver-network + libvirt-daemon-driver-nodedev + libvirt-daemon-driver-nwfilter + libvirt-daemon-driver-qemu + libvirt-daemon-driver-secret + libvirt-daemon-driver-storage + libvirt-daemon-driver-storage-core + libvirt-daemon-driver-storage-disk + libvirt-daemon-driver-storage-gluster + libvirt-daemon-driver-storage-iscsi + libvirt-daemon-driver-storage-iscsi-direct + libvirt-daemon-driver-storage-logical + libvirt-daemon-driver-storage-mpath + libvirt-daemon-driver-storage-rbd + libvirt-daemon-driver-storage-scsi + libvirt-daemon-kvm + libvirt-daemon-plugin-sanlock + libvirt-daemon-qemu + libvirt-devel + libvirt-docs + libvirt-libs + libvirt-nss + python3-libvirt + qemu-help + qemu + qemu-block-iscsi + qemu-img @@ -1066,6 +1270,7 @@ false false + openvswitch @@ -1078,6 +1283,7 @@ freerdp tigervnc + vinagre @@ -1089,7 +1295,12 @@ true false + httpd + mod_fcgid + mod_ssl libmemcached + memcached + mod_security @@ -1102,9 +1313,10 @@ false glx-utils - initial-setup-gui mesa-dri-drivers plymouth-system-theme + spice-vdagent + xorg-x11-drivers xorg-x11-server-Xorg xorg-x11-utils xorg-x11-xauth @@ -1166,6 +1378,7 @@ network-tools performance scientific + security-tools standard @@ -1240,7 +1453,6 @@ smb-server virtualization-hypervisor web-server - opengauss-server @@ -1265,7 +1477,6 @@ - diff --git a/isomaker/config/ppc64le/desktop_normal.xml b/isomaker/config/ppc64le/desktop_normal.xml new file mode 100644 index 0000000..77c5511 --- /dev/null +++ b/isomaker/config/ppc64le/desktop_normal.xml @@ -0,0 +1,151 @@ + + + + + core + Core + 核心 + Smallest possible installation + 最小安装 + true + false + + audit + kernel + basesystem + bash + coreutils + cronie + curl + dnf + e2fsprogs + filesystem + firewalld + glibc + grubby + hostname + initscripts + iproute + iprutils + iputils + irqbalance + kbd + kexec-tools + less + man-db + ncurses + openssh + openssh-server + openssh-clients + openEuler-release + openEuler-performance + openEuler-latest-release + parted + passwd + policycoreutils + procps-ng + rng-tools + rootfiles + rpm + selinux-policy-targeted + setup + shadow + sssd + sudo + systemd + tuned + util-linux + vim-minimal + xfsprogs + yum + wget + NetworkManager + NetworkManager-config-server + authselect + dnf-plugins-core + dracut-config-rescue + kernel-tools + sysfsutils + linux-firmware + lshw + lsscsi + rsyslog + security-tool + sg3_utils + dracut-config-generic + dracut-network + rdma-core + selinux-policy-mls + patch + patch-help + ntp + ntp-help + ntp-perl + iSulad + tar + socat + socat-help + conntrack-tools + conntrack-tools-help + vim-X11 + vim-common + vim-enhanced + vim-filesystem + vim-minimal + efibootmgr + efibootmgr-help + cjson + cjson-devel + mosquitto + chrony + + + + kiran + Kiran + kiran桌面环境 + kiran Desktop + kiran桌面环境 + true + true + + kiran-desktop + libstdc++ + eclipse-jdt + pycharm-community + virt-manager + + + + ukui + Ukui + ukui麒麟桌面 + Ukui packages + ukui麒麟桌面 + true + true + + ukui + eclipse-jdt + pycharm-community + virt-manager + + + + desktop-environment + Develop Desktop + 开发者桌面 + Develop Desktop + 开发者桌面 + 1 + + core + + + kiran + ukui + + + diff --git a/isomaker/config/ppc64le/edge_normal.xml b/isomaker/config/ppc64le/edge_normal.xml new file mode 100644 index 0000000..c1e8b20 --- /dev/null +++ b/isomaker/config/ppc64le/edge_normal.xml @@ -0,0 +1,156 @@ + + + + + core + Core + 核心 + Smallest possible installation + 最小安装 + true + false + + audit + kernel + basesystem + bash + coreutils + cronie + curl + dnf + e2fsprogs + filesystem + firewalld + glibc + grubby + hostname + initscripts + iproute + iprutils + iputils + irqbalance + kbd + kexec-tools + less + man-db + ncurses + openssh + openssh-server + openssh-clients + parted + passwd + policycoreutils + procps-ng + rng-tools + rootfiles + rpm + selinux-policy-targeted + setup + shadow + sssd + sudo + systemd + tuned + util-linux + vim-minimal + xfsprogs + yum + wget + openEuler-release + openEuler-performance + openEuler-latest-release + NetworkManager + NetworkManager-config-server + authselect + dnf-plugins-core + dracut-config-rescue + kernel-tools + sysfsutils + linux-firmware + lshw + lsscsi + rsyslog + security-tool + sg3_utils + dracut-config-generic + dracut-network + rdma-core + selinux-policy-mls + patch + patch-help + ntp + ntp-help + ntp-perl + iSulad + tar + socat + socat-help + conntrack-tools + conntrack-tools-help + vim-X11 + vim-common + vim-enhanced + vim-filesystem + vim-minimal + cjson + cjson-devel + mosquitto + chrony + + + + edge + Edge + 边缘场景 + Package for edge scene + 边缘场景相关包 + true + false + + kubernetes + kubernetes-client + kubernetes-help + kubernetes-kubeadm + kubernetes-kubelet + kubernetes-master + kubernetes-node + kubeedge-cloudcore + kubeedge-edgecore + kubeedge-edgesite + kubeedge-keadm + mdadm + mdadm-help + + + + minimal-environment + Minimal Install + 最小安装 + Basic functionality. + 基本功能。 + 1 + + core + + + standard + + + + edge-cloud-environment + Edge Cloud + 边缘云 + For edge computing scenarios + 用于边缘计算场景 + 2 + + core + edge + + + standard + + + diff --git a/isomaker/config/ppc64le/livecd/live/config_files/ppc64le/bootinfo.txt b/isomaker/config/ppc64le/livecd/live/config_files/ppc64le/bootinfo.txt new file mode 100644 index 0000000..6eac6c4 --- /dev/null +++ b/isomaker/config/ppc64le/livecd/live/config_files/ppc64le/bootinfo.txt @@ -0,0 +1,170 @@ + +grub 2.00 +grub 2.00 +boot &device;:\boot\grub\powerpc-ieee1275\core.elf + + FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF +FF FF FF FF FF FF FF FF FF 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 diff --git a/isomaker/config/ppc64le/livecd/live/config_files/ppc64le/grub.cfg b/isomaker/config/ppc64le/livecd/live/config_files/ppc64le/grub.cfg new file mode 100644 index 0000000..417856e --- /dev/null +++ b/isomaker/config/ppc64le/livecd/live/config_files/ppc64le/grub.cfg @@ -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 + } +} + diff --git a/isomaker/config/ppc64le/livecd/live/ppc64le.tmpl b/isomaker/config/ppc64le/livecd/live/ppc64le.tmpl new file mode 100644 index 0000000..2cf6622 --- /dev/null +++ b/isomaker/config/ppc64le/livecd/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 ${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/config/ppc64le/livecd/livecd_ppc64le.ks b/isomaker/config/ppc64le/livecd/livecd_ppc64le.ks new file mode 100644 index 0000000..aaaef0c --- /dev/null +++ b/isomaker/config/ppc64le/livecd/livecd_ppc64le.ks @@ -0,0 +1,74 @@ +# Minimal Disk Image +# +# Firewall configuration +firewall --enabled +# Use network installation +url --url="INSTALL_REPO" +# Root password +rootpw --iscrypted ROOT_PWD + +# Network information +network --bootproto=dhcp --onboot=on --activate +# System keyboard +keyboard --xlayouts=us --vckeymap=us +# System language +lang en_US.UTF-8 +# SELinux configuration +selinux --enforcing +# Installation logging level +logging --level=info +# Shutdown after installation +shutdown +# System timezone +timezone Asia/Beijing +# System bootloader configuration +bootloader --location=mbr +# Clear the Master Boot Record +zerombr +# Partition clearing information +clearpart --all +# Disk partitioning information +part / --fstype="ext4" --size=40000 +part swap --size=1000 + +%pre +#!/bin/bash +mkdir -p /mnt/sysimage/usr/lib64/ +chmod 0755 /mnt/sysimage/usr/lib64/ +cp /usr/lib64/libbep_env.so /mnt/sysimage/usr/lib64 +%end + +%post +touch /etc/sysconfig/network + +cat << EOF > /etc/sysconfig/network-scripts/ifcfg-eth0 +TYPE=Ethernet +BOOTPROTO=dhcp +NAME=eth0 +DEVICE=eth0 +ONBOOT=yes +EOF + +rm -rf /etc/systemd/system/multi-user.target.wants/kbox.service +rm -rf /etc/systemd/system/multi-user.target.wants/kdump.service +rm -rf /usr/lib/systemd/system/kbox.service +rm -rf /usr/lib/systemd/system/kdump.service +rm -rf /boot/initramfs* +rm -rf /usr/share/icons/hicolor/icon-theme.cache +rm -rf /usr/share/icons/Adwaita/icon-theme.cache + +#fix shadows and shadows- time field +awk 'BEGIN{FS=OFS=":"} {$3=18099; print $0 > "/etc/shadow"}' /etc/shadow; +awk 'BEGIN{FS=OFS=":"} {$3=18099; print $0 > "/etc/shadow-"}' /etc/shadow-; + + +#fix /etc/pki/ca-trust/extracted/java/cacerts time field +rm /etc/pki/ca-trust/extracted/java/cacerts +/usr/bin/ca-legacy install +/usr/bin/update-ca-trust + + +%end + +%packages --excludedocs +%end diff --git a/isomaker/config/ppc64le/livecd/rpmlist b/isomaker/config/ppc64le/livecd/rpmlist new file mode 100644 index 0000000..03feb94 --- /dev/null +++ b/isomaker/config/ppc64le/livecd/rpmlist @@ -0,0 +1,112 @@ +NetworkManager +NetworkManager-config-server +abattis-cantarell-fonts +audit +authselect +basesystem +bash +bind +bind-dnssec-utils +boost-iostreams +btrfs-progs +coreutils +cronie +cryptsetup +curl +dejavu-fonts +dhcp +dnf +dnf-plugins-core +dosfstools +dracut-config-generic +dracut-config-rescue +dracut-live +dracut-network +e2fsprogs +filesystem +findutils +fipscheck +firewalld +genisoimage +glibc +grub2 +grubby +gtk2 +hostname +initscripts +ipmitool +iproute +iprutils +iputils +irqbalance +kbd +kernel +kernel-tools +kexec-tools +lcms2 +less +lftp +libX11 +libdaemon +libgusb +libiscsi +libnet +libnl3 +libpciaccess +libteam +libusbx +linux-firmware +lshw +lsscsi +lvm2 +lzo +man-db +ncurses +net-snmp +net-tools +nfs-utils +openEuler-latest-release +openEuler-logos +openEuler-release +openssh +openssh-clients +openssh-server +parted +passwd +pciutils +policycoreutils +procps-ng +python3-bind +python3-decorator +python3-ply +python3-slip +rdma-core +rest +rng-tools +rootfiles +rpm +rsync +rsyslog +samba-client +samba-libs +security-tool +selinux-policy-mls +selinux-policy-targeted +setup +sg3_utils +shadow +shim +smartmontools +sssd +sudo +sysfsutils +syslinux +systemd +tuned +unzip +util-linux +vim-minimal +wget +xfsprogs +yum +zip diff --git a/isomaker/config/ppc64le/normal.xml b/isomaker/config/ppc64le/normal.xml new file mode 100644 index 0000000..b8e16c5 --- /dev/null +++ b/isomaker/config/ppc64le/normal.xml @@ -0,0 +1,1597 @@ + + + + + additional-devel + Additional Development + 附加开发 + Additional development headers and libraries for building open-source applications. + 用于构建开源应用程序的附加开发标头及程序可。 + true + false + + audit-libs-devel + bzip2-devel + c-ares-devel + cyrus-sasl-devel + e2fsprogs-devel + elfutils-devel + elfutils-libelf-devel + expat-devel + fuse3-devel + gmp-devel + lksctp-tools-devel + iptables-devel + libacl-devel + libaio-devel + libattr-devel + libblkid-devel + libcap-devel + libcap-ng-devel + libcurl-devel + libffi-devel + libgcrypt-devel + libhugetlbfs-devel + libnl3-devel + libselinux-devel + libusbx-devel + libuuid-devel + lksctp-tools-devel + lz4 + lz4-devel + lzo + lzo-devel + numactl-devel + pciutils-devel + pcre-devel + polkit-devel + popt-devel + rdma-core-devel + readline-devel + sqlite-devel + systemd-devel + tcl-devel + xfsprogs-devel + xz-devel + SDL-devel + alsa-lib-devel + binutils-devel + boost-devel + dbus-glib-devel + gd-devel + gnutls-devel + gpm-devel + gstreamer1-devel + gstreamer1-plugins-base-devel + hunspell-devel + java-1.8.0-openjdk-devel + libXau-devel + libXaw-devel + libXinerama-devel + libXmu-devel + libXrandr-devel + libcanberra-devel + libdrm-devel + libnotify-devel + libpfm-devel + libpq-devel + librsvg2-devel + libsoup-devel + libssh-devel + libtiff-devel + libxslt-devel + mariadb-devel + mpfr-devel + net-snmp-devel + newt-devel + openscap-devel + papi-devel + protobuf-c + sane-backends-devel + slang-devel + startup-notification-devel + tbb-devel + tk-devel + unixODBC-devel + xorg-x11-proto-devel + flatpak + + + + anaconda-tools + Anaconda tools + Anaconda 工具 + + false + false + + lorax + chrony + cryptsetup + device-mapper-multipath + dosfstools + dracut-network + e2fsprogs + fcoe-utils + firewalld + gfs2-utils + glibc-all-langpacks + grub2-tools + grub2-tools-extra + iscsi-initiator-utils + lvm2 + mdadm + realmd + libteam + tmux + xfsprogs + authselect-compat + kdump-anaconda-addon + + + + base + Base + 基本 + The standard installation. + true + false + + acl + at + attr + bc + cpio + crontabs + cyrus-sasl + dbus + ed + file + iptstate + irqbalance + kpatch + logrotate + lsof + net-tools + pciutils + psacct + quota + openEuler-release + openEuler-latest-release + sudo + symlinks + systemd-udev + tar + tree + util-linux-user + bash-completion + bpftool + bzip2 + chrony + cockpit + cryptsetup + dos2unix + dosfstools + ethtool + gnupg2 + libstoragemgmt + lvm2 + mailcap + man-pages + mdadm + mlocate + mtr + nano + realmd + rng-tools + rsync + smartmontools + sssd + strace + libteam + time + unzip + usbutils + virt-what + which + words + xfsdump + zip + cifs-utils + cockpit-doc + ima-evm-utils + nfs-utils + traceroute + zsh + + + + conflicts-baseos + Conflicts BaseOS + 与 BaseOS 冲突 + This group includes packages conflicting with an everything installation from the BaseOS repo + 这个组包括了与通过 BaseOS repo 安装的软件冲突的软件包 + false + false + + + + + container-management + Container Management + 容器管理 + Tools for managing Linux containers + 用于管理 Linux 容器的工具 + true + true + + containernetworking-plugins + + + + core + Core + 核心 + Smallest possible installation + 最小安装 + true + false + + audit + kernel + basesystem + bash + coreutils + cronie + curl + dnf + e2fsprogs + filesystem + firewalld + glibc + grubby + hostname + initscripts + iproute + iprutils + iputils + irqbalance + kbd + kexec-tools + less + man-db + ncurses + openssh + openssh-server + openssh-clients + openEuler-release + openEuler-latest-release + parted + passwd + policycoreutils + procps-ng + rng-tools + rootfiles + rpm + selinux-policy-targeted + setup + shadow + sssd + sudo + systemd + tuned + util-linux + vim-minimal + xfsprogs + yum + wget + NetworkManager + NetworkManager-config-server + authselect + dnf-plugins-core + dracut-config-rescue + kernel-tools + sysfsutils + linux-firmware + lshw + lsscsi + rsyslog + security-tool + sg3_utils + dracut-config-generic + dracut-network + rdma-core + selinux-policy-mls + + + + desktop-debugging + Desktop Debugging and Performance Tools + 桌面调试和运行工具 + GUI tools for debugging applications and performance. + 调试应用程序和性能的 GUI 工具。 + true + false + + crash + crash-gcore-command + crash-trace-command + xrestop + + + + development + Development Tools + 开发工具 + A basic development environment. + 基本开发环境。 + true + true + + autoconf + automake + binutils + bison + flex + gcc + gcc-c++ + glibc-devel + gettext + gdb + libtool + make + patch + pkgconf + openEuler-rpm-config + rpm-build + rpm + asciidoc + byacc + ctags + diffstat + elfutils + gcc-gfortran + git + subversion + intltool + ltrace + patchutils + perl-Fedora-VSP + perl-generators + source-highlight + systemtap + valgrind + valgrind-devel + babel + chrpath + expect + gcc-objc + gcc-objc++ + mercurial + mod_dav_svn + systemtap-sdt-devel + systemtap-server + cmake + rpmdevtools + rpmlint + + + + dial-up + Dial-up Networking Support + 拨号网络支持 + + true + false + + ppp + ModemManager + NetworkManager-adsl + lrzsz + minicom + + + + dns-server + DNS Name Server + DNS 名称服务器 + This package group allows you to run a DNS name server (BIND) on the system. + 该软件包组允许您在系统上运行 DNS 名称服务器(BIND)。 + false + false + + bind + bind-chroot + bind-dyndb-ldap + unbound + + + + directory-client + Directory Client + 目录客户端 + Clients for integration into a network managed by a directory service. + 用于整合到使用目录服务管理的网络的客户端。 + false + false + + adcli + oddjob-mkhomedir + realmd + sssd + clevis-dracut + clevis-udisks2 + krb5-pkinit + krb5-workstation + luksmeta + nscd + nss-pam-ldapd + openldap-clients + samba-winbind + samba-winbind-clients + sssd-dbus + sssd-tools + sssd-winbind-idmap + + + + file-server + File and Storage Server + 文件及存储服务器 + CIFS, SMB, NFS, iSCSI, iSER, and iSNS network storage server. + CIFS, SMB, NFS, iSCSI, iSER 及 iSNS 网络存储服务器。 + true + false + + cifs-utils + gssproxy + nfs-utils + nfs4-acl-tools + samba + open-isns + + + + fonts + Fonts + 字体 + Fonts packages for rendering text on the desktop. + 用于在桌面显示文字的字体软件包。 + true + false + + dejavu-sans-fonts + dejavu-sans-mono-fonts + dejavu-serif-fonts + abattis-cantarell-fonts + gnu-free-mono-fonts + gnu-free-sans-fonts + gnu-free-serif-fonts + google-noto-sans-cjk-ttc-fonts + google-noto-serif-cjk-ttc-fonts + jomolhari-fonts + julietaula-montserrat-fonts + paktype-naskh-basic-fonts + paratype-pt-sans-fonts + sil-abyssinica-fonts + sil-nuosu-fonts + sil-padauk-fonts + smc-meera-fonts + stix-fonts + thai-scalable-waree-fonts + bpg-algeti-fonts + bpg-chveulebrivi-fonts + bpg-courier-fonts + bpg-courier-s-fonts + bpg-elite-fonts + bpg-excelsior-fonts + bpg-glaho-fonts + bpg-ingiri-fonts + bpg-nino-medium-cond-fonts + bpg-nino-medium-fonts + bpg-sans-fonts + bpg-sans-medium-fonts + bpg-sans-modern-fonts + bpg-sans-regular-fonts + bpg-serif-fonts + bpg-serif-modern-fonts + fontawesome-fonts + google-droid-kufi-fonts + google-droid-sans-fonts + google-droid-sans-mono-fonts + google-droid-serif-fonts + gubbi-fonts + kacst-art-fonts + kacst-book-fonts + kacst-decorative-fonts + kacst-digital-fonts + kacst-farsi-fonts + kacst-letter-fonts + kacst-naskh-fonts + kacst-office-fonts + kacst-one-fonts + kacst-pen-fonts + kacst-poster-fonts + kacst-qurn-fonts + kacst-screen-fonts + kacst-title-fonts + kacst-titlel-fonts + kurdit-unikurd-web-fonts + lato-fonts + madan-fonts + nafees-web-naskh-fonts + navilu-fonts + overpass-fonts + paktype-naqsh-fonts + paktype-tehreer-fonts + saab-fonts + samyak-devanagari-fonts + samyak-gujarati-fonts + samyak-malayalam-fonts + samyak-odia-fonts + samyak-tamil-fonts + sil-scheherazade-fonts + smc-anjalioldlipi-fonts + smc-dyuthi-fonts + smc-kalyani-fonts + smc-rachana-fonts + smc-raghumalayalam-fonts + smc-suruma-fonts + stix-math-fonts + thai-scalable-garuda-fonts + thai-scalable-kinnari-fonts + thai-scalable-loma-fonts + thai-scalable-norasi-fonts + thai-scalable-purisa-fonts + thai-scalable-sawasdee-fonts + thai-scalable-tlwgmono-fonts + thai-scalable-tlwgtypewriter-fonts + thai-scalable-tlwgtypist-fonts + thai-scalable-tlwgtypo-fonts + thai-scalable-umpush-fonts + tibetan-machine-uni-fonts + wqy-microhei-fonts + xorg-x11-fonts-100dpi + xorg-x11-fonts-75dpi + xorg-x11-fonts-ISO8859-1-100dpi + xorg-x11-fonts-ISO8859-1-75dpi + xorg-x11-fonts-ISO8859-14-100dpi + xorg-x11-fonts-ISO8859-14-75dpi + xorg-x11-fonts-ISO8859-15-100dpi + xorg-x11-fonts-ISO8859-15-75dpi + xorg-x11-fonts-ISO8859-2-100dpi + xorg-x11-fonts-ISO8859-2-75dpi + xorg-x11-fonts-ISO8859-9-100dpi + xorg-x11-fonts-ISO8859-9-75dpi + xorg-x11-fonts-Type1 + xorg-x11-fonts-cyrillic + xorg-x11-fonts-misc + + + + ftp-server + FTP Server + FTP 服务器 + These tools allow you to run an FTP server on the system. + 这些工具允许您在系统上运行 FTP 服务器。 + true + false + + vsftpd + + + + gnome-apps + GNOME Applications + GNOME 应用程序 + A set of commonly used GNOME Applications. + 一组经常使用的 GNOME 应用程序。 + false + false + + + + + gnome-desktop + GNOME + GNOME + GNOME is a highly intuitive and user friendly desktop environment. + GNOME 是一个非常直观且用户友好的桌面环境。 + false + false + + at-spi2-atk + at-spi2-core + avahi + dconf + firewall-config + fprintd-pam + glib-networking + gnome-dictionary + gnome-packagekit + gnome-packagekit-updater + libcanberra-gtk2 + libcanberra-gtk3 + librsvg2 + metacity + nm-connection-editor + PackageKit-command-not-found + PackageKit-gtk3-module + sane-backends-drivers-scanners + vinagre + vino + xdg-user-dirs-gtk + yelp + vim-X11 + + + + guest-desktop-agents + Guest Desktop Agents + 虚拟机桌面代理 + Agents used when running as a virtualized desktop. + 作为虚拟桌面运行时使用的代理。 + true + false + + qemu-guest-agent + spice-vdagent + + + + hardware-monitoring + Hardware Monitoring Utilities + 硬件监控工具 + A set of tools to monitor server hardware. + 一组用来监控服务器硬件的工具。 + true + false + + rasdaemon + smartmontools + lm_sensors + + + + hardware-support + Hardware Support + This group is a collection of tools for various hardware specific utilities. + true + false + + bolt + usb_modeswitch + linux-firmware + lsscsi + opensc + openssl-pkcs11 + pcsc-lite + pcsc-lite-ccid + + + + headless-management + Headless Management + 无图形终端系统管理工具 + Tools for managing the system without an attached graphical console. + 用于管理无图像终端系统的工具。 + true + true + + PackageKit + cockpit + cockpit + openssh-server + sscg + + + + infiniband + Infiniband Support + Infiniband 支持 + Software designed for supporting clustering, grid connectivity, and low-latency, high bandwidth storage using RDMA-based InfiniBand, iWARP, RoCE, and OPA fabrics. + true + false + + libibverbs + libibverbs-utils + librdmacm + librdmacm-utils + rdma-core + ibacm + iwpmd + perftest + srp_daemon + opensm + + + + input-methods + Input Methods + 输入法 + Input method packages for the input of international text. + 输入非英文文本的输入法软件包 + true + false + + ibus-m17n + ibus-sayura + ibus-table + ibus-table-array30 + gtk2-immodule-xim + gtk3-immodule-xim + ibus-gtk2 + ibus-gtk3 + + + + internet-applications + Internet Applications + 互联网应用程序 + Email, chat, and video conferencing software. + 电子邮件、聊天和视频会议软件。 + false + false + + + + + internet-browser + Internet Browser + 互联网浏览器 + The Firefox web browser + Firefox web 浏览器 + true + false + + + + + java-platform + Java Platform + Java 平台 + Java support for the Red Hat Enterprise Linux Server and Desktop Platforms. + Red Hat Enterprise Linux 服务器和桌面平台的 Java 支持。 + true + false + + java-1.8.0-openjdk + + + + large-systems + Large Systems Performance + 大系统性能 + Performance support tools for large systems. + 用于大型系统的性能支持工具。 + true + false + + numactl + numad + hwloc + libhugetlbfs + libhugetlbfs-utils + mstflint + qperf + libvma + + + + legacy-unix + Legacy UNIX Compatibility + 传统 UNIX 兼容性 + Compatibility programs for migration from or working with legacy UNIX environments. + 用于从继承 UNIX 环境中迁移或者可用于该环境的兼容程序。 + true + true + + mksh + + + + legacy-x + Legacy X Window System Compatibility + 传统 X Windows 系统的兼容性 + Compatibility programs for migration from or working with legacy X Window System environments. + 用于从继承 X Windows 环境中迁移或者可用于该环境的兼容程序。 + true + false + + libXmu + xorg-x11-fonts-ISO8859-1-100dpi + xorg-x11-fonts-Type1 + xorg-x11-fonts-misc + xterm + + + + mail-server + Mail Server + 邮件服务器 + These packages allow you to configure an IMAP or SMTP mail server. + 这些软件包允许您配置 IMAP 或 Postfix 邮件服务器。 + true + false + + cyrus-sasl + postfix + + + + mainframe-access + Mainframe Access + 主框架访问 + Tools for accessing mainframe computing resources. + 访问主框架计算源的工具。 + true + false + + x3270-text + + + + network-file-system-client + Network File System Client + 网络文件系统客户端 + Enables the system to attach to network storage. + 启用该系统附加到网络存储。 + true + false + + cifs-utils + device-mapper-multipath + fcoe-utils + gssproxy + iscsi-initiator-utils + lldpad + nfs-utils + nfs4-acl-tools + samba-client + cachefilesd + cgdcbxd + + + + network-server + Network Servers + 网络服务器 + These packages include network-based servers such as DHCP, Kerberos and NIS. + 这些软件包包括基于网络的服务器,例如 DHCP、Kerberos 和 NIS。 + true + true + + dhcp-server + krb5-server + dnsmasq + freeradius + libreswan + radvd + rsyslog-gnutls + rsyslog + rsyslog-mysql + rsyslog-pgsql + rsyslog-relp + tang + tftp-server + + + + network-tools + Networking Tools + 联网工具 + Tools for configuring and analyzing computer networks. + 配置和分析计算机网络的工具。 + true + false + + arpwatch + ipset + iptraf-ng + iptstate + dnsmasq + freeradius + libreswan + radvd + rsyslog-gnutls + rsyslog + rsyslog-mysql + rsyslog-pgsql + rsyslog-relp + tang + tftp-server + + + + networkmanager-submodules + Common NetworkManager submodules + This group contains NetworkManager submodules that are commonly used, but may not be wanted in some streamlined configurations. + true + false + + NetworkManager-bluetooth + NetworkManager-wifi + NetworkManager-wwan + dhcp + iptables + dnsmasq + + + + performance + Performance Tools + 性能工具 + Tools for diagnosing system and application-level performance problems. + 诊断系统和程序级别性能问题的工具。 + true + false + + iotop + perf + hdparm + tuned + sysstat + pcp + pcp-conf + pcp-doc + pcp-export-pcp2graphite + pcp-export-pcp2influxdb + pcp-export-pcp2json + pcp-export-pcp2xml + pcp-export-pcp2zabbix + pcp-export-zabbix-agent + pcp-import-collectl2pcp + pcp-import-ganglia2pcp + pcp-import-iostat2pcp + pcp-import-mrtg2pcp + pcp-libs + pcp-libs-devel + pcp-pmda-apache + pcp-pmda-bash + pcp-pmda-bonding + pcp-pmda-cifs + pcp-pmda-cisco + pcp-pmda-dbping + pcp-pmda-dm + pcp-pmda-docker + pcp-pmda-ds389 + pcp-pmda-gfs2 + pcp-pmda-gluster + pcp-pmda-gpfs + pcp-pmda-gpsd + pcp-pmda-haproxy + pcp-pmda-infiniband + pcp-pmda-json + pcp-pmda-kvm + pcp-pmda-libvirt + pcp-pmda-lio + pcp-pmda-lmsensors + pcp-pmda-logger + pcp-pmda-lustre + pcp-pmda-lustrecomm + pcp-pmda-mailq + pcp-pmda-memcache + pcp-pmda-mic + pcp-pmda-mounts + pcp-pmda-mysql + pcp-pmda-named + pcp-pmda-netfilter + pcp-pmda-news + pcp-pmda-nfsclient + pcp-pmda-nvidia-gpu + pcp-pmda-oracle + pcp-pmda-pdns + pcp-pmda-perfevent + pcp-pmda-prometheus + pcp-pmda-redis + pcp-pmda-roomtemp + pcp-pmda-rsyslog + pcp-pmda-samba + pcp-pmda-sendmail + pcp-pmda-shping + pcp-pmda-slurm + pcp-pmda-smart + pcp-pmda-snmp + pcp-pmda-summary + pcp-pmda-systemd + pcp-pmda-trace + pcp-pmda-unbound + pcp-pmda-weblog + pcp-pmda-zimbra + pcp-pmda-zswap + pcp-selinux + pcp-system-tools + pcp-testsuite + pcp-webapi + pcp-zeroconf + perl-PCP-LogImport + perl-PCP-LogSummary + perl-PCP-MMV + perl-PCP-PMDA + powertop + iperf3 + libpfm + papi + tuned-utils + + + + platform-devel + Platform Development + 平台开发 + Recommended development headers and libraries for developing applications. + 推荐用于开发应用程序的标头及程序库。 + true + false + + fontconfig-devel + freetype-devel + glib2-devel + glibc-devel + krb5-devel + libjpeg-turbo-devel + libpng-devel + libstdc++-devel + ncurses-devel + openldap-devel + openssl-devel + pam-devel + zlib-devel + atk-devel + cairo-devel + dbus-devel + desktop-file-utils + gtk2-devel + gtk3-devel + libICE-devel + libSM-devel + libX11-devel + libXext-devel + libXft-devel + libXi-devel + libXrender-devel + libXt-devel + libXtst-devel + libXv-devel + libXxf86dga-devel + libdb-devel + libjpeg-turbo-devel + libstdc++-devel + libvirt-devel + libxml2-devel + libxshmfence-devel + mesa-libGL-devel + mesa-libGLU-devel + nss-devel + pango-devel + qt5-qtdoc + qt5-qttranslations + + + + print-client + Printing Client + 打印客户端 + Tools for printing to a local printer or a remote print server. + 在本地打印机和远程打印服务器中打印的工具。 + true + false + + + + + python-web + Python Web + Basic Python web application support. + 基本 Python 网页应用程序支持。 + true + false + + freetype-devel + libcurl + libcurl-devel + libjpeg-turbo + libjpeg-turbo-devel + python3-magic + + + + remote-system-management + Remote Management for Linux + Linux 的远程管理 + Remote management interface. + Linux 的远程管理界面。 + true + false + + cockpit + net-snmp + net-snmp-utils + tog-pegasus + + + + scientific + Scientific Support + 科学记数法支持 + Tools for mathematical and scientific computations, and parallel computing. + 用于数学和科学计算以及平行计算的工具。 + true + true + + units + fftw + fftw-devel + fftw-static + gsl-devel + lapack + python3-numpy + python3-scipy + + + + security-tools + Security Tools + 安全性工具 + Security tools for integrity and trust verification. + 用于完整性和可信验证的安全性工具。 + true + true + + hmaccalc + tpm-quote-tools + tpm-tools + trousers + scap-security-guide + aide + openscap + openscap-engine-sce + openscap-utils + scap-security-guide-doc + + + + server-product + Server product core + Packages mandatory for the server product. + true + false + + chrony + polkit + realmd + openEuler-release + openEuler-latest-release + timedatex + dhcp + NetworkManager-config-server + NetworkManager + + + + smb-server + Windows File Server + Windows 文件服务器 + This package group allows you to share files between Linux and MS Windows(tm) systems. + 该软件包组允许您在 Linux 和 MS Windows(tm) 系统间共享文件。 + true + false + + samba + samba-client + cifs-utils + + + + standard + Standard + 标准 + The standard installation. + 标准安装。 + true + false + + acl + at + attr + bc + cpio + crontabs + cyrus-sasl + dbus + ed + file + iptstate + irqbalance + kpatch + logrotate + lsof + net-tools + pciutils + quota + openEuler-release + openEuler-latest-release + sudo + symlinks + systemd-udev + tar + tree + util-linux-user + bash-completion + bpftool + bzip2 + chrony + cockpit + cryptsetup + dos2unix + dosfstools + ethtool + gnupg2 + lvm2 + mailcap + man-pages + mdadm + mlocate + mtr + realmd + rsync + smartmontools + sssd + strace + libteam + time + unzip + usbutils + virt-what + which + words + xfsdump + zip + cifs-utils + cockpit-doc + ima-evm-utils + nfs-utils + traceroute + zsh + psacct + libstoragemgmt + nano + rng-tools + rsyslog-gnutls + rsyslog + rsyslog-relp + nmap + pinfo + plymouth + tcpdump + vim-enhanced + wget + + + + system-tools + System Tools + 系统工具 + This group is a collection of various tools for the system, such as the client for connecting to SMB shares and tools to monitor network traffic. + 这组软件包是各类系统工具的集合,如:连接 SMB 共享的客户;监控网络交通的工具。 + true + true + + chrony + cifs-utils + openldap-clients + samba-client + setserial + tmux + zsh + arpwatch + chrpath + fuse + iotop + lzop + xdelta + environment-modules + libreswan + nmap + tigervnc + PackageKit-command-not-found + aide + amanda-client + convmv + createrepo_c + freerdp + gpm + gssdp + gupnp + mc + mtx + net-snmp-utils + oddjob + oddjob-mkhomedir + rear + sysstat + x3270-x11 + + + + virtualization-hypervisor + Virtualization Hypervisor + 虚拟化 Hypervisor + Smallest possible virtualization host installation. + 最小的虚拟化主机安装。 + false + false + + libvirt + libvirt-admin + libvirt-client + libvirt-daemon + libvirt-daemon-config-network + libvirt-daemon-config-nwfilter + libvirt-daemon-driver-interface + libvirt-daemon-driver-network + libvirt-daemon-driver-nodedev + libvirt-daemon-driver-nwfilter + libvirt-daemon-driver-qemu + libvirt-daemon-driver-secret + libvirt-daemon-driver-storage + libvirt-daemon-driver-storage-core + libvirt-daemon-driver-storage-disk + libvirt-daemon-driver-storage-gluster + libvirt-daemon-driver-storage-iscsi + libvirt-daemon-driver-storage-iscsi-direct + libvirt-daemon-driver-storage-logical + libvirt-daemon-driver-storage-mpath + libvirt-daemon-driver-storage-rbd + libvirt-daemon-driver-storage-scsi + libvirt-daemon-kvm + libvirt-daemon-qemu + libvirt-devel + libvirt-docs + libvirt-libs + libvirt-lock-sanlock + libvirt-nss + python3-libvirt + qemu-help + qemu + qemu-block-iscsi + qemu-img + + + + openvswitch + Virtualization Openvswitch + 虚拟switch + vswitch installation. + 安装vswitch。 + false + false + + openvswitch + + + + remote-desktop-clients + Remote Desktop Clients + 远程桌面客户端 + + true + false + + freerdp + tigervnc + vinagre + + + + smart-card + Smart Card Support + 智能卡支持 + Support for using smart card authentication. + 支持使用智能卡验证。 + true + true + + + + + web-server + Basic Web Server + 基本网页服务器 + These tools allow you to run a Web server on the system. + 这些工具允许您在系统上运行万维网服务器。 + true + false + + httpd + mod_fcgid + mod_ssl + libmemcached + memcached + mod_security + + + + x11 + X Window System + X 窗口系统 + X Window System Support. + X 窗口系统支持。 + false + false + + glx-utils + mesa-dri-drivers + plymouth-system-theme + spice-vdagent + xorg-x11-drivers + xorg-x11-server-Xorg + xorg-x11-utils + xorg-x11-xauth + xorg-x11-xinit + xvattr + mesa-libGLES + tigervnc-server + wayland-protocols-devel + xorg-x11-drv-libinput + + + + development + Development + 开发 + Packages which provide functionality for developing and building applications. + 用于开发和构建应用程序的软件包。 + 90 + + additional-devel + development + platform-devel + + + + servers + Servers + 服务器 + Software used for running network servers + 用于运行网络服务器的软件 + 20 + + file-server + ftp-server + mail-server + network-server + web-server + + + + base-system + System + 系统 + Core system components. + 核系统组件。 + 10 + + backup-client + debugging + java-platform + print-client + smart-card + dial-up + hardware-monitoring + infiniband + large-systems + legacy-unix + mainframe-access + network-tools + performance + scientific + security-tools + standard + + + + desktops + Desktops + 桌面环境 + Desktops and thin clients. + 桌面和瘦客户端。 + 70 + + base-x + desktop-debugging + fonts + input-methods + legacy-x + remote-desktop-clients + + + + apps + Applications + 应用程序 + Applications to perform a variety of tasks + 执行不同任务的应用程序 + 80 + + graphics + + + + minimal-environment + Minimal Install + 最小安装 + Basic functionality. + 基本功能。 + 1 + + core + + + standard + + + + server-product-environment + Server + 服务器 + An integrated, easy-to-manage server. + 集成的易于管理的服务器 + 2 + + container-management + core + hardware-support + headless-management + server-product + standard + + + debugging + dns-server + file-server + ftp-server + hardware-monitoring + infiniband + mail-server + network-file-system-client + network-server + performance + remote-system-management + smb-server + virtualization-hypervisor + web-server + + + + virtualization-host-environment + Virtualization Host + 虚拟化主机 + Minimal virtualization host. + 最小虚拟化主机。 + 40 + + base + core + virtualization-hypervisor + + + debugging + network-file-system-client + remote-system-management + openvswitch + + + + + + + + + + + + + diff --git a/isomaker/config/ppc64le/standard.conf b/isomaker/config/ppc64le/standard.conf new file mode 100644 index 0000000..fa13e32 --- /dev/null +++ b/isomaker/config/ppc64le/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/riscv64/desktop_normal.xml b/isomaker/config/riscv64/desktop_normal.xml new file mode 100644 index 0000000..e69de29 diff --git a/isomaker/config/riscv64/edge_normal.xml b/isomaker/config/riscv64/edge_normal.xml new file mode 100644 index 0000000..e69de29 diff --git a/isomaker/config/riscv64/livecd/live/config_files/riscv64/boot.msg b/isomaker/config/riscv64/livecd/live/config_files/riscv64/boot.msg new file mode 100644 index 0000000..ff54899 --- /dev/null +++ b/isomaker/config/riscv64/livecd/live/config_files/riscv64/boot.msg @@ -0,0 +1,5 @@ + +splash.lss + + - Press the 0107 key to begin the installation process. + diff --git a/isomaker/config/riscv64/livecd/live/config_files/riscv64/grub.conf b/isomaker/config/riscv64/livecd/live/config_files/riscv64/grub.conf new file mode 100644 index 0000000..ee47854 --- /dev/null +++ b/isomaker/config/riscv64/livecd/live/config_files/riscv64/grub.conf @@ -0,0 +1,9 @@ +#debug --graphics +default=0 +splashimage=@SPLASHPATH@ +timeout 60 +hiddenmenu +title Start @PRODUCT@ @VERSION@ + findiso + kernel @KERNELPATH@ @ROOT@ quiet inst.text rd.live.ram net.ifnames=0 biosdevname=0 rd.shell=0 + initrd @INITRDPATH@ \ No newline at end of file diff --git a/isomaker/config/riscv64/livecd/live/config_files/riscv64/grub2-efi.cfg b/isomaker/config/riscv64/livecd/live/config_files/riscv64/grub2-efi.cfg new file mode 100644 index 0000000..182fdd2 --- /dev/null +++ b/isomaker/config/riscv64/livecd/live/config_files/riscv64/grub2-efi.cfg @@ -0,0 +1,38 @@ +set default="0" + +function load_video { + if [ x$feature_all_video_module = xy ]; then + insmod all_video + else + insmod efi_gop + insmod efi_uga + insmod ieee1275_fb + insmod vbe + insmod vga + insmod video_bochs + insmod video_cirrus + fi +} + +load_video +set gfxpayload=keep +insmod gzio +insmod part_gpt +insmod ext2 + +set timeout=60 +### END /etc/grub.d/00_header ### + +search --no-floppy --set=root -l '@ISOLABEL@' + +### BEGIN /etc/grub.d/10_linux ### +menuentry 'Start @PRODUCT@ @VERSION@ with text mode' --class red --class gnu-linux --class gnu --class os { + linux @KERNELPATH@ @ROOT@ ro inst.text console=ttyS0 console=tty0 rd.live.ram net.ifnames=0 biosdevname=0 rd.shell=0 + initrd @INITRDPATH@ +} +submenu 'Troubleshooting -->' { + menuentry 'Rescue a @PRODUCT@ system' --class red --class gnu-linux --class gnu --class os { + linux @KERNELPATH@ @ROOT@ rescue console=ttyS0 console=tty0 rd.live.ram net.ifnames=0 biosdevname=0 rd.shell=0 + initrd @INITRDPATH@ + } +} \ No newline at end of file diff --git a/isomaker/config/riscv64/livecd/live/riscv64.tmpl b/isomaker/config/riscv64/livecd/live/riscv64.tmpl new file mode 100644 index 0000000..9c14d3f --- /dev/null +++ b/isomaker/config/riscv64/livecd/live/riscv64.tmpl @@ -0,0 +1,75 @@ +<%page args="kernels, runtime_img, basearch, inroot, outroot, product, isolabel"/> +<% +configdir="tmp/config_files/riscv64" +PXEBOOTDIR="images/pxeboot" +KERNELDIR=PXEBOOTDIR +LORAXDIR="usr/share/lorax/" +LIVEDIR="LiveOS" + + +from os.path import basename +%> + +## Test ${runtime_img} to see if udf is needed +<% + import os + from pylorax.sysutils import joinpaths + if os.stat(joinpaths(inroot, runtime_img)).st_size >= 4*1024**3: + udfargs = "-allow-limited-size" + else: + udfargs = "" +%> +mkdir ${LIVEDIR} +install ${runtime_img} ${LIVEDIR}/squashfs.img +treeinfo stage2 mainimage ${LIVEDIR}/squashfs.img + + +## install kernels +mkdir ${KERNELDIR} +%for kernel in kernels: + ## normal riscv64 + installkernel images-${basearch} ${kernel.path} ${KERNELDIR}/vmlinuz + installinitrd images-${basearch} ${kernel.initrd.path} ${KERNELDIR}/initrd.img +%endfor + + +## WHeeeeeeee, EFI. +## We could remove the basearch restriction someday.. +<% efiargs=""; efigraft="" %> +%if exists("boot/efi/EFI/*/gcdriscv64.efi"): + <% + efiarch32 = None + efiarch64 = 'RISCV64' + efigraft="EFI/BOOT={0}/EFI/BOOT".format(outroot) + images = ["images/efiboot.img"] + %> + %for img in images: + <% + efiargs += " -eltorito-alt-boot -e {0} -no-emul-boot".format(img) + efigraft += " {0}={1}/{0}".format(img,outroot) + %> + treeinfo images-${basearch} ${img|basename} ${img} + %endfor + <%include file="efi.tmpl" args="configdir=configdir, KERNELDIR=KERNELDIR, efiarch32=efiarch32, efiarch64=efiarch64, isolabel=isolabel"/> +%endif + +# 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 + +%if exists("boot/efi/EFI/*/gcdriscv64.efi"): +## make boot.iso +runcmd mkisofs -o ${outroot}/images/boot.iso \ + ${efiargs} -R -J -V '${isolabel}' -T ${udfargs} \ + -graft-points \ + ${KERNELDIR}=${outroot}/${KERNELDIR} \ + ${LIVEDIR}=${outroot}/${LIVEDIR} \ + ${efigraft} ${filegraft} +treeinfo images-${basearch} boot.iso images/boot.iso +%endif \ No newline at end of file diff --git a/isomaker/config/riscv64/livecd/livecd_riscv64.ks b/isomaker/config/riscv64/livecd/livecd_riscv64.ks new file mode 100644 index 0000000..fba4995 --- /dev/null +++ b/isomaker/config/riscv64/livecd/livecd_riscv64.ks @@ -0,0 +1,70 @@ +# Minimal Disk Image +# +# Firewall configuration +firewall --enabled +# Use network installation +url --url="INSTALL_REPO" +# Root password +rootpw --iscrypted ROOT_PWD + +# Network information +network --bootproto=dhcp --onboot=on --activate +# System keyboard +keyboard --xlayouts=us --vckeymap=us +# System language +lang en_US.UTF-8 +# SELinux configuration +selinux --enforcing +# Installation logging level +logging --level=info +# Shutdown after installation +shutdown +# System timezone +timezone Asia/Beijing +# System bootloader configuration +bootloader --location=mbr +# Clear the Master Boot Record +zerombr +# Partition clearing information +clearpart --all +# Disk partitioning information +part / --fstype="ext4" --size=40000 +part swap --size=1000 +%pre +#!/bin/bash +mkdir -p /mnt/sysimage/usr/lib64/ +chmod 0755 /mnt/sysimage/usr/lib64/ +cp /usr/lib64/libbep_env.so /mnt/sysimage/usr/lib64 +%end +%post + +touch /etc/sysconfig/network + +cat << EOF > /etc/sysconfig/network-scripts/ifcfg-eth0 +TYPE=Ethernet +BOOTPROTO=dhcp +NAME=eth0 +DEVICE=eth0 +ONBOOT=yes +EOF + +rm -rf /etc/systemd/system/multi-user.target.wants/kbox.service +rm -rf /etc/systemd/system/multi-user.target.wants/kdump.service +rm -rf /usr/lib/systemd/system/kbox.service +rm -rf /usr/lib/systemd/system/kdump.service +rm -rf /boot/initramfs* + +#fix shadows and shadows- time field +awk 'BEGIN{FS=OFS=":"} {$3=18099; print $0 > "/etc/shadow"}' /etc/shadow; +awk 'BEGIN{FS=OFS=":"} {$3=18099; print $0 > "/etc/shadow-"}' /etc/shadow-; + +#fix /etc/pki/ca-trust/extracted/java/cacerts time field +rm /etc/pki/ca-trust/extracted/java/cacerts +/usr/bin/ca-legacy install +/usr/bin/update-ca-trust + + +%end + +%packages --excludedocs +%end \ No newline at end of file diff --git a/isomaker/config/riscv64/livecd/rpmlist b/isomaker/config/riscv64/livecd/rpmlist new file mode 100644 index 0000000..a35b61f --- /dev/null +++ b/isomaker/config/riscv64/livecd/rpmlist @@ -0,0 +1,111 @@ +NetworkManager +NetworkManager-config-server +abattis-cantarell-fonts +audit +authselect +basesystem +bash +bind +bind-dnssec-utils +boost-iostreams +btrfs-progs +coreutils +cronie +cryptsetup +curl +dejavu-fonts +dhcp +dnf +dnf-plugins-core +dosfstools +dracut-config-generic +dracut-config-rescue +dracut-live +dracut-network +e2fsprogs +filesystem +findutils +fipscheck +firewalld +genisoimage +glibc +grub2 +grub2-efi-riscv64 +grub2-efi-riscv64-cdboot +grubby +gtk2 +hostname +initscripts +ipmitool +iproute +iprutils +iputils +irqbalance +kbd +kernel +kernel-tools +kexec-tools +lcms2 +less +lftp +libX11 +libdaemon +libgusb +libiscsi +libnet +libnl3 +libpciaccess +libteam +libusbx +linux-firmware +lshw +lsscsi +lvm2 +lzo +man-db +ncurses +net-snmp +net-tools +nfs-utils +openEuler-latest-release +openEuler-logos +openEuler-release +openssh +openssh-clients +openssh-server +parted +passwd +pciutils +policycoreutils +procps-ng +python3-decorator +python3-ply +python3-slip +rdma-core +rest +rng-tools +rootfiles +rpm +rsync +rsyslog +samba-client +samba-libs +security-tool +selinux-policy-mls +selinux-policy-targeted +setup +sg3_utils +shadow +smartmontools +sssd +sudo +sysfsutils +systemd +tuned +unzip +util-linux +vim-minimal +wget +xfsprogs +yum +zip \ No newline at end of file diff --git a/isomaker/config/riscv64/normal.xml b/isomaker/config/riscv64/normal.xml new file mode 100644 index 0000000..5677a02 --- /dev/null +++ b/isomaker/config/riscv64/normal.xml @@ -0,0 +1,1569 @@ + + + + + additional-devel + Additional Development + 附加开发 + Additional development headers and libraries for building open-source applications. + 用于构建开源应用程序的附加开发标头及程序可。 + true + false + + audit-libs-devel + bzip2-devel + c-ares-devel + cyrus-sasl-devel + e2fsprogs-devel + elfutils-devel + elfutils-libelf-devel + expat-devel + fuse3-devel + gmp-devel + lksctp-tools-devel + iptables-devel + libacl-devel + libaio-devel + libattr-devel + libblkid-devel + libcap-devel + libcap-ng-devel + libcurl-devel + libffi-devel + libgcrypt-devel + libnl3-devel + libselinux-devel + libusbx-devel + libuuid-devel + lksctp-tools-devel + lz4 + lz4-devel + lzo + lzo-devel + numactl-devel + pciutils-devel + pcre-devel + polkit-devel + popt-devel + rdma-core-devel + readline-devel + sqlite-devel + systemd-devel + tcl-devel + xfsprogs-devel + xz-devel + SDL-devel + alsa-lib-devel + binutils-devel + boost-devel + dbus-glib-devel + gd-devel + gnutls-devel + gpm-devel + gstreamer1-devel + gstreamer1-plugins-base-devel + hunspell-devel + java-1.8.0-openjdk-devel + libXau-devel + libXaw-devel + libXinerama-devel + libXmu-devel + libXrandr-devel + libcanberra-devel + libdrm-devel + libnotify-devel + libpfm-devel + libpq-devel + librsvg2-devel + libsoup-devel + libssh-devel + libtiff-devel + libxslt-devel + mariadb-devel + mpfr-devel + net-snmp-devel + newt-devel + openscap-devel + papi-devel + protobuf-c + sane-backends-devel + slang-devel + startup-notification-devel + tbb-devel + tk-devel + unixODBC-devel + xorg-x11-proto-devel + flatpak + + + + anaconda-tools + Anaconda tools + Anaconda 工具 + + false + false + + lorax + chrony + cryptsetup + device-mapper-multipath + dosfstools + dracut-network + e2fsprogs + efibootmgr + fcoe-utils + firewalld + gfs2-utils + glibc-all-langpacks + grub2-efi-riscv64 + grub2-efi-riscv64-cdboot + grub2-tools + grub2-tools-extra + iscsi-initiator-utils + lvm2 + mdadm + realmd + libteam + tmux + xfsprogs + authselect-compat + kdump-anaconda-addon + + + + base + Base + 基本 + The standard installation. + true + false + + acl + at + attr + bc + cpio + crontabs + cyrus-sasl + dbus + ed + file + iptstate + irqbalance + kpatch + logrotate + lsof + net-tools + pciutils + psacct + quota + openEuler-release + openEuler-latest-release + sudo + symlinks + systemd-udev + tar + tree + util-linux-user + bash-completion + bpftool + bzip2 + chrony + cockpit + cryptsetup + dos2unix + dosfstools + ethtool + gnupg2 + libstoragemgmt + lvm2 + mailcap + man-pages + mdadm + mlocate + mtr + nano + realmd + rng-tools + rsync + smartmontools + sssd + strace + libteam + time + unzip + usbutils + virt-what + which + words + xfsdump + zip + cifs-utils + cockpit-doc + ima-evm-utils + nfs-utils + traceroute + zsh + + + + conflicts-baseos + Conflicts BaseOS + 与 BaseOS 冲突 + This group includes packages conflicting with an everything installation from the BaseOS repo + 这个组包括了与通过 BaseOS repo 安装的软件冲突的软件包 + false + false + + + + + container-management + Container Management + 容器管理 + Tools for managing Linux containers + 用于管理 Linux 容器的工具 + true + true + + containernetworking-plugins + + + + core + Core + 核心 + Smallest possible installation + 最小安装 + true + false + + audit + kernel + basesystem + bash + coreutils + cronie + curl + dnf + e2fsprogs + filesystem + firewalld + glibc + grubby + hostname + initscripts + iproute + iprutils + iputils + irqbalance + kbd + kexec-tools + less + man-db + ncurses + openssh + openssh-server + openssh-clients + openEuler-release + openEuler-latest-release + parted + passwd + policycoreutils + procps-ng + rng-tools + rootfiles + rpm + selinux-policy-targeted + setup + shadow + sssd + sudo + systemd + tuned + util-linux + vim-minimal + xfsprogs + yum + wget + NetworkManager + NetworkManager-config-server + authselect + dnf-plugins-core + dracut-config-rescue + kernel-tools + sysfsutils + linux-firmware + lshw + lsscsi + rsyslog + security-tool + sg3_utils + dracut-config-generic + dracut-network + rdma-core + selinux-policy-mls + + + + desktop-debugging + Desktop Debugging and Performance Tools + 桌面调试和运行工具 + GUI tools for debugging applications and performance. + 调试应用程序和性能的 GUI 工具。 + true + false + + crash + crash-gcore-command + crash-trace-command + xrestop + + + + development + Development Tools + 开发工具 + A basic development environment. + 基本开发环境。 + true + true + + autoconf + automake + binutils + bison + flex + gcc + gcc-c++ + glibc-devel + gettext + gdb + libtool + make + patch + pkgconf + openEuler-rpm-config + rpm-build + rpm + asciidoc + byacc + ctags + diffstat + elfutils + gcc-gfortran + git + subversion + intltool + ltrace + patchutils + perl-Fedora-VSP + perl-generators + pesign + source-highlight + systemtap + babel + chrpath + expect + gcc-objc + gcc-objc++ + mercurial + mod_dav_svn + systemtap-sdt-devel + systemtap-server + cmake + rpmdevtools + rpmlint + + + + dial-up + Dial-up Networking Support + 拨号网络支持 + + true + false + + ppp + ModemManager + NetworkManager-adsl + lrzsz + minicom + + + + dns-server + DNS Name Server + DNS 名称服务器 + This package group allows you to run a DNS name server (BIND) on the system. + 该软件包组允许您在系统上运行 DNS 名称服务器(BIND)。 + false + false + + bind + bind-chroot + bind-dyndb-ldap + unbound + + + + directory-client + Directory Client + 目录客户端 + Clients for integration into a network managed by a directory service. + 用于整合到使用目录服务管理的网络的客户端。 + false + false + + adcli + oddjob-mkhomedir + realmd + sssd + clevis-dracut + clevis-udisks2 + krb5-pkinit + krb5-workstation + luksmeta + nss-pam-ldapd + openldap-clients + samba-winbind + samba-winbind-clients + sssd-dbus + sssd-tools + sssd-winbind-idmap + + + + file-server + File and Storage Server + 文件及存储服务器 + CIFS, SMB, NFS, iSCSI, iSER, and iSNS network storage server. + CIFS, SMB, NFS, iSCSI, iSER 及 iSNS 网络存储服务器。 + true + false + + cifs-utils + gssproxy + nfs-utils + nfs4-acl-tools + samba + open-isns + + + + opengauss-server + openGauss Server + openGauss数据库 + openGauss is an open source relational database management system. + openGauss一款开源的关系数据库管理系统。 + true + false + + lz4-devel + protobuf-devel + snappy-devel + zstd-devel + boost-devel + libcgroup-devel + unixODBC-devel + jemalloc-devel + java-1.8.0-openjdk-devel + libedit-devel + libaio-devel + + + + fonts + Fonts + 字体 + Fonts packages for rendering text on the desktop. + 用于在桌面显示文字的字体软件包。 + true + false + + dejavu-sans-fonts + dejavu-sans-mono-fonts + dejavu-serif-fonts + abattis-cantarell-fonts + gnu-free-mono-fonts + gnu-free-sans-fonts + gnu-free-serif-fonts + google-noto-sans-cjk-ttc-fonts + google-noto-serif-cjk-ttc-fonts + jomolhari-fonts + julietaula-montserrat-fonts + paktype-naskh-basic-fonts + paratype-pt-sans-fonts + sil-abyssinica-fonts + sil-nuosu-fonts + sil-padauk-fonts + smc-meera-fonts + stix-fonts + thai-scalable-waree-fonts + bpg-algeti-fonts + bpg-chveulebrivi-fonts + bpg-courier-fonts + bpg-courier-s-fonts + bpg-elite-fonts + bpg-excelsior-fonts + bpg-glaho-fonts + bpg-ingiri-fonts + bpg-nino-medium-cond-fonts + bpg-nino-medium-fonts + bpg-sans-fonts + bpg-sans-medium-fonts + bpg-sans-modern-fonts + bpg-sans-regular-fonts + bpg-serif-fonts + bpg-serif-modern-fonts + fontawesome-fonts + google-droid-kufi-fonts + google-droid-sans-fonts + google-droid-sans-mono-fonts + google-droid-serif-fonts + gubbi-fonts + kacst-art-fonts + kacst-book-fonts + kacst-decorative-fonts + kacst-digital-fonts + kacst-farsi-fonts + kacst-letter-fonts + kacst-naskh-fonts + kacst-office-fonts + kacst-one-fonts + kacst-pen-fonts + kacst-poster-fonts + kacst-qurn-fonts + kacst-screen-fonts + kacst-title-fonts + kacst-titlel-fonts + kurdit-unikurd-web-fonts + lato-fonts + madan-fonts + nafees-web-naskh-fonts + navilu-fonts + overpass-fonts + paktype-naqsh-fonts + paktype-tehreer-fonts + saab-fonts + samyak-devanagari-fonts + samyak-gujarati-fonts + samyak-malayalam-fonts + samyak-odia-fonts + samyak-tamil-fonts + sil-scheherazade-fonts + smc-anjalioldlipi-fonts + smc-dyuthi-fonts + smc-kalyani-fonts + smc-rachana-fonts + smc-raghumalayalam-fonts + smc-suruma-fonts + stix-math-fonts + thai-scalable-garuda-fonts + thai-scalable-kinnari-fonts + thai-scalable-loma-fonts + thai-scalable-norasi-fonts + thai-scalable-purisa-fonts + thai-scalable-sawasdee-fonts + thai-scalable-tlwgmono-fonts + thai-scalable-tlwgtypewriter-fonts + thai-scalable-tlwgtypist-fonts + thai-scalable-tlwgtypo-fonts + thai-scalable-umpush-fonts + tibetan-machine-uni-fonts + wqy-microhei-fonts + xorg-x11-fonts-100dpi + xorg-x11-fonts-75dpi + xorg-x11-fonts-ISO8859-1-100dpi + xorg-x11-fonts-ISO8859-1-75dpi + xorg-x11-fonts-ISO8859-14-100dpi + xorg-x11-fonts-ISO8859-14-75dpi + xorg-x11-fonts-ISO8859-15-100dpi + xorg-x11-fonts-ISO8859-15-75dpi + xorg-x11-fonts-ISO8859-2-100dpi + xorg-x11-fonts-ISO8859-2-75dpi + xorg-x11-fonts-ISO8859-9-100dpi + xorg-x11-fonts-ISO8859-9-75dpi + xorg-x11-fonts-Type1 + xorg-x11-fonts-cyrillic + xorg-x11-fonts-misc + + + + ftp-server + FTP Server + FTP 服务器 + These tools allow you to run an FTP server on the system. + 这些工具允许您在系统上运行 FTP 服务器。 + true + false + + vsftpd + + + + gnome-apps + GNOME Applications + GNOME 应用程序 + A set of commonly used GNOME Applications. + 一组经常使用的 GNOME 应用程序。 + false + false + + + + + guest-desktop-agents + Guest Desktop Agents + 虚拟机桌面代理 + Agents used when running as a virtualized desktop. + 作为虚拟桌面运行时使用的代理。 + true + false + + qemu-guest-agent + spice-vdagent + + + + hardware-monitoring + Hardware Monitoring Utilities + 硬件监控工具 + A set of tools to monitor server hardware. + 一组用来监控服务器硬件的工具。 + true + false + + rasdaemon + smartmontools + lm_sensors + + + + hardware-support + Hardware Support + This group is a collection of tools for various hardware specific utilities. + true + false + + bolt + usb_modeswitch + linux-firmware + lsscsi + opensc + openssl-pkcs11 + pcsc-lite + pcsc-lite-ccid + + + + headless-management + Headless Management + 无图形终端系统管理工具 + Tools for managing the system without an attached graphical console. + 用于管理无图像终端系统的工具。 + true + true + + PackageKit + cockpit + openssh-server + sscg + + + + infiniband + Infiniband Support + Infiniband 支持 + Software designed for supporting clustering, grid connectivity, and low-latency, high bandwidth storage using RDMA-based InfiniBand, iWARP, RoCE, and OPA fabrics. + true + false + + libibverbs + libibverbs-utils + librdmacm + librdmacm-utils + rdma-core + ibacm + iwpmd + perftest + srp_daemon + opensm + + + + input-methods + Input Methods + 输入法 + Input method packages for the input of international text. + 输入非英文文本的输入法软件包 + true + false + + ibus-m17n + ibus-sayura + ibus-table + ibus-table-array30 + gtk2-immodule-xim + gtk3-immodule-xim + ibus-gtk2 + ibus-gtk3 + + + + internet-applications + Internet Applications + 互联网应用程序 + Email, chat, and video conferencing software. + 电子邮件、聊天和视频会议软件。 + false + false + + + + + internet-browser + Internet Browser + 互联网浏览器 + The Firefox web browser + Firefox web 浏览器 + true + false + + firefox + + + + java-platform + Java Platform + Java 平台 + Java support for the Red Hat Enterprise Linux Server and Desktop Platforms. + Red Hat Enterprise Linux 服务器和桌面平台的 Java 支持。 + true + false + + java-1.8.0-openjdk + + + + large-systems + Large Systems Performance + 大系统性能 + Performance support tools for large systems. + 用于大型系统的性能支持工具。 + true + false + + numactl + numad + hwloc + mstflint + qperf + + + + legacy-unix + Legacy UNIX Compatibility + 传统 UNIX 兼容性 + Compatibility programs for migration from or working with legacy UNIX environments. + 用于从继承 UNIX 环境中迁移或者可用于该环境的兼容程序。 + true + true + + mksh + + + + legacy-x + Legacy X Window System Compatibility + 传统 X Windows 系统的兼容性 + Compatibility programs for migration from or working with legacy X Window System environments. + 用于从继承 X Windows 环境中迁移或者可用于该环境的兼容程序。 + true + false + + libXmu + xorg-x11-fonts-ISO8859-1-100dpi + xorg-x11-fonts-Type1 + xorg-x11-fonts-misc + xterm + + + + mail-server + Mail Server + 邮件服务器 + These packages allow you to configure an IMAP or SMTP mail server. + 这些软件包允许您配置 IMAP 或 Postfix 邮件服务器。 + true + false + + cyrus-sasl + postfix + + + + mainframe-access + Mainframe Access + 主框架访问 + Tools for accessing mainframe computing resources. + 访问主框架计算源的工具。 + true + false + + x3270-text + + + + network-file-system-client + Network File System Client + 网络文件系统客户端 + Enables the system to attach to network storage. + 启用该系统附加到网络存储。 + true + false + + cifs-utils + device-mapper-multipath + fcoe-utils + gssproxy + iscsi-initiator-utils + lldpad + nfs-utils + nfs4-acl-tools + samba-client + cachefilesd + cgdcbxd + + + + network-server + Network Servers + 网络服务器 + These packages include network-based servers such as DHCP, Kerberos and NIS. + 这些软件包包括基于网络的服务器,例如 DHCP、Kerberos 和 NIS。 + true + true + + dhcp-server + krb5-server + dnsmasq + freeradius + libreswan + radvd + rsyslog + rsyslog-mysql + rsyslog-pgsql + rsyslog-relp + tang + tftp-server + + + + network-tools + Networking Tools + 联网工具 + Tools for configuring and analyzing computer networks. + 配置和分析计算机网络的工具。 + true + false + + arpwatch + ipset + iptraf-ng + iptstate + dnsmasq + freeradius + libreswan + radvd + rsyslog + rsyslog-mysql + rsyslog-pgsql + rsyslog-relp + tang + tftp-server + + + + networkmanager-submodules + Common NetworkManager submodules + This group contains NetworkManager submodules that are commonly used, but may not be wanted in some streamlined configurations. + true + false + + NetworkManager-bluetooth + NetworkManager-wifi + NetworkManager-wwan + dhcp + iptables + dnsmasq + + + + performance + Performance Tools + 性能工具 + Tools for diagnosing system and application-level performance problems. + 诊断系统和程序级别性能问题的工具。 + true + false + + iotop + perf + hdparm + tuned + sysstat + pcp + pcp-conf + pcp-devel + pcp-doc + pcp-export-pcp2graphite + pcp-export-pcp2influxdb + pcp-export-pcp2json + pcp-export-pcp2xml + pcp-export-pcp2zabbix + pcp-export-zabbix-agent + pcp-import-collectl2pcp + pcp-import-ganglia2pcp + pcp-import-iostat2pcp + pcp-import-mrtg2pcp + pcp-libs + pcp-libs-devel + pcp-pmda-apache + pcp-pmda-bash + pcp-pmda-bonding + pcp-pmda-cifs + pcp-pmda-cisco + pcp-pmda-dbping + pcp-pmda-dm + pcp-pmda-docker + pcp-pmda-ds389 + pcp-pmda-gfs2 + pcp-pmda-gluster + pcp-pmda-gpfs + pcp-pmda-gpsd + pcp-pmda-haproxy + pcp-pmda-infiniband + pcp-pmda-json + pcp-pmda-kvm + pcp-pmda-libvirt + pcp-pmda-lio + pcp-pmda-lmsensors + pcp-pmda-logger + pcp-pmda-lustre + pcp-pmda-lustrecomm + pcp-pmda-mailq + pcp-pmda-memcache + pcp-pmda-mic + pcp-pmda-mounts + pcp-pmda-mysql + pcp-pmda-named + pcp-pmda-netfilter + pcp-pmda-news + pcp-pmda-nfsclient + pcp-pmda-nvidia-gpu + pcp-pmda-oracle + pcp-pmda-pdns + pcp-pmda-perfevent + pcp-pmda-prometheus + pcp-pmda-redis + pcp-pmda-roomtemp + pcp-pmda-rsyslog + pcp-pmda-samba + pcp-pmda-sendmail + pcp-pmda-shping + pcp-pmda-slurm + pcp-pmda-smart + pcp-pmda-snmp + pcp-pmda-summary + pcp-pmda-systemd + pcp-pmda-trace + pcp-pmda-unbound + pcp-pmda-weblog + pcp-pmda-zimbra + pcp-pmda-zswap + pcp-selinux + pcp-system-tools + pcp-testsuite + pcp-webapi + pcp-zeroconf + perl-PCP-LogImport + perl-PCP-LogSummary + perl-PCP-MMV + perl-PCP-PMDA + powertop + iperf3 + libpfm + papi + tuned-utils + + + + platform-devel + Platform Development + 平台开发 + Recommended development headers and libraries for developing applications. + 推荐用于开发应用程序的标头及程序库。 + true + false + + fontconfig-devel + freetype-devel + glib2-devel + glibc-devel + krb5-devel + libjpeg-turbo-devel + libpng-devel + libstdc++-devel + ncurses-devel + openldap-devel + openssl-devel + pam-devel + zlib-devel + atk-devel + cairo-devel + dbus-devel + desktop-file-utils + gtk2-devel + gtk3-devel + libICE-devel + libSM-devel + libX11-devel + libXext-devel + libXft-devel + libXi-devel + libXrender-devel + libXt-devel + libXtst-devel + libXv-devel + libXxf86dga-devel + libdb-devel + libjpeg-turbo-devel + libstdc++-devel + libvirt-devel + libxml2-devel + libxshmfence-devel + mesa-libGL-devel + mesa-libGLU-devel + nss-devel + pango-devel + qt5-qtdoc + qt5-qttranslations + + + + print-client + Printing Client + 打印客户端 + Tools for printing to a local printer or a remote print server. + 在本地打印机和远程打印服务器中打印的工具。 + true + false + + + + + python-web + Python Web + Basic Python web application support. + 基本 Python 网页应用程序支持。 + true + false + + freetype-devel + libcurl + libcurl-devel + libjpeg-turbo + libjpeg-turbo-devel + python3-magic + + + + remote-system-management + Remote Management for Linux + Linux 的远程管理 + Remote management interface. + Linux 的远程管理界面。 + true + false + + cockpit + net-snmp + net-snmp-utils + openwsman-client + tog-pegasus + openwsman-server + + + + scientific + Scientific Support + 科学记数法支持 + Tools for mathematical and scientific computations, and parallel computing. + 用于数学和科学计算以及平行计算的工具。 + true + true + + units + fftw + fftw-devel + fftw-static + gsl-devel + lapack + python3-numpy + python3-scipy + + + + security-tools + Security Tools + 安全性工具 + Security tools for integrity and trust verification. + 用于完整性和可信验证的安全性工具。 + true + true + + hmaccalc + tpm-quote-tools + tpm-tools + trousers + scap-security-guide + aide + openscap + openscap-engine-sce + openscap-utils + scap-security-guide-doc + + + + server-product + Server product core + Packages mandatory for the server product. + true + false + + chrony + polkit + realmd + openEuler-release + openEuler-latest-release + timedatex + dhcp + NetworkManager-config-server + NetworkManager + + + + smb-server + Windows File Server + Windows 文件服务器 + This package group allows you to share files between Linux and MS Windows(tm) systems. + 该软件包组允许您在 Linux 和 MS Windows(tm) 系统间共享文件。 + true + false + + samba + samba-client + cifs-utils + + + + standard + Standard + 标准 + The standard installation. + 标准安装。 + true + false + + acl + at + attr + bc + cpio + crontabs + cyrus-sasl + dbus + ed + file + iptstate + irqbalance + kpatch + logrotate + lsof + net-tools + pciutils + quota + openEuler-release + openEuler-latest-release + sudo + symlinks + systemd-udev + tar + tree + util-linux-user + bash-completion + bpftool + bzip2 + chrony + cockpit + cryptsetup + dos2unix + dosfstools + ethtool + gnupg2 + lvm2 + mailcap + man-pages + mdadm + mlocate + mtr + realmd + rsync + smartmontools + sssd + strace + libteam + time + unzip + usbutils + virt-what + which + words + xfsdump + zip + cifs-utils + cockpit-doc + ima-evm-utils + nfs-utils + traceroute + zsh + psacct + libstoragemgmt + nano + rng-tools + rsyslog + rsyslog-relp + nmap + pinfo + plymouth + tcpdump + vim-enhanced + wget + + + + system-tools + System Tools + 系统工具 + This group is a collection of various tools for the system, such as the client for connecting to SMB shares and tools to monitor network traffic. + 这组软件包是各类系统工具的集合,如:连接 SMB 共享的客户;监控网络交通的工具。 + true + true + + chrony + cifs-utils + openldap-clients + samba-client + setserial + tmux + zsh + arpwatch + chrpath + fuse + iotop + lzop + xdelta + environment-modules + libreswan + nmap + tigervnc + PackageKit-command-not-found + aide + amanda-client + convmv + createrepo_c + freerdp + gpm + gssdp + gupnp + mc + mtx + net-snmp-utils + oddjob + oddjob-mkhomedir + sysstat + x3270-x11 + + + + virtualization-hypervisor + Virtualization Hypervisor + 虚拟化 Hypervisor + Smallest possible virtualization host installation. + 最小的虚拟化主机安装。 + false + false + + libvirt + libvirt-client + libvirt-daemon + libvirt-daemon-config-network + libvirt-daemon-config-nwfilter + libvirt-daemon-driver-interface + libvirt-daemon-driver-network + libvirt-daemon-driver-nodedev + libvirt-daemon-driver-nwfilter + libvirt-daemon-driver-qemu + libvirt-daemon-driver-secret + libvirt-daemon-driver-storage + libvirt-daemon-driver-storage-core + libvirt-daemon-driver-storage-disk + libvirt-daemon-driver-storage-gluster + libvirt-daemon-driver-storage-iscsi + libvirt-daemon-driver-storage-iscsi-direct + libvirt-daemon-driver-storage-logical + libvirt-daemon-driver-storage-mpath + libvirt-daemon-driver-storage-rbd + libvirt-daemon-driver-storage-scsi + libvirt-daemon-kvm + libvirt-daemon-plugin-sanlock + libvirt-daemon-qemu + libvirt-devel + libvirt-docs + libvirt-libs + libvirt-nss + python3-libvirt + qemu-help + qemu + qemu-block-iscsi + qemu-img + + + + openvswitch + Virtualization Openvswitch + 虚拟switch + vswitch installation. + 安装vswitch。 + false + false + + openvswitch + + + + remote-desktop-clients + Remote Desktop Clients + 远程桌面客户端 + + true + false + + freerdp + tigervnc + vinagre + + + + web-server + Basic Web Server + 基本网页服务器 + These tools allow you to run a Web server on the system. + 这些工具允许您在系统上运行万维网服务器。 + true + false + + httpd + mod_fcgid + mod_ssl + libmemcached + memcached + mod_security + + + + x11 + X Window System + X 窗口系统 + X Window System Support. + X 窗口系统支持。 + false + false + + glx-utils + mesa-dri-drivers + plymouth-system-theme + spice-vdagent + xorg-x11-drivers + xorg-x11-server-Xorg + xorg-x11-utils + xorg-x11-xauth + xorg-x11-xinit + xvattr + mesa-libGLES + tigervnc-server + wayland-protocols-devel + xorg-x11-drv-libinput + + + + development + Development + 开发 + Packages which provide functionality for developing and building applications. + 用于开发和构建应用程序的软件包。 + 90 + + additional-devel + development + platform-devel + + + + servers + Servers + 服务器 + Software used for running network servers + 用于运行网络服务器的软件 + 20 + + file-server + ftp-server + mail-server + network-server + web-server + + + + base-system + System + 系统 + Core system components. + 核系统组件。 + 10 + + backup-client + debugging + java-platform + print-client + smart-card + dial-up + hardware-monitoring + infiniband + large-systems + legacy-unix + mainframe-access + network-tools + performance + scientific + security-tools + standard + + + + desktops + Desktops + 桌面环境 + Desktops and thin clients. + 桌面和瘦客户端。 + 70 + + base-x + desktop-debugging + fonts + input-methods + legacy-x + remote-desktop-clients + + + + apps + Applications + 应用程序 + Applications to perform a variety of tasks + 执行不同任务的应用程序 + 80 + + graphics + + + + minimal-environment + Minimal Install + 最小安装 + Basic functionality. + 基本功能。 + 1 + + core + + + standard + + + + server-product-environment + Server + 服务器 + An integrated, easy-to-manage server. + 集成的易于管理的服务器 + 2 + + container-management + core + hardware-support + headless-management + server-product + standard + + + debugging + dns-server + file-server + ftp-server + hardware-monitoring + infiniband + mail-server + network-file-system-client + network-server + performance + remote-system-management + smb-server + virtualization-hypervisor + web-server + opengauss-server + + + + virtualization-host-environment + Virtualization Host + 虚拟化主机 + Minimal virtualization host. + 最小虚拟化主机。 + 40 + + base + core + virtualization-hypervisor + + + debugging + network-file-system-client + remote-system-management + openvswitch + + + + + + + + + + + + \ No newline at end of file diff --git a/isomaker/config/riscv64/standard.conf b/isomaker/config/riscv64/standard.conf new file mode 100644 index 0000000..83dc26d --- /dev/null +++ b/isomaker/config/riscv64/standard.conf @@ -0,0 +1,6 @@ +CONFIG_YUM_REPOS="https://mirror.iscas.ac.cn/openeuler-sig-riscv/openEuler-RISC-V/preview/openEuler-23.09-V1-riscv64/repo/23.09/mainline/" +CONFIG_PACKAGES_LIST_FILE="config/riscv64/normal.xml" +CONFIG_RPM_LIST="config/rpmlist.xml" +CONFIG_PRODUCT="openEuler" +CONFIG_VERSION="24.03" +CONFIG_RELEASE="LTS" \ No newline at end of file diff --git a/isomaker/config/rpmlist.xml b/isomaker/config/rpmlist.xml index b413d0a..5e553ce 100644 --- a/isomaker/config/rpmlist.xml +++ b/isomaker/config/rpmlist.xml @@ -32,42 +32,39 @@ texlive-scheme-gust texlive-scheme-medium texlive-scheme-tetex - totem - totem-debuginfo - totem-debugsource - totem-devel - totem-help - totem-nautilus - gimp - gimp-libs - gimp-devel - gimp-help - gimp-debuginfo - gimp-debugsource - python3-nni - ceph-mgr-rook - ceph-mgr-ssh - ceph-mgr-dashboard - ceph-mgr-k8sevents + drbd + drbd-bash-completion + drbd-pacemaker + drbd-rgmanager + drbd-udev + drbd-utils + gnome-boxes + nodejs-grunt-contrib-watch - totem - gimp + drbd + gnome-boxes + nodejs-grunt-contrib-watch + + + drbd-debuginfo + drbd-debugsource + gnome-boxes-debuginfo + gnome-boxes-debugsource edk2-aarch64 grub2-efi-aa64 - grub2-efi-aa64-modules - hisi_hpre - hisi_rde - hisi_sec2 - hisi_zip - libkae + grub2-efi-aa64-modules + kae-driver + kae-openssl + kae-zip + uadk_engine libwd shim-aa64 - uacce + edk2-ovmf grub2-efi-x64 grub2-efi-x64-modules shim @@ -88,7 +85,6 @@ adobe-mappings-cmap-help adobe-mappings-pdf adobe-mappings-pdf-help - adwaita-gtk2-theme aide aide-help alsa-firmware @@ -108,6 +104,7 @@ atune atune-client atune-db + atune-engine audiofile audit audit-help @@ -136,12 +133,10 @@ bc-help bind-chroot bind-dyndb-ldap - bind-export-libs bind-libs bind-utils binutils binutils-devel - binutils-help bison bison-help blas-devel @@ -194,6 +189,12 @@ cifs-utils-help cjkuni-ukai-fonts cjkuni-ukai-fonts-help + clang + clang-analyzer + clang-devel + clang-libs + clang-resource-filesystem + clang-tools-extra clibcni-devel cloud-init cloud-init-help @@ -228,7 +229,6 @@ crypto-policies cryptsetup cryptsetup-help - cryptsetup-reencrypt ctags ctags-help cups @@ -263,6 +263,8 @@ diffstat diffutils diffutils-help + dim + dim_tools dmidecode dmraid dmraid-events @@ -286,7 +288,6 @@ dracut-network dracut-tools dropwatch - dropwatch-help drpm drpm-devel drpm-help @@ -304,7 +305,6 @@ elfutils-devel ethtool ethtool-help - evolution-data-server exempi exempi-help expat @@ -332,8 +332,6 @@ fuse-help fxload fxload-help - gamin - gamin-help gawk gawk-help gcc-gfortran @@ -351,12 +349,11 @@ geocode-glib-help GeoIP GeoIP-help - geolite2-city - geolite2-country gettext gettext-help gettext-libs git + git-clang-format git-help gjs glib2 @@ -399,7 +396,6 @@ grubby-help gssproxy gssproxy-help - gvfs gzip gzip-help haveged @@ -497,9 +493,7 @@ krb5-server lapack lapack-devel - latrace - latrace-help - lcr + libisula ldns ldns-help less @@ -508,6 +502,7 @@ lftp-help libacl libaio + libaio-devel libarchive libarchive-help libassuan @@ -516,8 +511,6 @@ libblkid libbonobo libbonobo-help - libbonoboui - libbonoboui-help libcanberra-gtk2 libcanberra-help libcap @@ -532,8 +525,6 @@ libcomps libcomps-help libconfig - libcroco - libcroco-help libcurl libdaemon libdaemon-help @@ -555,6 +546,7 @@ libecap libecap-help libedit + libedit-devel libedit-help liberation-fonts libesmtp @@ -574,14 +566,9 @@ libgcc libgcrypt libgcrypt-help - libgdata - libgdata-help libgee libgee-help - libgnome - libgnomecanvas - libgnomecanvas-help - libgnome-help + libgmem libgnomekbd libgomp libgpg-error @@ -593,9 +580,6 @@ libgweather-help libgxps libgxps-help - libhugetlbfs - libhugetlbfs-help - libhugetlbfs-utils libical libicu-devel libidn @@ -733,8 +717,6 @@ libverto-glib libverto-libevent libvirt - libvirt-admin - libvirt-bash-completion libvirt-client libvirt-daemon libvirt-daemon-config-network @@ -755,7 +737,7 @@ libvirt-daemon-driver-storage-mpath libvirt-daemon-driver-storage-rbd libvirt-daemon-driver-storage-scsi - libvirt-daemon-kvm + libvirt-daemon-kvm libvirt-daemon-qemu libvirt-devel libvirt-docs @@ -793,6 +775,21 @@ libyaml libyaml-help linux-firmware + linux-firmware-ath + linux-firmware-cypress + linux-firmware-iwlwifi + linux-firmware-libertas + linux-firmware-mediatek + linux-firmware-mrvl + linux-firmware-netronome + linux-firmware-ti-connectivity + llvm + llvm-devel + llvm-doc + llvm-googletest + llvm-libs + llvm-static + llvm-test lm_sensors lm_sensors-devel lm_sensors-help @@ -823,6 +820,7 @@ lz4 lz4-help lz4-libs + lz4-devel lzo lzo-help lzo-minilzo @@ -865,11 +863,7 @@ mtr-help multipath-tools multipath-tools-help - mutter - mutter-help mysql - nautilus - nautilus-help ncompress ncompress-help ncurses @@ -905,7 +899,6 @@ notification-daemon notification-daemon-help npth - nscd nss nss-help nss-mdns @@ -934,8 +927,8 @@ open-iscsi open-iscsi-help open-isns-help - openjpeg-help - openjpeg-libs + openjpeg2 + openjpeg2-help openldap openldap-clients openldap-help @@ -949,7 +942,6 @@ openssh-clients openssh-help openssh-keycat - openssh-ldap openssh-server openssl openssl-devel @@ -1182,13 +1174,13 @@ rsyslog rsyslog-crypto rsyslog-elasticsearch - rsyslog-gnutls rsyslog-help rsyslog-mmaudit rsyslog-mmjsonparse rsyslog-mmsnmptrapd rsyslog-mysql rsyslog-snmp + rsyslog-gnutls rtkit rtkit-help samba-common-tools @@ -1230,6 +1222,7 @@ smp_utils smp_utils-help snappy + snappy-devel snappy-help source-highlight source-highlight-help @@ -1277,7 +1270,6 @@ tcsh-help telepathy-filesystem telepathy-glib - telepathy-glib-help telepathy-logger telepathy-logger-help telnet @@ -1309,10 +1301,6 @@ tpm2-tss-help traceroute traceroute-help - tracker - tracker-help - tracker-miners - tracker-miners-help tree tree-help trousers @@ -1385,21 +1373,32 @@ zlib-help zsh zstd-help + zstd-devel zziplib-help zziplib-utils + unixODBC-devel + jemalloc-devel + DCF + opengauss - + grub2-efi-aa64 grub2-efi-aa64-cdboot grub2-efi-aa64-modules - + grub2-pc grub2-pc-modules grub2-efi-x64 - grub2-efi-x64-modules - + + kubernetes + kubernetes-client + kubernetes-help + kubernetes-kubeadm + kubernetes-kubelet + kubernetes-master + kubernetes-node kubeedge-cloudcore kubeedge-edgecore kubeedge-edgesite @@ -1416,41 +1415,5 @@ mdadm-help dosfstools-help dosfstools - rpm-build - net-tools - sysstat - at - tpm-tools - expect - xinetd - httpd - vsftpd - acpid - aide - audit-devel - bridge-utils - cifs-utils - ftp - xinetd - tftp - tftp-server - mod_ssl - traceroute - mtr - libcgroup - lldpad - iotop - tcpdump - setools-console - strace - time - cockpit - openvswitch - docker - numactl - nfs4-acl-tools - perl - perf - rpmrebuild diff --git a/isomaker/config/x86_64/desktop_normal.xml b/isomaker/config/x86_64/desktop_normal.xml index 77c5511..e69de29 100644 --- a/isomaker/config/x86_64/desktop_normal.xml +++ b/isomaker/config/x86_64/desktop_normal.xml @@ -1,151 +0,0 @@ - - - - - core - Core - 核心 - Smallest possible installation - 最小安装 - true - false - - audit - kernel - basesystem - bash - coreutils - cronie - curl - dnf - e2fsprogs - filesystem - firewalld - glibc - grubby - hostname - initscripts - iproute - iprutils - iputils - irqbalance - kbd - kexec-tools - less - man-db - ncurses - openssh - openssh-server - openssh-clients - openEuler-release - openEuler-performance - openEuler-latest-release - parted - passwd - policycoreutils - procps-ng - rng-tools - rootfiles - rpm - selinux-policy-targeted - setup - shadow - sssd - sudo - systemd - tuned - util-linux - vim-minimal - xfsprogs - yum - wget - NetworkManager - NetworkManager-config-server - authselect - dnf-plugins-core - dracut-config-rescue - kernel-tools - sysfsutils - linux-firmware - lshw - lsscsi - rsyslog - security-tool - sg3_utils - dracut-config-generic - dracut-network - rdma-core - selinux-policy-mls - patch - patch-help - ntp - ntp-help - ntp-perl - iSulad - tar - socat - socat-help - conntrack-tools - conntrack-tools-help - vim-X11 - vim-common - vim-enhanced - vim-filesystem - vim-minimal - efibootmgr - efibootmgr-help - cjson - cjson-devel - mosquitto - chrony - - - - kiran - Kiran - kiran桌面环境 - kiran Desktop - kiran桌面环境 - true - true - - kiran-desktop - libstdc++ - eclipse-jdt - pycharm-community - virt-manager - - - - ukui - Ukui - ukui麒麟桌面 - Ukui packages - ukui麒麟桌面 - true - true - - ukui - eclipse-jdt - pycharm-community - virt-manager - - - - desktop-environment - Develop Desktop - 开发者桌面 - Develop Desktop - 开发者桌面 - 1 - - core - - - kiran - ukui - - - diff --git a/isomaker/config/x86_64/edge_normal.xml b/isomaker/config/x86_64/edge_normal.xml new file mode 100644 index 0000000..9693f17 --- /dev/null +++ b/isomaker/config/x86_64/edge_normal.xml @@ -0,0 +1,157 @@ + + + + + core + Core + 核心 + Smallest possible installation + 最小安装 + true + false + + audit + kernel + basesystem + bash + coreutils + cronie + curl + dnf + e2fsprogs + filesystem + firewalld + glibc + grubby + hostname + initscripts + iproute + iprutils + iputils + irqbalance + kbd + kexec-tools + less + man-db + ncurses + openssh + openssh-server + openssh-clients + openEuler-release + openEuler-latest-release + parted + passwd + policycoreutils + procps-ng + rng-tools + rootfiles + rpm + selinux-policy-targeted + setup + shadow + sssd + sudo + systemd + tuned + util-linux + vim-minimal + xfsprogs + yum + wget + NetworkManager + NetworkManager-config-server + authselect + dnf-plugins-core + dracut-config-rescue + kernel-tools + sysfsutils + linux-firmware + lshw + lsscsi + rsyslog + security-tool + sg3_utils + dracut-config-generic + dracut-network + rdma-core + selinux-policy-mls + patch + patch-help + ntp + ntp-help + ntp-perl + iSulad + tar + socat + socat-help + conntrack-tools + conntrack-tools-help + vim-X11 + vim-common + vim-enhanced + vim-filesystem + vim-minimal + efibootmgr + efibootmgr-help + cjson + cjson-devel + mosquitto + chrony + + + + edge + Edge + 边缘场景 + Package for edge scene + 边缘场景相关包 + true + false + + kubernetes + kubernetes-client + kubernetes-help + kubernetes-kubeadm + kubernetes-kubelet + kubernetes-master + kubernetes-node + kubeedge-cloudcore + kubeedge-edgecore + kubeedge-edgesite + kubeedge-keadm + mdadm + mdadm-help + + + + minimal-environment + Minimal Install + 最小安装 + Basic functionality. + 基本功能。 + 1 + + core + + + standard + + + + edge-cloud-environment + Edge Cloud + 边缘云 + For edge computing scenarios + 用于边缘计算场景 + 2 + + core + edge + + + standard + + + diff --git a/isomaker/config/x86_64/normal.xml b/isomaker/config/x86_64/normal.xml index 588e66e..26baaf2 100644 --- a/isomaker/config/x86_64/normal.xml +++ b/isomaker/config/x86_64/normal.xml @@ -12,7 +12,6 @@ true false - atlas-devel audit-libs-devel bzip2-devel c-ares-devel @@ -34,7 +33,6 @@ libcurl-devel libffi-devel libgcrypt-devel - libhugetlbfs-devel libnl3-devel libselinux-devel libusbx-devel @@ -66,7 +64,6 @@ gpm-devel gstreamer1-devel gstreamer1-plugins-base-devel - gvfs-devel hunspell-devel java-1.8.0-openjdk-devel libXau-devel @@ -165,7 +162,6 @@ psacct quota openEuler-release - openEuler-performance openEuler-latest-release sudo symlinks @@ -274,7 +270,6 @@ openssh-server openssh-clients openEuler-release - openEuler-performance openEuler-latest-release parted passwd @@ -435,7 +430,6 @@ krb5-pkinit krb5-workstation luksmeta - nscd nss-pam-ldapd openldap-clients samba-winbind @@ -462,6 +456,30 @@ open-isns + + opengauss-server + openGauss Server + openGauss数据库 + openGauss is an open source relational database management system. + openGauss一款开源的关系数据库管理系统。 + true + false + + lz4-devel + protobuf-devel + snappy-devel + zstd-devel + boost-devel + libcgroup-devel + unixODBC-devel + jemalloc-devel + java-1.8.0-openjdk-devel + libedit-devel + libaio-devel + DCF + opengauss + + fonts Fonts @@ -601,76 +619,6 @@ false - - - gnome-desktop - GNOME - GNOME - GNOME is a highly intuitive and user friendly desktop environment. - GNOME 是一个非常直观且用户友好的桌面环境。 - false - false - - at-spi2-atk - at-spi2-core - avahi - control-center - dconf - eog - evince - evince-nautilus - file-roller - file-roller-nautilus - firewall-config - fprintd-pam - gdm - glib-networking - gnome-bluetooth - gnome-classic-session - gnome-color-manager - gnome-dictionary - gnome-disk-utility - gnome-font-viewer - gnome-getting-started-docs - gnome-icon-theme - gnome-initial-setup - gnome-packagekit - gnome-packagekit-updater - gnome-screenshot - gnome-session - gnome-session-xsession - gnome-settings-daemon - gnome-shell - gnome-terminal - gnome-terminal-nautilus - gnome-themes-standard - gnome-user-docs - gvfs-afc - gvfs-afp - gvfs-archive - gvfs-fuse - gvfs-goa - gvfs-gphoto2 - gvfs-mtp - gvfs-smb - initial-setup-gui - libcanberra-gtk2 - libcanberra-gtk3 - librsvg2 - metacity - nautilus - nm-connection-editor - PackageKit-command-not-found - PackageKit-gtk3-module - sane-backends-drivers-scanners - setroubleshoot - vinagre - vino - xdg-user-dirs-gtk - yelp - dconf-editor - vim-X11 - guest-desktop-agents @@ -818,8 +766,6 @@ numactl numad hwloc - libhugetlbfs - libhugetlbfs-utils mstflint qperf libvma @@ -915,7 +861,6 @@ freeradius libreswan radvd - rsyslog-gnutls rsyslog rsyslog-mysql rsyslog-pgsql @@ -941,7 +886,6 @@ freeradius libreswan radvd - rsyslog-gnutls rsyslog rsyslog-mysql rsyslog-pgsql @@ -995,7 +939,6 @@ pcp-import-mrtg2pcp pcp-libs pcp-libs-devel - pcp-manager pcp-pmda-apache pcp-pmda-bash pcp-pmda-bonding @@ -1030,13 +973,11 @@ pcp-pmda-nfsclient pcp-pmda-nvidia-gpu pcp-pmda-oracle - pcp-pmda-papi pcp-pmda-pdns pcp-pmda-perfevent pcp-pmda-prometheus pcp-pmda-redis pcp-pmda-roomtemp - pcp-pmda-rpm pcp-pmda-rsyslog pcp-pmda-samba pcp-pmda-sendmail @@ -1048,7 +989,6 @@ pcp-pmda-systemd pcp-pmda-trace pcp-pmda-unbound - pcp-pmda-vmware pcp-pmda-weblog pcp-pmda-zimbra pcp-pmda-zswap @@ -1056,11 +996,6 @@ pcp-system-tools pcp-testsuite pcp-webapi - pcp-webapp-blinkenlights - pcp-webapp-grafana - pcp-webapp-graphite - pcp-webapp-vector - pcp-webjs pcp-zeroconf perl-PCP-LogImport perl-PCP-LogSummary @@ -1179,7 +1114,6 @@ true true - atlas units fftw fftw-devel @@ -1222,7 +1156,6 @@ polkit realmd openEuler-release - openEuler-performance openEuler-latest-release timedatex dhcp @@ -1272,7 +1205,6 @@ pciutils quota openEuler-release - openEuler-performance openEuler-latest-release sudo symlinks @@ -1320,7 +1252,6 @@ libstoragemgmt nano rng-tools - rsyslog-gnutls rsyslog rsyslog-relp nmap @@ -1386,8 +1317,6 @@ false libvirt - libvirt-admin - libvirt-bash-completion libvirt-client libvirt-daemon libvirt-daemon-config-network @@ -1409,11 +1338,11 @@ libvirt-daemon-driver-storage-rbd libvirt-daemon-driver-storage-scsi libvirt-daemon-kvm + libvirt-daemon-plugin-sanlock libvirt-daemon-qemu libvirt-devel libvirt-docs libvirt-libs - libvirt-lock-sanlock libvirt-nss python3-libvirt qemu-help @@ -1448,18 +1377,6 @@ vinagre - - smart-card - Smart Card Support - 智能卡支持 - Support for using smart card authentication. - 支持使用智能卡验证。 - true - true - - esc - - web-server Basic Web Server @@ -1487,7 +1404,6 @@ false glx-utils - initial-setup-gui mesa-dri-drivers plymouth-system-theme spice-vdagent @@ -1628,6 +1544,7 @@ smb-server virtualization-hypervisor web-server + opengauss-server @@ -1652,7 +1569,6 @@ - diff --git a/isomaker/docs/OpenEuler-Software-License.docx b/isomaker/docs/OpenEuler-Software-License.docx index c1e80b85536156e6ab8f67f6d8ff6e6a0e8f2eb0..ad93133479a8f6b8d3f721ed82f34afd46eff34d 100755 GIT binary patch literal 27613 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 literal 30155 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%0DD&`|6} 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 ava_every_lst + yum list --installroot="${BUILD}"/tmp --available | awk '{print $1}' | grep -E "\.noarch|\.${ARCH}" | grep -v "debuginfo\." | grep -v "debugsource\." > ava_every_lst parse_rpmlist_xml "exclude" cat parsed_rpmlist_exclude if [ -s parsed_rpmlist_exclude ];then @@ -259,7 +259,7 @@ function everything_source_rpms_download() function everything_debug_rpms_download() { mkdir ${EVERY_DEBUG_DIR} - yum list --installroot="${BUILD}"/tmp --available | awk '{print $1}' | grep -E "debuginfo|debugsource" > ava_debug_lst + yum list --installroot="${BUILD}"/tmp --available | awk '{print $1}' | grep -E "debuginfo\.|debugsource\." > ava_debug_lst parse_rpmlist_xml "everything_debug_exclude" cat parsed_rpmlist_everything_debug_exclude if [ -s parsed_rpmlist_everything_debug_exclude ];then -- Gitee