Manjaro Linux - KDE-Plasma & XFCE for VIM1

yes, uname -a gives identical output in ubuntu 18 emmc and manjaro 19 usb

That means its booting from Emmc kernel only.

…and this is a fail.

Yes so far but that doesn’t mean it won’t be solved.

Khadas team should be able to update the uboot image or you can flash Android

i want no android on my emmc. nick is working on fixing fenix to build emmc flashable mainline linux kernel

Yes
u-boot->kernel 4.9 (eMMC) → uInitrd (eMMC) → mount ROOTFS in USB\SD (if not USB\SD mount ROOTFS in eMMC)

There is no multi-boot in official Ubuntu images for eMMC. So you can’t run an external system. You can add your own variables to ENV u-boot via the UART console. Or run the script (you need to build it yourself) in u-boot, which will add the necessary variables to activate multiload. And be sure to change the label and mount settings of the root in the eMMC.

3 Likes

You can find at How to use linux kernel I compiled? that we can boot kernel 5.2.1 + Arch 19 from uboot 2015 (+ubuntu) in EMMC and an SD card including the apropriate boot.ini and distro

I already have the image with linux 5.2.0 but I am still not satisfied with the kernel, as what was informed to me the DRM is there but a very small difference can be seen in the graphic performance.

Also internet needs some manual resolv conf commands, Wi-Fi firmware failed to work after manual installation.

So after all the above issue, I need to do more testing before publishing it.

Ps. I am following that thread also :wink:.

Updated Images for Linux 5.2 with DRM and Lima with Manjaro 19.07

1 Like

did you check if audio works thru hdmi on your non gui variants ?

Not on Non-GUI. But I have checked it on GUI DE like KDE and LXQT Audio over HDMI works fine.
Non GUI One dont have Alsa and Pulse tools. maybe you can install it manually and it should work.

i’ll do the test soon…
is it right that alsa is built into kernel and i ust have to pacman alsa-utils and pulseaudio ?

is it ok like to flash it like this ? :
zcat “Manjaro-ARM-minimal-kvim1-19.07.img (2).xz” | sudo dd bs=8M of=/dev/sd status=progress

edit: finally this worked:
xz -dc ‘Manjaro-ARM-minimal-kvim1-19.07.img (2).xz’ | sudo dd bs=8M of=/dev/sdX status=progress

sorry,
once flashed today’s minimal image, it can boot from the SD card, but again, it is not the kernel on the card that is used but the one on the emmc;
this is working correctly in @_no_proxy 's Arch distro.
I did not notice any boot.ini in the BOOT partition, so I have no idea how to force my emmc to take full advantage of your work

@balbes150 Any idea how the Arch Distro is booting with the USB media Kernel ?

maybe you should base your startup on boot.ini mechanism like Arch …

Try to use ‘fatload usb ${x}: ${y} ${load address} file’ to read your file in boot partition
x is device number(1<=x<=your usb device number), y is partition number

@Spikerguy , I just added Arch’s boot.ini in the boot partition of your img in my SDcard and cold started my vim1-pro, here is what happens : bootloop !..

here is what I was able to see in the log:

reading boot.ini
6898 bytes read in 5 ms (1.3 MiB/s)
cfgload: applying boot.ini...
cfgload: echo "Starting boot.ini..."
Starting boot.ini...
cfgload: setenv kernel_loadaddr "0x11000000"
cfgload: setenv dtb_loadaddr "0x1000000"
cfgload: setenv initrd_loadaddr "0x13000000"
cfgload: setenv env_loadaddr "0x20000000"
cfgload: setenv hdmiargs "logo=${display_layer},loaded,${fb_addr},${outputmode} vout=${outputmode},"
cfgload: if test "X$lcd_exist" = "X1"; then setenv panelargs "panel_exist=${lcd_exist} panel_type=$;
cfgload: setenv boot_start booti ${kernel_loadaddr} ${initrd_loadaddr} ${dtb_loadaddr}
cfgload: setenv mmc_devplist "1 5"
cfgload: setenv mmc_devnums "0 1"
cfgload: setenv usb_devplist "1"
cfgload: setenv usb_devnums "0 1 2 3"
cfgload: setenv mark_prefix ""
cfgload: if test "$hostname" = "KVIM1"; then setenv ml_dtb "/dts/amlogic/meson-gxl-s905x-khadas-vim;
cfgload: for dev_num in ${mmc_devnums}; do if ${dev_num} = "1"; then setenv c_load "ext4load"; else;
Unknown command '0' - try 'help'
Scanning mmc 0:1...
reading uInitrd
7247597 bytes read in 453 ms (15.3 MiB/s)
reading zImage
19896328 bytes read in 1231 ms (15.4 MiB/s)
reading dtb.img
** Unable to read file dtb.img **
** No boot file defined **
Scanning mmc 0:5...
** Invalid partition 5 **
Unknown command '1' - try 'help'
Scanning mmc 1:1...
** Unrecognized filesystem type **
Scanning mmc 1:5...
** Unrecognized filesystem type **
"Synchronous Abort" handler, esr 0x96000004
ELR:     77f2c42c
LR:      77f2c480
x0 : 523d4c4542414c22 x1 : 0000000077f3a230
x2 : 0000000000000001 x3 : 0000000077f597e8
x4 : 0000000077f591d8 x5 : 0000000077f597e8
x6 : 0000000077f591d8 x7 : 0000000077f591e8
x8 : 0000000000000001 x9 : 0000000000000000
x10: 000000000000000f x11: 0000000077f34b30
x12: 0000000000000000 x13: 0000000000000000
x14: 0000000000000000 x15: 0000000000000000
x16: 0000000000000000 x17: 0000000000000000
x18: 0000000073e9de28 x19: 523d4c4542414c22
x20: 0000000073e9d840 x21: 0000000077f44085
x22: 0000000077f44029 x23: 0000000001080000
x24: 0000000000000000 x25: 0000000000000000
x26: 0000000000000000 x27: 0000000073eca340
x28: 0000000000000000 x29: 0000000073e9d7e0

