[ROM] AndroidTV Pie Custom firmware by mo123

v1.4 not booted from SD too. If replace uboot in it from v1.2, then boot.

Just tried v1.4 on sd with my rock pi 4B 1.3 without SPI. Unfortunately it’s not booting. How do I check the uboot version on my rp?

Thanks @mo123 or your builds! I used the 1.3 the last few weeks and I was very happy with it.

replace uboot from older version

dd if=gpt_mo-1-3.img of=/dev/<your_SD_with_mo-1-4.img> skip=64 seek=64 count=$((32768-64)) 
1 Like

I think I will upload a new firmware with old u-boot behaviour, first sdcard then emmc boot without USB booting first like it always was, perhaps it fixes sdcard booting.

I hope Radxa can look into it next week so we get a better u-boot that boots emmc, sdcard and USB properly. It can be very useful for users that use sdcard booting for Android and want to run LibreELEC/Armbian from USB too.

It would be very good, if we can boot again from sd.

I’m new to this, I might do something wrong and know to little about it. I have a emmc as well, but it’s too painful to always take it off, as it’s sitting between board and heatsink, when I want to use another os. So simply I don’t use it.

I also bought a ssd, but the ribbon cable would cover the sd slot… so I don’t use it…

Is there no such thing like boot selection during the start?

Note: Slightly offtopic

One idea is to mount the extension board under the big heat sink! :slightly_smiling_face:
There is a post about it:

(big heatsink + standoffs from Rock Pi acrylic case can be used for it)

I faced the same issue. Recently I found a solution thats for me, which is to erase bootloader on eMMC to disable boot from it. Can give it a try if interested:

Its possible (but tedious) to remove the eMMC without removing the heatsink. A small screwdriver or spoon can be used to pluck or set it!

If you have any doubts, post about it in the respective topics!

Changing boot sequence will not help! While the old uboots are booting from SDcards

Why do emmc need to be removed? It is necessary write android v1.4 on it. Android works faster on emmc! If you need to boot radxa linux from SD, insert SDcard, it will boot. If you need to boot armbian or libreelec from SD, you need to write there uboot from radxa, and these systems will boot.
Armbian, libreelec and others should boot from usb without modification. If took everything out and the android booted from emmc.

1 Like

everytime there is an update and I want to flash the emmc. Like just now updating from 1.3 to 1.4. I’m using fast SanDisk Extreme mSD cards. Not sure if the emmc is actually faster.

I just found a post about the boot sequence:
“the boot order is set in SOC’s BootROM (SPI -> eMMC -> SD -> USB) and cannot be changed.”

Sorry, I’m very new to all this and don’t really understand how the boot mechanism works. But it seems like I have to take out my emmc each time I want to boot something else, correct?

So, I’ll have have a look at @rua1 advice to replace uboot. But really have no idea how and after hours of reseaching, I’m just very confused about all this…

@aaditya that are some good ideas. I really like the idea mounting the nvme under the heatsink, but just doesn’t fit in my ecopi case. There is always a trade off…
I can see that radxa is starting to think about all that for the rock pi x. So, I hope that the rock pi 5, if there’ll be one in future will have a few design changes as well.

1 Like

Please test 1.4 firmware for sdcard booting troubleshooting

Older u-boot

Newer u-boot(also has nvme changes)
Also test this one on nvme if it works better or not.

1 Like

Thank you @mo123
it’s booting now from sd :slight_smile: Just one more question, how can I skip the google play setup?

The app is called SetupWraith and is in /system/priv-apps
You have to login on the device with a keyboard, airmouse or with the Google app on any Android phone or by android.com/tv/setup on a PC and entering a code.

I can remove this setup in some new firmware but Google setup/account is important for updating AndroidTV apps and for some streaming services to work.

Alternatives are Aptoide and UptoDown app stores then you don’t need a Google account to install AndroidTV apps.

You can also create a Google account with fake info and remove your personal info from it later for privacy reasons and then also remove the Google account in the Android TvSettings - ‘Accounts and Sign-in’ menu.

These 2 firmwares aren’t rooted since I only made it to test micro-sd card booting.
If some more people test it and everything is fine, then I can add root back and also try again with adding USB booting again.

