1*4882a593Smuzhiyunconfig BR2_PACKAGE_SWUPDATE 2*4882a593Smuzhiyun bool "swupdate" 3*4882a593Smuzhiyun depends on !BR2_STATIC_LIBS 4*4882a593Smuzhiyun depends on BR2_TOOLCHAIN_HAS_THREADS 5*4882a593Smuzhiyun depends on BR2_USE_MMU # fork() 6*4882a593Smuzhiyun # swupdate requires a parser and uses libconfig as default 7*4882a593Smuzhiyun select BR2_PACKAGE_LIBCONFIG if !BR2_PACKAGE_JSON_C && \ 8*4882a593Smuzhiyun !BR2_PACKAGE_HAS_LUAINTERPRETER 9*4882a593Smuzhiyun help 10*4882a593Smuzhiyun swupdate provides a reliable way to update the software on 11*4882a593Smuzhiyun an embedded system. 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun swupdate is highly configurable to fit the targets 14*4882a593Smuzhiyun requirements and to minimize the footprint. The provided 15*4882a593Smuzhiyun default configuration file BR2_PACKAGE_SWUPDATE_CONFIG will 16*4882a593Smuzhiyun enable swupdate with an embedded webserver, a parser and a 17*4882a593Smuzhiyun handler for raw NAND or NOR flash. 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun The default configuration file builds a reasonable firmware 20*4882a593Smuzhiyun update system with minimal external dependencies in mind. 21*4882a593Smuzhiyun If you like to use your own modified configuration, 22*4882a593Smuzhiyun you have to select the necessary packages manually: 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun * Select BR2_PACKAGE_LUA or BR2_PACKAGE_LUAJIT if you want 25*4882a593Smuzhiyun want to have Lua support. 26*4882a593Smuzhiyun * Select BR2_PACKAGE_LIBCURL if you want to use the download 27*4882a593Smuzhiyun feature. 28*4882a593Smuzhiyun * Select BR2_PACKAGE_OPENSSL or BR2_PACKAGE_MBEDTLS if you 29*4882a593Smuzhiyun want to add encryption support. 30*4882a593Smuzhiyun * Select BR2_PACKAGE_MTD if you want to use swupdate with 31*4882a593Smuzhiyun UBI partitions. 32*4882a593Smuzhiyun * Select BR2_PACKAGE_ZLIB if you want to deal with gzip 33*4882a593Smuzhiyun compressed archives. 34*4882a593Smuzhiyun * Select BR2_PACKAGE_ZSTD if you want to deal with zstd 35*4882a593Smuzhiyun compressed archives. 36*4882a593Smuzhiyun * Select BR2_PACKAGE_ZEROMQ to add support for using a 37*4882a593Smuzhiyun remote handler. 38*4882a593Smuzhiyun * Select BR2_PACKAGE_LIBRSYNC to add support for using 39*4882a593Smuzhiyun rdiff handler. 40*4882a593Smuzhiyun * Select BR2_PACKAGE_LIBUBOOTENV to add support for setting 41*4882a593Smuzhiyun the U-Boot environment. 42*4882a593Smuzhiyun * Select BR2_PACKAGE_LIBGPIOD to add support for 43*4882a593Smuzhiyun microcontroller firmware update. 44*4882a593Smuzhiyun * Select BR2_PACKAGE_EFIBOOTMGR to add support for EFI Boot 45*4882a593Smuzhiyun Guard. 46*4882a593Smuzhiyun * Select BR2_PACKAGE_LIBCURL, BR2_PACKAGE_JSON_C, 47*4882a593Smuzhiyun BR2_PACKAGE_LIBWEBSOCKETS, and BR2_PACKAGE_LIBURIPARSER 48*4882a593Smuzhiyun to add support for the SWU forwarder. 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun https://sbabic.github.io/swupdate 51*4882a593Smuzhiyun 52*4882a593Smuzhiyunif BR2_PACKAGE_SWUPDATE 53*4882a593Smuzhiyun 54*4882a593Smuzhiyunconfig BR2_PACKAGE_SWUPDATE_CONFIG 55*4882a593Smuzhiyun string "swupdate configuration file" 56*4882a593Smuzhiyun default "package/swupdate/swupdate.config" 57*4882a593Smuzhiyun help 58*4882a593Smuzhiyun Path to the swupdate configuration file. 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun I you wish to use your own modified swupdate configuration 61*4882a593Smuzhiyun file specify the config file location with this option. 62*4882a593Smuzhiyun 63*4882a593Smuzhiyunconfig BR2_PACKAGE_SWUPDATE_USB 64*4882a593Smuzhiyun bool "swupdate usb" 65*4882a593Smuzhiyun depends on BR2_PACKAGE_SYSTEMD 66*4882a593Smuzhiyun help 67*4882a593Smuzhiyun Enable update from USB disk. 68*4882a593Smuzhiyun 69*4882a593Smuzhiyuncomment "swupdate usb needs systemd" 70*4882a593Smuzhiyun depends on !BR2_PACKAGE_SYSTEMD 71*4882a593Smuzhiyun 72*4882a593Smuzhiyunconfig BR2_PACKAGE_SWUPDATE_WEBSERVER 73*4882a593Smuzhiyun bool "swupdate webserver" 74*4882a593Smuzhiyun default y 75*4882a593Smuzhiyun help 76*4882a593Smuzhiyun Enable update from remote using a web server on the target. 77*4882a593Smuzhiyun 78*4882a593Smuzhiyunconfig BR2_PACKAGE_SWUPDATE_INSTALL_WEBSITE 79*4882a593Smuzhiyun bool "install default website" 80*4882a593Smuzhiyun default y 81*4882a593Smuzhiyun depends on BR2_PACKAGE_SWUPDATE_WEBSERVER 82*4882a593Smuzhiyun help 83*4882a593Smuzhiyun Install the provided website to /var/www/swupdate. 84*4882a593Smuzhiyun 85*4882a593Smuzhiyun This is necessary if you want to run swupdate with the 86*4882a593Smuzhiyun embedded webserver and do not provide an own website to be 87*4882a593Smuzhiyun installed to /var/www/swupdate. 88*4882a593Smuzhiyunendif 89*4882a593Smuzhiyun 90*4882a593Smuzhiyuncomment "swupdate needs a toolchain w/ dynamic library, threads" 91*4882a593Smuzhiyun depends on BR2_USE_MMU 92*4882a593Smuzhiyun depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS 93