Install Manjaro into eMMC

The Manjaro image uses bootscript which uses Vendor uboot which is used in Android on emmc.

If you have any other uboot on emmc then things will not work as expected.

In that case vendor U-Boot can be installed after the fact with methods mentioned in Wiki right? Working on some Armbian stuff so I can’t test it myself at the moment.

I had trouble with the 1208 version. Go one release back (1206) and it worked for me

I got same result. I think I caused something broke. Sorry for this.

I tried running the install-emmc-script on radxa zero and I am getting mmc timeout errors and IO errors.

I feel there is some issue with mmc driver for zero.

I have flashed manjaro kde, xfce, and gnome successfully following the guide at the middle of this post: Updating instructions for reflashing and booting off EMMC?

I used this release found on github:
https://github.com/manjaro-arm/radxa-zero-images/releases/tag/20211206

also…I unarchived the .xz so that the image was uncompressed (.img vs .img.xz). I’ve had issues in the past when trying to flash a compressed image to disk.

(there is a new image for 1213 just released but I’ve had no issues with the 1206 version…and since it’s manjaro, you can just pacman -Syu to update the system to latest anyway…)

Can anyone follow the instructions and let me know if it works for you? If you are on windows, using the default guide with the gui programs that radxa mentions and Etcher is fine; just confirm after you’re done if there is a boot and root partitions are created. Then you’ll want to figure out how to get uboot.bin onto the drive… (which in Linux land, it’s by using dd if=uboot.bin of=/dev/<diskname> bs=512 seek=1)

The reason it doesn’t boot (in my experience) is because the image doesn’t have whatever uboot.bin adds to the boot partition or emmc disk.

Just tested with latest 21.12. No issue booting from eMMC, microSD or USB drive (for latter two eMMC is wiped with fastboot erase 0).

However other distros only boot from eMMC :frowning:

Please explain how you do it?
For my emmc i am having mmc timeout which is either a drive issue of a bad sector on emmc.

You can see what I did here.

I do notice that one of my Zero is having issue to boot from time to time. It can load boot.scr but fail when trying to load initrd/kernel. ls mmc 0:1 works fine in U-Boot. A workaround I saw people using was let it sit without power for a few minutes before plug in. I tried it a few times and it seems to work.

It is not very clear as you assume that ubuntu is being used.

Technically what I understand is that you flash the uboot using rz tools.
And then flash the os image on the emmc drive.

Correct ?

Yeah that part can be improved. I’m just following the precedent that our documentation is targeting Ubuntu users.

The first image is not U-Boot. It is a piece of code that exposes the internal eMMC as a USB drive.

Ok then how is the uboot flashed?

I actually didn’t flash uboot manually. Just dd the whole image to eMMC and the image itself should contains the uboot at the head of the file.

Which image contains uboot ? AFAIR I never added uboot to Manjaro Radxa Zero image.

21.12 minimal. I had it listed in the GitHub as well. I’ll do more testing on Monday to see what’s going on.

So I read some documentation and it seems that we put bootloader in mmcblk1boot0 and mmcblk1boot1.

So I figured out my issue. I was indeed booting off from the leftover bootloader from our Android image. I’ll update documentations to reflect that. I don’t see a download link for that bootloader so I’ll get it uploaded tomorrow, along with how to flashing it without downloading flashing the whole Android image.

Normally we do it by taking a backup of the vendor uboot and reflashing it back.
You can find the command here

This is the install-emmc script I use and it works fine on other amlogic devices which I had tested but on radxa zero it have problem with emmc driver I suppose as it would timeout for some reason.

So this is something you run once you boot off microSD right? I think it is still gonna be handy to have the U-Boot file so people can install directly to eMMC.

Also do you know where did it timeout?

I can try it again and share the logs.

You can try it by flashing 21.12 image on sd card and booting into it.

Then run the install script in /boot/ as root.
While monitoring the uart logs.

Good luck.