Resetting CPU ...

resetting ...

a clever guy should be able to understand how to make the boot.ini file and the partitions on the SD image aligned better…

this precise command

for dev_num in ${mmc_devnums}; do
  if ${dev_num} = "1"; then
    setenv c_load "ext4load";
  else
    setenv c_load "fatload";
  fi;
  for distro_bootpart in ${mmc_devplist}; do
    echo "Scanning mmc ${dev_num}:${distro_bootpart}...";
    if ${c_load} mmc ${dev_num}:${distro_bootpart} ${initrd_loadaddr} uInitrd; then
      if ${c_load} mmc ${dev_num}:${distro_bootpart} ${kernel_loadaddr} zImage; then
        if ${c_load} mmc ${dev_num}:${distro_bootpart} ${dtb_loadaddr} dtb.img || ${c_load} mmc ${dev_num}:${distro_bootpart} ${dtb_loadaddr} ${ml_dtb}; then
           if ${c_load} mmc ${dev_num}:${distro_bootpart} ${env_loadaddr} /boot/env.txt || ${c_load} mmc ${dev_num}:${distro_bootpart} ${env_loadaddr} env.txt; then
             echo "Import env.txt";
             env import -t ${env_loadaddr} ${filesize};
           fi;
      	   if test "X${rootdev}" = "X"; then
      	     echo "rootdev is missing! use default: root=LABEL=ROOTFS!";
      	     setenv rootdev "LABEL=ROOTFS";
      	   fi;
      	   if test "X${custom_ethmac}" != "X"; then
      	     echo "Found custom ethmac: ${custom_ethmac}, overwrite eth_mac!";
      	     setenv eth_mac ${custom_ethmac};
      	   fi;
      	   if test "X${eth_mac}" = "X"; then
      	     echo "Set default mac address to ethaddr: ${ethaddr}!";
      	     setenv eth_mac ${ethaddr};
      	     setenv save_ethmac "yes";
       	   fi;
      	   if ${dev_num} -eq 0 -o test -e mmc ${dev_num}:${boot_env_part} ${mark_prefix}.next; then
      	     echo "Booting mainline kernel...";
      	     setenv condev "console=ttyS0,115200n8 console=tty0 no_console_suspend consoleblank=0";
      	   else
      	     echo "Booting legacy kernel...";setenv condev "console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0";
      	   fi;
      	   if test "X${hwver}" = "XVIM2.V14"; then
      	     fdt addr ${dtb_loadaddr};
      	     fdt resize 65536;
      	     fdt set /fan hwver "VIM2.V14";
      	     fdt set /i2c@c11087c0/khadas-mcu hwver "VIM2.V14";
      	     fdt set /soc/cbus@c1100000/i2c@87c0/khadas-mcu hwver "VIM2.V14";
      	   fi;
      	   setenv bootargs "root=${rootdev} rootflags=data=writeback rw ${condev} ${hdmiargs} ${panelargs} fsck.repair=yes net.ifnames=0 ddr_size=${ddr_size} wol_enable=${wol_enable}  jtag=disable mac=${eth_mac} androidboot.mac=${eth_mac} save_ethmac=${save_ethmac} fan=${fan_mode} hwver=${hwver} coherent_pool=${dma_size}";
      	   run boot_start;
        fi;
      fi;
    fi;
  done;
done;

gives these err msgs:
Unknown command ‘0’ - try ‘help’
Scanning mmc 0:1…
reading uInitrd
7247597 bytes read in 453 ms (15.3 MiB/s)
reading zImage
19896328 bytes read in 1231 ms (15.4 MiB/s)
reading dtb.img
** Unable to read file dtb.img **
** No boot file defined **
Scanning mmc 0:5…
** Invalid partition 5 **
Unknown command ‘1’ - try ‘help’
Scanning mmc 1:1…
** Unrecognized filesystem type **
Scanning mmc 1:5…
** Unrecognized filesystem type **
“Synchronous Abort” handler, esr 0x96000004

good news ! :smiley::star_struck::love_you_gesture: I managed to boot manjaro and its kernel 5.0.2-1 from SD card using a custom boot.ini I deployed on the BOOT partition of the SD, compared to Arch’s boot.ini,
I had to change a couple of things, see here https://notepad.pw/ezsx3ru1

Manjaro Linux 5.0.2-1 (ttyAML0)

manjar0 login:    raxy
Password: 
Welcome to Manjaro-ARM
~~Website: https://manjaro.org
~~Forum:   https://forum.manjaro.org/c/manjaro-arm
~~IRC:     #manjaro-arm on irc.freenode.net
~~Matrix:  #manjaro-arm-public:matrix.org
Last login: Tue Jul  9 16:04:51 on ttyAML0
[raxy@manjar0 ~]$ uname -a
Linux manjar0 5.0.2-1 #1 SMP PREEMPT Wed Apr 10 18:00:42 +03 2019 aarch64 GNU/Linux
1 Like

Good News :smiley:

Now you can finally test all my builts :stuck_out_tongue: and share the feedback :wink: