Hello, thanks for the development, but after compilation it shows "openwrt-ky-riscv64-x1_orangepi-rv2-ext4-sysupgrade.img.gz" logically, the complete image would be necessary for it to boot, or perhaps I need to start with a complete image to perform a sysupgrade
Hello!
It actually is the full image. (Boot and rootfs partitions)
You can flash it on an sd card (preferably for testing) or directly to an nvme (Im using an nvme currently). Balena etcher can do the work!
Or just unzip it and sudo dd ! (I think its around 2G)
I havent mess with anything deeper. I'm not that familiar and I'm experimenting!
(Suggestions and improvemets are ALWAYS welcomed of course!)
It boots perfectly, but it makes no sense to call sysupgrade image that contains kernel + dtb + boot.scr, it should be generated as openwrt-ky-riscv64-x1_orangepi-rv2-ext4-sdcard.img.gz in fact OpenWrt does not generate sysupgrade images normally when loaded on SD/NVMe
Thank you so much, i think it is a great advance in this device, we will continue investigating
Ah ha! I hear you. I believe I will have some time this weekend and look this up! Thanks for letting me know. (This is my first openwrt experience to be honest!)
Im glad it worked for you as well!
At least its stable curently ![]()
The name change is purely cosmetic. You would simply need to change the following in target/linux/ky/image/Makefile:
IMAGES := sysupgrade.img.gz
IMAGE/sysupgrade.img.gz = boot-common | boot-script $$(BOOT_SCRIPT) | pine64-img | gzip | append-metadata
to:
IMAGES := sdcard.img.gz
IMAGE/sdcard.img.gz = boot-common | boot-script $$(BOOT_SCRIPT) | pine64-img | gzip | append-metadata
I've added several packages to the menuconfig and they've all worked. I even added a package called ustreamer, which doesn't exist in OpenWrt, and it works perfectly, even at 4K resolution at 10fps ![]()
Hi guys, I have r2s device with openwrt factory installed in it. How can I upgrade it with newly generated openwrt-ky-riscv64-x1_orangepi-r2s-squashfs-sysupgrade.img.gz image? I tried sysupgrade it doesnāt work.
root@OpenWrt:~# fdisk -l /dev/mmcblk2
Disk /dev/mmcblk2: 7.28 GiB, 7818182656 bytes, 15269888 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x5452574f
Device Boot Start End Sectors Size Id Type
/dev/mmcblk2p1 * 65536 270335 204800 100M 83 Linux
/dev/mmcblk2p2 327680 15269887 14942208 7.1G 83 Linux
root@OpenWrt:~# df -h
Filesystem Size Used Available Use% Mounted on
/dev/root 79.5M 79.5M 0 100% /rom
tmpfs 982.6M 7.0M 975.7M 1% /tmp
/dev/loop0 7.0G 185.7M 6.9G 3% /overlay
overlayfs:/overlay 7.0G 185.7M 6.9G 3% /
tmpfs 512.0K 0 512.0K 0% /dev
overlayfs:/overlay 7.0G 185.7M 6.9G 3% /opt/docker
root@OpenWrt:~#
Hello, as we already mentioned, the generated image isn't a system update, it's a full image that needs to be loaded directly onto the SD/NVMe drive from your PC. Let us know if it works; I don't have that device.
I spent lots of time solving problem with kydevtool working. Now I use following method. I press mask ROM button and hold it till the end of flashing...
What ROMs you flash? All compiled from original orange pi repo?
Iām using this repo from several posts above. How the whole procedure looks like? When do you press this button and how do you write the image?
Mentioned repo is a fork from original Orange Pi.
As for flashing. I do the following
- install ky tool and drivers
- press and hold mask button
- plug power
- ky tool found device
- flashing
- flashing OK
- release button
- unplug power
I keep holding button on all steps from 2 to 7
Ok, thank you. It works now
I checked the performance of 2.5G link and it turned out that I can get max 2.04 Gbits/sec with iperf3. I tried both kmod-r8125 and kmod-r8125-rss with default settings. Did someone manage to get more?
With jumbo frames I got 2.48 Gbits/sec.
Hello again!
Thank you for the feedback, everyone; it's really appreciated!
I haven't had much time lately due to some happy events!
I will rename the created file as suggested, to keep things clean.
Since I'm working on Linux, I always use the dd command to flash the .img file to the SD card or NVMe drive directly (after extracting it).
Also, BalenaEtcher works perfectly!
If anyone can test it on Windows, that would be appreciated! I will update the instructions with the simplest methods.
I'm also thinking about creating a Telegram group for improvements and suggestions, but not until the new year!
It seems the R2S only has 8GB of integrated eMMC storage to load the image, and it might be necessary to use KyDevTool, I'm not sure.
It doesn't make sense, but the Orange Pi RV2 prioritizes booting from the NVMe drive over the SD card. I'd like to be able to boot from the SD card to flash the NVMe image from there, so I don't have to remove the NVMe drive and insert it into a reader every time. However, without modifying u-boot, I can't change the boot order or corrupt the image so that it boots from the SD card. Does anyone know how I can achieve this?
Try holding the boot button during power on. See https://orangepi.net/wp-content/uploads/2025/06/OrangePi_R2S_X1_User-Manual_v1.0.pdf I donāt have this device myself and this is a hardware question not specifically related to OpenWrt.
Thanks for trying, but that doesn't affect the RV2's boot order; I think it's necessary to modify the u-boot
Not familiar with the device, but it seems to have a 16MB NOR chip where the U-Boot should reside. If they make proper use of U-Boot features you should be able to modify the boot order by setting a U-Boot environment variable. Unfortunately most OEMs donāt understand how to make proper use of the U-Boot environment variables, so there is a very slim chance that it is actually supported.
