summaryrefslogtreecommitdiff
path: root/make/Makefile.aarch64_COTS
blob: dc3760219f3457d3dc09cec2e7634f32caa41fdb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
PROFILE_ID 				:= aarch64_COTS
SUPPORTED_MACHINE_ID 	:= aarch64_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
	sed -i -e "s/mirrors.aliyun.com/mirrors.cloud.aliyuncs.com/" $(CONFDIR)/yum-RockyLinux-9.conf
endif

sysroot-base: builddir
	$(TOOLSDIR)/mk-base-image $(CONFDIR)/yum-RockyLinux-9.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-9.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-9.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:
	echo "need copy patch file"

add-images-into-installer-dir: builddir sysroot-verfile sysroot-ansible
	echo "need copy APP_BUNDLE_BIN"
	du -sh $(TARGET_SYSROOT_DIR)
	df -h

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)