Vim kernel panic under load with 3.14.29


I have tried to use the latest u-boot and the latest server image but after the start from emmc I got this error:
Can not find partition name “boot”

with this the emmc starts fine.


Hi, Pier:

  • Why you need to replace the u-boot for latest ubuntu-server ROM? The one built-in the ROM works fine for ubuntu-server.
  • You can install the ubuntu-mate ROM released just now, check the Topic for the information(the ROM is still uploading, will be done in a few hours).

Note that all these two ROM just support USB-C Cable upgrade.


sorry, I explain it better: I have used the latest uboot to make the sd card, then I have copied the rom of the ubuntu server (the update.img file) into the sd card (with the .ini file from the uboot).
Then when the vim starts with the sd card (the emmc is erased), the process to burn the emmc runs fine.
When I reboot the vim starts from the emmc and I got the error (with the serial port). I didn’t change the bootloader of the server rom.

If I try the same process but with this image the vim starts correctly from the emmc.


You confused me a lot :slight_smile:

There is no need to make the sd card for EMMC INSTALLATION ROM, just follow the USB-C Cable upgrade instructions for all the steps you need to operate.


I have compiled for comparison a test image of Debian (console) using the kernel sources and configuration from GIT Khadas.

I haven’t tested.
PS Strangely , I can’t add answer to the topic.


What’s the results? does the oops/panic issue fixed?


I am not kernel expert but it seems bad_mode should never be called.
I looked at /usr/src/linux/arch/arm64/kernel/traps.c where one reads in comment:
bad_mode handles the impossible case in the exception vector.
I admit I do not quite understand that comment either. However:
“handling the impossible” does not sound good, …


I assume you used ubuntu branch in khadas linux.git and kvim_defconfig, right?
I will try to find time to build and test such kernel for gentoo on mx-g and i7pro … it may take a few days


Yes, in the test sample (whose name is an indication of “kh”), I used git and the configuration of Khadas (git branch linux ubuntu + kvim_defconfig).


I am working with a Mac and Linux, I have no windows.
In the tutorial section there are the instructions how to build a burning SD card, I am following these instructions and are working for the Ubuntu desktop but not for the server image.

Are these images different ? The server one needs the windows burner to be installed ?

I am following this tutorial:


These images are same, You also can build a burning SD card following this tutorial:


