Boot yocto image on VIM3

I bought a VIM3 board with the idea of running yocto Linux on it.I have successfully created an image.
I am struggling to boot it from the SD card.
Is there a guide on how to do this.

I have tried with the oficial images and everything is working.

Maybe i am not writing the image correctly or something
dd if=…wic of=/dev…

Or i need to create specific boot script. I dont know.

Please any help there is welcome.

Source your build and

$ bitbake-layers show-layers

We use yocto on other systems and have not found a layer for the vim. Just curious what layers you used for the build.

FYI. the .wic is what you want to burn on your SD. Use raspberry pi imager > select custom, it works the best and verifies what you laid down on it.

@foxsquirrel please refer to here: GitHub - superna9999/meta-meson: Upstream Linux Amlogic Meson Yocto/OpenEmbedded Layer


1 Like

@foxsquirrel I am using mesón layer, the same @Electr1 mention.
Regarding to the sd burn. The image is correctly burned. I had Raspberry pi4 before this Board and I thought this VIM board would be a good Update :slightly_smiling_face:


It is, most certainly in its own class way above the others in regards to performance. Not too many SBC have NVMe, that is a very strong point.

@Electr1 Thank you for sharing that, I will look into building a yocto image for VIM.

Finally successful boot.
I had to change just the U-Boot on the board

How did you get yours into SD boot. Made a yocto image and tried to boot and it is stuck on emmc boot. I cannot get it to SD boot using power button press.

I cannot even stop Uboot with the space bar.

Upload U-Boot from the yocto build to SD card ext4
Connect the serial connection to PC
Press few spaces after power on
Write in the console:
ext4load MMC 0:1 1080000 U-Boot.bin
store rom_write 1080000 0 $filesize

Now U-Boot will load WIC image from SD card.

Tried to stop uboot using the linux debug port. If bootdelay is set to 0 and hit the space bar when it starts that should stop uboot That does not even work. Not sure what is going on with that. The ttl works fine since I can log into the device at the prompt on the emmc based OS.

Strange… what tool do you use to connect to the board?

USB to TTL convertor. It must be working or I could not log in using the debug port. Even plugged in a USB keyboard direct and that did not change anything. The boards are connected to a 4 port KVM and I thought maybe it was causing the problem.

That board has been sitting on the shelf for long time and may be it crapped out. It still boots ubuntu fine and works, so the USB must be working after the kernel loads. I did not want to erase the emmc since it had stuff on it, just wanted to boot from SD and run that way.

You can try to build khadas-vim3-sdboot. This is suppose to use the vendor U-Boot. E.g you do not need to update the U-Boot. In theory it’s should just start.

Not sure how to even get that loaded, the uboot is stuck in automatic boot and will not allow the space bar to break in. Are you stopping your uboot with space bar or using a different key(s)?