From baf76634f38d7415c3d8a5034f40b75e3612b967 Mon Sep 17 00:00:00 2001 From: Stijn Tintel Date: Wed, 7 Dec 2022 19:04:12 +0200 Subject: [PATCH] build: add option to use preinit IP as LAN IP We currently have build options to customize the IP address used in the preinit phase of the boot process, but not to set the default LAN IP. Introduce a boolean build option that, when enabled, results in the IP address configured for the preinit phase, to be also used as the default LAN IP address. Signed-off-by: Stijn Tintel --- package/base-files/Makefile | 13 +++++++++++++ package/base-files/image-config.in | 7 +++++++ 2 files changed, 20 insertions(+) diff --git a/package/base-files/Makefile b/package/base-files/Makefile index 914f0598ff..8732f82fb9 100644 --- a/package/base-files/Makefile +++ b/package/base-files/Makefile @@ -89,6 +89,19 @@ define ImageConfigOptions echo 'pi_preinit_net_messages="$(CONFIG_TARGET_PREINIT_SHOW_NETMSG)"' >>$(1)/lib/preinit/00_preinit.conf echo 'pi_preinit_no_failsafe_netmsg="$(CONFIG_TARGET_PREINIT_SUPPRESS_FAILSAFE_NETMSG)"' >>$(1)/lib/preinit/00_preinit.conf echo 'pi_preinit_no_failsafe="$(CONFIG_TARGET_PREINIT_DISABLE_FAILSAFE)"' >>$(1)/lib/preinit/00_preinit.conf +ifeq ($(CONFIG_TARGET_DEFAULT_LAN_IP_FROM_PREINIT),y) + mkdir -p $(1)/etc/board.d + echo '. /lib/functions/uci-defaults.sh' >$(1)/etc/board.d/99-lan-ip + echo 'logger -t 99-lan-ip "setting custom default LAN IP"' >>$(1)/etc/board.d/99-lan-ip + echo 'board_config_update' >>$(1)/etc/board.d/99-lan-ip + echo 'json_select network' >>$(1)/etc/board.d/99-lan-ip + echo 'json_select lan' >>$(1)/etc/board.d/99-lan-ip + echo 'json_add_string ipaddr $(if $(CONFIG_TARGET_PREINIT_IP),$(CONFIG_TARGET_PREINIT_IP),"192.168.1.1")' >>$(1)/etc/board.d/99-lan-ip + echo 'json_add_string netmask $(if $(CONFIG_TARGET_PREINIT_NETMASK),$(CONFIG_TARGET_PREINIT_NETMASK),"255.255.255.0")' >>$(1)/etc/board.d/99-lan-ip + echo 'json_select ..' >>$(1)/etc/board.d/99-lan-ip + echo 'json_select ..' >>$(1)/etc/board.d/99-lan-ip + echo 'board_config_flush' >>$(1)/etc/board.d/99-lan-ip +endif endef define Build/Prepare diff --git a/package/base-files/image-config.in b/package/base-files/image-config.in index ac406bc456..2de2130b84 100644 --- a/package/base-files/image-config.in +++ b/package/base-files/image-config.in @@ -5,6 +5,13 @@ # See /LICENSE for more information. # +config TARGET_DEFAULT_LAN_IP_FROM_PREINIT + bool "Use preinit IP configuration as default LAN IP" if IMAGEOPT + default n + help + Enabling this will set the default LAN IP address and netmask + to the preinit values set in the image config. + menuconfig PREINITOPT bool "Preinit configuration options" if IMAGEOPT default n -- 2.30.2