20170926_jeffrey - silenceuncrio/diary GitHub Wiki

0850

review

0855

目前 emmc 開機顯示的錯誤如下

U-Boot 2015.04-imx_v2015.04_4.1.15_1.0.0_ga+g384e1c1 (Mar 13 2016 - 17:39:55)

CPU:   Freescale i.MX6UL rev1.2 at 396 MHz
CPU:   Temperature 43 C
Reset cause: POR
Board: MX6UL 14x14 EVK
I2C:   ready
DRAM:  512 MiB
force_idle_bus: sda=0 scl=0 sda.gp=0x1d scl.gp=0x1c
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
*** Warning - bad CRC, using default environment

Display: TFT43AB (480x272)
Video: 480x272x24
In:    serial
Out:   serial
Err:   serial
MMC: no card present
Net:   FEC1
Error: FEC1 address not set.

Normal Boot
Hit any key to stop autoboot:  0
MMC: no card present
MMC: no card present
Card did not respond to voltage select!
Booting from net ...
FEC1 Waiting for PHY auto negotiation to complete......... TIMEOUT !
*** ERROR: `ethaddr' not set
FEC1 Waiting for PHY auto negotiation to complete......... TIMEOUT !
FEC1 Waiting for PHY auto negotiation to complete......... TIMEOUT !
*** ERROR: `ethaddr' not set
FEC1 Waiting for PHY auto negotiation to complete......... TIMEOUT !
Bad Linux ARM zImage magic!
=>

有看到幾個人問差不多的問題

0900

MMC: no card present custom IMX6 UL Board 看來

First, as I see from boot log, PMIC is not defined in U-boot.
It should be defined in U-boot with following rebuild.
You may look at “[PATCH] u-boot: add pf3000 support on imx6ul-14x14-evk board”

0920

MX6UL_Development_database_2017.4.21_V7.doc

挖到一份 MX6UL_Development_database_2017.4.21_V7.doc

先傳到自己的 google 雲

0930

照表操課

eMMC启动支持,及MFG定制

i.MX6ULEVK板默认使用Tfcard启动,所以默认BSP没有支持eMMC启动,需要修改如下:

先看 uboot 的部分

include\configs\mx6ul_14X14_evk.h,加入编译宏:
CONFIG_MX6UL_EVK_EMMC_REWORK

0950

試著在 include\configs\mx6ul_14X14_evk.h 加入

#define CONFIG_MX6UL_EVK_EMMC_REWORK

執行 bitbake u-boot-imx -c compile -vf 得到 mx6ul_14x14_evk_config\u-boot.imx

將昨天的 D:\m300\tools\L4.1.15_1.0.0_ga-mfg-tools\mfgtools_test2
複製一份 D:\m300\tools\L4.1.15_1.0.0_ga-mfg-tools\mfgtools_test3

置換 Profiles\Linux\OS Firmware\files\u-boot.imx

mfgtool 燒錄完從 emmc 開機

U-Boot 2015.04imx_v2015.04_4.1.15_1.2.0_ga+gede7538 (Sep 26 2017 - 01:41:25)

CPU:   Freescale i.MX6UL rev1.2 at 396 MHz
CPU:   Temperature 45 C
Reset cause: POR
Board: MX6UL 14x14 EVK
I2C:   ready
DRAM:  512 MiB
force_idle_bus: sda=0 scl=0 sda.gp=0x1d scl.gp=0x1c
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
*** Warning - bad CRC, using default environment

Display: TFT43AB (480x272)
Video: 480x272x24
In:    serial
Out:   serial
Err:   serial
switch to partitions #0, OK
mmc1(part 0) is current device
Net:   FEC1
Error: FEC1 address not set.

Normal Boot
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc1(part 0) is current device
switch to partitions #0, OK
mmc1(part 0) is current device
reading boot.scr
** Unable to read file boot.scr **
reading zImage
4994864 bytes read in 126 ms (37.8 MiB/s)
Booting from mmc ...
reading imx6ul-14x14-evk.dtb
** Unable to read file imx6ul-14x14-evk.dtb **
Kernel image @ 0x80800000 [ 0x000000 - 0x4c3730 ]

Starting kernel ...

太好了

繼續前進

1040

感覺我應該捨棄之前幾天的進度

好好的 follow MX6UL_Development_database_2017.4.21_V7.doc 才對

1055

先實際演練一些需要操作細節的內容

MFG支持
在以下修改后, 使用以下命令来standalone的编译MFG最下镜像,uboot, 和dtb可以沿有标准bsp的,但是zimage需要编译MFG的版本,如下:
source /opt/poky/1.8/environment-setup-cortexa7hf-vfp-neon-poky-linux-gnueabi
pwd
~/mx6ul/fsl-release-bsp/imx6ulevk/tmp/work/ imx6ulevk-poky-linux-gnueabi /linux-imx/3.14.38-r0/git
make imx_v7_mfg_defconfig
make zImage

我實際的操作是這樣的

  • 利用 bitbake linux-imx -c devshell 找到 linux kernel temporary source code
  • make imx_v7_mfg_defconfig
  • make zImage
    • compile 需要一些時間

1110

make zImage 成功了

root@2f192722794e:/var/m300/build_small/tmp/work-shared/m300e/kernel-source# make zImage
...
  OBJCOPY arch/arm/boot/zImage
  Kernel: arch/arm/boot/zImage is ready
make[1]: Leaving directory `/var/m300/build_small/tmp/work/m300e-poky-linux-gnueabi/linux-imx/4.1.15-r0/build'
root@2f192722794e:/var/m300/build_small/tmp/work-shared/m300e/kernel-source#

zImagebuild_small/tmp/work/m300e-poky-linux-gnueabi/linux-imx/4.1.15-r0/build/arch/arm/boot/zImage

1115

參考 How to compile the Device Tree Source Code

我想得到一個 dtb - imx6ul-14x14-evk.dtb

紀錄一下流程

  • 利用 bitbake linux-imx -c devshell 找到 linux kernel temporary source code
  • make imx_v7_mfg_defconfig
  • make imx6ul-14x14-evk.dtb

實際的流程紀錄如下

root@2f192722794e:/var/m300/build_small/tmp/work-shared/m300e/kernel-source# make imx_v7_mfg_defconfig
make[1]: Entering directory `/var/m300/build_small/tmp/work/m300e-poky-linux-gnueabi/linux-imx/4.1.15-r0/build'
  GEN     ./Makefile
#
# configuration written to .config
#
make[1]: Leaving directory `/var/m300/build_small/tmp/work/m300e-poky-linux-gnueabi/linux-imx/4.1.15-r0/build'
root@2f192722794e:/var/m300/build_small/tmp/work-shared/m300e/kernel-source# make imx6ul-14x14-evk.dtb
make[1]: Entering directory `/var/m300/build_small/tmp/work/m300e-poky-linux-gnueabi/linux-imx/4.1.15-r0/build'
  GEN     ./Makefile
scripts/kconfig/conf  --silentoldconfig Kconfig
make[1]: Leaving directory `/var/m300/build_small/tmp/work/m300e-poky-linux-gnueabi/linux-imx/4.1.15-r0/build'
make[1]: Entering directory `/var/m300/build_small/tmp/work/m300e-poky-linux-gnueabi/linux-imx/4.1.15-r0/build'
  CC      scripts/mod/empty.o
  MKELF   scripts/mod/elfconfig.h
  HOSTCC  scripts/mod/modpost.o
  CC      scripts/mod/devicetable-offsets.s
  GEN     scripts/mod/devicetable-offsets.h
  HOSTCC  scripts/mod/file2alias.o
  HOSTCC  scripts/mod/sumversion.o
  HOSTLD  scripts/mod/modpost
  DTC     arch/arm/boot/dts/imx6ul-14x14-evk.dtb
