diff --git a/build.py b/build.py index 209664a3b2a2f1505f2b03952190ec5cdfb7c56a..cd538fdd14b8f29aa1fda7a120b90b8105e69e09 100644 --- a/build.py +++ b/build.py @@ -13,12 +13,12 @@ from utils import rm, trace_execute CUR_DIR = os.path.dirname(os.path.realpath(__file__)) PARAMS = ['all', 'set_release_dir', 'update_release_info', 'build_and_wait', 'make_tar', 'make_hmi', - 'make_iso', 'make_docker_image', 'make_raspi_image', 'make_compile_env_cross', - 'make_compile_env_cross_storage', 'make_iso_debug', 'make_livecd', 'make_compile_env', - 'make_compile_env_storage', 'make_euleros_certdb', 'make_vm_qcow2', 'make_compile_tools', 'make_images_slim', - 'make_tools_lib_storage', 'make_container_tools', 'make_tools_debug_tools', 'make_upgrade_patch', - 'make_tools_dockertools', 'make_other_tools', 'upload_to_cmc', 'make_upload_cmc_image', 'make_iso_everything', - 'make_iso_everysrc', 'make_debug_everything', 'push_lts_dir', 'make_netinst_iso', 'get_epol_rpms'] + 'make_iso', 'make_docker_image', 'make_raspi_image', 'make_microvm_image', 'make_compile_env_cross', + 'make_compile_env_cross_storage', 'make_iso_debug', 'make_livecd', 'make_compile_env', + 'make_compile_env_storage', 'make_euleros_certdb', 'make_vm_qcow2', 'make_compile_tools', 'make_images_slim', + 'make_tools_lib_storage', 'make_container_tools', 'make_tools_debug_tools', 'make_upgrade_patch', + 'make_tools_dockertools', 'make_other_tools', 'upload_to_cmc', 'make_upload_cmc_image', 'make_iso_everything', + 'make_iso_everysrc', 'make_debug_everything', 'push_lts_dir', 'make_netinst_iso', 'get_epol_rpms'] class Build(object): @@ -44,7 +44,8 @@ class Build(object): """ self.local_project_path = os.path.join(CUR_DIR, "..", "..") self.local_dist_dir = os.path.join(CUR_DIR, "..", "output") - self.local_build_shell_path = os.path.join(CUR_DIR, "script", "make_version.sh") + self.local_build_shell_path = os.path.join( + CUR_DIR, "script", "make_version.sh") return True def prepare_env(self, logger): @@ -156,14 +157,19 @@ def usage(): if __name__ == "__main__": import argparse par = argparse.ArgumentParser() - par.add_argument("-i", "--step_info", help="what you want to do", required=True) - par.add_argument("-s", "--obs_standard_prj", help="obs standard project", required=True) - par.add_argument("-ep", "--obs_epol_prj", help="obs epol project", required=True) - par.add_argument("-ex", "--obs_extras_prj", help="obs extras project", required=True) + par.add_argument("-i", "--step_info", + help="what you want to do", required=True) + par.add_argument("-s", "--obs_standard_prj", + help="obs standard project", required=True) + par.add_argument("-ep", "--obs_epol_prj", + help="obs epol project", required=True) + par.add_argument("-ex", "--obs_extras_prj", + help="obs extras project", required=True) args = par.parse_args() build = Build() - build.set_obs_project(args.obs_standard_prj, args.obs_epol_prj, args.obs_extras_prj) + build.set_obs_project(args.obs_standard_prj, + args.obs_epol_prj, args.obs_extras_prj) one_step = args.step_info if one_step == "clean": ret = build.clean() diff --git a/script/common_function.sh b/script/common_function.sh index 4978592701aa4efa1361499e934b7243109bad93..de7817d3c58ee62aae72acb0da4bdc94b936f0ec 100644 --- a/script/common_function.sh +++ b/script/common_function.sh @@ -98,6 +98,7 @@ source "${BUILD_SCRIPT_DIR}"/step/release_dir.sh #source "${BUILD_SCRIPT_DIR}"/step/createrepo.sh source "${BUILD_SCRIPT_DIR}"/step/make_docker_image.sh source "${BUILD_SCRIPT_DIR}"/step/make_raspi_image.sh +source "${BUILD_SCRIPT_DIR}"/step/make_microvm_image.sh source "${BUILD_SCRIPT_DIR}"/step/make_gcov.sh source "${BUILD_SCRIPT_DIR}"/step/merge_release_html.sh #source "${BUILD_SCRIPT_DIR}"/step/build_and_wait.sh diff --git a/script/config/microvm_image/pam.d/other b/script/config/microvm_image/pam.d/other new file mode 100644 index 0000000000000000000000000000000000000000..781ecfb030668c8f4fe13e5cf9970bba9d6db395 --- /dev/null +++ b/script/config/microvm_image/pam.d/other @@ -0,0 +1,6 @@ +# This file is part of systemd. + +auth include system-auth +account include system-auth +password include system-auth +session include system-auth \ No newline at end of file diff --git a/script/config/microvm_image/pam.d/system-auth b/script/config/microvm_image/pam.d/system-auth new file mode 100644 index 0000000000000000000000000000000000000000..398a71d4b8276d69558562cdb6f4d8a69be70346 --- /dev/null +++ b/script/config/microvm_image/pam.d/system-auth @@ -0,0 +1,23 @@ +# This file is part of systemd. + +# You really want to adjust this to your local distribution. If you use this +# unmodified you are not building systems safely and securely. + +auth sufficient pam_unix.so +-auth sufficient pam_systemd_home.so +auth required pam_deny.so + +account required pam_nologin.so +-account sufficient pam_systemd_home.so +account sufficient pam_unix.so +account required pam_permit.so + +-password sufficient pam_systemd_home.so +password sufficient pam_unix.so sha512 shadow try_first_pass try_authtok +password required pam_deny.so + +-session optional pam_keyinit.so revoke +-session optional pam_loginuid.so +-session optional pam_systemd_home.so +-session optional pam_systemd.so +session required pam_unix.so \ No newline at end of file diff --git a/script/config/microvm_image/passwd b/script/config/microvm_image/passwd new file mode 100644 index 0000000000000000000000000000000000000000..784f00c7927983e1bb40a756c64497ee556782f6 --- /dev/null +++ b/script/config/microvm_image/passwd @@ -0,0 +1,21 @@ +root:x:0:0:root:/root:/bin/bash +bin:x:1:1:bin:/bin:/sbin/nologin +daemon:x:2:2:daemon:/sbin:/sbin/nologin +adm:x:3:4:adm:/var/adm:/sbin/nologin +lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin +sync:x:5:0:sync:/sbin:/bin/sync +shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown +halt:x:7:0:halt:/sbin:/sbin/halt +mail:x:8:12:mail:/var/spool/mail:/sbin/nologin +operator:x:11:0:operator:/root:/sbin/nologin +games:x:12:100:games:/usr/games:/sbin/nologin +ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin +nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin +systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin +systemd-resolve:x:193:193:systemd Resolver:/:/sbin/nologin +systemd-timesync:x:998:996:systemd Time Synchronization:/:/sbin/nologin +unbound:x:997:995:Unbound DNS resolver:/etc/unbound:/sbin/nologin +dbus:x:996:994:D-Bus:/var/run/dbus:/sbin/nologin +tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin +sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin +dhcpd:x:177:177:DHCP server:/:/sbin/nologin \ No newline at end of file diff --git a/script/config/microvm_image/shadow b/script/config/microvm_image/shadow new file mode 100644 index 0000000000000000000000000000000000000000..48d14631fb748ce6ca0bae6afeee98dbefd5f06f --- /dev/null +++ b/script/config/microvm_image/shadow @@ -0,0 +1,21 @@ +root:$6$drVkueRr$.kzc3hWtGpne94iR/DE9EyH8kwOkvauO08qgAcsslNmXViUboE.5LkPYi22X7yIoqB.SuzGoFS/SXoVtgOgyV0:18019:0:99999:7::: +bin:*:18532:0:99999:7::: +daemon:*:18532:0:99999:7::: +adm:*:18532:0:99999:7::: +lp:*:18532:0:99999:7::: +sync:*:18532:0:99999:7::: +shutdown:*:18532:0:99999:7::: +halt:*:18532:0:99999:7::: +mail:*:18532:0:99999:7::: +operator:*:18532:0:99999:7::: +games:*:18532:0:99999:7::: +ftp:*:18532:0:99999:7::: +nobody:*:18532:0:99999:7::: +systemd-network:!:18533:::::: +systemd-resolve:!:18533:::::: +systemd-timesync:!:18533:::::: +unbound:!:18533:::::: +dbus:!:18533:::::: +tss:!:18533:::::: +sshd:!:18533:::::: +dhcpd:!:18533:::::: \ No newline at end of file diff --git a/script/config/microvm_image/source.list/bin.list b/script/config/microvm_image/source.list/bin.list new file mode 100644 index 0000000000000000000000000000000000000000..90a4977a6ff30ec1bc4b480654b1cf8b75277aff --- /dev/null +++ b/script/config/microvm_image/source.list/bin.list @@ -0,0 +1,967 @@ +# Only in aarch64 +aarch64-openEuler-linux-gnu-pkg-config +addftinfo +addr2line +afmtodit +alias +appdata2solv +applydeltaiso +applydeltarpm +apropos +ar +arch +archpkgs2solv +archrepo2solv +arping +as +asn1Coding +asn1Decoding +asn1Parser +attr +augmatch +augparse +augtool +aulast +aulastlog +ausyscall +autogen +auvirt +awk +b2sum +base32 +base64 +basename +basenc +bash +bashbug +bccmd +bg +bluemoon +bluetoothctl +bond2team +bootctl +broadwayd +brotli +bsdcat +bsdcpio +bsdtar +btattach +btmon +bunzip2 +busctl +bzcat +bzcmp +bzdiff +bzegrep +bzfgrep +bzgrep +bzip2 +bzip2recover +bzless +bzmore +c++filt +c_rehash +ca-legacy +cairo-sphinx +cal +captest +captoinfo +cat +catchsegv +catman +cd +certtool +chacl +chage +chattr +chcon +chem +chgrp +chmem +chmod +choom +chown +chrt +chvt +ciptool +cjpeg +cksum +clear +clockdiff +cmp +col +colcrt +colrm +column +columns +combinedeltarpm +comm +command +comps2solv +coredumpctl +corelist +cp +cpio +cronnext +crontab +csplit +csslint-0.6 +curl +cut +cvtsudoers +danetool +date +db_archive +db_checkpoint +db_deadlock +db_dump +db_dump185 +db_hotbackup +db_load +db_log_verify +db_printlog +db_recover +db_replicate +db_stat +db_tuner +db_upgrade +db_verify +dbsql +dbus-cleanup-sockets +dbus-daemon +dbus-monitor +dbus-run-session +dbus-send +dbus-test-tool +dbus-update-activation-environment +dbus-uuidgen +dconf +dd +deallocvt +deb2solv +debuginfo-install +deltainfoxml2solv +df +diff +diff3 +dir +dircolors +dirmngr +dirmngr-client +dirname +distro +djpeg +dmesg +dnf +dnf-3 +dnf-automatic +dracut +dracut-catimages +drpmsync +dtrace +du +dumpkeys +dumpsolv +dwp +easy_install-3.* +echo +egrep +eject +elfedit +enc2xs +encguess +env +envsubst +eqn +eqn2graph +eu-addr2line +eu-ar +eu-elfclassify +eu-elfcmp +eu-elfcompress +eu-elflint +eu-findtextrel +eu-make-debug-archive +eu-nm +eu-objdump +eu-ranlib +eu-readelf +eu-size +eu-stack +eu-strings +eu-strip +eu-unstrip +ex +expand +expr +factor +fadot +fallocate +false +fax2ps +fax2tiff +fc +fc-cache +fc-cache-64 +fc-cat +fc-conflist +fc-list +fc-match +fc-pattern +fc-query +fc-scan +fc-validate +fg +fgconsole +fgrep +file +filecap +fincore +find +find-repos-of-install +findmnt +fipscheck +fipshmac +flock +fmt +fold +fragiso +free +fribidi +fros +ftbench +ftchkwd +ftdiff +ftdump +ftgamma +ftgrid +ftlint +ftmemchk +ftmulti +ftpatchk +ftstring +fttimer +ftvalid +ftview +funzip +fuse2fs +fusermount +g13 +gapplication +gatttool +gawk +gcr-viewer +gdbm_dump +gdbm_load +gdbmtool +gdbus +gdiffmk +gdk-pixbuf-query-loaders-64 +gdk-pixbuf-thumbnailer +gencat +genl-ctrl-list +geqn +getconf +getdefs +getent +getfacl +getfattr +getkeycodes +getopt +getopts +gettext +gettext.sh +gindxbib +gio +gio-launch-desktop +gio-querymodules-64 +glib-compile-schemas +glilypond +glookbib +gneqn +gnroff +gnutls-cli +gnutls-cli-debug +gnutls-serv +gpasswd +gperl +gpg +gpg-agent +gpg-connect-agent +gpg-error +gpg-wks-server +gpg-zip +gpg2 +gpgconf +gpgme-json +gpgparsemail +gpgscm +gpgsm +gpgsplit +gpgv +gpgv2 +gpic +gpinyin +gprof +gr2fonttest +grap2graph +grefer +grep +grn +grodvi +groff +groffer +grog +grolbp +grolj4 +gropdf +grops +grotty +groups +grub2-editenv +grub2-emu +grub2-emu-lite +grub2-file +grub2-fstest +grub2-glue-efi +grub2-kbdcomp +grub2-menulst2cfg +grub2-mkfont +grub2-mkimage +grub2-mklayout +grub2-mknetdir +grub2-mkpasswd-pbkdf2 +grub2-mkrelpath +grub2-mkrescue +grub2-mkstandalone +grub2-script-check +grub2-syslinux2cfg +gsettings +gsoelim +gtbl +gtk-launch +gtk-query-immodules-2.0-64 +gtk-query-immodules-3.0-64 +gtk-update-icon-cache +gtroff +guild +guile +guile-tools +guile2 +guile2-tools +gunzip +gxditview +gzexe +gzip +h2ph +h2xs +hardlink +hash +hciattach +hciconfig +hcidump +hcitool +head +helix2solv +hex2hcd +hexdump +hostid +hostnamectl +hpftodit +iconv +id +idiag-socket-details +idn2 +indxbib +info +infocmp +infotocap +install +installcheck +instmodsh +ionice +ipcalc +ipcmk +ipcrm +ipcs +isosize +jobs +join +journalctl +jpegtran +json_pp +kbd_mode +kbdinfo +kbdrate +kbxutil +kcapi +kcapi-convenience +kcapi-dgst +kcapi-enc +kcapi-enc-test-large +kcapi-rng +kcapi-speed +kdumpctl +kernel-install +kill +kmod +l2ping +l2test +last +lastb +lastlog +lchfn +lchsh +ld +ld.bfd +ld.gold +ldd +lemon +less +lessecho +lesskey +lexgrog +libnetcfg +libtar +link +linux-boot-prober +linux32 +linux64 +lkbib +ln +loadkeys +loadunimap +locale +localectl +localedef +logger +login +loginctl +logname +look +lookbib +ls +lsattr +lsblk +lscpu +lsinitrd +lsipc +lslocks +lslogins +lsmem +lsns +lua +luac +lz4 +lz4c +lz4cat +makedb +makedeltaiso +makedeltarpm +man +man-recode +mandb +manpath +mapscrn +mcookie +md5sum +mergesolv +mesg +mesh-cfgclient +meshctl +mkdir +mkfifo +mkinitrd +mknod +mktemp +mmroff +modulemd-validator +more +mount +mountpoint +mpris-proxy +msgattrib +msgcat +msgcmp +msgcomm +msgconv +msgen +msgexec +msgfilter +msgfmt +msggrep +msginit +msgmerge +msgunfmt +msguniq +mv +namei +ndptool +neqn +netcap +netstat +networkctl +newgidmap +newgrp +newuidmap +nf-ct-add +nf-ct-events +nf-ct-list +nf-exp-add +nf-exp-delete +nf-exp-list +nf-log +nf-monitor +nf-queue +ngettext +nice +nl +nl-addr-add +nl-addr-delete +nl-addr-list +nl-class-add +nl-class-delete +nl-class-list +nl-classid-lookup +nl-cls-add +nl-cls-delete +nl-cls-list +nl-fib-lookup +nl-link-enslave +nl-link-ifindex2name +nl-link-list +nl-link-name2ifindex +nl-link-release +nl-link-set +nl-link-stats +nl-list-caches +nl-list-sockets +nl-monitor +nl-neigh-add +nl-neigh-delete +nl-neigh-list +nl-neightbl-list +nl-pktloc-lookup +nl-qdisc-add +nl-qdisc-delete +nl-qdisc-list +nl-route-add +nl-route-delete +nl-route-get +nl-route-list +nl-rule-list +nl-tctree-list +nl-util-addr +nm +nm-online +nmcli +nmtui +nmtui-connect +nmtui-edit +nmtui-hostname +nohup +nproc +nroff +nsenter +numfmt +objcopy +objdump +ocsptool +od +omshell +openssl +openvt +os-prober +os_check_timezone_for_rsyslog.sh +os_rotate_and_save_log.sh +p11-kit +p11tool +pal2rgb +pango-list +pango-view +passwd +paste +pathchk +pcre2grep +pcre2test +pcregrep +pcretest +pdfmom +pdfroff +perl +perl5.32.0 +perlbug +perldoc +perlivp +perlthanks +pfbtops +pgrep +pic +pic2graph +piconv +pidof +pigz +pinentry +pinentry-curses +pinentry-emacs +pinentry-gnome3 +pinentry-gtk +pinentry-gtk-2 +ping +pinky +pip-3 +pip-3.* +pip3 +pip3.* +pkg-config +pkgconf +pkill +pl2pm +pldd +pmap +pod2html +pod2man +pod2text +pod2usage +podchecker +podselect +portablectl +post-grohtml +ppm2tiff +pr +pre-grohtml +preconv +printenv +printf +prlimit +prove +proxy +ps +pscap +psfaddtable +psfgettable +psfstriptable +psfxtable +psktool +psl +psl-make-dafsa +ptar +ptardiff +ptargrep +ptx +pwd +pwdx +pwmake +pwscore +pydoc3 +pydoc3.* +python3 +python3.* +pzstd +ranlib +raw +raw2tiff +rctest +rdjpgcom +read +readelf +readlink +realpath +recode-sr-latin +refer +rename +renice +repo2solv +repomdxml2solv +report +report-cli +report-gtk +report-newt +reporter-kerneloops +reporter-mantisbt +reporter-print +reporter-systemd-journal +reporter-upload +reset +resolvectl +rev +rfcomm +rm +rmdir +roff2dvi +roff2html +roff2pdf +roff2ps +roff2text +roff2x +rpm +rpm2archive +rpm2cpio +rpmdb +rpmdb2solv +rpmdumpheader +rpmkeys +rpmmd2solv +rpmquery +rpms2solv +rpmsign +rpmverify +rscryutil +run-parts +runcon +rvi +rview +satyr +scp +script +scriptlive +scriptreplay +sdiff +sdptool +secret-tool +sed +seq +setarch +setfacl +setfattr +setfont +setkeycodes +setleds +setmetamode +setpriv +setsid +setterm +setvtrgb +sftp +sg +sh +sha1hmac +sha1sum +sha224hmac +sha224sum +sha256hmac +sha256sum +sha384hmac +sha384sum +sha512hmac +sha512sum +shasum +showconsolefont +showkey +shred +shuf +size +skill +slabtop +sleep +slsh +snice +soelim +solv +sort +sotruss +splain +split +sprof +sqlite3 +sqlite3_analyzer +srptool +ssh +ssh-add +ssh-agent +ssh-copy-id +ssh-keygen +ssh-keyscan +stat +stdbuf +streamzip +strings +strip +stty +su +sudo +sudoedit +sudoreplay +sum +susetags2solv +sync +systemctl +systemd-analyze +systemd-ask-password +systemd-cat +systemd-cgls +systemd-cgtop +systemd-delta +systemd-detect-virt +systemd-dissect +systemd-escape +systemd-firstboot +systemd-hwdb +systemd-id128 +systemd-inhibit +systemd-machine-id-setup +systemd-mount +systemd-notify +systemd-path +systemd-resolve +systemd-run +systemd-socket-activate +systemd-stdio-bridge +systemd-sysusers +systemd-tmpfiles +systemd-tty-ask-password-agent +systemd-umount +tabs +tac +tail +taskset +tbl +tclsh +tclsh8.6 +teamd +teamdctl +teamnl +tee +test +testsolv +tfmtodit +tic +tiff2bw +tiff2pdf +tiff2ps +tiff2rgba +tiffcmp +tiffcp +tiffcrop +tiffdither +tiffdump +tiffinfo +tiffmedian +tiffset +tiffsplit +timedatectl +timeout +tjbench +tload +toe +top +touch +tpmtool +tput +tr +tracepath +troff +true +truncate +trust +tset +tsget +tsget.pl +tsort +tty +type +tzselect +udevadm +ul +ulimit +ulockmgr_server +umask +umount +unalias +uname +uname.bin +uname26 +unexpand +unicode_start +unicode_stop +uniq +unlink +unlz4 +unpigz +unshare +unxz +unzip +unzipsfx +unzstd +update-ca-trust +update-crypto-policies +update-mime-database +updateinfoxml2solv +uptime +userdbctl +users +usleep +utmpdump +uuidgen +uuidparse +vdir +vi +view +vlock +vmstat +w +wait +wall +watch +watchgnupg +wc +wdctl +whatis +whereis +which +whiptail +who +whoami +write +wrjpgcom +# Only in x86_64 +x86_64-openEuler-linux-gnu-pkg-config +xargs +xgettext +xml-rpc-api2cpp +xml-rpc-api2txt +xml2ag +xmlcatalog +xmllint +xmlrpc +xmlrpc_cpp_proxy +xmlrpc_dumpserver +xmlrpc_parsecall +xmlrpc_pstream +xmlrpc_transport +xmlwf +xsubpp +xtotroff +xz +xzcat +xzcmp +xzdec +xzdiff +xzegrep +xzfgrep +xzgrep +xzless +xzmore +yes +yum +zcat +zcmp +zdiff +zegrep +zfgrep +zforce +zgrep +zip +zipcloak +zipdetails +zipgrep +zipinfo +zipnote +zipsplit +zless +zmore +znew +zsoelim +zstd +zstdcat +zstdmt diff --git a/script/config/microvm_image/source.list/include.list b/script/config/microvm_image/source.list/include.list new file mode 100644 index 0000000000000000000000000000000000000000..538dedb2d5cca201a8674c22e22d3b4427bf3a6a --- /dev/null +++ b/script/config/microvm_image/source.list/include.list @@ -0,0 +1,2 @@ +python3.* +sys diff --git a/script/config/microvm_image/source.list/lib.list b/script/config/microvm_image/source.list/lib.list new file mode 100644 index 0000000000000000000000000000000000000000..24f477d4e2f21912a91df165a447c63090640ac6 --- /dev/null +++ b/script/config/microvm_image/source.list/lib.list @@ -0,0 +1,27 @@ +binfmt.d +debug +dracut +environment.d +firewalld +fontconfig +games +grub +kbd +kernel +# Only in aarch64 +ld-linux-aarch64.so.1 +locale/C.utf8 +locale/en_US.utf8 +locale/zh_CN.utf8 +modprobe.d +modules-load.d +motd +motd.d +pam.d +python3.* +rpm +sysctl.d +sysimage +sysusers.d +tmpfiles.d +udev diff --git a/script/config/microvm_image/source.list/lib64.list b/script/config/microvm_image/source.list/lib64.list new file mode 100644 index 0000000000000000000000000000000000000000..576395f0958e8e89f7f9c72d6b720282aea7e0f9 --- /dev/null +++ b/script/config/microvm_image/source.list/lib64.list @@ -0,0 +1,445 @@ +.libcrypto.so* +.libgcrypt.so* +.libgnutls.so* +.libssl.so* +NetworkManager +audit +autogen +bluetooth +bpf +e2fsprogs +engines-1.* +eppic_makedumpfile.so* +fipscheck +games +gawk +gdk-pixbuf-2.0 +gettext +gio +girepository-1.0 +gnome-settings-daemon-3.0 +groff +gtk-2.0 +gtk-3.0 +hmaccalc +krb5 +ld-2.*.so +# Only in aarch64 +ld-linux-aarch64.so* +# Only in x86_64 +ld-linux-x86-64.so* +libBrokenLocale-2.*.so +libBrokenLocale.so* +libICE.so* +libSM.so* +libSegFault.so* +libX11-xcb.so* +libX11.so* +libXau.so* +libXaw.so* +libXaw7.so* +libXcomposite.so* +libXcurso* +libXdamage.so* +libXext.so* +libXfixes.so* +libXft.so* +libXi.so* +libXinerama.so* +libXmu.so* +libXmuu.so* +libXpm.so* +libXrandr.so* +libXrender.so* +libXt.so* +libXtst.so* +libacl.so* +libanl-2.*.so +libanl.so* +libarchive.so* +libargon2.so* +libasm-0.*.so +libasm.so* +libasprintf.so* +libassuan.so* +libatk-1.0.so* +libatk-bridge-2.0.so* +libatspi.so* +libattr.so* +libaudit.so* +libaugeas.so* +libauparse.so* +libavahi-client.so* +libavahi-common.so* +libavahi-libevent.so* +libbfd-2.*.so* +libblkid.so* +libbluetooth.so* +libbrotlicommon.so* +libbrotlidec.so* +libbrotlienc.so* +libbz2.so* +libc-2.*.so +libc.so* +libcairo-gobject.so* +libcairo-script-interpreter.so* +libcairo.so* +libcap-ng.so* +libcap.so* +libcolord.so* +libcolordprivate.so* +libcolorhug.so* +libcom_err.so* +libcomps.so* +libcord.so* +libcrack.so* +libcroco-0.6.so* +libcrypt.so* +libcrypto.so* +libcryptsetup.so* +libctf-nobfd.la +libctf-nobfd.so* +libctf.la +libctf.so* +libcups.so* +libcupsimage.so* +libcurl.so* +libdaemon.so* +libdatrie.so* +libdb-5*.so* +libdb-5.so* +libdb_cxx-5*.so* +libdb_java-5*.so* +libdb_sql-5*.so* +libdb_tcl-5*.so* +libdbi.so* +libdbus-1.so* +libdconf.so* +libdevmapper.so* +libdl-2.*.so +libdl.so* +libdnf* +libdw-0.*.so +libdw.so* +libe2p.so* +libedit.so* +libelf-0.*.so +libelf.so* +libepoxy.so* +libestr.so* +libev.so* +libevent-2.1.so* +libevent_core-2.1.so* +libevent_extra-2.1.so* +libevent_openssl-2.1.so* +libevent_pthreads-2.1.so* +libexpat.so* +libext2fs.so* +libfa.so* +libfam.so* +libfastjso* +libfdisk.so* +libffi.so* +libfipscheck.so* +libfontconfig.so* +libform.so* +libformw.so* +libfreetype.so* +libfribidi.so* +libfuse.so* +libgailutil-3.so* +libgailutil.so* +libgamin-1.so* +libgc.so* +libgcc_s-* +libgcc_s.so* +libgccpp.so* +libgck-1.so* +libgcr-base-3.so* +libgcr-ui-3.so* +libgcrypt.so* +libgdbm.so* +libgdbm_compat.so* +libgdk-3.so* +libgdk-x11-2.0.so* +libgdk_pixbuf-2.0.so* +libgdk_pixbuf_xlib-2.0.so* +libgettextlib-0.21.so* +libgettextpo.so* +libgettextsrc-0.21.so* +libgio-2.0.so* +libgirepository-1.0.so* +libglib-2.0.so* +libgmodule-2.0.so* +libgmp.so* +libgnutls-dane.so* +libgnutls.so* +libgnutlsxx.so* +libgobject-2.0.so* +libgomp.so* +libgpg-error.so* +libgpgme.so* +libgraphite2.so* +libgssapi_krb5.so* +libgssrpc.so* +libgthread-2.0.so* +libgusb.so* +libharfbuzz-gobject.so* +libharfbuzz-icu.so* +libharfbuzz-subset.so* +libharfbuzz.so* +libhistory.so* +libhogweed.so* +libical-glib.so* +libical.so* +libical_cxx.so* +libicalss.so* +libicalss_cxx.so* +libicalvcal.so* +libicui18n.so* +libicuio.so* +libicutest.so* +libicutu.so* +libicuuc.so* +libidn2.so* +libimaevm.so* +libip4tc.so* +libip6tc.so* +libiptc.so* +libjbig.so* +libjbig85.so* +libjpeg.so* +libjson-c.so* +libjson-glib-1.0.so* +libk5crypto.so* +libkcapi.so* +libkdb5.so* +libkeyutils.so* +libkmod.so* +libkrad.so* +libkrb5.so* +libkrb5support.so* +libksba.so* +liblber-2.4.so* +liblcms2.so* +libldap-2.4.so* +libldap_r-2.4.so* +libltdl.so* +liblua-5.3.so* +liblua.so* +liblz4.so* +liblzma.so* +liblzo2.so* +libm-2.*.so +libm.so* +libmagic.so* +libmariadb.so* +libmemusage.so* +libmenu.so* +libmenuw.so* +libmetalink.so* +libmm-glib.so* +libmnl.so* +libmodulemd.so* +libmount.so* +libmpfr.so* +libncurses++.so* +libncurses++w.so* +libncurses.so* +libncursesw.so* +libndp.so* +libnet.so* +libnetfilter_conntrack.so* +libnetsnmp.so* +libnettle.so* +libnewt.so* +libnfnetlink.so* +libnghttp2.so* +libnm.so* +libnpth.so* +libnsl.so* +libnss_compat-2.*.so +libnss_compat.so* +libnss_dns-2.*.so +libnss_dns.so* +libnss_files-2.*.so +libnss_files.so* +libnss_myhostname.so* +libnss_resolove.so* +libnss_systemd.so* +libnssckbi.so* +libopcodes-2.34.so* +libopts.so* +libp11-kit.so* +libp11.so* +libpam.so* +libpam_misc.so* +libpamc.so* +libpanel.so* +libpanelw.so* +libpango-1.0.so* +libpangocairo-1.0.so* +libpangoft2-1.0.so* +libpangoxft-1.0.so* +libpcap.so* +libpcprofile.so* +libpcre.so* +libpcre16.so* +libpcre2-16.so* +libpcre2-32.so* +libpcre2-8.so* +libpcre2-posix.so* +libpcre32.so* +libpcrecpp.so* +libpcreposix.so* +libperl.so* +libpipeline.so* +libpixman-1.so* +libpkgconf.so* +libpng16.so* +libpopt.so* +libprocps.so* +libproxy +libproxy.so* +libpsl.so* +libpthread-2.*.so +libpthread.so* +libpwquality.so* +libpython3.* +libqrencode.so* +libreadline.so* +librepo.so* +libreport-gtk.so* +libreport-web.so* +libreport.so* +libresolv.so* +libresolv-2.*.so* +librest-0.7.so* +librest-extras-0.7.so* +librpm.so* +librpmbuild.so* +librpmio.so* +librpmsign.so* +librt-2.*.so +librt.so* +libsasl2.so* +libsatyr.so* +libseccomp.so* +libsecret-1.so* +libselinux.so* +libsemanage.so* +libsepol.so* +libsigsegv.so* +libslang.so* +libslapi-2.4.so* +libsmartcols.so* +libsnappy.so* +libsolv.so* +libsolvext.so* +libsqlite3.so* +libss.so* +libssh.so* +libssh_threads.so* +libssl.so* +libstdc++.so* +libsystemd.so* +libtar.so* +libtasn1.so* +libtcl8.6.so* +libteam.so* +libteamdctl.so* +libtextstyle.so* +libthai.so* +libthread_db-1.0.so +libthread_db.so* +libtic.so* +libtiff.so* +libtiffxx.so* +libtinfo.so* +libtirpc.so* +libtspi.so* +libturbojpeg.so* +libudev.so* +libulockmgr.so* +libunbound.so* +libunistring.so* +libusb-1.0.so* +libutempter.so* +libutil-2.*.so +libutil.so* +libuuid.so* +libverto-glib.so* +libverto-libev.so* +libverto-libevent.so* +libverto.so* +libwayland-client.so* +libwayland-curso* +libwayland-egl.so* +libwayland-server.so* +libxcb-composite.so* +libxcb-damage.so* +libxcb-dpms.so* +libxcb-dri2.so* +libxcb-dri3.so* +libxcb-glx.so* +libxcb-present.so* +libxcb-randr.so* +libxcb-record.so* +libxcb-render.so* +libxcb-res.so* +libxcb-screensaver.so* +libxcb-shape.so* +libxcb-shm.so* +libxcb-sync.so* +libxcb-xf86dri.so* +libxcb-xfixes.so* +libxcb-xinerama.so* +libxcb-xinput.so* +libxcb-xkb.so* +libxcb-xselinux.so* +libxcb-xtest.so* +libxcb-xv.so* +libxcb-xvmc.so* +libxcb.so* +libxkbcommon.so* +libxml2.so* +libxmlrpc++.so* +libxmlrpc.so* +libxmlrpc_abyss++.so* +libxmlrpc_abyss.so* +libxmlrpc_client++.so* +libxmlrpc_client.so* +libxmlrpc_cpp.so* +libxmlrpc_openssl.so* +libxmlrpc_packetso* +libxmlrpc_server++.so* +libxmlrpc_server.so* +libxmlrpc_server_abyss++.so* +libxmlrpc_server_abyss.so* +libxmlrpc_server_cgi++.so* +libxmlrpc_server_cgi.so* +libxmlrpc_server_pstream++.so* +libxmlrpc_util++.so* +libxmlrpc_util.so* +libxmlrpc_xmlparse.so* +libxmlrpc_xmltok.so* +libyaml-0.so* +libz.so* +libzstd.so* +lua +man-db +mariadb +p11-kit-proxy.so* +p11-kit-trust.so* +pkcs11 +pkgconfig +pm-utils +pppd +python3.* +rpm-plugins +rsyslog +sasl2 +security +slang +tc +tcl8.* diff --git a/script/config/microvm_image/source.list/sbin.list b/script/config/microvm_image/source.list/sbin.list new file mode 100644 index 0000000000000000000000000000000000000000..fb198356e493c2a0d7f04d25a38067271694f8f3 --- /dev/null +++ b/script/config/microvm_image/source.list/sbin.list @@ -0,0 +1,264 @@ +NetworkManager +accessdb +addgnupghome +addpart +adduser +agetty +alternatives +anacron +applygnupgdefaults +arp +arpd +arping +audispd +auditctl +auditd +augenrules +aureport +ausearch +autrace +avcstat +badblocks +blkdeactivate +blkdiscard +blkid +blkzone +blockdev +bridge +capsh +cfdisk +chcpu +chgpasswd +chkconfig +chpasswd +chroot +clock +consoletype +cracklib-check +cracklib-format +cracklib-packer +cracklib-unpacker +create-cracklib-dict +crond +cryptsetup +ctrlaltdel +ctstat +debugfs +delpart +depmod +devlink +dhclient +dhclient-script +dhcpd +dhcrelay +dmfilemapd +dmsetup +dmstats +dumpe2fs +e2freefrag +e2fsck +e2image +e2label +e2mmpstatus +e2scrub +e2scrub_all +e2undo +e4crypt +e4defrag +eapol_test +ether-wake +ethtool +faillock +fdformat +fdisk +filefrag +findfs +fix-info-dir +fsck +fsck.cramfs +fsck.ext2 +fsck.ext3 +fsck.ext4 +fsck.minix +fsfreeze +fstrim +g13-syshelp +genhostid +genl +getcap +getenforce +getpcaps +getsebool +groupadd +groupdel +groupmems +groupmod +grpck +grpconv +grpunconv +grub2-get-kernel-settings +grub2-install +grub2-mkconfig +grub2-ofpathname +grub2-probe +grub2-reboot +grub2-rpm-sort +grub2-set-default +grub2-set-password +grub2-setpassword +grub2-sparc64-setup +grub2-switch-to-blscfg +grubby +halt +hwclock +iconvconfig +ifcfg +ifconfig +ifdown +ifenslave +ifstat +ifup +init +insmod +install-info +installkernel +ip +ipmaddr +iptunnel +kexec +kpartx +lchage +ldattach +ldconfig +lgroupadd +lgroupdel +lgroupmod +lid +lnewusers +lnstat +logrotate +logsave +losetup +lpasswd +lsmod +luseradd +luserdel +lusermod +makedumpfile +matchpathcon +mii-diag +mii-tool +mkdict +mkdumprd +mke2fs +mkfs +mkfs.cramfs +mkfs.ext2 +mkfs.ext3 +mkfs.ext4 +mkfs.minix +mkgrub-menu-2009.4.0.sh +mkhomedir_helper +mklost+found +mksquashfs +mkswap +modinfo +modprobe +mount.fuse +nameif +new-kernel-pkg +newusers +ninfod +nologin +nstat +ntsysv +packer +pam_namespace_helper +pam_timestamp_check +partx +pidof +ping +ping6 +pivot_root +plipconfig +poweroff +pwck +pwconv +pwunconv +rdisc +rdma +readprofile +reboot +resize2fs +resizepart +resolvconf +rfkill +rmmod +route +routef +routel +rsyslogd +rtacct +rtcwake +rtmon +rtpr +rtstat +runlevel +runuser +sasldblistusers2 +saslpasswd2 +security-tool.sh +sefcontext_compile +selabel_digest +selabel_get_digests_all_partial_matches +selabel_lookup +selabel_lookup_best_match +selabel_partial_match +selinux_check_access +selinuxconlist +selinuxdefcon +selinuxenabled +selinuxexeccon +service +setcap +setenforce +sfdisk +shutdown +slattach +ss +sshd +sulogin +swaplabel +swapoff +swapon +switch_root +sysctl +tc +tcsd +telinit +tipc +tracepath +tracepath6 +tune2fs +udevadm +unbound-anchor +unix_chkpwd +unix_update +unsquashfs +update-alternatives +useradd +userdel +usermod +validatetrans +vigr +vipw +visudo +vmcore-dmesg +weak-modules +wipefs +wpa_cli +wpa_passphrase +wpa_supplicant +zdump +zic +zramctl diff --git a/script/config/microvm_image/source.list/share.list b/script/config/microvm_image/source.list/share.list new file mode 100644 index 0000000000000000000000000000000000000000..940c23fea0664a4a3f73eb6c01bff227b50e6a26 --- /dev/null +++ b/script/config/microvm_image/source.list/share.list @@ -0,0 +1,73 @@ +GConf +aclocal +appdata +applications +augeas +autogen +awk +bash-completion +crypto-policies +dbus-1 +defaults +desktop-directories +empty +eula +factory +file +fontconfig +games +gawk +gcc-* +gdb +gettext +gettext-0.* +gir-1.0 +glib-2.0 +gnome +gtk-2.0 +gtk-3.0 +help +i18n +idl +info/coreutils +info/diffutils.info.gz +info/dir +info/find.info.gz +info/find-maint.info.gz +info/grep.info.gz +info/gzip.info.gz +info/rluserman.info.gz +info/sed.info.gz +java +kdump +lemon +libgpg-error +libreport +libthai +locale/en_US +locale/zh_CN +locale/zh_CN.GB2312 +lua +makedumpfile +metainfo +mime-info +omf +openEuler-release +os-prober +p11-kit +pixmaps +pkgconfig +pki +polkit-1 +publicsuffix +python-wheels +slsh +snmp +sounds +systemd +tabset +tcl8 +tcl8.* +terminfo +themes +thumbnailers diff --git a/script/config/microvm_image/source.list/systemd.list b/script/config/microvm_image/source.list/systemd.list new file mode 100644 index 0000000000000000000000000000000000000000..c32d95c409508fd35d7f3471a8cca40449dfa966 --- /dev/null +++ b/script/config/microvm_image/source.list/systemd.list @@ -0,0 +1,321 @@ +import-pubring.gpg +libsystemd-shared-*.so +network/80-container-host0.network +network/80-container-ve.network +network/80-container-vz.network +network/99-default.link +purge-nobody-user +resolv.conf +system-generators/systemd-cryptsetup-generator +system-generators/systemd-debug-generator +system-generators/systemd-fstab-generator +system-generators/systemd-getty-generator +system-generators/systemd-gpt-auto-generator +system-generators/systemd-hibernate-resume-generator +system-generators/systemd-rc-local-generator +system-generators/systemd-system-update-generator +system-generators/systemd-sysv-generator +system-generators/systemd-veritysetup-generator +system-preset/90-systemd.preset +system/arp-ethers.service +system/autovt@.service +system/basic.target +system/blockdev@.target +system/boot-complete.target +system/btattach-bcm@.service +system/console-getty.service +system/cryptsetup-pre.target +system/cryptsetup.target +system/ctrl-alt-del.target +system/dbus-org.freedesktop.hostname1.service +system/dbus-org.freedesktop.locale1.service +system/dbus-org.freedesktop.login1.service +system/dbus-org.freedesktop.portable1.service +system/dbus-org.freedesktop.timedate1.service +system/dbus.service +system/dbus.socket +system/debug-shell.service +system/default.target +system/dev-hugepages.mount +system/dev-mqueue.mount +system/dnf-automatic-download.service +system/dnf-automatic-download.timer +system/dnf-automatic-install.service +system/dnf-automatic-install.timer +system/dnf-automatic-notifyonly.service +system/dnf-automatic-notifyonly.timer +system/dnf-automatic.service +system/dnf-automatic.timer +system/dnf-makecache.service +system/dnf-makecache.timer +system/dracut-cmdline.service +system/dracut-initqueue.service +system/dracut-mount.service +system/dracut-pre-mount.service +system/dracut-pre-pivot.service +system/dracut-pre-trigger.service +system/dracut-pre-udev.service +system/dracut-shutdown.service +system/emergency.service +system/emergency.target +system/exit.target +system/final.target +system/fstrim.service +system/fstrim.timer +system/getty-pre.target +system/getty.target +system/getty@.service +system/graphical.target +system/graphical.target.wants/systemd-update-utmp-runlevel.service +system/halt.target +system/hibernate.target +system/hwclock-save.service +system/hybrid-sleep.target +system/import-state.service +system/initrd-cleanup.service +system/initrd-fs.target +system/initrd-parse-etc.service +system/initrd-root-device.target +system/initrd-root-fs.target +system/initrd-switch-root.service +system/initrd-switch-root.target +system/initrd-udevadm-cleanup-db.service +system/initrd.target +system/initrd.target.wants/dracut-cmdline.service +system/initrd.target.wants/dracut-initqueue.service +system/initrd.target.wants/dracut-mount.service +system/initrd.target.wants/dracut-pre-mount.service +system/initrd.target.wants/dracut-pre-pivot.service +system/initrd.target.wants/dracut-pre-trigger.service +system/initrd.target.wants/dracut-pre-udev.service +system/kexec.target +system/kmod-static-nodes.service +system/ldconfig.service +system/loadmodules.service +system/local-fs-pre.target +system/local-fs.target +system/local-fs.target.wants/tmp.mount +system/man-db-cache-update.service +system/man-db.service +system/man-db.timer +system/modprobe@.service +system/multi-user.target +system/multi-user.target.wants/dbus.service +system/multi-user.target.wants/getty.target +system/multi-user.target.wants/systemd-ask-password-wall.path +system/multi-user.target.wants/systemd-logind.service +system/multi-user.target.wants/systemd-update-utmp-runlevel.service +system/multi-user.target.wants/systemd-user-sessions.service +system/network-online.target +system/network-pre.target +system/network.target +system/nss-lookup.target +system/nss-user-lookup.target +system/pam_namespace.service +system/paths.target +system/poweroff.target +system/proc-sys-fs-binfmt_misc.automount +system/proc-sys-fs-binfmt_misc.mount +system/quotaon.service +system/rc-local.service +system/rdisc.service +system/reboot.target +system/remote-cryptsetup.target +system/remote-fs-pre.target +system/remote-fs.target +system/rescue.service +system/rescue.target +system/rescue.target.wants/systemd-update-utmp-runlevel.service +system/rpcbind.target +system/runlevel0.target +system/runlevel1.target +system/runlevel2.target +system/runlevel3.target +system/runlevel4.target +system/runlevel5.target +system/runlevel6.target +system/serial-getty@.service +system/shutdown.target +system/sigpwr.target +system/sleep.target +system/slices.target +system/smartcard.target +system/sockets.target +system/sound.target +system/sshd.service +system/sshd.socket +system/sshd@.service +system/suspend-then-hibernate.target +system/suspend.target +system/swap.target +system/sys-fs-fuse-connections.mount +system/sys-kernel-config.mount +system/sys-kernel-debug.mount +system/sysinit.target +system/sysinit.target.wants/cryptsetup.target +system/sysinit.target.wants/dev-hugepages.mount +system/sysinit.target.wants/dev-mqueue.mount +system/sysinit.target.wants/dracut-shutdown.service +system/sysinit.target.wants/hwclock-save.service +system/sysinit.target.wants/kmod-static-nodes.service +system/sysinit.target.wants/ldconfig.service +system/sysinit.target.wants/proc-sys-fs-binfmt_misc.automount +system/sysinit.target.wants/sys-fs-fuse-connections.mount +system/sysinit.target.wants/sys-kernel-config.mount +system/sysinit.target.wants/sys-kernel-debug.mount +system/sysinit.target.wants/sys-kernel-tracing.mount +system/sysinit.target.wants/systemd-ask-password-console.path +system/sysinit.target.wants/systemd-binfmt.service +system/sysinit.target.wants/systemd-boot-system-token.service +system/sysinit.target.wants/systemd-firstboot.service +system/sysinit.target.wants/systemd-hwdb-update.servic +system/sysinit.target.wants/systemd-journald.service +system/sysinit.target.wants/systemd-machine-id-commit.service +system/sysinit.target.wants/systemd-modules-load.service +system/sysinit.target.wants/systemd-sysctl.service +system/sysinit.target.wants/systemd-sysusers.service +system/sysinit.target.wants/systemd-tmpfiles-setup-dev.service +system/sysinit.target.wants/systemd-tmpfiles-setup.service +system/sysinit.target.wants/systemd-udev-trigger.service +system/sysinit.target.wants/systemd-udevd.service +system/sysinit.target.wants/systemd-update-done.service +system/sysinit.target.wants/systemd-update-utmp.service +system/syslog.socket +system/system-update-cleanup.service +system/system-update-pre.target +system/system-update.target +system/systemd-ask-password-console.path +system/systemd-ask-password-console.service +system/systemd-ask-password-wall.path +system/systemd-ask-password-wall.service +system/systemd-backlight@.service +system/systemd-binfmt.service +system/systemd-bless-boot.service +system/systemd-boot-check-no-failures.service +system/systemd-boot-system-token.service +system/systemd-exit.service +system/systemd-fsck-root.service +system/systemd-fsck@.service +system/systemd-halt.service +system/systemd-hibernate-resume@.service +system/systemd-hibernate.service +system/systemd-hostnamed.service +system/systemd-hostnamed.service.d/disable-privatedevices.conf +system/systemd-hwdb-update.service +system/systemd-hybrid-sleep.service +system/systemd-initctl.service +system/systemd-initctl.socket +system/systemd-journal-catalog-update.service +system/systemd-journal-flush.service +system/systemd-journald-audit.socket +system/systemd-journald-dev-log.socket +system/systemd-journald-varlink@.socket +system/systemd-journald.service +system/systemd-journald.socket +system/systemd-journald@.service +system/systemd-journald@.socket +system/systemd-kexec.service +system/systemd-localed.service +system/systemd-machine-id-commit.service +system/systemd-modules-load.service +system/systemd-network-generator.service +system/systemd-networkd.service +system/systemd-networkd.socket +system/systemd-portabled.service +system/systemd-poweroff.service +system/systemd-pstore.service +system/systemd-quotacheck.service +system/systemd-reboot.service +system/systemd-remount-fs.service +system/systemd-resolved.service +system/systemd-rfkill.service +system/systemd-rfkill.socket +system/systemd-suspend-then-hibernate.service +system/systemd-suspend.service +system/systemd-sysctl.service +system/systemd-sysusers.service +system/systemd-timedated.service +system/systemd-tmpfiles-clean.service +system/systemd-tmpfiles-clean.timer +system/systemd-tmpfiles-setup-dev.service +system/systemd-tmpfiles-setup.service +system/systemd-udev-settle.service +system/systemd-udev-trigger.service +system/systemd-udev-trigger.service.d/systemd-udev-trigger-no-reload.conf +system/systemd-udevd-control.socket +system/systemd-udevd-kernel.socket +system/systemd-udevd.service +system/systemd-update-done.service +system/systemd-update-utmp-runlevel.service +system/systemd-update-utmp.service +system/systemd-user-sessions.service +system/systemd-userdbd.service +system/systemd-userdbd.socket +system/systemd-volatile-root.service +system/teamd@.service +system/timers.target +system/timers.target.wants/systemd-tmpfiles-clean.timer +system/tmp.mount +system/umount.target +system/usb-gadget.target +system/user-.slice.d/10-defaults.conf +system/user-runtime-dir@.service +system/user.slice +system/user@.service +systemd +systemd-ac-power +systemd-backlight +systemd-binfmt +systemd-bless-boot +systemd-boot-check-no-failures +systemd-cgroups-agent +systemd-coredump +systemd-cryptsetup +systemd-export +systemd-fsck +systemd-growfs +systemd-hibernate-resume +systemd-hostnamed +systemd-import +systemd-import-fs +systemd-importd +systemd-initctl +systemd-journald +systemd-localed +systemd-logind +systemd-machined +systemd-makefs +systemd-modules-load +systemd-network-generator +systemd-networkd +systemd-networkd-wait-online +systemd-portabled +systemd-pstore +systemd-pull +systemd-quotacheck +systemd-random-seed +systemd-remount-fs +systemd-reply-password +systemd-resolved +systemd-rfkill +systemd-shutdown +systemd-sleep +systemd-socket-proxyd +systemd-sulogin-shell +systemd-sysctl +systemd-sysv-install +systemd-time-wait-sync +systemd-timedated +systemd-timesyncd +systemd-udevd +systemd-update-done +systemd-update-utmp +systemd-user-runtime-dir +systemd-user-sessions +systemd-userdbd +systemd-userwork +systemd-vconsole-setup +systemd-veritysetup +systemd-volatile-root +systemd-wdmd +systemd-xdg-autostart-condition diff --git a/script/make_version.sh b/script/make_version.sh index a315b8d42459d6bb990f9bc15d7fab17151beaaa..3aefe0cd1f8bcc41f1959c8280d75466c96d8c0c 100644 --- a/script/make_version.sh +++ b/script/make_version.sh @@ -68,7 +68,7 @@ function usage() echo "$(basename $0) [script_name|all]" } -export ALL_SCRIPT=('build_and_wait' 'update_release_info' 'make_tar' 'make_hmi' 'make_iso' 'make_iso_debug' 'make_iso_singleoss' 'make_livecd' 'make_compile_env' 'make_docker_image' 'make_raspi_image' 'make_euleros_certdb' 'make_tools_lib_storage' 'make_container_tools' 'make_tools_debug_tools' 'make_upgrade_patch' 'make_iso_everything' 'make_iso_everysrc' 'make_debug_everything' 'push_lts_dir' 'make_netinst_iso' 'get_epol_rpms') +export ALL_SCRIPT=('build_and_wait' 'update_release_info' 'make_tar' 'make_hmi' 'make_iso' 'make_iso_debug' 'make_iso_singleoss' 'make_livecd' 'make_compile_env' 'make_docker_image' 'make_raspi_image' 'make_microvm_image' 'make_euleros_certdb' 'make_tools_lib_storage' 'make_container_tools' 'make_tools_debug_tools' 'make_upgrade_patch' 'make_iso_everything' 'make_iso_everysrc' 'make_debug_everything' 'push_lts_dir' 'make_netinst_iso' 'get_epol_rpms') [[ "${DEBUG}" -eq 1 ]] && set -x #check_env diff --git a/script/setup_env.sh b/script/setup_env.sh index 272f9666cdd4076a0e5dde656ea5a0acdc076186..2edea742570bab92e1f56ec6dbe358778bf3f131 100644 --- a/script/setup_env.sh +++ b/script/setup_env.sh @@ -29,6 +29,7 @@ export RELEASE_ARCH_DIR="openEuler_${ARCH}" export CONTAINER_NAME=$(echo ${RELEASE_VERSION_DIR} | tr A-Z a-z) export VM_IMAGE_NAME="${RELEASE_VERSION_DIR}-${ARCH}.qcow2" export RASPI_IMAGE_NAME="${RELEASE_VERSION_DIR}-raspi-${ARCH}.img" +export MICROVM_IMAGE_NAME="${RELEASE_VERSION_DIR}-microvm-${ARCH}.img" export PRODUCTS=${OS_NAME} diff --git a/script/step/make_microvm_image.sh b/script/step/make_microvm_image.sh new file mode 100644 index 0000000000000000000000000000000000000000..08933b3dfcdb985143dcc48938cc2209daa9a908 --- /dev/null +++ b/script/step/make_microvm_image.sh @@ -0,0 +1,170 @@ +#!/bin/bash + +set -e +arch="$(uname -m)" + +ERROR(){ + echo `date` - ERROR, $* | tee -a ${log_dir}/${builddate}.log +} + +LOG(){ + echo `date` - INFO, $* | tee -a ${log_dir}/${builddate}.log +} + +CP_CHROOT_PACKAGES(){ + set +e + mkdir -m 0755 -p ${rootfs_dir}${2} + pushd ${2} + cat ${1} | while read file + do + if [ "${file:0:1}" != "#" ]; then + cp -rd --path $file ${rootfs_dir}${2} + fi + done + popd + set -e +} + +prepare(){ + if [ ! -d ${tmp_dir} ]; then + mkdir -p ${tmp_dir} + else + rm -rf ${tmp_dir}/* + fi + + img_file=${img_dir}/${MICROVM_IMAGE_NAME} + + if [ ! -d ${log_dir} ]; then + mkdir -p ${log_dir} + fi + LOG "prepare begin..." + + if [ -d ${rootfs_dir} ]; then + rm -rf ${rootfs_dir} + fi + if [ ! -d ${img_dir} ]; then + mkdir -p ${img_dir} + fi + + set +e + os_release_name=${OS_NAME}-release + set -e + LOG "prepare end." +} + +make_rootfs(){ + LOG "make rootfs for micro_vm begin..." + if [[ -d ${rootfs_dir} ]]; then + UMOUNT_ALL + rm -rf ${rootfs_dir} + fi + mkdir -p ${rootfs_dir} + + for dir in dev home mnt proc run srv sys boot etc media opt root tmp var usr + do + mkdir -m 0755 -p ${rootfs_dir}/${dir} + done + + CP_CHROOT_PACKAGES ${package_dir}/bin.list /usr/bin + CP_CHROOT_PACKAGES ${package_dir}/include.list /usr/include + CP_CHROOT_PACKAGES ${package_dir}/lib.list /usr/lib + CP_CHROOT_PACKAGES ${package_dir}/lib64.list /usr/lib64 + CP_CHROOT_PACKAGES ${package_dir}/sbin.list /usr/sbin + CP_CHROOT_PACKAGES ${package_dir}/share.list /usr/share + CP_CHROOT_PACKAGES ${package_dir}/systemd.list /usr/lib/systemd + rm -rf ${rootfs_dir}/usr/lib64/python3.*/test + cp -d /lib /lib64 /sbin /bin ${rootfs_dir} + cp -r /etc/profile* /etc/bashrc /etc/ssh ${rootfs_dir}/etc + cp -r ${microvm_dir}/passwd ${microvm_dir}/shadow ${microvm_dir}/pam.d ${rootfs_dir}/etc + + LOG "make rootfs for micro_vm end." +} + +make_img(){ + LOG "make ${img_file} begin..." + device="" + size=`du -sh --block-size=1MiB ${rootfs_dir} | cut -f 1 | xargs` + size=$(($size+500)) + pwd + dd if=/dev/zero of=${img_file} bs=1MiB count=$size && sync + mkfs.ext4 ${img_file} + mkdir -p ${root_mnt} + mount ${img_file} ${root_mnt} + LOG "image ${img_file} created and mounted as ${root_mnt}" + + if [ -f ${tmp_dir}/rootfs.tar ]; then + rm ${tmp_dir}/rootfs.tar + fi + + pushd ${rootfs_dir} + tar cpf ${tmp_dir}/rootfs.tar . + popd + pushd ${root_mnt} + tar xpf ${tmp_dir}/rootfs.tar -C . + popd + sync + sleep 10 + umount ${root_mnt} + rm ${tmp_dir}/rootfs.tar + rm -rf ${rootfs_dir} + pushd ${img_dir} + if [ -f ${img_file} ]; then + sha256sum $(basename ${img_file}) > ${img_file}.sha256sum + xz -T 20 -z -c ${img_file} > ${img_file}.xz + sha256sum $(basename ${img_file}.xz) > ${img_file}.xz.sha256sum + LOG "made sum files for ${img_file}" + fi + popd + LOG "write ${img_file} done." + LOG "make ${img_file} end." + sshscp "${img_file} ${img_file}.sha256sum ${img_file}.xz ${img_file}.xz.sha256sum " "${RELEASE_DIR}" +} + +function make_microvm_image() +{ + chroot_run "cd /home; bash -x make_version.sh make_microvm_image_inchroot" +} + +function make_microvm_image_inchroot() +{ + echo 'make microvm image' + if [ "$EUID" -ne 0 ]; then + echo `date` - ERROR, Please run as root! + exit + fi + + OS_NAME=openEuler + + workdir=$(cd $(dirname $0);pwd) + if [ "x${workdir}" == "x/" ]; then + workdir=/microvm_output + else + workdir=${workdir}/microvm_output + fi + + tmp_dir=${workdir}/tmp + log_dir=${workdir}/log + rootfs_dir=${workdir}/rootfs + root_mnt=${workdir}/root + microvm_dir=${BUILD_SCRIPT_DIR}/config/microvm_image + package_dir=${microvm_dir}/source.list + + builddate=$(date +%Y%m%d) + get_version + release_dir=$(get_release_dir) + version_time="${release_dir#${HTTP_DIR}}" + version_time=${version_time##*/} + img_dir="${WORK_DIR}image" + if [ -d "${img_dir}" ]; then + rm -rf "${img_dir}" + fi + mkdir -p "${img_dir}" + + RELEASE_DIR="${release_dir}/microvm_img/${arch}" + SSH_CMD="mkdir -p ${RELEASE_DIR}" + sshcmd "${SSH_CMD}" + + prepare + make_rootfs + make_img +}