blob: 60f4785f57d76cedba8ad0f6933d316014a01e66 [file] [log] [blame]
Jan Kundráte8b18112018-04-04 23:11:23 +02001CZECHLIGHT_CFG_FS_INSTALL_IMAGES = YES
Jan Kundrátbd1cf692021-02-18 21:12:13 +01002CZECHLIGHT_CFG_FS_DEPENDENCIES = host-e2fsprogs host-libyang netopeer2
Jan Kundráte8b18112018-04-04 23:11:23 +02003
4CZECHLIGHT_CFG_FS_LOCATION = $(BINARIES_DIR)/cfg.ext4
5
6define CZECHLIGHT_CFG_FS_INSTALL_IMAGES_CMDS
7 rm -f $(CZECHLIGHT_CFG_FS_LOCATION)
8 $(HOST_DIR)/sbin/mkfs.ext4 -L cfg $(CZECHLIGHT_CFG_FS_LOCATION) $(call qstrip,$(CZECHLIGHT_CFG_FS_SIZE))
9endef
10
Jan Kundrát62dbb4a2018-04-05 20:42:09 +020011ifeq ($(BR2_PACKAGE_CZECHLIGHT_CFG_FS)-$(call qstrip,$(CZECHLIGHT_CFG_FS_SIZE)),y-)
12$(error CZECHLIGHT_CFG_FS_SIZE cannot be empty)
13endif
14
Jan Kundrát6b05a1d2019-03-06 17:01:28 +010015define CZECHLIGHT_CFG_FS_BUILD_CMDS
Jan Kundrát757863a2019-12-05 15:57:55 +010016 $(TARGET_CC) $(CZECHLIGHT_CFG_FS_PKGDIR)/czechlight-random-seed.c -o $(@D)/czechlight-random-seed
Jan Kundrátbd1cf692021-02-18 21:12:13 +010017
18 $(HOST_DIR)/usr/bin/yanglint -t config --strict \
19 $(TARGET_DIR)/usr/share/yang/modules/netopeer2/ietf-netconf-acm@2018-02-14.yang \
20 $(BR2_EXTERNAL_CZECHLIGHT_PATH)/package/czechlight-cfg-fs/nacm.json
Jan Kundrát6b05a1d2019-03-06 17:01:28 +010021endef
22
Jan Kundrát960274e2018-04-09 11:20:56 +020023define CZECHLIGHT_CFG_FS_INSTALL_TARGET_CMDS
Jan Kundrát960274e2018-04-09 11:20:56 +020024 $(INSTALL) -D -m 0755 \
Jan Kundrát567058d2018-11-08 19:15:56 +010025 $(BR2_EXTERNAL_CZECHLIGHT_PATH)/package/czechlight-cfg-fs/init-czechlight.sh \
26 $(TARGET_DIR)/sbin/init-czechlight.sh
Jan Kundrát757863a2019-12-05 15:57:55 +010027 $(INSTALL) -D -m 0755 $(@D)/czechlight-random-seed $(TARGET_DIR)/sbin/czechlight-random-seed
Jan Kundrát567058d2018-11-08 19:15:56 +010028 mkdir -p $(TARGET_DIR)/cfg
Václav Kubernáte6ecb9b2021-02-09 20:53:44 +010029 $(INSTALL) -D -m 0644 \
30 --target-directory $(TARGET_DIR)/usr/lib/systemd/system/ \
31 $(BR2_EXTERNAL_CZECHLIGHT_PATH)/package/czechlight-cfg-fs/nacm-restore.service
32 $(INSTALL) -D -m 0644 \
33 --target-directory $(TARGET_DIR)/usr/share/yang-data/ \
34 $(BR2_EXTERNAL_CZECHLIGHT_PATH)/package/czechlight-cfg-fs/nacm.json
Jan Kundrátff8479a2018-04-09 12:01:19 +020035 $(ifeq ($(CZECHLIGHT_CFG_FS_PERSIST_SYSREPO),y))
Jan Kundrátde3594f2018-05-24 16:28:06 +020036 mkdir -p $(TARGET_DIR)/usr/lib/systemd/system/multi-user.target.wants/
Jan Kundrátff8479a2018-04-09 12:01:19 +020037 $(INSTALL) -D -m 0644 \
38 $(BR2_EXTERNAL_CZECHLIGHT_PATH)/package/czechlight-cfg-fs/sysrepo-persistent-cfg.service \
39 $(TARGET_DIR)/usr/lib/systemd/system/
40 ln -sf ../sysrepo-persistent-cfg.service $(TARGET_DIR)/usr/lib/systemd/system/multi-user.target.wants/
Jan Kundrát34d2f482021-01-11 19:24:09 +010041 $(INSTALL) -D -m 0644 \
42 $(BR2_EXTERNAL_CZECHLIGHT_PATH)/package/czechlight-cfg-fs/cfg-restore-sysrepo.service \
43 $(TARGET_DIR)/usr/lib/systemd/system/
44 ln -sf ../cfg-restore-sysrepo.service $(TARGET_DIR)/usr/lib/systemd/system/multi-user.target.wants/
Jan Kundrátff8479a2018-04-09 12:01:19 +020045 $(endif)
Jan Kundrátd7e9cea2018-05-24 18:02:46 +020046 $(ifeq ($(CZECHLIGHT_CFG_FS_PERSIST_KEYS),y))
47 mkdir -p $(TARGET_DIR)/usr/lib/systemd/system/multi-user.target.wants/
48 $(INSTALL) -D -m 0644 \
Jan Kundrát1e5dfeb2018-09-14 13:40:34 +020049 $(BR2_EXTERNAL_CZECHLIGHT_PATH)/package/czechlight-cfg-fs/openssh-persistent-keys.service \
50 $(TARGET_DIR)/usr/lib/systemd/system/
51 ln -sf ../openssh-persistent-keys.service $(TARGET_DIR)/usr/lib/systemd/system/multi-user.target.wants/
Jan Kundrátd7e9cea2018-05-24 18:02:46 +020052 $(endif)
Tomáš Pecka73720dd2021-02-16 20:06:02 +010053 $(ifeq ($(CZECHLIGHT_CFG_FS_PERSIST_NETWORK),y))
54 mkdir -p $(TARGET_DIR)/usr/lib/systemd/system/network-pre.target.wants/
55 $(INSTALL) -D -m 0644 \
56 $(BR2_EXTERNAL_CZECHLIGHT_PATH)/package/czechlight-cfg-fs/cfg-restore-systemd-networkd.service \
57 $(TARGET_DIR)/usr/lib/systemd/system/
58 ln -sf ../cfg-restore-systemd-network.service $(TARGET_DIR)/usr/lib/systemd/system/network-pre.target.wants/
59 $(endif)
Jan Kundrát960274e2018-04-09 11:20:56 +020060endef
61
Jan Kundrát86665c42018-06-06 13:38:22 +020062# Configure OpenSSH to look for *user* keys in the /cfg
63define CZECHLIGHT_CFG_FS_OPENSSH_AUTH_PATH_PATCH
64 $(SED) 's|^AuthorizedKeysFile.*|AuthorizedKeysFile /cfg/ssh-user-auth/%u|' $(TARGET_DIR)/etc/ssh/sshd_config
65endef
66OPENSSH_POST_INSTALL_TARGET_HOOKS += CZECHLIGHT_CFG_FS_OPENSSH_AUTH_PATH_PATCH
67
Jan Kundrátf908bda2021-01-22 19:51:50 +010068NETOPEER2_CONF_OPTS += \
69 -DNP2SRV_SSH_AUTHORIZED_KEYS_PATTERN="/cfg/ssh-user-auth/%s" \
70 -DNP2SRV_SSH_AUTHORIZED_KEYS_ARG_IS_USERNAME=ON
71
Jan Kundráte8b18112018-04-04 23:11:23 +020072$(eval $(generic-package))