Booted from SD … khm … DDR Version 1.24, fdtfile=rockchip/rockpi-4b-linux.dtb … it’s good github :slight_smile: . Please make only u-boot for me with changed boot sequence from this github , don’t make git pull.

thanks @mo123
I prefer a little bit the setup of your v1.3 and not being forced to create a google account, but deleted the google account after the setup to try this version.

I installed netflix v6.21 via apkpure and it’s working fine. With the launcher Square Home 3 I wasn’t very lucky to make it a default app. I will try firefox or another web browser and try if I can change it to a default app later.

Thanks for all your work!

Used same u-boot and only changed USB to first boot device


Radxa said they are waiting for Linux u-boot changes to be completed then will bring changes to Android u-boot to improve things.

1 Like

For AndroidTV, only AndroidTV launchers will work well.
You can try this app and the 3 launchers they mention

I will also make a firmware with a tablet layout so you can use normal launchers but it needs replacing of the Google apps and navigation, status bar that have to be added back.
Will also need to remove some of the apps that are only AndroidTV compatible.

For Netflix on AndroidTV, you can also use the RefreshRate app to change the frame-rate to 24/25hz manually to have smoother playback after mapping a key to show this menu while a video is playing.
You can also use the Kodi Netflix addon and enable frame-rate switching and enabling the resolution whitelist settings on AndroidTV/(tablet Android firmware I will make).

Immediately did not make out. Without other changes, but only usb, it is useless. Elf Boot_android will start immediately from devtype devnum and boot the android. Boot_targets are known only in “script” distro_bootcmd.

bootcmd=boot_android ${devtype} ${devnum}; bootrkp; run distro_bootcmd;
distro_bootcmd=for target in ${boot_targets}; do run bootcmd_${target}; done 
boot_targets=usb0  mmc1 mmc0  pxe dhcp 
bootcmd_mmc0=setenv devnum 0; run mmc_boot 
bootcmd_mmc1=setenv devnum 1; run mmc_boot 
bootcmd_usb0=setenv devnum 0; run usb_boot 
bootcmd_pxe=run boot_net_usb_start; run boot_net_pci_enum; dhcp; if pxe get; then pxe boot;

If put distro_bootcmd in the first place and don’t remove the pxe, you won’t wait for the android to load because pxe tries to download over the network indefinitely, I only interrupted this process with Ctrl-C from the console.
I already rebuilt your uboot.img as needed. LE booted without image on the screen. Previos version work more good for me

Will hope

Changelog v1.5 ROM

Added stock firmware improvements

  • update sdk to rockchip rk3399_pie_v9.00_20191223.xml
  • update to android-9.0.0_r50
  • Configurable SU:
    TunerSettings -> System -> Root Access -enable-> APP SU Access.
    Enable SU that You can get su access in any app.
    If you need permission management, please swipe in Magisk.
    After swipe Magisk, this settings will be not work.
  • Support Raspberry Pi Camera V2.0 (imx219).
  • Ctrl+Alt+P to open power menu.
  • Fix factory reset not work in TWRP.
  • Fix first boot get more error in TWRP.
  • Disable TF card sdr104 mode, causes boot problems on some SD Cards.
  • Add a hard power button (16(High effective) pin in 40 pin).

Set default keyboard to LeanKeyKeyboard
(To change the language, go into LeanKeyKeyboard’s Settings in TvSettings to change it)
Change default screensaver to Dreamy
(It has lots of categories for different wallpapers, much better than the stock screensaver)
Apps don’t close after granting permissions anymore
Updated some apps

Download link(gpt image):
Pass: radxa

If any bugs are found, please report them to get fixed.

For people using different airmouse remotes bought off sites like Gearbest, Banggood, Aliexpress etc.
You can type in a terminal app
cat /proc/bus/input/devices

Then post the ouput eg.
Bus=0005 Vendor=0a5c Product=8502 Version=011b
and give a link of your remote.

I will then try to make or find different keylayout files for the remotes and include it in future firmwares.
For keys that don’t work or you want remapped to a different key use Keytest app and post the key codes of the keys

Eg. I mapped Play, Pause, Rewind, Forward to the bottom keys of the Mele F10 remote, maybe some users want similar shortcuts for certain actions for other remotes.


Thanks @mo123. The on-screen keyboard is now present in the terminal and I can reboot to Linux using only the remote control from the TV :slight_smile: