c95e436c6e06c91a1240c05838cb27af9f3bceac
[packages/trusty/cirros-testvm.git] / cirros-testvm / src-cirros / buildroot-2015.05 / system / system.mk
1 TARGET_GENERIC_HOSTNAME = $(call qstrip,$(BR2_TARGET_GENERIC_HOSTNAME))
2 TARGET_GENERIC_ISSUE = $(call qstrip,$(BR2_TARGET_GENERIC_ISSUE))
3 TARGET_GENERIC_ROOT_PASSWD = $(call qstrip,$(BR2_TARGET_GENERIC_ROOT_PASSWD))
4 TARGET_GENERIC_PASSWD_METHOD = $(call qstrip,$(BR2_TARGET_GENERIC_PASSWD_METHOD))
5 TARGET_GENERIC_BIN_SH = $(call qstrip,$(BR2_SYSTEM_BIN_SH))
6 TARGET_GENERIC_GETTY_PORT = $(call qstrip,$(BR2_TARGET_GENERIC_GETTY_PORT))
7 TARGET_GENERIC_GETTY_BAUDRATE = $(call qstrip,$(BR2_TARGET_GENERIC_GETTY_BAUDRATE))
8 TARGET_GENERIC_GETTY_TERM = $(call qstrip,$(BR2_TARGET_GENERIC_GETTY_TERM))
9 TARGET_GENERIC_GETTY_OPTIONS = $(call qstrip,$(BR2_TARGET_GENERIC_GETTY_OPTIONS))
10
11 ifeq ($(BR2_TARGET_GENERIC_GETTY),y)
12 define SYSTEM_SECURETTY
13         grep -q '^$(TARGET_GENERIC_GETTY_PORT)$$' $(TARGET_DIR)/etc/securetty || \
14                 echo '$(TARGET_GENERIC_GETTY_PORT)' >> $(TARGET_DIR)/etc/securetty
15 endef
16 TARGET_FINALIZE_HOOKS += SYSTEM_SECURETTY
17 endif
18
19 ifneq ($(TARGET_GENERIC_HOSTNAME),)
20 define SYSTEM_HOSTNAME
21         mkdir -p $(TARGET_DIR)/etc
22         echo "$(TARGET_GENERIC_HOSTNAME)" > $(TARGET_DIR)/etc/hostname
23         $(SED) '$$a \127.0.1.1\t$(TARGET_GENERIC_HOSTNAME)' \
24                 -e '/^127.0.1.1/d' $(TARGET_DIR)/etc/hosts
25 endef
26 TARGET_FINALIZE_HOOKS += SYSTEM_HOSTNAME
27 endif
28
29 ifneq ($(TARGET_GENERIC_ISSUE),)
30 define SYSTEM_ISSUE
31         mkdir -p $(TARGET_DIR)/etc
32         echo "$(TARGET_GENERIC_ISSUE)" > $(TARGET_DIR)/etc/issue
33 endef
34 TARGET_FINALIZE_HOOKS += SYSTEM_ISSUE
35 endif
36
37 ifneq ($(TARGET_GENERIC_ROOT_PASSWD),)
38 PACKAGES += host-mkpasswd
39 endif
40
41 define SET_NETWORK_LOCALHOST
42         ( \
43                 echo "# interface file auto-generated by buildroot"; \
44                 echo ;                                               \
45                 echo "auto lo";                                      \
46                 echo "iface lo inet loopback";                       \
47         ) > $(TARGET_DIR)/etc/network/interfaces
48 endef
49
50 NETWORK_DHCP_IFACE = $(call qstrip,$(BR2_SYSTEM_DHCP))
51
52 ifneq ($(NETWORK_DHCP_IFACE),)
53 define SET_NETWORK_DHCP
54         ( \
55                 echo ;                                               \
56                 echo "auto $(NETWORK_DHCP_IFACE)";                   \
57                 echo "iface $(NETWORK_DHCP_IFACE) inet dhcp";        \
58         ) >> $(TARGET_DIR)/etc/network/interfaces
59 endef
60 endif
61
62 define SET_NETWORK
63         mkdir -p $(TARGET_DIR)/etc/network/
64         $(SET_NETWORK_LOCALHOST)
65         $(SET_NETWORK_DHCP)
66 endef
67
68 TARGET_FINALIZE_HOOKS += SET_NETWORK
69
70 ifeq ($(BR2_ROOTFS_SKELETON_DEFAULT),y)
71
72 define SYSTEM_ROOT_PASSWD
73         [ -n "$(TARGET_GENERIC_ROOT_PASSWD)" ] && \
74                 TARGET_GENERIC_ROOT_PASSWD_HASH=$$($(MKPASSWD) -m "$(TARGET_GENERIC_PASSWD_METHOD)" "$(TARGET_GENERIC_ROOT_PASSWD)"); \
75         $(SED) "s,^root:[^:]*:,root:$$TARGET_GENERIC_ROOT_PASSWD_HASH:," $(TARGET_DIR)/etc/shadow
76 endef
77 TARGET_FINALIZE_HOOKS += SYSTEM_ROOT_PASSWD
78
79 ifeq ($(BR2_SYSTEM_BIN_SH_NONE),y)
80 define SYSTEM_BIN_SH
81         rm -f $(TARGET_DIR)/bin/sh
82 endef
83 else
84 define SYSTEM_BIN_SH
85         ln -sf $(TARGET_GENERIC_BIN_SH) $(TARGET_DIR)/bin/sh
86 endef
87 endif
88 TARGET_FINALIZE_HOOKS += SYSTEM_BIN_SH
89
90 ifeq ($(BR2_TARGET_GENERIC_GETTY),y)
91 ifeq ($(BR2_PACKAGE_SYSVINIT),y)
92 # In sysvinit inittab, the "id" must not be longer than 4 bytes, so we
93 # skip the "tty" part and keep only the remaining.
94 define SYSTEM_GETTY
95         $(SED) '/# GENERIC_SERIAL$$/s~^.*#~$(shell echo $(TARGET_GENERIC_GETTY_PORT) | tail -c+4)::respawn:/sbin/getty -L $(TARGET_GENERIC_GETTY_OPTIONS) $(TARGET_GENERIC_GETTY_PORT) $(TARGET_GENERIC_GETTY_BAUDRATE) $(TARGET_GENERIC_GETTY_TERM) #~' \
96                 $(TARGET_DIR)/etc/inittab
97 endef
98 else
99 # Add getty to busybox inittab
100 define SYSTEM_GETTY
101         $(SED) '/# GENERIC_SERIAL$$/s~^.*#~$(TARGET_GENERIC_GETTY_PORT)::respawn:/sbin/getty -L $(TARGET_GENERIC_GETTY_OPTIONS) $(TARGET_GENERIC_GETTY_PORT) $(TARGET_GENERIC_GETTY_BAUDRATE) $(TARGET_GENERIC_GETTY_TERM) #~' \
102                 $(TARGET_DIR)/etc/inittab
103 endef
104 endif
105 TARGET_FINALIZE_HOOKS += SYSTEM_GETTY
106 endif
107
108 ifeq ($(BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW),y)
109 # Find commented line, if any, and remove leading '#'s
110 define SYSTEM_REMOUNT_RW
111         $(SED) '/^#.*-o remount,rw \/$$/s~^#\+~~' $(TARGET_DIR)/etc/inittab
112 endef
113 else
114 # Find uncommented line, if any, and add a leading '#'
115 define SYSTEM_REMOUNT_RW
116         $(SED) '/^[^#].*-o remount,rw \/$$/s~^~#~' $(TARGET_DIR)/etc/inittab
117 endef
118 endif
119 TARGET_FINALIZE_HOOKS += SYSTEM_REMOUNT_RW
120
121 endif # BR2_ROOTFS_SKELETON_DEFAULT