Use Fenix scripts to build your own ubuntu image


Hi Oleg,

Yes.When you setup the enviromment, you have choose server or mate, so it’s not necessary to specify again.


Hi there,

i am trying to Build Ubuntu Server 16 with EMMC support, but I am unable to burn this image.
Also there seems like a missing ln-s in fenix.


For Building this image I had to add in /scripts/ the line 610 with ln -s ~/project/khadas/ubuntu/build/images/linux-mainline/meson-gxl-s905x-khadas-vim.dtb kvim.dtb

looks like:

case “$LINUX” in
ln -s …/…/linux/arch/arm64/boot/dts/amlogic/$LINUX_DTB kvim.dtb
ln -s …/…/linux/arch/arm64/boot/dts/$LINUX_DTB kvim.dtb
ln -s ~/project/khadas/ubuntu/build/images/linux-mainline/meson-gxl-s905x-khadas-vim.dtb kvim.dtb
error_msg $CURRENT_FILE $LINENO "Unsupported linux version:$LINUX"

cd -

return $ret

Furthermore I had to increase the rootfs/image size to 1200MB, but I am unable to burn this image to my Khadas VIm1, and I dont know why. I dont get any errors on my build.

Build Image ist here:

Can someone point my to a solution?


Hi tavoc,

Mainline linux doesn’t support eMMC installation now.


one solution to be able to flash to emmc a mainline kernel based Ubuntu is to go back to 4.13 and apply known and working patches.
but a few hardware are still unsupported back then!


Thanks for your answer.
Is there a idea if or when emmc support will be added to mainline?

I thought that only with mainline uboot there is no emmc, therefore i tried to use the 2015-Version.


supporting a particular emmc on a specific board is difficult to request from the mainline linux kernel (which adresses thousands of boards), so it could only be supported thru patches to apply to mainline C code


I have 2 problems trying to install/run this on my VIM2:


recommends install lib32stdc++6 - I could find no such package (there are a whole bunch with architecture suffix such as mips, armhf etc). Anyway I tried to proceed without installing lib32stdc++6

(not sure if a consequence of the first) - things go OK till

# configuration written to .config
make[1]: Leaving directory '/home/chris/bin/ProjectKhadas/fenix/u-boot'
make[1]: Entering directory '/home/chris/bin/ProjectKhadas/fenix/u-boot'
/lib/ No such file or directory
/lib/ No such file or directory
dirname: missing operand
Try 'dirname --help' for more information.
  GEN     ./Makefile
scripts/kconfig/conf --silentoldconfig Kconfig
  CHK     include/config.h
  UPD     include/config.h
  GEN     include/
  GEN     include/
/lib/ No such file or directory
/lib/ No such file or directory
../scripts/Makefile.autoconf:40: recipe for target 'include/' failed
make[4]: *** [include/] Error 1
make[4]: *** Waiting for unfinished jobs....
../scripts/Makefile.autoconf:64: recipe for target 'include/' failed
make[4]: *** [include/] Error 1
../Makefile:477: recipe for target 'silentoldconfig' failed
make[3]: *** [silentoldconfig] Error 1
make[2]: *** No rule to make target 'include/config/auto.conf', needed by 'include/config/uboot.release'.  Stop.
Makefile:147: recipe for target 'sub-make' failed
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory '/home/chris/bin/ProjectKhadas/fenix/u-boot'
Makefile:7: recipe for target 'all' failed
make: *** [all] Error 2

I have never compiled a kernel before and my scripts rarely exceed 5 lines so am unable to debug this too much further myself.