feat: Recovery-Download beim Booten

This commit is contained in:
Michael Sauer
2026-09-12 02:24:58 +02:00
parent 7474cd77e1
commit 8fa4af7eb5
6 changed files with 172 additions and 2 deletions
+16 -2
View File
@@ -38,7 +38,18 @@ string(LENGTH "${NINLIGHT_WIFI_PASSWORD}" _nl_wifi_pass_len)
if(NOT _nl_wifi_pass_len EQUAL 0 AND (_nl_wifi_pass_len LESS 8 OR _nl_wifi_pass_len GREATER 63))
message(FATAL_ERROR "NINLIGHT_WIFI_PASSWORD must be empty or 8..63 characters (WPA2)")
endif()
foreach(_v NINLIGHT_WIFI_SSID NINLIGHT_WIFI_PASSWORD NINLIGHT_AP_PASSWORD NINLIGHT_TOKEN)
if(NOT DEFINED NINLIGHT_RECOVERY_SSID)
set(NINLIGHT_RECOVERY_SSID "ninlight-recovery")
endif()
if(NOT DEFINED NINLIGHT_RECOVERY_PASSWORD)
set(NINLIGHT_RECOVERY_PASSWORD "ninlight-recovery")
endif()
string(LENGTH "${NINLIGHT_RECOVERY_PASSWORD}" _nl_rec_len)
if(_nl_rec_len LESS 8)
message(FATAL_ERROR "NINLIGHT_RECOVERY_PASSWORD needs at least 8 characters (WPA2)")
endif()
foreach(_v NINLIGHT_WIFI_SSID NINLIGHT_WIFI_PASSWORD NINLIGHT_AP_PASSWORD NINLIGHT_TOKEN
NINLIGHT_RECOVERY_SSID NINLIGHT_RECOVERY_PASSWORD)
if("${${_v}}" MATCHES "[\"\\\\;]")
message(FATAL_ERROR "${_v} must not contain \", \\ or ;")
endif()
@@ -74,6 +85,7 @@ set(NL_FW_SOURCES
src/net/nl_api.c
src/net/nl_wifi_sm.c
src/net/nl_wifi_w600.c
src/net/nl_recovery.c
src/net/nl_mdns.c
src/net/nl_http_server.c
src/sys/nl_app_api.c
@@ -92,7 +104,9 @@ target_compile_definitions(${NL_FW} PRIVATE
NINLIGHT_TOKEN_DEFAULT="${NINLIGHT_TOKEN}"
NINLIGHT_WIFI_SSID="${NINLIGHT_WIFI_SSID}"
NINLIGHT_WIFI_PASSWORD="${NINLIGHT_WIFI_PASSWORD}"
NINLIGHT_AP_PASSWORD="${NINLIGHT_AP_PASSWORD}")
NINLIGHT_AP_PASSWORD="${NINLIGHT_AP_PASSWORD}"
NINLIGHT_RECOVERY_SSID="${NINLIGHT_RECOVERY_SSID}"
NINLIGHT_RECOVERY_PASSWORD="${NINLIGHT_RECOVERY_PASSWORD}")
target_include_directories(${NL_FW} PRIVATE ${CMAKE_BINARY_DIR}/generated)
add_dependencies(${NL_FW} nl_version)
target_link_options(${NL_FW} PRIVATE