Official Android for Zero

Is the Official Android for Zero an ATV customisation?
It has support for touchscreen devices?
it’s possible to convert the image to flash with Amlogic USB Burning tool?

Ping @sawyer for those questions. Although it looks like LineageOS will better suit your need. Our official Android is licensed from Amlogic under NDA so we cannot share the source code for it.

No

Yes, you can revert these two uboot commit, and build your own image.


See https://wiki.radxa.com/Zero/Android9

I made a comment in another post of you, I can provide the steps to build lineage non-tv version for radxa zero if you want.

I used a digital ocean machine to build it and it worked perfectly.

@karlosoliveira you need a Linux (Ubuntu) machine with at least 16GB of RAM and at least 100GB of disk space (SSD) and at least 4 CPU cores.

You can compile LineageOS with less than that but it will be ridiculous slow.

I have a Apple Silicon M1 machine so I had to resort to a cloud provider for it, but since you pay by hour, it’s really cheap.

I’m personally using https://digitalocean.com and therefore I can provided the steps to build it there.

And I added a volume to store the Lineage source code:

PS: Be aware that they provide you $100 of bonus for you first account but it doesn’t allow you to use bigger machines like this one.

I had to add my CC and add $100 and open a ticket to have access to it. Not a big deal, though since I use this credit for other things.


After having the machine running, you can read the steps of any device, like this one: https://wiki.lineageos.org/devices/Amber/build

BUT for to the Radxa0/Digital Ocean you have to change some things:

  1. Use the volume you added to the droplet to clone the source code, in my case it was /mnt/volume_tor1_01/, so cd /mnt/volume_tor1_01/ instead of cd ~/android/lineage

    But Digital Ocean will provided you the correct path after you create the volume.

  2. Also, to configure the ccache, be sure to set its directory also to the volume you created, you can add export CCACHE_DIR=/mnt/volume_tor1_01/ to the .bashrc for that

    Be sure to exit and reconnect the ssh again after doing so to take effect

  3. Use lineage-18.1 instead of lineage-17.1 (the guide I recommended to read doesn’t mention 18.1 but we need it instead of 17.1)

  4. After doing the repo sync, edit the file .repo/local_manifests/roomservice.xml and add this line before the </manifest>:

    <project depth="1" name="TheMuppets/proprietary_vendor_amlogic" path="vendor/amlogic" />

    and call repo sync again

  5. Call source build/envsetup.sh

  6. Call breakfast lineage_radxa0-eng (instead of breakfast Amber)

  7. No need to call extract-files.sh

  8. Call croot

  9. Call m aml_upgrade (instead of brunch Amber)

If that happens to succeed (it will be obviously at the end of the command), you have the ATV version on out/target/product/radxa0/aml_upgrade_package.img :partying_face:

Be sure to flash it and test if it is working before anything else, so we know that the Lineage is compiling as expected.

If something wrong happens at any command, do not proceed and ask for help and I will try to help here.


If it succeeds, you can try to build the non-TV version and for that you need to edit the file device/radxa/radxa0/lineage_radxa0.mk and change its content to that: https://gist.github.com/sobrinho/d37296f76f3ce0fbfa3cbf15730d639b

And also, change device/amlogic/g12-common/BoardConfigCommon.mk there is a line like:

BOARD_KERNEL_CMDLINE := androidboot.dtbo_idx=0 androidboot.boot_devices=ffe07000.emmc otg_device=1

That you need to add the permissive mode to the end of it:

BOARD_KERNEL_CMDLINE := androidboot.dtbo_idx=0 androidboot.boot_devices=ffe07000.emmc otg_device=1 androidboot.selinux=permissive

Be aware that the non-TV version doesn’t include GApps (I didn’t even try since I don’t need it).

After doing these changes, you need to call only breakfast lineage_radxa0, croot and m aml_upgrade again.

If that happens to succeed (it will be obviously at the end of the command), you have the non-ATV version on out/target/product/radxa0/aml_upgrade_package.img :partying_face:

If that doesn’t work, ask for help and I will do my best to help.


IMPORTANT

The repo sync take hours here and the first time you call the m aml_upgrade it took like a day.

If you try to build the non-TV version after you build the TV one, it will took 30 minutes to complete.

I did everything in a tmux session (or screen session) to not worry about my connection dropping or anything like that.

Like I said, you need minimal Linux knowledge to build it.

Alternatively, someone can build this and provide you the final image, but where is the fun on that? :grimacing:


IMPORTANT 2

If you really resort to the Digital Ocean, be aware to delete (not just power off) the machine to stop charges in you CC.

I’m keeping mine around for a couple of weeks now because I might want to rebuild it at some point but I will delete it as soon as I’m done with it.


@sawyer @RadxaYuntian if you prefer to better format this and create a wiki page, I would be glad to help.

1 Like

I’ll write a vendor neutral guide later based on this. Thanks.

Forgot to mention, you have to compile the u-boot and not use the one provided by Radxa.

Clone this one https://github.com/Stricted/deadpool_u-boot_build

  1. ./build_radxa0.sh
  2. cp uboot-bins/u-boot.bin /mnt/volume_tor1_01/android/lineage/device/radxa/radxa0/factory

That’s before calling the m aml_upgrade.

Otherwise the device wont boot.

I have completed the guide . Please take a look.

looks fine, small change i would do tho,

4. Run breakfast lineage_radxa0-eng instead of breakfast I01WD.
change that to
4. Run breakfast radxa0 instead of breakfast I01WD.

Done. BTW you can create an account on Wiki if you feel like editing some articles :slight_smile:

maybe when i mess around with more radxa devices :slight_smile: planning on messing around with lineage on the rockchip ones at some point

Way to build and not use the aml-flash-tool.sh?

I’m trying to flash from a macOS machine but no luck so far.

Hello the Android versión cpu is for Aach64 ?

why radxa not provide android rom standard. I only find ATV rom

I think this is because the SDK default to Android TV (the SoC is designed for that market). I’ll ask our Android developer if he could release a normal Android build.

[…] I’ll ask our Android developer if he could release a normal Android build."

… with a Wi-Fi that works and that does not disconnect every five minutes, please