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.
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 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, …
@balbes150
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
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 ?
the first one with the desktop image (Vim_Ubuntu-16.04_V170124) and works , the result is the ubuntu installed on emmc
the second one is the server image (Vim_Ubuntu-server-16.04_V170211) and doesnt works, when the vim restart from emmc the bootloader cant load the kernel.
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:
GXL:BL1:9ac50e:a1974b;FEAT:ADFC318C;POC:3;RCY:0;EMMC:0;READ:0;0.0;CHK:0;
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!
-s
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 yan.wang@droid05]
OPS=0x82
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:1.01.001.0006 (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
reboot_mode=cold_boot
hpd_state=0
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
wipe_data=successful
wipe_cache=successful
upgrade_step=2
[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
Usage:
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
Usage:
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
InUsbBurn
[MSG]sof
Set Addr 7
Get DT cfg
Get DT cfg
set CFG
Get str 300
Get str 300
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.