Installing Custom Roms from Other s905x Devices

Could you please give us a simple step-by-step guide on how to install roms from other s905x devices? It is easy to do this on other s905x boxes - you simply burn the img file, maybe adding wifi drivers as needed. But on the Vim, it seems to be rather difficult. So please show us. There are some excellent ATV roms on the Beelink and Tanix s905x boxes that would be welcome to some Vim users.

1 Like

Hello Zahir,

frankly speaking, chance you brick your VIM device is pretty high.

The ARM device generally needs Uboots and Kernel+Rootfs.

Uboots is used for configurations of device itself. Usually I’m try explain to my colleagues is like bios for x86 systems with one but. Everything is hard-coded so you cannot expect that much posibilities and options like in bios and so universal freedom. Yes, you can post-configure uboot parameters, but memory, pins, devices, busses, etc… all is fix. So if uboot not perfectly fit, you are most like brick device.

Kernel can be shared, but still high chance that is hangs. Missing drivers, special wifi cards, this and that.
rootfs is just couple of files and some GUI so no big deal to share

Of course you can try because I’m not expecting HW damages by applying wrong image, just system will hangs. For that actions I’m highly recommend to have console output, like or try any better approach to get serial output

There is general how-to to update Amlogic device, see

and how-to to get back ‘update mode’ even VIM is hangs. (specially last mode is your last for sure hope :smiley: )

and last point, to explain, i’m highly expecting that developers for that kind of TvBoxes using kind of applications note of Amlogic to makes such kind of box, because all boxes are pretty same (it’s easy, fail safe, reduce developing cost + time). So even are different shape, material, memory size, etc… but all are same, of course, than some img files can be shared. I can imagine some key differences in VIM against that Boxes, what kill using their image or makes some incompatibility in VIM… but sure, try and let us know, maybe I’m wrong…

note: before somebody highlight that: about this “not expecting HW damages” sure, if some GPIO will be set incorrectly and in VIM is Input and their images is like Output, and on another side is something to tide signal down or up, yes… than pins of 905x can be permanently damaged… But still I feel safe, most likely will just causes hotter chip than damage, but there is of course chance !
So be 100% sure, you need have to compare schematic of both devices to be sure, there is not kind of surprises…


Thanks indeed for the comprehensive reply, much appreciated. It however confirms my impression that the Vim’s architecture is out of the s905x mainstream. I have cheerfully swapped three different roms in and out of two other boxes with little more than USB Burning tool at my side. Attempting to install any of these on the Vim produced a soft brick, reset easily enough by jumping the Maskrom terminals.

But should a development board supposedly open to experiment be so resistant to…experimentation?

well, as my experience says, non of the development board are even flexible to do that kind of experimentation… Because of beauty of ARM systems…

There are many aspects, even Khadas team needs sooner or later deal internally. Changes like

  • RAM (different types brings new timing, what’s needs to be care),
  • EMMC (new type usually support new initialization)
  • either different SPI (what is not well use in VIM1, but in VIM2) will require handling in uboots…

this means, that s905x mainstream most likely using some pre-selected components, next half year are done and don’t really care about updates/supports.

VIM offer more, you can (either is quite hard and not working always well) compile own builds, own feature, own system. That is IMHO purpose of that development board and reason why I’m spending time here, even I have one of that S905X TVbox in home too.

that is considered a hard brick… not a soft one!

Indeed it is…and it’s not the worst thing that can happen - but the Vim is a pretty resistant piece of hardware, surprisingly so for an open source development board.

Yes, of course is not the worst, not on this device!
But on other aml devices (estimate 90% can be more can be less ) is not the same story!
Praise for khadas that make it easy on their one!

OK, for developers maybe a dream box, but has anyone managed to run even one single Android rom from another s905x device?

Have you tried using Amlogic customization tool - 2.0.8 used to be the latest version (not sure now).

You SHOULD be able to open both ROMs consecutively (there is a tutorial on CNX) and basicly remove the “system” folder from the Khadas ROM, and replace it with a “system” folder from the ROM you want to use. Then repack and flash. That will keep all the boot loader code from the original Khadas ROM, while applying a new root filesystem over the old one.

I have no idea if this will work with the Khadas. I only ever tested this with other s905 TV boxes

Sorry I meant to reply to you in my last message. Hopefully you still receive an alert about my response. Just incase, I did this.

Thanks indeed for the suggestion. Will try this approach and let you know how it goes…

you maybe start with a wrong assumption which is “beelink, tanix and vim use the same SOC and must then be able to share the same android firmware images”

android tv boxes that are based on same amlogic reference implementation could share their “roms”,
vim is not one of those: it is prototyping board with gpios, emmc and other specific characteristics

Yes, I’m aware that this is a development box with its own hardware configuration. Just a little disappointed that you can’t experiment with other roms as easily as on other s905x devices.

I replaced the file system.PARTITION of rom T6 7.1_0518.rar!AIK2C9FZTeo8vxs&id=46126D253EA3A2B2!127&cid=46126D253EA3A2B2 in the rom Vim_Nougat_Root_170421 with the Costumization Tool v2.0.10


Thank you very much for this. It works! You’ve inspired me to try other substitutions as well…

1 Like

if you find other working roms share here


Hi Gianni

Your one drive folder contains 2 images. Are they for vim?
I tried customization tool on them, and it seems they are t6 images?
I also tried to copy the system partition from your t6 image on latest vim nougat v171028, but works not very well.
Could you at least upload your vim with t6 system version? thanks

rom T6 7.1_0518.rar e rom Vim_Nougat_Root_170421

So the main differences when you have the same SoC on a different reference board is that the wifi drivers will likely be different and you will need a different dtb (device tree) for the rest of the hardware differences. As someone else in the thread previously mentioned you can get around those issues at least mostly by just swapping out the /system partition.

Ideally at this point it would probably be best to work on making Treble work on Amlogic devices so you could just swap out a GSI.