Xiaomi r4a gigabit upgrade to squashfs-sysupgrade.bin from initramfs-kernel.bin

I tried to directly flash the sysupgrade image, but I couldn't start it. I waited for more than half an hour and the yellow light was still on. Only initramfs kernel could flash it, but after I recovered the image from Luci and it was still initramfs kernel after restart.

I want to know how to flash the sysupgrade image in openwrt-initramfs-kernel.

the install info in the wiki doesn't mention any initramfs

I followed the guide, but failed.

if you followed it, where is the initramfs mentioned ?

then do the recovery/debricking, and start from scratch.

int this page
xiaomi-4a-gigabit's snap shot have a initramfs,but the 21.2 version's install image url refers to a sysupgrade version, I doubted the page is wrong,because I faild when using the sysupgrade image.

Restore stock firmware.

Then install OpenWrt
For linux

For Windows

1 Like

Also I have a question, If I checkout the branch 21.02 and build the image by myself, can I use the official opkg repo?

initramfs isn't designed for flashing, but for booting and running in RAM, once rebooted/power cycled, the initramfs is gone.

if you flashed the initramfs, you've flashed the wrong image, and (obviously) didn't follow the wiki.

and yes, some devices are initially flashed using a sysupgrade image, the R4A isn't unique.

1 Like

for applications it might work, for kmods usually not.

I have bought old equipment on second-hand websites before, which is xiaomi-4a-gigabit too. It can be directly flashed using the sysupgrade image, but the brand-new equipment I bought myself can't.I have tried other people's self-build sysupgrade image, I can also directly flash it in. but just this official image doesn't work.

I am going to try it again.

flashed directly, how ?

from xiaomi's factory image to sysupgrade image,
in this page

mtd -e OS1 -r write sysupgradeimage.bin OS1

I failed when using official sysupgradeimage.bin
I tried to flash other openwrt image which works, and flash from that openwrt to the official image, that's why I call it directly(the former) or not directly(the latter)

I failed too when using other image's luci to upgrade to the official image or use cli sysupgrade -v ...

I know how to build, how to recovery, how to build my own image,my own ipk, but I prefer using official image. it's convenient to install new ipk comparing to build it myself.

What version of Xiaomi firmware is currently installed?

fwiw, I notice some files have been updated in the last month on the OpenWRTinvasion github page. Have you considered using the windows method which uses scripts created before Sept 2020?


I can enter the shell through OpenWRTInvasion-0.0.1, my problem is that it fails to use the official sysupgrade firmware, but I can successfully use the firmware compiled by myself. I am trying to use breed now, because using MIWIFIRepairTool.x86 is too troublesome, last night I tried again Tried the official sysupgrade firmware, it failed again, I waited for a few hours after flashing, the first led on the left side of the router was always on yellow, and the second led flashed blue from time to time, I see it here This issue Warning 03/2022 Xiaomi is currently shipping Mi Router 4A Gigabit Edition devices without proper shielding. Be aware that those might cause problems due to radio interferance. I don't know if this problem caused openwrt to fail to start. I am now wondering:

  1. If flashing the breed fails, can I still restore it through MIWIFIRepairTool.x86.
  2. How to get the startup log.

xiaomi official image version is 2.28.62 provided by OpenWRTInvasion
openwrt official image version is 21.02.2