Jan Kundrát | e8b1811 | 2018-04-04 23:11:23 +0200 | [diff] [blame] | 1 | CZECHLIGHT_CFG_FS_INSTALL_IMAGES = YES |
Tomáš Pecka | 68a2286 | 2022-05-30 15:52:29 +0200 | [diff] [blame] | 2 | CZECHLIGHT_CFG_FS_DEPENDENCIES = host-e2fsprogs host-libyang netopeer2 systemd |
Jan Kundrát | e8b1811 | 2018-04-04 23:11:23 +0200 | [diff] [blame] | 3 | |
| 4 | CZECHLIGHT_CFG_FS_LOCATION = $(BINARIES_DIR)/cfg.ext4 |
| 5 | |
| 6 | define 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)) |
| 9 | endef |
| 10 | |
Jan Kundrát | 62dbb4a | 2018-04-05 20:42:09 +0200 | [diff] [blame] | 11 | ifeq ($(BR2_PACKAGE_CZECHLIGHT_CFG_FS)-$(call qstrip,$(CZECHLIGHT_CFG_FS_SIZE)),y-) |
| 12 | $(error CZECHLIGHT_CFG_FS_SIZE cannot be empty) |
| 13 | endif |
| 14 | |
Jan Kundrát | 6b05a1d | 2019-03-06 17:01:28 +0100 | [diff] [blame] | 15 | define CZECHLIGHT_CFG_FS_BUILD_CMDS |
Jan Kundrát | 757863a | 2019-12-05 15:57:55 +0100 | [diff] [blame] | 16 | $(TARGET_CC) $(CZECHLIGHT_CFG_FS_PKGDIR)/czechlight-random-seed.c -o $(@D)/czechlight-random-seed |
Jan Kundrát | 6b05a1d | 2019-03-06 17:01:28 +0100 | [diff] [blame] | 17 | endef |
| 18 | |
Jan Kundrát | e40feeb | 2022-07-08 14:27:29 +0200 | [diff] [blame] | 19 | CZECHLIGHT_CFG_FS_SYSTEMD_FOR_MULTIUSER = \ |
| 20 | czechlight-install-yang.service \ |
Tomáš Pecka | b31a089 | 2023-07-19 11:12:29 +0200 | [diff] [blame] | 21 | czechlight-migrate.service |
Jan Kundrát | e40feeb | 2022-07-08 14:27:29 +0200 | [diff] [blame] | 22 | |
| 23 | $(ifeq ($(CZECHLIGHT_CFG_FS_PERSIST_SYSREPO),y)) |
| 24 | CZECHLIGHT_CFG_FS_SYSTEMD_FOR_MULTIUSER += \ |
| 25 | sysrepo-persistent-cfg.service \ |
| 26 | cfg-restore-sysrepo.service |
| 27 | $(endif) |
| 28 | $(ifeq ($(CZECHLIGHT_CFG_FS_PERSIST_KEYS),y)) |
| 29 | CZECHLIGHT_CFG_FS_SYSTEMD_FOR_MULTIUSER += openssh-persistent-keys.service |
| 30 | $(endif) |
| 31 | $(ifeq ($(CZECHLIGHT_CFG_FS_PERSIST_NETWORK),y)) |
| 32 | CZECHLIGHT_CFG_FS_SYSTEMD_FOR_MULTIUSER += cfg-restore-systemd-networkd.service |
| 33 | $(endif) |
| 34 | |
Jan Kundrát | 960274e | 2018-04-09 11:20:56 +0200 | [diff] [blame] | 35 | define CZECHLIGHT_CFG_FS_INSTALL_TARGET_CMDS |
Jan Kundrát | 567058d | 2018-11-08 19:15:56 +0100 | [diff] [blame] | 36 | mkdir -p $(TARGET_DIR)/cfg |
Jan Kundrát | e40feeb | 2022-07-08 14:27:29 +0200 | [diff] [blame] | 37 | mkdir -p $(TARGET_DIR)/usr/lib/systemd/system/multi-user.target.wants/ |
| 38 | |
| 39 | $(INSTALL) -D -m 0755 -t $(TARGET_DIR)/sbin \ |
| 40 | $(BR2_EXTERNAL_CZECHLIGHT_PATH)/package/czechlight-cfg-fs/init-czechlight.sh \ |
Jan Kundrát | 80972db | 2023-06-05 22:27:16 +0200 | [diff] [blame] | 41 | $(BR2_EXTERNAL_CZECHLIGHT_PATH)/package/czechlight-cfg-fs/cfg-save-sysrepo \ |
| 42 | $(BR2_EXTERNAL_CZECHLIGHT_PATH)/package/czechlight-cfg-fs/impl-cfg-save-sysrepo \ |
Jan Kundrát | e40feeb | 2022-07-08 14:27:29 +0200 | [diff] [blame] | 43 | $(@D)/czechlight-random-seed |
| 44 | |
Tomáš Pecka | 04eb737 | 2022-06-07 08:03:04 +0200 | [diff] [blame] | 45 | $(INSTALL) -D -m 0755 -t $(TARGET_DIR)/usr/libexec/czechlight-cfg-fs \ |
Jan Kundrát | e40feeb | 2022-07-08 14:27:29 +0200 | [diff] [blame] | 46 | $(BR2_EXTERNAL_CZECHLIGHT_PATH)/package/czechlight-cfg-fs/czechlight-install-yang.sh \ |
Tomáš Pecka | 04eb737 | 2022-06-07 08:03:04 +0200 | [diff] [blame] | 47 | $(BR2_EXTERNAL_CZECHLIGHT_PATH)/package/czechlight-cfg-fs/czechlight-migrate.sh \ |
| 48 | $(BR2_EXTERNAL_CZECHLIGHT_PATH)/package/czechlight-cfg-fs/czechlight-migration-list.sh |
| 49 | |
| 50 | $(INSTALL) -D -m 0644 -t $(TARGET_DIR)/usr/libexec/czechlight-cfg-fs/migrations \ |
| 51 | $(BR2_EXTERNAL_CZECHLIGHT_PATH)/package/czechlight-cfg-fs/migrations/* |
| 52 | |
Jan Kundrát | e40feeb | 2022-07-08 14:27:29 +0200 | [diff] [blame] | 53 | |
| 54 | for UNIT in $(CZECHLIGHT_CFG_FS_SYSTEMD_FOR_MULTIUSER); do \ |
| 55 | $(INSTALL) -D -m 0644 -t $(TARGET_DIR)/usr/lib/systemd/system/ \ |
| 56 | $(BR2_EXTERNAL_CZECHLIGHT_PATH)/package/czechlight-cfg-fs/$${UNIT}; \ |
| 57 | ln -sf ../$${UNIT} $(TARGET_DIR)/usr/lib/systemd/system/multi-user.target.wants/ ;\ |
| 58 | done |
Jan Kundrát | 960274e | 2018-04-09 11:20:56 +0200 | [diff] [blame] | 59 | endef |
| 60 | |
Jan Kundrát | 86665c4 | 2018-06-06 13:38:22 +0200 | [diff] [blame] | 61 | # Configure OpenSSH to look for *user* keys in the /cfg |
| 62 | define CZECHLIGHT_CFG_FS_OPENSSH_AUTH_PATH_PATCH |
| 63 | $(SED) 's|^AuthorizedKeysFile.*|AuthorizedKeysFile /cfg/ssh-user-auth/%u|' $(TARGET_DIR)/etc/ssh/sshd_config |
| 64 | endef |
| 65 | OPENSSH_POST_INSTALL_TARGET_HOOKS += CZECHLIGHT_CFG_FS_OPENSSH_AUTH_PATH_PATCH |
| 66 | |
Jan Kundrát | f908bda | 2021-01-22 19:51:50 +0100 | [diff] [blame] | 67 | NETOPEER2_CONF_OPTS += \ |
| 68 | -DNP2SRV_SSH_AUTHORIZED_KEYS_PATTERN="/cfg/ssh-user-auth/%s" \ |
| 69 | -DNP2SRV_SSH_AUTHORIZED_KEYS_ARG_IS_USERNAME=ON |
| 70 | |
Jan Kundrát | e8b1811 | 2018-04-04 23:11:23 +0200 | [diff] [blame] | 71 | $(eval $(generic-package)) |