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?
Windows

https://downloads.openwrt.org/releases/21.02.2/targets/ramips/mt7621/openwrt-21.02.2-ramips-mt7621-xiaomi_mi-router-4a-gigabit-squashfs-sysupgrade.bin

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