Yes is what I did, I have created two sd cards:

  1. the first one with the desktop image ( and works , the result is the ubuntu installed on emmc

  2. the second one is the server image ( and doesnt works, when the vim restart from emmc the bootloader cant load the kernel.

I have not yet tried this
(I should try this in few hours).

  1. the second one is the server image ( and doesnt works, when the vim restart from emmc the bootloader cant load the kernel.

Can you provide the log information for that ? I think the question may be caused by the environment variable.
You need to erase the env into emmc.


Later I can post the logs, anyway the message error is related that was trying to find the /boot partition and fails (looking into the image seems that there is not the boot partition).
I am not familiar with the u-boot, to erase the emmc I have used “store init 3”, I should do also “env default -a” ?


this is the log with the ubuntu server image with a sd burning card:

TE: 112529

BL2 Built : 13:48:56, Sep 23 2016.
gxl g7459bd4 - jianxin.pan@droid06

set vcck to 1120 mv
set vddee to 1000 mv
Board ID = 6
CPU clk: 1200MHz
DQS-corr enabled
DDR scramble enabled
DDR3 chl: Rank0+1 @ 768MHz - PASS
Rank0: 1024MB(auto)-2T-11
Rank1: 1024MB(auto)-2T-11
DataBus test pass!
AddrBus test pass!
Load fip header from eMMC, src: 0x0000c200, des: 0x01400000, size: 0x00004000
New fip structure!
Load bl30 from eMMC, src: 0x00010200, des: 0x01100000, size: 0x0000d600
Load bl31 from eMMC, src: 0x00020200, des: 0x10100000, size: 0x00015400
Load bl33 from eMMC, src: 0x00038200, des: 0x01000000, size: 0x000a5c00
NOTICE:  BL3-1: v1.0(debug):fb68908
NOTICE:  BL3-1: Built : 18:30:11, Nov  1 2016
aml log : bl31 normal boot !
[Image: gxl_v1.1.3154-065f772 2016-09-29 14:08:54]
7b e7 d0 2 b3 57 29 a5 ff 13 9d 8c [0.352588 Inits done]
secure task start!
high task start!
low task start!
INFO:    BL3-1: Initializing runtime services
WARNING: No OPTEE provided by BL2 boot loader
ERROR:   Error initializing runtime service opteed_fast
INFO:    BL3-1: Preparing for EL3 exit to normal world
INFO:    BL3-1: Next image address = 0x1000000
INFO:    BL3-1: Next image spsr = 0x3c9

U-Boot 2015.01-g0f90c8e-dirty (Feb 11 2017 - 00:33:13)

DRAM:  2 GiB
Relocation Offset is: 76ecf000
register usb cfg[0][1] = 0000000077f61928
vpu: error: vpu: check dts: FDT_ERR_BADMAGIC, load default parameters
vpu: clk_level = 7
vpu: set clk: 666667000Hz, readback: 666660000Hz(0x300)
vpp: vpp_init
boot_device_flag : 1
Nand PHY Ver: (c) 2013 Amlogic Inc.
init bus_cycle=6, bus_timing=7, system=5.0ns
reset failed
get_chip_type and ret:fffffffe
get_chip_type and ret:fffffffe
chip detect failed and ret:fffffffe
nandphy_init failed and ret=0xfffffff1
MMC:   aml_priv->desc_buf = 0x0000000073ecf6b0
aml_priv->desc_buf = 0x0000000073ed19d0
SDIO Port B: 0, SDIO Port C: 1
emmc/sd response timeout, cmd8, status=0x1ff2800
emmc/sd response timeout, cmd55, status=0x1ff2800
[mmc_startup] mmc refix success
[mmc_init] mmc init success
mmc read lba=0x14000, blocks=0x400
start dts,buffer=0000000073ed4270,dt_addr=0000000073ed4270
parts: 3
00:      logo   0000000002000000 1
01:   ramdisk   0000000002000000 1
02:    rootfs   ffffffffffffffff 4
get_dtb_struct: Get emmc dtb OK!
Partition table get from SPL is :
    name                        offset              size              flag
   0: bootloader                         0            400000                  0
   1: reserved                     2400000           4000000                  0
   2: cache                        6c00000                 0                  0
   3: env                          7400000            800000                  0
   4: logo                         8400000           2000000                  1
   5: ramdisk                      ac00000           2000000                  1
   6: rootfs                       d400000         396a00000                  4
mmc read lba=0x12000, blocks=0x2
mmc read lba=0x12002, blocks=0x2
mmc_read_partition_tbl: mmc read partition OK!
eMMC/TSD partition table have been checked OK!
mmc env offset: 0x7400000
In:    serial
Out:   serial
Err:   serial
set hdmitx VIC = 16
config HPLL = 2970
HPLL: 0xc000027b
config HPLL done
j = 4  vid_clk_div = 1
hdmitx phy setting done
hdmitx: set enc for VIC: 16
rx version is 1.4 or below  div=10
hdmtix: set audio
[OSD]check dts: FDT_ERR_BADMAGIC, load default fb_addr parameters
[OSD]fb_addr for logo: 0x3d800000
[OSD]check dts: FDT_ERR_BADMAGIC, load default fb_addr parameters
[OSD]fb_addr for logo: 0x3d800000
[CANVAS]canvas init
[CANVAS]addr=0x3d800000 width=3840, height=2160
[store]To run cmd[emmc dtb_read 0x1000000 0x40000]
read emmc dtb
gpio: pin GPIOAO_2 (gpio 102) value is 1
get_cpu_id flag_12bit=1
Product checking: Khadas VIM.
Net:   dwmac.c9410000
[OSD]load fb addr from dts
[OSD]failed to get fb addr for logo
[OSD]use default fb_addr parameters
[OSD]fb_addr for logo: 0x3d800000
[OSD]load fb addr from dts
[OSD]failed to get fb addr for logo
[OSD]use default fb_addr parameters
[OSD]fb_addr for logo: 0x3d800000
amlkey_init() enter!
[EFUSE_MSG]keynum is 4
[BL31]: tee size: 0
[KM]Error:f[key_manage_query_size]L507:key[usid] not programed yet
[KM]Error:f[key_manage_query_size]L507:key[mac] not programed yet
[KM]Error:f[key_manage_query_size]L507:key[deviceid] not programed yet
get_cpu_id flag_12bit=1
saradc - saradc sub-system

saradc saradc open <channel>            - open a SARADC channel
saradc close    - close the SARADC
saradc getval   - get the value in current channel
saradc get_in_range <min> <max> - return 0 if current value in the range of current channel

gpio: pin GPIOAO_2 (gpio 102) value is 1
get_cpu_id flag_12bit=1
Product checking: pass!
Hit Enter or space or Ctrl+C key to stop autoboot -- :  0
Can not find partition name "boot"
Cannot find dev.
amlmmc cmd <NULL> failed

store - STORE sub-system

store store init flag
store read name addr off|partition size
read 'size' bytes starting at offset 'off'
to/from memory address 'addr', skipping bad blocks.
store write name addr off|partition size
write 'size' bytes starting at offset 'off'
to/from memory address 'addr', skipping bad blocks.
store rom_write add off size.
    write uboot to the boot device
store erase boot/data:
    erase the area which is uboot or data
store erase partition <partition_name>:
    erase the area which partition in u-boot
store erase dtb
store erase key
store disprotect key
store rom_protect on/off
store scrub off|partition size
    scrub the area from offset and size
store dtb iread/read/write addr <size>
    read/write dtb, size is optional
store key read/write addr <size>
    read/write key, size is optional

cmd store failed
Err imgread(L132):Fail to read 0x100000B from part[boot] at offset 0
Set Addr 7
Get DT cfg
Get DT cfg
set CFG
Get str 300
Get str 300


thanks terry, I have erased the env and now works!!!,
now I am going to test the kernel panic with the new image,


good, with new ubuntu image the temp can go over 70 without any issue.


Same result here.

Thanks to update the information.



The khadas kernel behaves good over 1st thermal trip temp 70 on s905 minimx-g and s905x spot-i7-pro running gentoo lxqt desktop. I use their proper LE kszaq dtb. In fact, I do not see any -1000 temperature either. It is the first time I cannot easily crash i7PRO and first time I do not see -1000 temperature on MX-G

I believe this is vary good news since it has positive effect on these platforms.

I would consider for armbian to start from khadas and adjust kernel config to add some CONFIG to match other features (like NBD perhaps), platforms and/or devices (like DVB drivers, perhaps). The armbian kernel config already has a lot of features.


What is the highest temperature this Soc can handle, without damaging cpu, is it around 100°C?