From 924f6801cb6af7d897c4de5b9ae7965426a98335 Mon Sep 17 00:00:00 2001 From: ouuleilei Date: Thu, 13 Jun 2024 13:11:27 +0800 Subject: [PATCH] add riscv64 support --- envmaker/config/compile_env_rpmlist.xml | 4 + envmaker/config/riscv64/openEuler_repo.conf | 17 + 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 | 14 +- 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 | 2 + isomaker/80-openeuler/runtime-install.tmpl | 7 +- isomaker/config/common/livecd/live/efi.tmpl | 3 + 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/init.sh | 2 +- isomaker/iso.sh | 18 +- 27 files changed, 2538 insertions(+), 17 deletions(-) create mode 100644 envmaker/config/riscv64/openEuler_repo.conf 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/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 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/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/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 8578f83..be836ff 100755 --- 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() @@ -687,6 +689,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..ff54899 --- /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 0b5e770..29a61d4 100644 --- a/isomaker/80-openeuler/efi.tmpl +++ b/isomaker/80-openeuler/efi.tmpl @@ -5,7 +5,14 @@ EFIBOOTDIR="EFI/BOOT" mkdir ${EFIBOOTDIR} mkdir ${EFIBOOTDIR}/fonts/ -%if efiarch64 != 'LOONGARCH64': +%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/openEuler/gcd${efiarch64|lower}.efi ${EFIBOOTDIR}/BOOT${efiarch64}.EFI +install boot/efi/EFI/openEuler/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 @@ -15,11 +22,6 @@ install boot/efi/EFI/*/shim${efiarch32|lower}.efi ${EFIBOOTDIR}/BOOT${efiarch32} install boot/efi/EFI/*/mm${efiarch32|lower}.efi ${EFIBOOTDIR}/ install boot/efi/EFI/*/gcd${efiarch32|lower}.efi ${EFIBOOTDIR}/grub${efiarch32|lower}.efi %endif -%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 -%endif install boot/efi/EFI/*/fonts/unicode.pf2 ${EFIBOOTDIR}/fonts/ ## actually make the EFI images 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 8d4b423..f3c2664 100644 --- a/isomaker/80-openeuler/runtime-cleanup.tmpl +++ b/isomaker/80-openeuler/runtime-cleanup.tmpl @@ -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/common/livecd/live/efi.tmpl b/isomaker/config/common/livecd/live/efi.tmpl index fdfc489..31fe163 100644 --- a/isomaker/config/common/livecd/live/efi.tmpl +++ b/isomaker/config/common/livecd/live/efi.tmpl @@ -15,6 +15,9 @@ mkdir ${EFIBOOTDIR}/fonts/ 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}/ 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/init.sh b/isomaker/init.sh index f3222ec..1166d7f 100644 --- a/isomaker/init.sh +++ b/isomaker/init.sh @@ -35,7 +35,7 @@ function parse_cmd_line() { #param init ARCH="$(uname -m)" - if [ "${ARCH}" = "aarch64" ] || [ "${ARCH}" = "x86_64" ] || [ "${ARCH}" = "loongarch64" ];then + if [ "${ARCH}" = "aarch64" ] || [ "${ARCH}" = "x86_64" ] || [ "${ARCH}" = "loongarch64" ] || [ "${ARCH}" = "riscv64" ];then CONFIG_FILE="${CPATH}/config/${ARCH}/standard.conf" source "${CONFIG_FILE}" else diff --git a/isomaker/iso.sh b/isomaker/iso.sh index 3badcd7..be14649 100644 --- a/isomaker/iso.sh +++ b/isomaker/iso.sh @@ -26,7 +26,7 @@ function gen_debug_iso() if [ "$ARCH" == "x86_64" ]; then mkisofs -R -J -T -r -l -d -joliet-long -allow-multidot -allow-leading-dots -no-bak -V "${RELEASE_NAME}" -o "${OUTPUT_DIR}/${DBG_ISO_NAME}" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e images/efiboot.img -no-emul-boot "${BUILD}"/iso [ $? != 0 ] && return 1 - elif [ "$ARCH" == "aarch64" ] || [ "$ARCH" == "loongarch64" ]; then + elif [ "$ARCH" == "aarch64" ] || [ "$ARCH" == "loongarch64" ] || [ "$ARCH" == "riscv64" ]; then mkisofs -R -J -T -r -l -d -joliet-long -allow-multidot -allow-leading-dots -no-bak -V "${RELEASE_NAME}" -o "${OUTPUT_DIR}/${DBG_ISO_NAME}" -e images/efiboot.img -no-emul-boot "${BUILD}"/iso [ $? != 0 ] && return 1 fi @@ -40,7 +40,7 @@ function gen_standard_iso() mkisofs -R -J -T -r -l -d -joliet-long -allow-multidot -allow-leading-dots -no-bak -V "${RELEASE_NAME}" -o "${OUTPUT_DIR}/${STANDARD_ISO_NAME}" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e images/efiboot.img -no-emul-boot "${BUILD}"/iso [ $? != 0 ] && return 1 isohybrid -u "${OUTPUT_DIR}/${STANDARD_ISO_NAME}" - elif [ "$ARCH" == "aarch64" ] || [ "$ARCH" == "loongarch64" ]; then + elif [ "$ARCH" == "aarch64" ] || [ "$ARCH" == "loongarch64" ] || [ "$ARCH" == "riscv64" ]; then mkisofs -R -J -T -r -l -d -joliet-long -allow-multidot -allow-leading-dots -no-bak -V "${RELEASE_NAME}" -o "${OUTPUT_DIR}/${STANDARD_ISO_NAME}" -e images/efiboot.img -no-emul-boot "${BUILD}"/iso [ $? != 0 ] && return 1 fi @@ -57,7 +57,7 @@ function gen_edge_iso() if [ "$ARCH" == "x86_64" ]; then mkisofs -R -J -T -r -l -d -joliet-long -allow-multidot -allow-leading-dots -no-bak -V "${RELEASE_NAME}" -o "${OUTPUT_DIR}/${EDGE_ISO_NAME}" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e images/efiboot.img -no-emul-boot "${BUILD}"/iso [ $? != 0 ] && return 1 - elif [ "$ARCH" == "aarch64" ] || [ "$ARCH" == "loongarch64" ]; then + elif [ "$ARCH" == "aarch64" ] || [ "$ARCH" == "loongarch64" ] || [ "$ARCH" == "riscv64" ]; then mkisofs -R -J -T -r -l -d -joliet-long -allow-multidot -allow-leading-dots -no-bak -V "${RELEASE_NAME}" -o "${OUTPUT_DIR}/${EDGE_ISO_NAME}" -e images/efiboot.img -no-emul-boot "${BUILD}"/iso [ $? != 0 ] && return 1 fi @@ -74,7 +74,7 @@ function gen_desktop_iso() if [ "$ARCH" == "x86_64" ]; then mkisofs -R -J -T -r -l -d -joliet-long -allow-multidot -allow-leading-dots -no-bak -V "${RELEASE_NAME}" -o "${OUTPUT_DIR}/${DESKTOP_ISO_NAME}" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e images/efiboot.img -no-emul-boot "${BUILD}"/iso [ $? != 0 ] && return 1 - elif [ "$ARCH" == "aarch64" ] || [ "$ARCH" == "loongarch64" ]; then + elif [ "$ARCH" == "aarch64" ] || [ "$ARCH" == "loongarch64" ] || [ "$ARCH" == "riscv64" ]; then mkisofs -R -J -T -r -l -d -joliet-long -allow-multidot -allow-leading-dots -no-bak -V "${RELEASE_NAME}" -o "${OUTPUT_DIR}/${DESKTOP_ISO_NAME}" -e images/efiboot.img -no-emul-boot "${BUILD}"/iso [ $? != 0 ] && return 1 fi @@ -91,7 +91,7 @@ function gen_src_iso() if [ "$ARCH" == "x86_64" ]; then mkisofs -R -J -T -r -l -d -joliet-long -allow-multidot -allow-leading-dots -no-bak -V "${RELEASE_NAME}" -o "${OUTPUT_DIR}/${SRC_ISO_NAME}" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e images/efiboot.img -no-emul-boot "${BUILD}"/iso [ $? != 0 ] && return 1 - elif [ "$ARCH" == "aarch64" ] || [ "$ARCH" == "loongarch64" ]; then + elif [ "$ARCH" == "aarch64" ] || [ "$ARCH" == "loongarch64" ] || [ "$ARCH" == "riscv64" ]; then mkisofs -R -J -T -r -l -d -joliet-long -allow-multidot -allow-leading-dots -no-bak -V "${RELEASE_NAME}" -o "${OUTPUT_DIR}/${SRC_ISO_NAME}" -e images/efiboot.img -no-emul-boot "${BUILD}"/iso [ $? != 0 ] && return 1 fi @@ -110,7 +110,7 @@ function gen_everything_iso() mkisofs -R -J -T -r -l -d -joliet-long -allow-multidot -allow-leading-dots -no-bak -V "${RELEASE_NAME}" -o /result/"${EVE_ISO_NAME}" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e images/efiboot.img -no-emul-boot "${BUILD}"/iso [ $? != 0 ] && return 1 isohybrid -u /result/"${EVE_ISO_NAME}" - elif [ "$ARCH" == "aarch64" ] || [ "$ARCH" == "loongarch64" ]; then + elif [ "$ARCH" == "aarch64" ] || [ "$ARCH" == "loongarch64" ] || [ "$ARCH" == "riscv64" ]; then mkisofs -R -J -T -r -l -d -joliet-long -allow-multidot -allow-leading-dots -no-bak -V "${RELEASE_NAME}" -o /result/"${EVE_ISO_NAME}" -e images/efiboot.img -no-emul-boot "${BUILD}"/iso [ $? != 0 ] && return 1 fi @@ -129,7 +129,7 @@ function gen_everything_debug_iso() if [ "$ARCH" == "x86_64" ]; then mkisofs -R -J -T -r -l -d -joliet-long -allow-multidot -allow-leading-dots -no-bak -V "${RELEASE_NAME}" -o /result/"${EVE_DEBUG_ISO_NAME}" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e images/efiboot.img -no-emul-boot "${BUILD}"/iso [ $? != 0 ] && return 1 - elif [ "$ARCH" == "aarch64" ] || [ "$ARCH" == "loongarch64" ]; then + elif [ "$ARCH" == "aarch64" ] || [ "$ARCH" == "loongarch64" ] || [ "$ARCH" == "riscv64" ]; then mkisofs -R -J -T -r -l -d -joliet-long -allow-multidot -allow-leading-dots -no-bak -V "${RELEASE_NAME}" -o /result/"${EVE_DEBUG_ISO_NAME}" -e images/efiboot.img -no-emul-boot "${BUILD}"/iso [ $? != 0 ] && return 1 fi @@ -148,7 +148,7 @@ function gen_everything_src_iso() if [ "$ARCH" == "x86_64" ]; then mkisofs -R -J -T -r -l -d -joliet-long -allow-multidot -allow-leading-dots -no-bak -V "${RELEASE_NAME}" -o /result/"${EVE_SRC_ISO_NAME}" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e images/efiboot.img -no-emul-boot "${BUILD}"/iso [ $? != 0 ] && return 1 - elif [ "$ARCH" == "aarch64" ] || [ "$ARCH" == "loongarch64" ]; then + elif [ "$ARCH" == "aarch64" ] || [ "$ARCH" == "loongarch64" ] || [ "$ARCH" == "riscv64" ]; then mkisofs -R -J -T -r -l -d -joliet-long -allow-multidot -allow-leading-dots -no-bak -V "${RELEASE_NAME}" -o /result/"${EVE_SRC_ISO_NAME}" -e images/efiboot.img -no-emul-boot "${BUILD}"/iso [ $? != 0 ] && return 1 fi @@ -162,7 +162,7 @@ function gen_netinst_iso() mkisofs -R -J -T -r -l -d -joliet-long -allow-multidot -allow-leading-dots -no-bak -V "${RELEASE_NAME}" -o /result/"${NETINST_ISO_NAME}" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e images/efiboot.img -no-emul-boot "${BUILD}"/iso [ $? != 0 ] && return 1 isohybrid -u /result/"${NETINST_ISO_NAME}" - elif [ "$ARCH" == "aarch64" ] || [ "$ARCH" == "loongarch64" ]; then + elif [ "$ARCH" == "aarch64" ] || [ "$ARCH" == "loongarch64" ] || [ "$ARCH" == "riscv64" ]; then mkisofs -R -J -T -r -l -d -joliet-long -allow-multidot -allow-leading-dots -no-bak -V "${RELEASE_NAME}" -o /result/"${NETINST_ISO_NAME}" -e images/efiboot.img -no-emul-boot "${BUILD}"/iso fi implantisomd5 /result/"${NETINST_ISO_NAME}" -- 2.45.2