The Project Ycto (Linux)

I decided to open a new topic for those who are interested in build their projects using Linux system Yocto. Details about the system of Yocto can be found on the website.

Meta-profiles, which are used to build.

Test images can be downloaded from the website.

The order of their use. Download. Unzip. To record to external media. Download and add to the root of the first partition script s905_autoscript. Rename the first section of the appropriate file of the dtb to the “dtb.img”. Pay attention, while the composition of the images are not included files to activate the multi-boot, so to run an image, you must have activated the multi-upload (done previously with other images) or use an additional file “boot.ini” for model Khadas_VIM on the SD card.


Version update image SATO (Yocto) 201709071200.

Added support for USB to S912.
Added dtb models q201 with LAN 1Gb (vega s96).
Added sound support for all S905X and S912.

Please check the download for this image from a USB stick on the VIM2.

Pay attention to run the image from SD card to S912 need to use the script from a directory on the website S912_for_SD. To run from USB stick you can use any script from the Yocto directory (they work the same). While there is a problem with the launch images by using generic labels in the script s905_autoscript. So you have to use two scripts for mmcblk0 and mmcblk1 is (on different models and platforms of SD card are defined in different ways). I checked in running system, mounting drives by label works. Perhaps the reason for the lack of busybox or init file processing labels for discs when I mount the root partition. I don’t know where in Yocto you can fix this.

Could you please kindly update your “150balbes/meta-meson” to reflect the latest “superna9999/meta-meson”?
I’d like to have the latest meta-meson updated specifically for Khadas-VIM2.

Why don’t you just use the latest version of git @narmstrong ?
As far as I know, its version has everything you need to build a version for VIM2 (s912).

Thanks for the clarification.
I thought that yours is different from @narmstrong version.
I’ll try that.

Is there any plan for VIM3/Pro to have Yocto Linux project?

1 Like

It’s already supported by @narmstrong here:


Is it possible to flash the yocto image on the VIM3L board emmc via USB-C cable?

For mainline kernel, you can’t use the Amlogic flash tool to flash the image to eMMC via USB cable directly.

Ok. Thanks! Do you plan adding support for it?

To go around that I have flashed the yocto .wic image that I built (tmp/deploy/images/khadas-vim3l/amlogic-image-sato-khadas-vim3l.wic) to an SD card, inserted it in my VIM3L board and it does not boot. It boots the Android image from the eMMC instead.
I suspect the problem is with the BOOTFS partition on the SD card:

    ls BOOTFS/
    aml_autoscript  meson-sm1-khadas-vim3l.dtb  s905_autoscript  uImage

Do you see any issues with it?

I have been able to boot the image provided here - from the SD card.

I think the reason I was not able to boot the yocto kernel image was secure boot

kvim3l#setenv kernel_loadaddr "0x11000000"
kvim3l#setenv dtb_mem_addr "0x1000000"
kvim3l#setenv bootargs "console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0 root=/dev/mmcblk0p2 rootwait"
kvim3l#fatload mmc 0 ${kernel_loadaddr} uImage
 reading uImage
 13281352 bytes read in 756 ms (16.8 MiB/s)
kvim3l#fatload mmc 0 ${dtb_mem_addr} dtb.img
 reading dtb.img
 44528 bytes read in 7 ms (6.1 MiB/s)
kvim3l#bootm ${kernel_loadaddr} - ${dtb_mem_addr}
aml log : Sig Check 665

I have changed u-boot to ignore the aml_sec_boot_check() return code and I am able to boot the yocto built kernel image.

Is there a default key that I can use to sign the yocto image and remove the u-boot hack?