Warning (reg_format): "reg" property in /spi4/spi-sw@0 has invalid length (4 bytes) (#address-cells == 1, #size-cells == 1)
Warning (avoid_default_addr_size): Relying on default #size-cells value for /spi4/spi-sw@0
make[1]: Leaving directory `/var/m300/build_small/tmp/work/m300e-poky-linux-gnueabi/linux-imx/4.1.15-r0/build'
root@2f192722794e:/var/m300/build_small/tmp/work-shared/m300e/kernel-source#

imx6ul-14x14-evk.dtbbuild_small/tmp/work/m300e-poky-linux-gnueabi/linux-imx/4.1.15-r0/build/arch/arm/boot/dts/imx6ul-14x14-evk.dtb

1135

如果在 NXP 論壇利用關鍵字 CONFIG_MX6UL_EVK_EMMC_REWORK 來搜尋的話

目前發現的有

1310

follow MX6UL_Development_database_2017.4.21_V7.doc

eMMC启动支持,及MFG定制

内核 的部分

首先,因为默认bsp只有usdhc2上连接的tfcard,所以默认是使用4bit设置,需要增加高位4bit

pinctrl_usdhc2: usdhc2grp {
    fsl,pins = <
        MX6UL_PAD_NAND_RE_B__USDHC2_CLK     0x10069
        MX6UL_PAD_NAND_WE_B__USDHC2_CMD     0x17059
        MX6UL_PAD_NAND_DATA00__USDHC2_DATA0 0x17059
        MX6UL_PAD_NAND_DATA01__USDHC2_DATA1 0x17059
        MX6UL_PAD_NAND_DATA02__USDHC2_DATA2 0x17059
        MX6UL_PAD_NAND_DATA03__USDHC2_DATA3 0x17059
        //add to support 8bit eMMC
        MX6UL_PAD_NAND_DATA04__USDHC2_DATA4	0x17059
        MX6UL_PAD_NAND_DATA05__USDHC2_DATA5	0x17059
        MX6UL_PAD_NAND_DATA06__USDHC2_DATA6	0x17059
        MX6UL_PAD_NAND_DATA07__USDHC2_DATA7	0x17059
        //end
    >;
};

這需要修改的地方在

build_small\tmp\work-shared\m300e\kernel-source\arch\arm\boot\dts\imx6ul-14x14-evk.dts

還有下面這個修改也是

其次,Tfcard的dts配置如以下,需要修改支持eMMC. &usdhc2 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_usdhc2>; no-1-8-v;//如果eMMC只支持3.3V,不支持1.8V,可以保留 keep-power-in-suspend; //vmmc-supply = <&reg_sd2_vmmc>;//如果eMMC没有电源的GPIO开关,可以去掉 bus-width = <8>;//增加表示支持8bit. non-removable;//增加表示不可移除 //enable-sdio-wakeup;//去掉 status = "okay"; };

修改之後重新產生 imx6ul-14x14-evk.dtb

  • 利用 bitbake linux-imx -c devshell 找到 linux kernel temporary source code
  • make imx_v7_mfg_defconfig
  • make imx6ul-14x14-evk.dtb

盤一下我目前有什麼

  • build_small\tmp\work\m300e-poky-linux-gnueabi\u-boot-imx\2015.04-r0\git\mx6ul_14x14_evk_config\u-boot.imx
  • build_small\tmp\work\m300e-poky-linux-gnueabi\linux-imx\4.1.15-r0\build\arch\arm\boot\dts\imx6ul-14x14-evk.dtb
  • build_small\tmp\work\m300e-poky-linux-gnueabi\linux-imx\4.1.15-r0\build\arch\arm\boot\zImage

MX6UL_Development_database_2017.4.21_V7.doc 使用的 MfgTool 是 imx-3.14.38_6UL_ga_mfg-tools

跟著用一樣的

一樣也製作一個 D:\m300\tools\imx-3.14.38_6UL_ga_mfg-tools\mfgtools\mfgtool2-yocto-mx-evk-emmc2.vbs

Set wshShell = CreateObject("WScript.shell")
wshShell.run "mfgtool2.exe -c ""linux"" -l ""eMMC"" -s ""board=sabresd"" -s ""mmc=1"" -s ""6uluboot=evk"" -s ""6uldtb=14x14-evk"" "
Set wshShell = Nothing

稍微整理一下 ucl2.xml - 只保留 <LIST name="eMMC"> 以及 ifdev="MX6UL" 的相關部分

<UCL>
  <CFG>
    <STATE name="BootStrap" dev="MX6SL" vid="15A2" pid="0063"/>
    <STATE name="BootStrap" dev="MX6D" vid="15A2" pid="0061"/>
    <STATE name="BootStrap" dev="MX6Q" vid="15A2" pid="0054"/>
    <STATE name="BootStrap" dev="MX6SX" vid="15A2" pid="0071"/>
    <STATE name="BootStrap" dev="MX6UL" vid="15A2" pid="007D"/>
    <STATE name="BootStrap" dev="MX7D" vid="15A2" pid="0076"/>
    <STATE name="Updater"   dev="MSC" vid="066F" pid="37FF"/>
  </CFG>

  

  <LIST name="eMMC" desc="Choose eMMC as media">
	<CMD state="BootStrap" type="boot" body="BootStrap" file ="firmware/u-boot-imx6ul%6uluboot%_emmc.imx" ifdev="MX6UL">Loading U-boot</CMD>
		
	<CMD state="BootStrap" type="load" file="firmware/zImage" address="0x80800000"
		loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6SL MX6SX MX7D MX6UL">Loading Kernel.</CMD>

	<CMD state="BootStrap" type="load" file="firmware/%initramfs%" address="0x83800000"
		loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6SL MX6SX MX7D MX6UL">Loading Initramfs.</CMD>

	<CMD state="BootStrap" type="load" file="firmware/zImage-imx6ul-%6uldtb%-emmc.dtb" address="0x83000000"
		loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6UL">Loading device tree.</CMD>

	<CMD state="BootStrap" type="jump" > Jumping to OS image. </CMD>


	<!-- create partition -->
	<CMD state="Updater" type="push" body="send" file="mksdcard.sh.tar">Sending partition shell</CMD>
	<CMD state="Updater" type="push" body="$ tar xf $FILE "> Partitioning...</CMD>
	<CMD state="Updater" type="push" body="$ sh mksdcard.sh /dev/mmcblk%mmc%"> Partitioning...</CMD>

	<!-- burn uboot -->
	<CMD state="Updater" type="push" body="$ dd if=/dev/zero of=/dev/mmcblk%mmc% bs=1k seek=384 conv=fsync count=129">clear u-boot arg</CMD>
	<!-- access boot partition -->
	<CMD state="Updater" type="push" body="$ echo 0 > /sys/block/mmcblk%mmc%boot0/force_ro">access boot partition 1</CMD>
	<CMD state="Updater" type="push" body="send" file="files/u-boot-imx6ul%6uluboot%_emmc.imx" ifdev="MX6UL">Sending u-boot.bin</CMD>
	<CMD state="Updater" type="push" body="$ dd if=$FILE of=/dev/mmcblk%mmc%boot0 bs=512 seek=2">write U-Boot to sd card</CMD>
	<CMD state="Updater" type="push" body="$ echo 1 > /sys/block/mmcblk%mmc%boot0/force_ro"> re-enable read-only access </CMD>
	<CMD state="Updater" type="push" body="$ echo 8 > /sys/block/mmcblk%mmc%/device/boot_config">enable boot partion 1 to boot</CMD>

	<!-- create fat partition -->
	<CMD state="Updater" type="push" body="$ mkfs.vfat /dev/mmcblk%mmc%p1">Formatting rootfs partition</CMD>
	<CMD state="Updater" type="push" body="$ mkdir -p /mnt/mmcblk%mmc%p1"/>
	<CMD state="Updater" type="push" body="$ mount -t vfat /dev/mmcblk%mmc%p1 /mnt/mmcblk%mmc%p1"/>

	<!-- burn zImage -->
	<CMD state="Updater" type="push" body="send" file="files/zImage">Sending kernel zImage</CMD>
	<CMD state="Updater" type="push" body="$ cp $FILE /mnt/mmcblk%mmc%p1/zImage">write kernel image to sd card</CMD>

	<!-- burn dtb -->
	<CMD state="Updater" type="push" body="send" file="files/zImage-imx6ul-%6uldtb%-emmc.dtb" ifdev="MX6UL">Sending Device Tree file</CMD>

	<CMD state="Updater" type="push" body="$ cp $FILE /mnt/mmcblk%mmc%p1/imx6ul-%6uldtb%.dtb" ifdef="MX6UL">write device tree to sd card</CMD>


	<CMD state="Updater" type="push" body="$ umount /mnt/mmcblk%mmc%p1">Unmounting vfat partition</CMD>

	<!-- burn rootfs -->
	<CMD state="Updater" type="push" body="$ mkfs.ext3 -E nodiscard /dev/mmcblk%mmc%p2">Formatting rootfs partition</CMD>
	<CMD state="Updater" type="push" body="$ mkdir -p /mnt/mmcblk%mmc%p2"/>
	<CMD state="Updater" type="push" body="$ mount -t ext3 /dev/mmcblk%mmc%p2 /mnt/mmcblk%mmc%p2"/>
	<CMD state="Updater" type="push" body="pipe tar -jxv -C /mnt/mmcblk%mmc%p2" file="files/rootfs_nogpu.tar.bz2" ifdev="MX6UL MX7D">Sending and writting rootfs</CMD>
	<CMD state="Updater" type="push" body="frf">Finishing rootfs write</CMD>
	<CMD state="Updater" type="push" body="$ umount /mnt/mmcblk%mmc%p2">Unmounting rootfs partition</CMD>
	<CMD state="Updater" type="push" body="$ echo Update Complete!">Done</CMD>
  </LIST>

</UCL>

跟著 MfgTool.log 的錯誤來補檔案

  • build_small\tmp\work\m300e-poky-linux-gnueabi\u-boot-imx\2015.04-r0\git\mx6ul_14x14_evk_config\u-boot.imx
    • imx-3.14.38_6UL_ga_mfg-tools\mfgtools\Profiles\linux\OS Firmware\firmware\u-boot-imx6ulevk_emmc.imx
    • imx-3.14.38_6UL_ga_mfg-tools\mfgtools\Profiles\linux\OS Firmware\files\u-boot-imx6ulevk_emmc.imx
  • build_small\tmp\work\m300e-poky-linux-gnueabi\linux-imx\4.1.15-r0\build\arch\arm\boot\dts\imx6ul-14x14-evk.dtb
    • imx-3.14.38_6UL_ga_mfg-tools\mfgtools\Profiles\linux\OS Firmware\firmware\zImage-imx6ul-14x14-evk-emmc.dtb
    • imx-3.14.38_6UL_ga_mfg-tools\mfgtools\Profiles\linux\OS Firmware\files\zImage-imx6ul-14x14-evk-emmc.dtb

替換掉 zImage

  • build_small\tmp\work\m300e-poky-linux-gnueabi\linux-imx\4.1.15-r0\build\arch\arm\boot\zImage
    • imx-3.14.38_6UL_ga_mfg-tools\mfgtools\Profiles\linux\OS Firmware\firmware\zImage

解開 P:\2_Projects\3_Wireless\M300_M301\firmware\20170915\Generic\M300_GENERIC_v1.58_012C000015829BA3_mfgtools.rar

跟著 MfgTool.log 的錯誤來補檔案

  • M300_GENERIC_v1.58_012C000015829BA3_mfgtools\mfgtools\Profiles\Linux\OS Firmware\files\zImage
    • imx-3.14.38_6UL_ga_mfg-tools\mfgtools\Profiles\linux\OS Firmware\files\zImage
  • M300_GENERIC_v1.58_012C000015829BA3_mfgtools\mfgtools\Profiles\Linux\OS Firmware\files\rootfs.tar.bz2
    • imx-3.14.38_6UL_ga_mfg-tools\mfgtools\Profiles\linux\OS Firmware\files\rootfs_nogpu.tar.bz2

1350

燒錄吧

U-Boot 2015.04imx_v2015.04_4.1.15_1.2.0_ga+gede7538 (Sep 26 2017 - 01:41:25)

CPU:   Freescale i.MX6UL rev1.2 at 396 MHz
CPU:   Temperature 44 C
Reset cause: POR
Board: MX6UL 14x14 EVK
I2C:   ready
DRAM:  512 MiB
force_idle_bus: sda=0 scl=0 sda.gp=0x1d scl.gp=0x1c
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
*** Warning - bad CRC, using default environment

Display: TFT43AB (480x272)
Video: 480x272x24
In:    serial
Out:   serial
Err:   serial
switch to partitions #0, OK
mmc1(part 0) is current device
Net:   FEC1
Error: FEC1 address not set.

Boot from USB for mfgtools
Use default environment for                              mfgtools
Run bootcmd_mfg: run mfgtool_args;bootz ${loadaddr} ${initrd_addr} ${fdt_addr};
Hit any key to stop autoboot:  0
Kernel image @ 0x80800000 [ 0x000000 - 0x650198 ]
## Loading init Ramdisk from Legacy Image at 83800000 ...
   Image Name:   fsl-image-mfgtool-initramfs-imx_
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    7485694 Bytes = 7.1 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 83000000
   Booting using the fdt blob at 0x83000000
   Using Device Tree in place at 83000000, end 8300a1df
Modify /soc/aips-bus@02000000/bee@02044000:status disabled
ft_system_setup for mx6

Starting kernel ...

Booting Linux on physical CPU 0x0
Linux version 4.1.15-224233-g77f6154-dirty (root@2f192722794e) (gcc version 5.2.0 (GCC) ) #1 SMP PREEMPT Tue Sep 26 03:10:45 UTC 2017
CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine model: Freescale i.MX6 UltraLite 14x14 EVK Board
Memory policy: Data cache writealloc
PERCPU: Embedded 12 pages/cpu @9fbd5000 s16960 r8192 d24000 u49152
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 130048
Kernel command line: console=ttymxc0,115200 rdinit=/linuxrc g_mass_storage.stall=0 g_mass_storage.removable=1 g_mass_storage.file=/fat g_mass_storage.ro=1 g_mass_storage.idVendor=0x066F g_mass_storage.idProduct=0x37FF g_mass_storage.iSerialNumber= clk_ignore_unused
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 499680K/524288K available (8338K kernel code, 434K rwdata, 2928K rodata, 428K init, 450K bss, 24608K reserved, 0K cma-reserved, 0K highmem)
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    vmalloc : 0xa0800000 - 0xff000000   (1512 MB)
    lowmem  : 0x80000000 - 0xa0000000   ( 512 MB)
    pkmap   : 0x7fe00000 - 0x80000000   (   2 MB)
    modules : 0x7f000000 - 0x7fe00000   (  14 MB)
      .text : 0x80008000 - 0x80b08d2c   (11268 kB)
      .init : 0x80b09000 - 0x80b74000   ( 428 kB)
      .data : 0x80b74000 - 0x80be0bc0   ( 435 kB)
       .bss : 0x80be3000 - 0x80c53a00   ( 451 kB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Preemptible hierarchical RCU implementation.
        Additional per-CPU info printed with stalls.
        RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1.
RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
NR_IRQS:16 nr_irqs:16 16
mxc_clocksource_init 24000000
Switching to timer-based delay loop, resolution 41ns
sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
clocksource mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
Console: colour dummy device 80x30
Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
CPU: Testing write buffer coherency: ok
/cpus/cpu@0 missing clock-frequency property
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x80008280 - 0x800082d8
Brought up 1 CPUs
SMP: Total of 1 processors activated (48.00 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
clocksource jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
cpuidle: using governor ladder
cpuidle: using governor menu
hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 8 bytes.
imx6ul-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver
mxs-dma 1804000.dma-apbh: initialized
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
i2c i2c-0: IMX I2C adapter registered
i2c i2c-0: can't use DMA
Linux video capture interface: v2.00
pps_core: LinuxPPS API ver. 1 registered
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <[email protected]>
PTP clock support registered
MIPI CSI2 driver module loaded
Advanced Linux Sound Architecture Driver Initialized.
Bluetooth: Core ver 2.20
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: L2CAP socket layer initialized
Bluetooth: SCO socket layer initialized
Switched to clocksource mxc_timer1
NET: Registered protocol family 2
TCP established hash table entries: 4096 (order: 2, 16384 bytes)
TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
UDP hash table entries: 256 (order: 1, 8192 bytes)
UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
Trying to unpack rootfs image as initramfs...
Freeing initrd memory: 7312K (83800000 - 83f24000)
imx rpmsg driver is registered.
Bus freq driver module loaded
futex hash table entries: 256 (order: 2, 16384 bytes)
VFS: Disk quotas dquot_6.6.0
VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
NFS: Registering the id_resolver key type
Key type id_resolver registered
Key type id_legacy registered
jffs2: version 2.2. (NAND) c 2001-2006 Red Hat, Inc.
fuse init (API version 7.23)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
imx-weim 21b8000.weim: Driver registered.
MIPI DSI driver module loaded
MIPI DSI driver module loaded
imx-sdma 20ec000.sdma: no event needs to be remapped
imx-sdma 20ec000.sdma: loaded firmware 3.3
imx-sdma 20ec000.sdma: initialized
2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 19, base_baud = 5000000) is a IMX
console [ttymxc0] enabled
21e8000.serial: ttymxc1 at MMIO 0x21e8000 (irq = 225, base_baud = 5000000) is a IMX
21ec000.serial: ttymxc2 at MMIO 0x21ec000 (irq = 226, base_baud = 5000000) is a IMX
21f0000.serial: ttymxc3 at MMIO 0x21f0000 (irq = 227, base_baud = 5000000) is a IMX
21f4000.serial: ttymxc4 at MMIO 0x21f4000 (irq = 228, base_baud = 5000000) is a IMX
imx sema4 driver is registered.
[drm] Initialized drm 1.1.0 20060810
[drm] Initialized vivante 1.0.0 20120216 on minor 0
brd: module loaded
loop: module loaded
CAN device driver interface
2090000.can supply xceiver not found, using dummy regulator
flexcan 2090000.can: device registered (reg_base=a0a20000, irq=25)
20b4000.ethernet supply phy not found, using dummy regulator
pps pps0: new PPS source ptp0
fec 20b4000.ethernet (unnamed net_device) (uninitialized): Invalid MAC address: 00:00:00:00:00:00
fec 20b4000.ethernet (unnamed net_device) (uninitialized): Using random MAC address: e6:eb:6b:88:98:f3
libphy: fec_enet_mii_bus: probed
fec 20b4000.ethernet eth0: registered PHC device 0
2188000.ethernet supply phy not found, using dummy regulator
pps pps1: new PPS source ptp1
fec 2188000.ethernet (unnamed net_device) (uninitialized): Invalid MAC address: 00:00:00:00:00:00
fec 2188000.ethernet (unnamed net_device) (uninitialized): Using random MAC address: ee:e2:fe:e6:3e:73
fec 2188000.ethernet eth1: registered PHC device 1
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-mxc: Freescale On-Chip EHCI Host driver
usbcore: registered new interface driver usb-storage
usbcore: registered new interface driver usb_ehset_test
2184800.usbmisc supply vbus-wakeup not found, using dummy regulator
2184000.usb supply vbus not found, using dummy regulator
ci_hdrc ci_hdrc.0: EHCI Host Controller
ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1
ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
2184200.usb supply vbus not found, using dummy regulator
ci_hdrc ci_hdrc.1: EHCI Host Controller
ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 2
ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
mousedev: PS/2 mouse device common for all mice
input: 20cc000.snvs:snvs-powerkey as /devices/platform/soc/2000000.aips-bus/20cc000.snvs/20cc000.snvs:snvs-powerkey/input/input0
snvs_rtc 20cc000.snvs:snvs-rtc-lp: rtc core: registered 20cc000.snvs:snvs-r as rtc0
i2c /dev entries driver
IR NEC protocol handler initialized
IR RC5(x/sz) protocol handler initialized
IR RC6 protocol handler initialized
IR JVC protocol handler initialized
IR Sony protocol handler initialized
IR SANYO protocol handler initialized
IR Sharp protocol handler initialized
IR MCE Keyboard/mouse protocol handler initialized
IR XMP protocol handler initialized
imx2-wdt 20bc000.wdog: timeout 60 sec (nowayout=0)
Bluetooth: HCI UART driver ver 2.3
Bluetooth: HCI UART protocol H4 registered
Bluetooth: HCI UART protocol BCSP registered
Bluetooth: HCI UART protocol ATH3K registered
usbcore: registered new interface driver bcm203x
usbcore: registered new interface driver btusb
usbcore: registered new interface driver ath3k
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
/soc/aips-bus@02100000/usdhc@02194000: voltage-ranges unspecified
sdhci-esdhc-imx 2194000.usdhc: No vmmc regulator found
sdhci-esdhc-imx 2194000.usdhc: No vqmmc regulator found
mmc1: SDHCI controller on 2194000.usdhc [2194000.usdhc] using ADMA
caam 2140000.caam: Entropy delay = 3200
caam 2140000.caam: Instantiated RNG4 SH0
mmc1: MAN_BKOPS_EN bit is not set
caam 2140000.caam: Instantiated RNG4 SH1
caam 2140000.caam: device ID = 0x0a16030000000000 (Era -524)
caam 2140000.caam: job rings = 3, qi = 0
usb 2-1: new high-speed USB device number 2 using ci_hdrc
mmc1: new DDR MMC card at address 0001
mmcblk1: mmc1:0001 Q2J54A 3.58 GiB
mmcblk1boot0: mmc1:0001 Q2J54A partition 1 16.0 MiB
mmcblk1boot1: mmc1:0001 Q2J54A partition 2 16.0 MiB
mmcblk1rpmb: mmc1:0001 Q2J54A partition 3 512 KiB
 mmcblk1: p1 p2
caam algorithms registered in /proc/crypto
caam_jr 2141000.jr0: registering rng-caam
platform caam_sm: blkkey_ex: 8 keystore units available
platform caam_sm: 64-bit clear key:
platform caam_sm: [0000] 00 01 02 03 04 0f 06 07
platform caam_sm: 64-bit black key:
platform caam_sm: [0000] a1 09 62 bd 5c c8 60 43
platform caam_sm: [0008] 00 9b f5 b2 9f d3 02 a5
platform caam_sm: 128-bit clear key:
platform caam_sm: [0000] 00 01 02 03 04 0f 06 07
platform caam_sm: [0008] 08 09 0a 0b 0c 0d 0e 0f
platform caam_sm: 128-bit black key:
platform caam_sm: [0000] 42 10 e3 68 cd d7 12 0b
platform caam_sm: [0008] 14 fe 9c a8 08 a3 a9 47
platform caam_sm: 192-bit clear key:
platform caam_sm: [0000] 00 01 02 03 04 0f 06 07
platform caam_sm: [0008] 08 09 0a 0b 0c 0d 0e 0f
platform caam_sm: [0016] 10 11 12 13 14 15 16 17
platform caam_sm: 192-bit black key:
platform caam_sm: [0000] 9a df f7 93 b0 7e 33 31
platform caam_sm: [0008] c4 71 67 a3 a3 a0 8b 88
platform caam_sm: [0016] a8 ed 94 a2 8f 65 72 1e
platform caam_sm: [0024] 2c ae 10 d6 35 37 50 3e
platform caam_sm: 256-bit clear key:
platform caam_sm: [0000] 00 01 02 03 04 0f 06 07
platform caam_sm: [0008] 08 09 0a 0b 0c 0d 0e 0f
platform caam_sm: [0016] 10 11 12 13 14 15 16 17
platform caam_sm: [0024] 18 19 1a 1b 1c 1d 1e 1f
platform caam_sm: 256-bit black key:
platform caam_sm: [0000] 53 20 d7 a5 3f 1c 48 c1
platform caam_sm: [0008] 5f e5 cb f5 fe 8e 96 31
platform caam_sm: [0016] 17 4d 33 df 11 d5 b4 36
platform caam_sm: [0024] e7 76 d6 f7 90 74 9a 17
platform caam_sm: 64-bit unwritten blob:
platform caam_sm: [0000] 00 00 00 00 00 00 00 00
platform caam_sm: [0008] 00 00 00 00 00 00 00 00
platform caam_sm: [0016] 00 00 00 00 00 00 00 00
platform caam_sm: [0024] 00 00 00 00 00 00 00 00
platform caam_sm: [0032] 00 00 00 00 00 00 00 00
platform caam_sm: [0040] 00 00 00 00 00 00 00 00
platform caam_sm: [0048] 00 00 00 00 00 00 00 00
platform caam_sm: [0056] 00 00 00 00 00 00 00 00
platform caam_sm: [0064] 00 00 00 00 00 00 00 00
platform caam_sm: [0072] 00 00 00 00 00 00 00 00
platform caam_sm: [0080] 00 00 00 00 00 00 00 00
platform caam_sm: [0088] 00 00 00 00 00 00 00 00
platform caam_sm: 128-bit unwritten blob:
platform caam_sm: [0000] 00 00 00 00 00 00 00 00
platform caam_sm: [0008] 00 00 00 00 00 00 00 00
platform caam_sm: [0016] 00 00 00 00 00 00 00 00
platform caam_sm: [0024] 00 00 00 00 00 00 00 00
platform caam_sm: [0032] 00 00 00 00 00 00 00 00
platform caam_sm: [0040] 00 00 00 00 00 00 00 00
platform caam_sm: [0048] 00 00 00 00 00 00 00 00
platform caam_sm: [0056] 00 00 00 00 00 00 00 00
platform caam_sm: [0064] 00 00 00 00 00 00 00 00
platform caam_sm: [0072] 00 00 00 00 00 00 00 00
platform caam_sm: [0080] 00 00 00 00 00 00 00 00
platform caam_sm: [0088] 00 00 00 00 00 00 00 00
platform caam_sm: 196-bit unwritten blob:
platform caam_sm: [0000] 00 00 00 00 00 00 00 00
platform caam_sm: [0008] 00 00 00 00 00 00 00 00
platform caam_sm: [0016] 00 00 00 00 00 00 00 00
platform caam_sm: [0024] 00 00 00 00 00 00 00 00
platform caam_sm: [0032] 00 00 00 00 00 00 00 00
platform caam_sm: [0040] 00 00 00 00 00 00 00 00
platform caam_sm: [0048] 00 00 00 00 00 00 00 00
platform caam_sm: [0056] 00 00 00 00 00 00 00 00
platform caam_sm: [0064] 00 00 00 00 00 00 00 00
platform caam_sm: [0072] 00 00 00 00 00 00 00 00
platform caam_sm: [0080] 00 00 00 00 00 00 00 00
platform caam_sm: [0088] 00 00 00 00 00 00 00 00
platform caam_sm: 256-bit unwritten blob:
platform caam_sm: [0000] 00 00 00 00 00 00 00 00
platform caam_sm: [0008] 00 00 00 00 00 00 00 00
platform caam_sm: [0016] 00 00 00 00 00 00 00 00
platform caam_sm: [0024] 00 00 00 00 00 00 00 00
platform caam_sm: [0032] 00 00 00 00 00 00 00 00
platform caam_sm: [0040] 00 00 00 00 00 00 00 00
platform caam_sm: [0048] 00 00 00 00 00 00 00 00
platform caam_sm: [0056] 00 00 00 00 00 00 00 00
platform caam_sm: [0064] 00 00 00 00 00 00 00 00
platform caam_sm: [0072] 00 00 00 00 00 00 00 00
platform caam_sm: [0080] 00 00 00 00 00 00 00 00
platform caam_sm: [0088] 00 00 00 00 00 00 00 00
platform caam_sm: 64-bit black key in blob:
platform caam_sm: [0000] 59 6c 85 43 09 7e 11 72
platform caam_sm: [0008] 17 f9 60 a6 31 75 d2 85
platform caam_sm: [0016] 6a 4f a5 f3 bf 35 f9 bc
platform caam_sm: [0024] 0b 57 d7 97 b3 93 0b 29
platform caam_sm: [0032] 11 23 f0 e8 fb bd e9 9b
platform caam_sm: [0040] e7 70 2a 4c 49 70 74 97
platform caam_sm: [0048] 7e e9 53 5e 4e fa 85 4f
platform caam_sm: [0056] 00 00 00 00 00 00 00 00
platform caam_sm: [0064] 00 00 00 00 00 00 00 00
platform caam_sm: [0072] 00 00 00 00 00 00 00 00
platform caam_sm: [0080] 00 00 00 00 00 00 00 00
platform caam_sm: [0088] 00 00 00 00 00 00 00 00
platform caam_sm: 128-bit black key in blob:
platform caam_sm: [0000] af 8e 02 a2 3f 11 82 c0
platform caam_sm: [0008] c6 59 40 f3 8a 37 31 98
platform caam_sm: [0016] 0d 7d 54 b3 2f 94 27 35
platform caam_sm: [0024] 86 94 49 3d d9 94 58 d2
platform caam_sm: [0032] fb 31 b4 21 19 43 f0 1d
platform caam_sm: [0040] fd 6e fb 89 5e 54 e1 dc
platform caam_sm: [0048] fd 44 22 8b 3f f8 cc f5
platform caam_sm: [0056] 9e 4f 61 27 b4 0e 3f 06
platform caam_sm: [0064] 00 00 00 00 00 00 00 00
platform caam_sm: [0072] 00 00 00 00 00 00 00 00
platform caam_sm: [0080] 00 00 00 00 00 00 00 00
platform caam_sm: [0088] 00 00 00 00 00 00 00 00
platform caam_sm: 192-bit black key in blob:
platform caam_sm: [0000] be c4 aa 60 93 a8 2a 28
platform caam_sm: [0008] a7 ae 7d ce 12 48 26 33
platform caam_sm: [0016] e1 50 34 1a d5 9f 3f 6d
platform caam_sm: [0024] 8c c3 96 66 30 92 4a d1
platform caam_sm: [0032] d9 ce 82 82 1f 6a d0 dc
platform caam_sm: [0040] 38 c8 21 37 77 fe 90 59
platform caam_sm: [0048] 3e 83 99 70 83 12 6c 80
platform caam_sm: [0056] d1 71 ed 3e 47 5d b0 8d
platform caam_sm: [0064] 54 47 f4 6d 58 b5 f0 49
platform caam_sm: [0072] 00 00 00 00 00 00 00 00
platform caam_sm: [0080] 00 00 00 00 00 00 00 00
platform caam_sm: [0088] 00 00 00 00 00 00 00 00
platform caam_sm: 256-bit black key in blob:
platform caam_sm: [0000] d8 2a 7b bf 96 d0 21 b9
platform caam_sm: [0008] 0b 91 e4 23 fb df 93 87
platform caam_sm: [0016] c0 d2 96 d3 b6 56 1c ff
platform caam_sm: [0024] 17 b6 df 81 13 2c d9 f9
platform caam_sm: [0032] 0e db 62 8d 58 60 d4 6b
platform caam_sm: [0040] 3d ff 3b 17 88 44 ed 12
platform caam_sm: [0048] 20 84 61 04 b4 f1 52 6f
platform caam_sm: [0056] d9 a9 6a fc e3 11 19 be
platform caam_sm: [0064] 61 45 18 ac aa be 80 37
platform caam_sm: [0072] fb f2 55 2a dd 23 d4 8a
platform caam_sm: [0080] 00 00 00 00 00 00 00 00
platform caam_sm: [0088] 00 00 00 00 00 00 00 00
platform caam_sm: restored 64-bit black key:
platform caam_sm: [0000] 4b 50 d7 16 71 c1 d5 1c
platform caam_sm: [0008] 69 aa 05 d6 f2 d4 35 3f
platform caam_sm: restored 128-bit black key:
platform caam_sm: [0000] 42 10 e3 68 cd d7 12 0b
platform caam_sm: [0008] 14 fe 9c a8 08 a3 a9 47
platform caam_sm: restored 192-bit black key:
platform caam_sm: [0000] 9a df f7 93 b0 7e 33 31
platform caam_sm: [0008] c4 71 67 a3 a3 a0 8b 88
platform caam_sm: [0016] 0d 3a 96 55 c5 2b 4b 30
platform caam_sm: [0024] 1c 97 ea ca e7 00 39 f3
platform caam_sm: restored 256-bit black key:
platform caam_sm: [0000] 53 20 d7 a5 3f 1c 48 c1
platform caam_sm: [0008] 5f e5 cb f5 fe 8e 96 31
platform caam_sm: [0016] 17 4d 33 df 11 d5 b4 36
platform caam_sm: [0024] e7 76 d6 f7 90 74 9a 17
snvs-secvio 20cc000.caam-snvs: can't get snvs clock
snvs-secvio 20cc000.caam-snvs: violation handlers armed - non-secure state
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
fsl-asrc 2034000.asrc: driver registered
NET: Registered protocol family 26
NET: Registered protocol family 10
sit: IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
can: controller area network core (rev 20120528 abi 9)
NET: Registered protocol family 29
can: raw protocol (rev 20120528)
can: broadcast manager protocol (rev 20120528 t)
can: netlink gateway (rev 20130117) max_hops=1
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM ver 1.11
Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Bluetooth: BNEP filters: protocol multicast
Bluetooth: BNEP socket layer initialized
Bluetooth: HIDP (Human Interface Emulation) ver 1.2
Bluetooth: HIDP socket layer initialized
8021q: 802.1Q VLAN Support v1.8
Key type dns_resolver registered
dhd_module_init in
snvs_rtc 20cc000.snvs:snvs-rtc-lp: setting system clock to 1970-01-01 00:00:01 UTC (1)
gpio_dvfs: disabling
clk: Not disabling unused clocks
ALSA device list:
  No soundcards found.
Freeing unused kernel memory: 428K (80b09000 - 80b74000)
Starting UTP
uuc 0.5 [built Aug 18 2015 20:29:48]
UTP: Waiting for device to appear

1515

目前做實驗使用 L4.1.15-1.0.0_ga-mfg-tools

搭配的 mfgtools\Profiles\Linux\OS Firmware\ucl2.xml 如下

<UCL>
  <CFG>
    <STATE name="BootStrap" dev="MX6SL" vid="15A2" pid="0063"/>
    <STATE name="BootStrap" dev="MX6D" vid="15A2" pid="0061"/>
    <STATE name="BootStrap" dev="MX6Q" vid="15A2" pid="0054"/>
    <STATE name="BootStrap" dev="MX6SX" vid="15A2" pid="0071"/>
    <STATE name="BootStrap" dev="MX6UL" vid="15A2" pid="007D"/>
    <STATE name="BootStrap" dev="MX7D" vid="15A2" pid="0076"/>
    <STATE name="Updater"   dev="MSC" vid="066F" pid="37FF"/>
  </CFG>

  

  <LIST name="SDCard" desc="Choose SD Card as media">

  <CMD state="BootStrap" type="boot" 
    body="BootStrap" file ="firmware/u-boot-imx6ulevk_sd.imx">Loading U-boot</CMD>
  <CMD state="BootStrap" type="load" 
    file="firmware/zImage" address="0x80800000"
    loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE">Loading Kernel.</CMD>
  <CMD state="BootStrap" type="load" 
    file="firmware/fsl-image-mfgtool-initramfs-imx_mfgtools.cpio.gz.u-boot" address="0x83800000"
    loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE">Loading Initramfs.</CMD>
  <CMD state="BootStrap" type="load" 
    file="firmware/zImage-imx6ul-14x14-evk.dtb" address="0x83000000"
    loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE">Loading device tree.</CMD>
  <CMD state="BootStrap" type="jump" > Jumping to OS image. </CMD>

  <CMD state="Updater" type="push" 
    body="send" file="mksdcard.sh.tar">Sending partition shell</CMD>
  <CMD state="Updater" type="push" 
    body="$ tar xf $FILE "> Partitioning...</CMD>
  <CMD state="Updater" type="push" 
    body="$ sh mksdcard.sh /dev/mmcblk1"> Partitioning...</CMD>

  <CMD state="Updater" type="push" 
    body="$ dd if=/dev/zero of=/dev/mmcblk1 bs=1k seek=384 conv=fsync count=129">clear u-boot arg</CMD>
  <CMD state="Updater" type="push" 
    body="$ echo 0 > /sys/block/mmcblk1boot0/force_ro">access boot partition 1</CMD>
  <CMD state="Updater" type="push" 
    body="send" file="files/u-boot.imx">Sending u-boot.bin</CMD>
  <CMD state="Updater" type="push" 
    body="$ dd if=$FILE of=/dev/mmcblk1boot0 bs=512 seek=2">write U-Boot to sd card</CMD>
  <CMD state="Updater" type="push" 
    body="$ echo 1 > /sys/block/mmcblk1boot0/force_ro"> re-enable read-only access </CMD>
  <CMD state="Updater" type="push" 
    body="$ mmc bootpart enable 1 1 /dev/mmcblk1">enable boot partion 1 to boot</CMD>



  <CMD state="Updater" type="push" 
    body="$ while [ ! -e /dev/mmcblk1p1 ]; do sleep 1; echo \"waiting...\"; done ">Waiting for the partition ready</CMD>
  <CMD state="Updater" type="push" 
    body="$ mkfs.vfat /dev/mmcblk1p1">Formatting rootfs partition</CMD>
  <CMD state="Updater" type="push" 
    body="$ mkdir -p /mnt/mmcblk1p1"/>
  <CMD state="Updater" type="push" 
    body="$ mount -t vfat /dev/mmcblk1p1 /mnt/mmcblk1p1"/>
  <CMD state="Updater" type="push" 
    body="send" file="files/zImage">Sending kernel zImage</CMD>
  <CMD state="Updater" type="push" 
    body="$ cp $FILE /mnt/mmcblk1p1/zImage">write kernel image to sd card</CMD>
  <CMD state="Updater" type="push" 
    body="send" file="files/imx6ul-14x14-evk.dtb">Sending Device Tree file</CMD>
  <CMD state="Updater" type="push" 
    body="$ cp $FILE /mnt/mmcblk1p1/imx6ul-14x14-evk.dtb">write device tree to sd card</CMD>
  <CMD state="Updater" type="push" 
    body="$ umount /mnt/mmcblk1p1">Unmounting vfat partition</CMD>



  <CMD state="Updater" type="push" body="$ echo Update Complete!">Done</CMD>

  </LIST>

</UCL>

mfgtools\Profiles\Linux\OS Firmware\firmware 只需要把原本的下述 file 留下來

  • zImage-imx6ul-14x14-evk.dtb
  • u-boot-imx6ulevk_sd.imx
  • fsl-image-mfgtool-initramfs-imx_mfgtools.cpio.gz.u-boot
  • zImage

mfgtools\Profiles\Linux\OS Firmware\files 的部分源頭如下

  • imx6ul-14x14-evk.dtb
    • build_small\tmp\work\m300e-poky-linux-gnueabi\linux-imx\4.1.15-r0\build\arch\arm\boot\dts\imx6ul-14x14-evk.dtb
  • u-boot.imx
    • build_small\tmp\work\m300e-poky-linux-gnueabi\u-boot-imx\2015.04-r0\git\mx6ul_14x14_evk_config\u-boot.imx
  • zImage
    • M300_GENERIC_v1.58_012C000015829BA3_mfgtools\mfgtools\Profiles\Linux\OS Firmware\files\zImage

1520

試著燒錄 rootfs 吧

ucl2.xml 加入以下部分

	<!-- burn rootfs -->
	<CMD state="Updater" type="push" body="$ mkfs.ext3 -j /dev/mmcblk%mmc%p2">Formatting rootfs partition</CMD>
	<CMD state="Updater" type="push" body="$ mkdir -p /mnt/mmcblk%mmc%p2"/>
	<CMD state="Updater" type="push" body="$ mount -t ext3 /dev/mmcblk%mmc%p2 /mnt/mmcblk%mmc%p2"/>
	<CMD state="Updater" type="push" body="pipe tar -jxv -C /mnt/mmcblk%mmc%p2" file="files/rootfs_nogpu.tar.bz2" ifdev="MX6UL MX7D">Sending and writting rootfs</CMD>
	<CMD state="Updater" type="push" body="frf">Finishing rootfs write</CMD>
	<CMD state="Updater" type="push" body="$ umount /mnt/mmcblk%mmc%p2">Unmounting rootfs partition</CMD>

mfgtools\Profiles\Linux\OS Firmware\files\rootfs_nogpu.tar.bz2 來自

M300_GENERIC_v1.58_012C000015829BA3_mfgtools\mfgtools\Profiles\Linux\OS Firmware\files\rootfs.tar.bz2

燒錄完成之後從 emmc 開機成功

U-Boot 2015.04imx_v2015.04_4.1.15_1.2.0_ga+gede7538 (Sep 26 2017 - 01:41:25)

CPU:   Freescale i.MX6UL rev1.2 at 396 MHz
CPU:   Temperature 43 C
Reset cause: POR
Board: MX6UL 14x14 EVK
I2C:   ready
DRAM:  512 MiB
force_idle_bus: sda=0 scl=0 sda.gp=0x1d scl.gp=0x1c
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
*** Warning - bad CRC, using default environment

Display: TFT43AB (480x272)
Video: 480x272x24
In:    serial
Out:   serial
Err:   serial
switch to partitions #0, OK
mmc1(part 0) is current device
Net:   FEC1
Error: FEC1 address not set.

Normal Boot
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc1(part 0) is current device
switch to partitions #0, OK
mmc1(part 0) is current device
reading boot.scr
** Unable to read file boot.scr **
reading zImage
4994864 bytes read in 126 ms (37.8 MiB/s)
Booting from mmc ...
reading imx6ul-14x14-evk.dtb
29152 bytes read in 17 ms (1.6 MiB/s)
Kernel image @ 0x80800000 [ 0x000000 - 0x4c3730 ]
## Flattened Device Tree blob at 83000000
   Booting using the fdt blob at 0x83000000
   Using Device Tree in place at 83000000, end 8300a1df
Modify /soc/aips-bus@02000000/bee@02044000:status disabled
ft_system_setup for mx6

Starting kernel ...

Booting Linux on physical CPU 0x0
Linux version 4.1.15-1.2.0+g77f6154 (jenkins@bfb8d80266c4) (gcc version 5.2.0 (GCC) ) #1 SMP PREEMPT Fri Sep 15 06:04:28 CST 2017
CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine model: Freescale i.MX6 UltraLite 14x14 EVK Board
cma: Reserved 320 MiB at 0x8c000000
Memory policy: Data cache writealloc
PERCPU: Embedded 12 pages/cpu @8bb35000 s17216 r8192 d23744 u49152
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 130048
Kernel command line: console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 181704K/524288K available (6144K kernel code, 338K rwdata, 2228K rodata, 384K init, 453K bss, 14904K reserved, 327680K cma-reserved, 0K highmem)
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    vmalloc : 0xa0800000 - 0xff000000   (1512 MB)
    lowmem  : 0x80000000 - 0xa0000000   ( 512 MB)
    pkmap   : 0x7fe00000 - 0x80000000   (   2 MB)
    modules : 0x7f000000 - 0x7fe00000   (  14 MB)
      .text : 0x80008000 - 0x80835564   (8374 kB)
      .init : 0x80836000 - 0x80896000   ( 384 kB)
      .data : 0x80896000 - 0x808ea9e0   ( 339 kB)
       .bss : 0x808ed000 - 0x8095e78c   ( 454 kB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Preemptible hierarchical RCU implementation.
        RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1.
RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
NR_IRQS:16 nr_irqs:16 16
mxc_clocksource_init 24000000
Switching to timer-based delay loop, resolution 41ns
sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
clocksource mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
Console: colour dummy device 80x30
Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
CPU: Testing write buffer coherency: ok
/cpus/cpu@0 missing clock-frequency property
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x80008280 - 0x800082d8
Brought up 1 CPUs
SMP: Total of 1 processors activated (48.00 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
clocksource jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
cpuidle: using governor ladder
cpuidle: using governor menu
hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 8 bytes.
imx6ul-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver
mxs-dma 1804000.dma-apbh: initialized
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
i2c i2c-0: IMX I2C adapter registered
i2c i2c-0: can't use DMA
pps_core: LinuxPPS API ver. 1 registered
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <[email protected]>
PTP clock support registered
Switched to clocksource mxc_timer1
NET: Registered protocol family 2
TCP established hash table entries: 4096 (order: 2, 16384 bytes)
TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
UDP hash table entries: 256 (order: 1, 8192 bytes)
UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
imx rpmsg driver is registered.
Bus freq driver module loaded
futex hash table entries: 256 (order: 2, 16384 bytes)
VFS: Disk quotas dquot_6.6.0
VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
NFS: Registering the id_resolver key type
Key type id_resolver registered
Key type id_legacy registered
jffs2: version 2.2. (NAND) c 2001-2006 Red Hat, Inc.
fuse init (API version 7.23)
NET: Registered protocol family 38
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
imx-weim 21b8000.weim: Driver registered.
imx-sdma 20ec000.sdma: no event needs to be remapped
imx-sdma 20ec000.sdma: loaded firmware 3.3
imx-sdma 20ec000.sdma: initialized
2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 19, base_baud = 5000000) is a IMX
console [ttymxc0] enabled
21e8000.serial: ttymxc1 at MMIO 0x21e8000 (irq = 225, base_baud = 5000000) is a IMX
21ec000.serial: ttymxc2 at MMIO 0x21ec000 (irq = 226, base_baud = 5000000) is a IMX
21f0000.serial: ttymxc3 at MMIO 0x21f0000 (irq = 227, base_baud = 5000000) is a IMX
21f4000.serial: ttymxc4 at MMIO 0x21f4000 (irq = 228, base_baud = 5000000) is a IMX
imx sema4 driver is registered.
brd: module loaded
loop: module loaded
ksz8795 spi32766.0: failed to read device ID(0xffff)
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <[email protected]>
CAN device driver interface
2090000.can supply xceiver not found, using dummy regulator
flexcan 2090000.can: device registered (reg_base=a09d8000, irq=25)
20b4000.ethernet supply phy not found, using dummy regulator
pps pps0: new PPS source ptp0
fec 20b4000.ethernet (unnamed net_device) (uninitialized): Invalid MAC address: 00:00:00:00:00:00
fec 20b4000.ethernet (unnamed net_device) (uninitialized): Using random MAC address: 4e:fb:c6:f4:4c:9b
libphy: fec_enet_mii_bus: probed
fec 20b4000.ethernet eth0: registered PHC device 0
2188000.ethernet supply phy not found, using dummy regulator
pps pps1: new PPS source ptp1
fec 2188000.ethernet (unnamed net_device) (uninitialized): Invalid MAC address: 00:00:00:00:00:00
fec 2188000.ethernet (unnamed net_device) (uninitialized): Using random MAC address: 9e:04:4d:55:61:30
fec 2188000.ethernet eth1: registered PHC device 1
PPP generic driver version 2.4.2
PPP BSD Compression module registered
PPP Deflate Compression module registered
PPP MPPE Compression module registered
NET: Registered protocol family 24
usbcore: registered new interface driver qmi_wwan
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-mxc: Freescale On-Chip EHCI Host driver
usbcore: registered new interface driver cdc_wdm
usbcore: registered new interface driver usb-storage
usbcore: registered new interface driver usbserial
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial support registered for generic
usbcore: registered new interface driver option
usbserial: USB Serial support registered for GSM modem (1-port)
usbcore: registered new interface driver usb_ehset_test
2184800.usbmisc supply vbus-wakeup not found, using dummy regulator
2184000.usb supply vbus not found, using dummy regulator
ci_hdrc ci_hdrc.0: EHCI Host Controller
ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1
ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
2184200.usb supply vbus not found, using dummy regulator
ci_hdrc ci_hdrc.1: EHCI Host Controller
ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 2
ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
snvs_rtc 20cc000.snvs:snvs-rtc-lp: rtc core: registered 20cc000.snvs:snvs-r as rtc0
i2c /dev entries driver
imx2-wdt 20bc000.wdog: timeout 60 sec (nowayout=0)
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
/soc/aips-bus@02100000/usdhc@02194000: voltage-ranges unspecified
sdhci-esdhc-imx 2194000.usdhc: No vmmc regulator found
sdhci-esdhc-imx 2194000.usdhc: No vqmmc regulator found
mmc1: SDHCI controller on 2194000.usdhc [2194000.usdhc] using ADMA
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
NET: Registered protocol family 26
nf_conntrack version 0.5.0 (7959 buckets, 31836 max)
xt_time: kernel timezone is -0000
ip_tables: (C) 2000-2006 Netfilter Core Team
Initializing XFRM netlink socket
NET: Registered protocol family 10
ip6_tables: (C) 2000-2006 Netfilter Core Team
sit: IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
NET: Registered protocol family 15
bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this.
mmc1: MAN_BKOPS_EN bit is not set
Bridge firewalling registered
can: controller area network core (rev 20120528 abi 9)
NET: Registered protocol family 29
can: raw protocol (rev 20120528)
can: broadcast manager protocol (rev 20120528 t)
can: netlink gateway (rev 20130117) max_hops=1
8021q: 802.1Q VLAN Support v1.8
Key type dns_resolver registered
mmc1: new DDR MMC card at address 0001
mmcblk1: mmc1:0001 Q2J54A 3.58 GiB
mmcblk1boot0: mmc1:0001 Q2J54A partition 1 16.0 MiB
snvs_rtc 20cc000.snvs:snvs-rtc-lp: setting system clock to 1970-01-01 00:00:00 UTC (0)
mmcblk1boot1: mmc1:0001 Q2J54A partition 2 16.0 MiB
mmcblk1rpmb: mmc1:0001 Q2J54A partition 3 512 KiB
 mmcblk1: p1 p2
gpio_dvfs: disabling
kjournald starting.  Commit interval 5 seconds
EXT3-fs (mmcblk1p2): using internal journal
EXT3-fs (mmcblk1p2): recovery complete
EXT3-fs (mmcblk1p2): mounted filesystem with ordered data mode
VFS: Mounted root (ext3 filesystem) on device 179:2.
devtmpfs: mounted
Freeing unused kernel memory: 384K (80836000 - 80896000)
INIT: version 2.88 booting
Starting udev
udevd[100]: starting version 182
random: dd urandom read with 26 bits of entropy available
usb 2-1: new high-speed USB device number 2 using ci_hdrc
Fri Sep 15 09:50:42 UTC 2017
option 2-1:1.0: GSM modem (1-port) converter detected
usb 2-1: GSM modem (1-port) converter now attached to ttyUSB0
option 2-1:1.1: GSM modem (1-port) converter detected
usb 2-1: GSM modem (1-port) converter now attached to ttyUSB1
option 2-1:1.2: GSM modem (1-port) converter detected
usb 2-1: GSM modem (1-port) converter now attached to ttyUSB2
option 2-1:1.3: GSM modem (1-port) converter detected
usb 2-1: GSM modem (1-port) converter now attached to ttyUSB3
ls: /etc/ipk-postinsts: No such file or directory
GobiNet: Quectel_Linux_GobiNet_SR01A02V15
GobiNet 2-1:1.4 eth2: register 'GobiNet' at usb-ci_hdrc.1-1, GobiNet Ethernet Device, a6:fc:f1:a1:e3:eb
INIT: Entering runlevel: 5
creating qcqmi2
usbcore: registered new interface driver GobiNet
Configuring network interfaces... ifup: unknown address type "inet"
Running local boot scripts (/etc/rc.local)Cannot open /dev/mtd1: No such file or directory
uboot_env_ver not match, patching for the current applicaiton
Cannot open /dev/mtd1: No such file or directory
Error: environment not initialized
Cannot open /dev/mtd1: No such file or directory
Error: environment not initialized
Cannot open /dev/mtd1: No such file or directory
Error: environment not initialized
Cannot open /dev/mtd1: No such file or directory
Error: environment not initialized
Cannot open /dev/mtd1: No such file or directory
Error: environment not initialized
Cannot open /dev/mtd1: No such file or directory
Error: environment not initialized
Cannot open /dev/mtd1: No such file or directory
Error: environment not initialized
Cannot open /dev/mtd1: No such file or directory
Error: environment not initialized
Cannot open /dev/mtd1: No such file or directory
Error: environment not initialized
Cannot open /dev/mtd1: No such file or directory
Error: environment not initialized
Cannot open /dev/mtd1: No such file or directory
Error: environment not initialized
Cannot open /dev/mtd1: No such file or directory
Error: environment not initialized
Cannot open /dev/mtd1: No such file or directory
Error: environment not initialized
Cannot open /dev/mtd1: No such file or directory
Error: environment not initialized
Cannot open /dev/mtd1: No such file or directory
Error: environment not initialized
Cannot open /dev/mtd1: No such file or directory
Error: environment not initialized
Cannot open /dev/mtd1: No such file or directory
Error: environment not initialized
Cannot open /dev/mtd1: No such file or directory
Error: environment not initialized
Cannot open /dev/mtd1: No such file or directory
Error: environment not initialized
error

m300 login:

不過實在不知道這樣算不算有把 rootfs 掛起來

⚠️ **GitHub.com Fallback** ⚠️