summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* mac80211: mark ath12k 80211BE capableJanusz Dziedzic2024-10-031-1/+1
| | | | | | | | Build hostapd with 80211BE suport. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@gmail.com> Link: https://github.com/openwrt/openwrt/pull/16571 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* generic: backport upstream r8169 patchesÁlvaro Fernández Rojas2024-10-025-0/+406
| | | | | | These patches have been added in linux v6.12 release. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* realtek: add support for Linksys LGS310CMarkus Stockhausen2024-10-025-0/+416
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware specification ---------------------- * RTL8380M SoC, 1 MIPS 4KEc core @ 500MHz * 256MB DRAM * 32MB NOR Flash * 8 x 10/100/1000BASE-T ports * 2 x SFP ports * Power LED, Fault LED * Reset button on front panel * UART (115200 8N1) via populated standard pin header marked JP1 TODO: The SFP ports use a shared SCL GPIO that the driver cannot handle. The left SFP port (lan9) is defined and fully functional while the laser on the right SFP port (lan10) is off by default. UART pinout ----------- [o]ooo|JP1 | ||`------ GND | |`------- RX | `-------- TX `---------- Vcc (3V3) Installation using OEM webinterface ----------------------------------- 1. Make sure you are running OEM firmware in secondary slot 2. Install squashfs-factory.imag to primary slot by upload via http Installation using serial interface ----------------------------------- 1. Press "a" "c" "p" during message "Enter correct key to stop autoboot" 2. Load image with "upgrade runtime <TFTP IP>:squashfs-sysupgrade.bin" command 3. Switch to primary slot with "setsys bootpartition 0" 4. Store config with "savesys" 5. Boot the image with `boota` command Dual-boot with stock firmware using writable u-boot-env ------------------------------------------------------- From stock to OpenWrt / primary image 1 (CLI as admin): - > boot system image1 - > reboot From OpenWrt to stock / boot image 2: (shell as root) - # fw_setsys bootpartition 1 - # reboot Debrick using serial interface ------------------------------ 1. Press "a" "c" "p" during message "Enter correct key to stop autoboot" 2. Load vendor image with "upgrade runtime <TFTP IP>:LGS310xxxxx.imag" 3. switch to primary partition "setsys bootpartition 0" 4. safe config "savesys" Further documentation --------------------- See https://openwrt.org/toh/linksys/lgs352c It has been developed and tested on device with v1 revision. Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de> Link: https://github.com/openwrt/openwrt/pull/16068 [Add missing 'w' in name of firmware partition] Signed-off-by: Sander Vanheule <sander@svanheule.net>
* wifi-scripts: add better defaults for 6 GHz interopFelix Fietkau2024-10-021-1/+11
| | | | | | Indicate stationary AP and set default 6G regulatory power type to indoor Signed-off-by: Felix Fietkau <nbd@nbd.name>
* base-files: set root password if present inside board.jsonJohn Crispin2024-10-021-0/+12
| | | | | | Add code to set plain password or put the hash into /etc/shadow. Signed-off-by: John Crispin <john@phrozen.org>
* base-files: add timezone to UCI during config_generateJohn Crispin2024-10-021-0/+5
| | | | Signed-off-by: John Crispin <john@phrozen.org>
* dropbear: add a uci-defaults script for loading authorized keysJohn Crispin2024-10-022-0/+22
| | | | | | | Write the ssh authorized key to /etc/dropbear/ssh_authorized_keys if present inside boad.json. Signed-off-by: John Crispin <john@phrozen.org>
* wifi-scripts: populate default wifi credentials and country code from board.jsonJohn Crispin2024-10-021-4/+18
| | | | Signed-off-by: John Crispin <john@phrozen.org>
* uboot-envtools: add a board.d script to load defaults from the environmentJohn Crispin2024-10-022-0/+19
| | | | | | | This allows loading default wifi credentials, passwords and ssh keys on firstboot. Signed-off-by: John Crispin <john@phrozen.org>
* uboot-envtools: add fw_loadenv toolJohn Crispin2024-10-022-0/+27
| | | | | | | This tool will load the uboot environment to /var/run/uboot-env/. This allows more efficient use when accessing multiple variables. Signed-off-by: John Crispin <john@phrozen.org>
* base-files: execute uboot-env script before calling config_generateJohn Crispin2024-10-021-1/+2
| | | | | | This allows /etc/board.d/* scripts to use values from the uboot environment. Signed-off-by: John Crispin <john@phrozen.org>
* base-files: uci-defaults: allow setting the number of MACs a radio can useJohn Crispin2024-10-021-0/+21
| | | | | | | Introduce new uci-default functions: - ucidef_set_wireless_mac_count [count] Signed-off-by: John Crispin <john@phrozen.org>
* base-files: uci-defaults: allow setting default timezoneJohn Crispin2024-10-021-0/+7
| | | | | | | Introduce new uci-default functions: - ucidef_set_timezone TZ Signed-off-by: John Crispin <john@phrozen.org>
* base-files: uci-defaults: allow setting default credentials and ssh keysJohn Crispin2024-10-021-0/+23
| | | | | | | | | Introduce new uci-default functions: - ucidef_set_root_password_hash [hash] - ucidef_set_root_password_plain [plaintext] - ucidef_set_ssh_authorized_key [ssh key] Signed-off-by: John Crispin <john@phrozen.org>
* base-files: uci-defaults: allow setting wireless defaultsDaniel Golle2024-10-021-0/+35
| | | | | | | | | | | | Introduce new uci-default functions: - ucidef_set_wireless band ssid [encryption] [key] - ucidef_set_country cc They are supposed to be used in /etc/board.d/* scripts to define board-specific defaults for wireless. Signed-off-by: Daniel Golle <daniel@makrotopia.org> Signed-off-by: John Crispin <john@phrozen.org>
* hostapd: send a notification via ubus when CSA completedJohn Crispin2024-10-023-0/+27
| | | | Signed-off-by: John Crispin <john@phrozen.org>
* hostapd: add ifname to generic ubus notify codeJohn Crispin2024-10-021-0/+1
| | | | Signed-off-by: John Crispin <john@phrozen.org>
* hostapd: add ifname and vlan_id to sta-authorized notificationsJohn Crispin2024-10-021-0/+3
| | | | Signed-off-by: John Crispin <john@phrozen.org>
* hostapd: add the ifname to ubus eventsJohn Crispin2024-10-021-0/+1
| | | | Signed-off-by: John Crispin <john@phrozen.org>
* umdns: update to latest HEADJohn Crispin2024-10-021-3/+3
| | | | | | | fbaca4b cache: improve update call by doing a full refresh probe 93c9036 dns: reply to A/AAAA questions for additional hostnames Signed-off-by: John Crispin <john@phrozen.org>
* wifi-scripts: detect and configure EHTJanusz Dziedzic2024-10-022-3/+26
| | | | | | | Check if EHT/11BE supported, configure in board.json and config/wireless. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@gmail.com>
* mt76: mark mt7996e 11BE capableJanusz Dziedzic2024-10-021-1/+2
| | | | | | Build hostapd with 11BE support. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@gmail.com>
* wifi-scripts: mac80211.sh: enable EHT320Janusz Dziedzic2024-10-021-3/+20
| | | | | | For EHT320 we should also enable HE160. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@gmail.com>
* wifi-scripts: mac80211.sh: allow EHT* setsJanusz Dziedzic2024-10-021-76/+88
| | | | | | Allow to configure 80211BE. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@gmail.com>
* hostapd: fix build when 80211BE enabledJanusz Dziedzic2024-10-021-0/+53
| | | | | | | | | | | | In file included from hostapd-wpad-basic-mbedtls/hostapd-2024.03.09~695277a5/src/ap/ubus.h:11, from hostapd-wpad-basic-mbedtls/hostapd-2024.03.09~695277a5/src/ap/hostapd.h:21, from main.c:26: hostapd-2024.03.09~695277a5/src/ap/sta_info.h: In function 'ap_sta_is_mld': hostapd-2024.03.09~695277a5/src/ap/sta_info.h:425:20: error: invalid use of undefined type 'struct hostapd_data' 425 | return hapd->conf->mld_ap && sta && sta->mld_info.mld_sta; | ^~ Signed-off-by: Janusz Dziedzic <janusz.dziedzic@gmail.com>
* hostapd: add CONFIG_DRIVER_11BE_SUPPORTJanusz Dziedzic2024-10-023-0/+14
| | | | | | Add option to enable 802.11BE support. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@gmail.com>
* ucode: update to latest HEADJohn Crispin2024-10-021-3/+3
| | | | | | | | | | | | | | | | | | | | | b610860 Merge pull request #223 from jow-/nl80211-add-eht-attributes 4e0456b nl80211: add EHT mac/phy capabilities c938ee9 Merge pull request #218 from jonasjelonek/add-ioctl 56ebeec fs: add ioctl() file method d0f423b Merge pull request #221 from mikma/fix-getenv 86f1121 lib: test if call to getenv() destroys environ 7af80d9 lib: use copy of environ pointer in getenv() 6ea37c8 ci: bump upload-artifact to v3 26d7292 Merge pull request #214 from jow-/ucode-test-runner fbabec4 tests: replace test runner shell script with ucode implementation e391ef5 main: prevent invalid memory access when executing empty stdin b391fd7 Merge pull request #211 from jow-/hwsim-support bc13278 nl80211: support the MAC80211_HWSIM netlink protocol family f5b5a58 nl80211: drop unused structure members from connection context f6ea6fc nl80211: support conversion from/to struct array attributes 115a84f nl80211: gracefully handle illegal netlink error code Signed-off-by: John Crispin <john@phrozen.org>
* iwinfo: update to latest HEADJohn Crispin2024-10-021-3/+3
| | | | | | | 714e419 iwinfo: fix EHT mode reporting for STA interfaces 7eed433 devices: add device id for MediaTek MT7996e Signed-off-by: John Crispin <john@phrozen.org>
* mediatek: change the the default SUBTARGET to filogicJohn Crispin2024-10-021-1/+1
| | | | Signed-off-by: John Crispin <john@phrozen.org>
* mac80211: do not pass a stopped vif to the driver on get_txpowerFelix Fietkau2024-10-021-0/+24
| | | | | | | Fixes potential crashes in various drivers when checking the status of interfaces that are down Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: bump 6.6 to 6.6.53John Audia2024-10-024-5/+5
| | | | | | | | | | | | | | Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.53 All patches automatically rebased. Build system: x86/64 Build-tested: x86/64/AMD Cezanne, flogic/glinet_gl-mt6000, flogic/xiaomi_redmi-router-ax6000-ubootmod Run-tested: x86/64/AMD Cezanne, flogic/glinet_gl-mt6000, flogic/xiaomi_redmi-router-ax6000-ubootmod Signed-off-by: John Audia <therealgraysky@proton.me> Link: https://github.com/openwrt/openwrt/pull/16554 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* lantiq: backport latest upstream patchesAleksander Jan Bajkowski2024-10-017-45/+123
| | | | | | | | | | | Backport patch that fixes memory disclosure in packet padding. The downstream driver supports statistics, so when a packet cannot be padded the statistics of dropped packets are incremented. The other patches do not introduce any functional changes. Signed-off-by: Aleksander Jan Bajkowski <olek2@wp.pl> Link: https://github.com/openwrt/openwrt/pull/16563 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* bmips: fix kernel panic caused by missing CBR addressDaniel González Cabanelas2024-10-012-2/+2
| | | | | | | | | | | | The cbr-reg DTS property uses a wrong name causing the RAC kernel panic again on BCM6358 BCM6368 boards. Use the correct cbr-reg name property. Fixes: 7c9644a7b5 ("bmips: backport upstreamed RAC patches") Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com> Link: https://github.com/openwrt/openwrt/pull/16561 Signed-off-by: Robert Marko <robimarko@gmail.com>
* wifi-scripts: wifi-detect.uc: skip null entries on nl80211 phy dumpFelix Fietkau2024-10-011-0/+3
| | | | | | This can happen on incomplete device probe Signed-off-by: Felix Fietkau <nbd@nbd.name>
* generic: backport ("net: free_netdev: exit earlier if dummy")Robert Marko2024-09-301-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, when removing ath11k or any other driver that uses dummy netdev kernel will crash with: [ 365.004961] ------------[ cut here ]------------ [ 365.004992] kernel BUG at net/core/dev.c:10979! [ 365.008642] Internal error: Oops - BUG: 00000000f2000800 [#1] SMP [ 365.012898] Modules linked in: pppoe ppp_async nft_fib_inet nf_flow_table_inet ath11k_ahb(O) ath11k(O) pppox ppp_generic nft_reject_ipv6 nft_reject_ipv4 nft_reject_inet nft_reject nft_redir nft_quota nft_numgen nft_nat nft_masq nft_log nft_limit nft_hash nft_flow_offload nft_fib_c [ 365.064794] CPU: 3 PID: 3896 Comm: procd Tainted: G O 6.6.52 #0 [ 365.087031] Hardware name: QNAP 301w (DT) [ 365.094058] pstate: 20400005 (nzCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 365.098229] pc : free_netdev+0x164/0x1a0 [ 365.104994] lr : free_netdev+0xec/0x1a0 [ 365.109159] sp : ffffffc081d33b90 [ 365.112718] x29: ffffffc081d33b90 x28: ffffff80039d3c00 x27: ffffff800307f000 [ 365.116199] x26: ffffff800538a000 x25: ffffff8005388000 x24: ffffff800538a4c0 [ 365.123317] x23: 00000000000023a4 x22: ffffff8005388f68 x21: ffffff8004e37050 [ 365.130434] x20: ffffff8004e37000 x19: ffffff8004e36ee8 x18: 0000000000000152 [ 365.137552] x17: 63775f357636712e x16: 3030303030646320 x15: ffffffc081436e20 [ 365.144670] x14: ffffff80033f261c x13: 00000000000000d9 x12: 0000000000000002 [ 365.151789] x11: 0000000000000000 x10: 00000000000008a0 x9 : ffffffc081d33980 [ 365.158906] x8 : ffffff80039d4500 x7 : ffffff803fdda6c0 x6 : 0000000000000007 [ 365.166025] x5 : 0000000000000000 x4 : 00000000000000c1 x3 : 00000000000001f4 [ 365.173143] x2 : ffffff803fdd4b78 x1 : ffffff8004e37050 x0 : 0000000000000005 [ 365.180261] Call trace: [ 365.187370] free_netdev+0x164/0x1a0 [ 365.189630] 0xffffffc079b373f0 [ 365.193447] 0xffffffc079b374c0 [ 365.196311] platform_shutdown+0x24/0x34 [ 365.199438] device_shutdown+0x160/0x268 [ 365.203605] kernel_restart+0x40/0xc0 [ 365.207510] __do_sys_reboot+0x104/0x220 [ 365.211070] __arm64_sys_reboot+0x24/0x30 [ 365.215063] invoke_syscall.constprop.0+0x5c/0x108 [ 365.218971] do_el0_svc+0x40/0xc8 [ 365.223655] el0_svc+0x30/0xb8 [ 365.227041] el0t_64_sync_handler+0x120/0x12c [ 365.229995] el0t_64_sync+0x178/0x17c [ 365.234424] Code: f94013f5 a8c37bfd d50323bf d65f03c0 (d4210000) [ 365.238072] ---[ end trace 0000000000000000 ]--- Wireless backports include alloc_netdev_dummy() backport but they dont have the required free_netdev change first, so backport it. Fixes: #16531 Fixes: 384d079fd876 ("mac80211: update to version 6.11") Link: https://github.com/openwrt/openwrt/pull/16549 Signed-off-by: Robert Marko <robimarko@gmail.com>
* mt76: add missing eeprom for mt7992 firmwareChukun Pan2024-09-301-1/+2
| | | | | | | | | Avoid the following errors: [ 9.219272] mt7996e 0000:01:00.0: Direct firmware load for mediatek/mt7996/mt7992_eeprom_2i5i.bin failed with error -2 [ 9.229975] mt7996e 0000:01:00.0: Falling back to sysfs fallback for: mediatek/mt7996/mt7992_eeprom_2i5i.bin Fixes: 2f7d22d ("mt76: update to Git HEAD (2024-09-29)") Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
* mac80211: reorder patches in subsys/Felix Fietkau2024-09-305-1/+1
| | | | | | Close some patch numbering gaps left behind by updates Signed-off-by: Felix Fietkau <nbd@nbd.name>
* tools/elfutils: prevent invalid include of stack binaryMichael Pratt2024-09-301-0/+10
| | | | | | | | | | | In some versions of Xcode, some C++ header has an include of the standard C++ header "stack" while "." is in the include paths which can conflict with the binary "stack" built by elfutils. This leads to a decode error as the binary is interpreted as text. Add an arbitrary dependency between stack and the C++ program. Signed-off-by: Michael Pratt <mcpratt@pm.me>
* mediatek: filogic: select MT7996 2+3+3 firmwareDaniel Golle2024-09-291-2/+2
| | | | | | | | Select MT7996 2+3+3 firmware for the Adtran SmartRG SDG-8733A device and also add it to the image for the BPi-R4 which supports both, BE19000 (4+5+5) as well as BE14000 (2+3+3) Wi-Fi 7 modules. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mt76: remove leftover api update patchFelix Fietkau2024-09-291-216/+0
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mt76: fix typo in last updateFelix Fietkau2024-09-291-1/+1
| | | | | | Fix broken dependency for mt7992 firmware Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mt76: update to Git HEAD (2024-09-29)Felix Fietkau2024-09-291-5/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1231d45dcb5e wifi: mt76: mt7915: check devm_kasprintf() returned value 042082027b3f wifi: mt76: mt7921: Check devm_kasprintf() returned value 4a95c1a81eee wifi: mt76: Avoid multiple -Wflex-array-member-not-at-end warnings 5fdb1841f726 wifi: mt76: mt7925: fix a potential association failure upon resuming eeb51b527377 wifi: mt76: mt7925: convert comma to semicolon d4b3b302ceb9 wifi: mt76: mt7615: check devm_kasprintf() returned value 922e515bd8e0 wifi: mt76: mt7925: fix a potential array-index-out-of-bounds issue for clc bec8cb851d99 wifi: mt76: mt7925: replace chan config with extend txpower config for clc d10ce9d65dac wifi: mt76: remove mt76_calculate_default_rate() 6685a2f4c217 wifi: mt76: mt7996: remove phy->monitor_vif a2a9d9826277 wifi: mt76: do not increase mcu skb refcount if retry is not supported 059342ca6a68 wifi: mt76: move mt76_tm_policy to from testmode.h to mt76.h 8bef11443290 wifi: mac80211: inform the low level if drv_stop() is a suspend 4b16d2bfdcbd wifi: mac80211: handle color change per link 4529cddb6718 wifi: mt76: mt7996: extend flexibility of mt7996_mcu_get_eeprom() 4364571e4b2b wifi: mt76: mt7996: add support for more variants 8c86aa304ea1 wifi: mt76: mt7996: set correct background radar capability addfbd141863 firmware: add latest mt7996 + mt7992 firmware 5ba4981f8b92 wifi: mt76: mt792x: add P2P_DEVICE support dc32780c7fcd wifi: mt76: mt7921s: fix a potential firmware freeze during startup 7b5d653ea90e wifi: mt76: mt7925: fix off by one in mt7925_load_clc() 1e57d2da94c9 wifi: mt76: mt7615: Convert comma to semicolon 7aca94abac47 wifi: mt76: mt7915: fix slot time for 5/6GHz e3e6d490ab90 wifi: mt76: mt7915: Fix mesh scan on MT7916 DBDC ee693260c521 firmware: move mt7996 firmware to the right place 867accf4f4aa wifi: mt76: mt7996: Add eht radiotap tlv 7c4d6e403381 wifi: mt76: Fix EHT NSS radiotap reporting. 71c3949fa8ac wifi: mt76: mt7921: fix a potential scan no APs 61641da04c9e mt76: mt76u_vendor_request: Do not print error messages when -EPROTO 680bc70f161f wifi: mt76: mt7921: fix using incorrect group cipher after disconnection. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* yafut: fix build on non-linux systemsFelix Fietkau2024-09-291-0/+289
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* ramips: mtk_eth_soc: don't allocate 4 queuesRosen Penev2024-09-291-1/+1
| | | | | | | This driver does not support more than 1 queue. Fixes: ba24b94e0b8 ("ramips: use more devm in mtk_eth_soc") Signed-off-by: Rosen Penev <rosenp@gmail.com>
* scripts: config.guess: update to 2024-07-27Robert Marko2024-09-282-845/+1448
| | | | | | | | | | | | | | | This script hasn't seen an update in multiple years, update it to the latest version provided upstream. Both `config.guess` and `config.sub` are copied from upstream[1] and not modified. The full changelog is available within the upstream repository[1]. [1]: https://git.savannah.gnu.org/git/config.git Link: https://github.com/openwrt/openwrt/pull/16536 Signed-off-by: Robert Marko <robimarko@gmail.com>
* kernel: make 'no port node found' output a debug messageTianling Shen2024-09-281-0/+33
| | | | | | | | | | | | | There are cases where an unavailable port is not an error, making this error message a false-positive. The kernel log is flooded with the messages like: OF: graph: no port node found in /soc@0/bus@42000000/i2c@42530000/usb-typec@50 Silence this message by making it a debug message. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org> Link: https://github.com/openwrt/openwrt/pull/16524 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* CI: labeler: Add new targetsHauke Mehrtens2024-09-281-0/+18
| | | | | | | | Some new targets were added, but we did not add them to the labeler. Add them now. Link: https://github.com/openwrt/openwrt/pull/16454 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* CI: labeler: remove bcm63xxHauke Mehrtens2024-09-281-6/+2
| | | | | | | | Some packages are now used by other targets, move them over Fixes: 5cd8e037b506 ("bcm63xx: drop target") Link: https://github.com/openwrt/openwrt/pull/16454 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* tools: fakeroot: update to 1.36Shiji Yang2024-09-283-14/+3
| | | | | | | | | | | | The type 'id_t' check has been moved to configure.ac in upstream commit: 819063eb4d27 ("test for id_t with autoconf instead of blind typedef, fixes FTBFS on FreeBSD") changelog: https://salsa.debian.org/clint/fakeroot/-/blob/e4780b1aad6fae0be1868a76cc7ffa6149afa912/debian/changelog Signed-off-by: Shiji Yang <yangshiji66@qq.com> Link: https://github.com/openwrt/openwrt/pull/16530 Signed-off-by: Nick Hainke <vincent@systemli.org>
* base-files: emmc: invalidate kernel image while rootfs is being writtenRodrigo Balerdi2024-09-271-3/+10
| | | | | | | | | | | | Some setups have alternate boot actions in case the main OS fails to boot. These can include a secondary copy of the OS, a recovery OS, a fallback to TFTP boot, etc. This commit invalidates the kernel image while rootfs is being written which, if a sysupgrade is interrupted, will trigger an alternate boot action in devices that support it. This results in safer sysupgrades. Signed-off-by: Rodrigo Balerdi <lanchon@gmail.com>