PROFILE_ID := x86_64_COTS SUPPORTED_MACHINE_ID := x86_64_COTS KERNEL_ARGS := crashkernel=512M default_hugepagesz=1G intel_iommu=on iommu=pt mitigations=off psi=1 selinux=0 coredump_filter=0x3f quiet splash transparent_hugepage=never processor.max_cstate=0 intel_idle.max_cstate=0 intel_pstate=disable KERNEL_ARGS_9000_NPB := console=ttyS0,115200n8 pci=realloc,assign-busses GRUB_SERIAL_COMMAND := SIZE_PART_SYSROOT := 16384M SIZE_PART_UPDATE := 16384M PROFILE_ID_IN_SHORT := $(subst -,$e,$(PROFILE_ID)) CHROOT_PKG := tsg-os-${OS_RELEASE_VER}-${PROFILE_ID_IN_SHORT}-chroot.tar.bz2 CHROOT_BIN := tsg-os-${OS_RELEASE_VER}-${PROFILE_ID_IN_SHORT}-ONIE.bin APP_BUNDLE_BIN := tsg-os-${OS_RELEASE_VER}-${PROFILE_ID_IN_SHORT}-APP-BUNDLE.bin TARGET_BUILD_DIR := $(BUILDDIR_BASE)/$(PROFILE_ID) TARGET_INSTALLER_DIR := $(TARGET_BUILD_DIR)/installer TARGET_SYSROOT_DIR := $(TARGET_BUILD_DIR)/sysroot .PHONY: all builddir installer sysroot-base sysroot-cleanup sysroot-archive sysroot-binary add-images-into-installer-dir add-patch-into-installer-dir clean all: sysroot-binary builddir: mkdir -p $(TARGET_BUILD_DIR) installer: builddir rm -rf $(TARGET_INSTALLER_DIR) mkdir -p $(TARGET_INSTALLER_DIR) cp $(INSTALLERDIR)/install.sh $(TARGET_INSTALLER_DIR)/install.sh cp $(INSTALLERDIR)/distro-setup.sh $(TARGET_INSTALLER_DIR)/distro-setup.sh chmod +x $(TARGET_INSTALLER_DIR)/install.sh chmod +x $(TARGET_INSTALLER_DIR)/distro-setup.sh sed -i -e "s/%%DISTR0_VER%%/$(OS_RELEASE_VER)/" $(TARGET_INSTALLER_DIR)/install.sh sed -i -e "s/%%MACHINE_ID%%/$(SUPPORTED_MACHINE_ID)/" $(TARGET_INSTALLER_DIR)/install.sh sed -i -e "s/%%CHROOT_PKG%%/$(CHROOT_PKG)/" $(TARGET_INSTALLER_DIR)/install.sh sed -i -e "s/%%KERNAL_ARGS%%/$(KERNEL_ARGS)/" $(TARGET_INSTALLER_DIR)/install.sh sed -i -e "s/%%KERNEL_ARGS_9000_NPB%%/$(KERNEL_ARGS_9000_NPB)/" $(TARGET_INSTALLER_DIR)/install.sh sed -i -e "s/%%GRUB_SERIAL_COMMAND%%/$(GRUB_SERIAL_COMMAND)/" $(TARGET_INSTALLER_DIR)/install.sh sed -i -e "s/%%SIZE_PART_SYSROOT%%/$(SIZE_PART_SYSROOT)/" $(TARGET_INSTALLER_DIR)/install.sh sed -i -e "s/%%SIZE_PART_UPDATE%%/$(SIZE_PART_UPDATE)/" $(TARGET_INSTALLER_DIR)/install.sh sed -i -e "s/%%APP_BUNDLE_BIN%%/$(APP_BUNDLE_BIN)/" $(TARGET_INSTALLER_DIR)/install.sh ifeq ($(ENABLE_ALIYUN_INTERNAL_DOMAIN),1) sed -i -e "s/mirrors.aliyun.com/mirrors.cloud.aliyuncs.com/" $(CONFDIR)/yum-RockyLinux-8.conf endif sysroot-base: builddir $(TOOLSDIR)/mk-base-image $(CONFDIR)/yum-RockyLinux-8.conf $(TARGET_SYSROOT_DIR) $(PROJECTDIR) $(PROFILE_ID) sysroot-verfile: sysroot-base sed -i -e "s/^NAME=.*/NAME=\"TSG-OS\"/" $(TARGET_SYSROOT_DIR)/usr/lib/os-release sed -i -e "s/^VERSION=.*/VERSION=\"$(OS_RELEASE_VER) ($(PROFILE_ID_IN_SHORT))\"/" $(TARGET_SYSROOT_DIR)/usr/lib/os-release sed -i -e "s/^PRETTY_NAME=.*/PRETTY_NAME=\"TSG-OS $(OS_RELEASE_VER) ($(PROFILE_ID_IN_SHORT))\"/" $(TARGET_SYSROOT_DIR)/usr/lib/os-release sysroot-ansible: sysroot-verfile sysroot-base cp $(CONFDIR)/yum-RockyLinux-8.conf $(TARGET_SYSROOT_DIR)/tmp/ -r cp /etc/resolv.conf $(TARGET_SYSROOT_DIR)/etc/ -r cp $(TARGET_SYSROOT_DIR)/etc/hosts $(TARGET_SYSROOT_DIR)/tmp/ -r cp /etc/hosts $(TARGET_SYSROOT_DIR)/etc/ -r $(TOOLSDIR)/ansible-HAL $(PROFILE_ID) $(PROJECTDIR) $(TARGET_SYSROOT_DIR) /tmp/yum-RockyLinux-8.conf $(OS_RELEASE_VER) $(HELM_CHART_VER) cp $(TARGET_SYSROOT_DIR)/tmp/hosts $(TARGET_SYSROOT_DIR)/etc/ -r rm -rf $(TARGET_SYSROOT_DIR)/etc/resolv.conf sysroot-cleanup: rm -rf $(TARGET_SYSROOT_DIR)/tmp/* rm -rf $(TARGET_SYSROOT_DIR)/dev/* add-patch-into-installer-dir: cp $(TARGET_SYSROOT_DIR)/tmp/9000_NPB/tsg-os_9000-NPB-P01R01_patch.bin $(TARGET_INSTALLER_DIR)/tsg-os_9000-NPB-P01R01_patch.bin add-images-into-installer-dir: builddir sysroot-verfile sysroot-ansible cp $(IMAGEDIR_BASE)/$(APP_BUNDLE_BIN) $(TARGET_INSTALLER_DIR)/$(APP_BUNDLE_BIN) sysroot-archive: installer add-images-into-installer-dir add-patch-into-installer-dir sysroot-cleanup tar --exclude=*~ --exclude-backups --owner=root --group=root -c -C $(TARGET_SYSROOT_DIR) . | pbzip2 -p9 > $(TARGET_INSTALLER_DIR)/$(CHROOT_PKG) sysroot-binary: sysroot-archive mkdir -p $(TARGET_BUILD_DIR)/cook-bits $(TOOLSDIR)/cook-bits $(TARGET_BUILD_DIR) $(TARGET_BUILD_DIR)/cook-bits $(IMAGEDIR_BASE)/$(CHROOT_BIN) sha256sum $(IMAGEDIR_BASE)/$(CHROOT_BIN) | awk '{print $$1}' > $(IMAGEDIR_BASE)/$(CHROOT_BIN).sha256sum.txt clean: rm -rf $(TARGET_BUILD_DIR)