20170927_jeffrey - silenceuncrio/diary GitHub Wiki
review
MfgTool 工具停在 Jumping to OS image. 是因為 ucl2.xml 裡 %6uluboot% 變數我解釋錯誤
該變數在兩個地方都有定義
- cfg.ini
- 6uluboot=14x14ddr3arm2
- mfgtool2-yocto-mx-evk-sdcard-sd2.vbs
- wshShell.run "mfgtool2.exe -s ""6uluboot=evk"" "
而且 *.vbs 的定義會複寫掉 cfg.ini 的定義
最好都不要去修改 ucl2.xml 裡的變數
20170922_jeffrey#1400 的錯誤就不深究了
20170925_jeffrey#0925 的錯誤感覺跟 dtb 有關
那是因為我重新解壓一份官方的 L4.1.15_1.0.0_ga-mfg-tools.tar.gz
而且沒有去修改 ucl2.xml 裡的變數
這樣的燒錄過程從 MfgTool 的工具看來是 ok 的
不過切換 BOOT MODE 成 Internal Boot 還是無法從 emmc 開機
20170925_jeffrey#1610 已經確定怎麼燒錄
而且切換 BOOT MODE 成 Internal Boot 後已經可以從 emmc 開機
不過只確認 u-boot 可燒錄而且可從 emmc 開機
昨天 20170926_jeffrey#0950 的突破在於
我在 u-boot-imx 的 include\configs\mx6ul_14X14_evk.h 加入
#define CONFIG_MX6UL_EVK_EMMC_REWORK這樣一來 u-boot 便能認得 mmc 了
不過燒錄進去的 dtb 和 u-boot 期待的 dtb 不符合
Booting from mmc ...
reading imx6ul-14x14-evk.dtb
** Unable to read file imx6ul-14x14-evk.dtb **
20170926_jeffrey#1310 的價值在於
知道需要修改 imx6ul-14x14-evk.dts 來產生對應的 imx6ul-14x14-evk.dtb
燒錄了 u-boot, kernel 和 dtb 而且可從 emmc 開機
燒錄了 u-boot, kernel, dtb 和 rootfs 而且可從 emmc 開機
不過不能確定開機後的 rootfs 是否有 mount 成功
一次一小步的確認性
解壓 L4.1.15_1.0.0_ga-mfg-tools.tar.gz 得到 L4.1.15-1.0.0_ga-mfg-tools
解壓 L4.1.15-1.0.0_ga-mfg-tools\mfgtools-without-rootfs.tar.gz 得到 mfgtools
mfgtools 目錄下只留
- Profiles
- cfg.ini
- MfgTool2.exe
- mfgtool2-yocto-mx-evk-sdcard-sd2.vbs
- MfgToolLib.dll
- UICfg.ini
mfgtools\Profiles\Linux\OS Firmware 目錄下只留
- files
- firmware
- mksdcard.sh.tar
- ucl2.xml
mfgtools\Profiles\Linux\OS Firmware\files 目錄下檔案殺光
mfgtools\Profiles\Linux\OS Firmware\firmware 目錄下只留
- 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\ucl2.xml
<UCL>
<CFG>
<STATE name="BootStrap" dev="MX6UL" vid="15A2" pid="007D"/>
<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-imx6ul%6uluboot%_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/%initramfs%" address="0x83800000"
loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE">Loading Initramfs.</CMD>
<CMD state="BootStrap" type="load" file="firmware/zImage-imx6ul-%6uldtb%%ldo%.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="$ echo Update Complete!">Done</CMD>
</LIST>
</UCL>確認 echo Update Complete! 有被執行
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 48 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.
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 - 0x552a48 ]
## Loading init Ramdisk from Legacy Image at 83800000 ...
Image Name: fsl-image-mfgtool-initramfs-imx6
Image Type: ARM Linux RAMDisk Image (gzip compressed)
Data Size: 7565864 Bytes = 7.2 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 8300b7c9
Modify /soc/aips-bus@02000000/bee@02044000:status disabled
ft_system_setup for mx6
Starting kernel ...
Starting UTP
uuc 0.5 [built Mar 12 2016 19:04:20]
UTP: Waiting for device to appear
UTP: file/device node /dev/utp already exists
cpu_id is 0
UTP: received command '$ echo Update Complete!'
UTP: executing "echo Update Complete!"
Update Complete!
UTP: sending Succemmc1: MAN_BKOPS_EN bit is not set
ss to kernel for command $ echo Update Complete!.
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
utp_poll: pass returned.
base on 20170927_jeffrey#1110 再繼續前進
新增下述部分
<!-- 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>相關的 console 訊息如下
...
Starting UTP
uuc 0.5 [built Mar 12 2016 19:04:20]
UTP: Waiting for device to appear
UTP: file/device node /dmmc1: MAN_BKOPS_EN bit is not set
ev/utp already exists
cpu_id is 0
UTP: received command 'send'
UTP: sending Success to kernel for command send.
UTP: received command '$ tar xf $FILE '
UTP: executing "tar xf $FILE "
UTP: sending Success to kernel fommc1: new DDR MMC card at address 0001
r command $ tar xf $FILE .
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
utp_poll: pass returned.
UTP: received command '$ sh mksdcard.sh /dev/mmcblk1'
UTP: executing "sh mksdcard.sh /dev/mmcblk1"
1+0 records in
1+0 records out
1024 bytes (1.0 kB) copied, 0.0354207 s, 28.9 kB/s
Checking that no-one is using thirandom: sfdisk urandom read with 13 bits of entropy available
s disk right now ... OK
Disk /dev/mmcblk1: 3.6 GiB, 385037 mmcblk1: p1 p2
1072 bytes, 7520256 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
>>> Created a new DOS disklabel with disk identifier 0xf697dae7.
Created a new partition 1 of type 'W95 FAT32 (LBA)' and of size 500 MiB.
/dev/mmcblk1p2: Created a new partition 2 of type 'Linux' and of size 3 GiB.
/dev/mmcblk1p3:
New situation:
Device Boot Start End Sectors Size Id Type
/dev/mmcblk1p1 20480 1044479 1024000 500M c W95 FAT32 (LBA)
/dev/mmcblk1p2 1228800 7520255 6291456 3G 83 Linux
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
UTP: sending Success to kernel for command $ sh mksdcard.sh /dev/mmcblk1.
utp_poll: pass returned.
UTP: received command '$ echo Update Complete!'
UTP: executing "echo Update Complete!"
Update Complete!
UTP: sending Success to kernel for command $ echo Update Complete!.
utp_poll: pass returned.
這邊的 mksdcard.sh 內容如下
#!/bin/sh
# partition size in MB
BOOT_ROM_SIZE=10
# wait for the SD/MMC device node ready
while [ ! -e $1 ]
do
sleep 1
echo “wait for $1 appear”
done
# call sfdisk to create partition table
# destroy the partition table
node=$1
dd if=/dev/zero of=${node} bs=1024 count=1
sfdisk --force ${node} << EOF
${BOOT_ROM_SIZE}M,500M,0c
600M,,83
EOF去年的自己有玩過
看來今年還要玩一次
先不要鑽太深
總之 sh mksdcard.sh /dev/mmcblk1 執行完
UTP: received command '$ sh mksdcard.sh /dev/mmcblk1'
UTP: executing "sh mksdcard.sh /dev/mmcblk1"
1+0 records in
1+0 records out
1024 bytes (1.0 kB) copied, 0.0354207 s, 28.9 kB/s
Checking that no-one is using thirandom: sfdisk urandom read with 13 bits of entropy available
s disk right now ... OK
Disk /dev/mmcblk1: 3.6 GiB, 385037 mmcblk1: p1 p2
1072 bytes, 7520256 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
>>> Created a new DOS disklabel with disk identifier 0xf697dae7.
Created a new partition 1 of type 'W95 FAT32 (LBA)' and of size 500 MiB.
/dev/mmcblk1p2: Created a new partition 2 of type 'Linux' and of size 3 GiB.
/dev/mmcblk1p3:
New situation:
Device Boot Start End Sectors Size Id Type
/dev/mmcblk1p1 20480 1044479 1024000 500M c W95 FAT32 (LBA)
/dev/mmcblk1p2 1228800 7520255 6291456 3G 83 Linux
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
UTP: sending Success to kernel for command $ sh mksdcard.sh /dev/mmcblk1.
utp_poll: pass returned.
我們會有兩個 device
Device Boot Start End Sectors Size Id Type
/dev/mmcblk1p1 20480 1044479 1024000 500M c W95 FAT32 (LBA)
/dev/mmcblk1p2 1228800 7520255 6291456 3G 83 Linux
繼續擴充 ucl2.xml
<!-- 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>
<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%_sd.imx">Sending u-boot.bin</CMD>
<CMD state="Updater" type="push"
body="$ dd if=$FILE of=/dev/mmcblk%mmc% bs=1k seek=1 conv=fsync">write u-boot.bin 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>追加燒錄 uboot 的部分
執行 mfgtool2-yocto-mx-evk-sdcard-sd2.vbs 後 MfgTool2 會顯示警告
Iitialize operation failed, please refer to "MfgTool.log" for detailed
information, error code: 4.
mfgtools\MfgTool.log 內容如下
DLL version: 2.6.2
Wednesday, September 27, 2017 14:00:41 Start new logging
ModuleID[2] LevelID[1]: Push command--file D:\m300\tools\L4.1.15-1.0.0_ga-mfg-tools\mfgtools\Profiles\linux\OS Firmware\files\u-boot-imx6ulevk_sd.imx failed to open.errcode is 2
ModuleID[2] LevelID[1]: Parse ucl script failed, error code: 4
在 u-boot-imx 的 include\configs\mx6ul_14X14_evk.h 加入
#define CONFIG_MX6UL_EVK_EMMC_REWORK後會在
`build_small\tmp\work\m300e-poky-linux-gnueabi\u-boot-imx\2015.04-r0\git\mx6ul_14x14_evk_config`
得到 u-boot.imx
複製並更名到 mfgtools\Profiles\Linux\OS Firmware\files\u-boot-imx6ulevk_sd.imx
燒錄過程的 console 相關紀錄如下
...
Starting UTP
uuc 0.5 [built Mar 12 2016 19:04:20]
UTP: Waiting for device to appear
UTP: file/device node /dev/utp already exists
cpu_id is 0
UTP: received command 'send'
UTP: sending Success to kernel for command send.
UTP: received command '$ tar xf $FILE '
UTP: executing "tar xf $FILE "
UTP: sending Success to kernel fommc1: MAN_BKOPS_EN bit is not set
r command $ tar xf $FILE .
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
utp_poll: pass returned.
UTP: received command '$ sh mksdcard.sh /dev/mmcblk1'
UTP: executing "sh mksdcard.sh /dev/mmcblk1"
1+0 records in
1+0 records out
1024 bytes (1.0 kB) copied, 0.0322874 s, 31.7 kB/s
Checking that no-one is using thirandom: sfdisk urandom read with 13 bits of entropy available
s disk right now ... OK
Disk /dev/mmcblk1: 3.6 GiB, 385037 mmcblk1: p1 p2
1072 bytes, 7520256 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
>>> Created a new DOS disklabel with disk identifier 0x9f867311.
Created a new partition 1 of type 'W95 FAT32 (LBA)' and of size 500 MiB.
/dev/mmcblk1p2: Created a new partition 2 of type 'Linux' and of size 3 GiB.
/dev/mmcblk1p3:
New situation:
Device Boot Start End Sectors Size Id Type
/dev/mmcblk1p1 20480 1044479 1024000 500M c W95 FAT32 (LBA)
/dev/mmcblk1p2 1228800 7520255 6291456 3G 83 Linux
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
UTP: sending Success to kernel for command $ sh mksdcard.sh /dev/mmcblk1.
utp_poll: pass returned.
UTP: received command '$ dd if=/dev/zero of=/dev/mmcblk1 bs=1k seek=384 conv=fsync count=129'
UTP: executing "dd if=/dev/zero of=/dev/mmcblk1 bs=1k seek=384 conv=fsync count=129"
129+0 records in
129+0 records out
132096 bytes (132 kB) copied, 0.0333679 s, 4.0 MB/s
UTP: sending Success to kernel for command $ dd if=/dev/zero of=/dev/mmcblk1 bs=1k seek=384 conv=fsync count=129.
utp_poll: pass returned.
UTP: received command '$ echo 0 > /sys/block/mmcblk1boot0/force_ro'
UTP: executing "echo 0 > /sys/block/mmcblk1boot0/force_ro"
UTP: sending Success to kernel for command $ echo 0 > /sys/block/mmcblk1boot0/force_ro.
utp_poll: pass returned.
UTP: received command 'send'
UTP: sending Success to kernel for command send.
UTP: received command '$ dd if=$FILE of=/dev/mmcblk1 bs=1k seek=1 conv=fsync'
UTP: executing "dd if=$FILE of=/dev/mmcblk1 bs=1k seek=1 conv=fsync"
355+0 records in
355+0 records out
363520 bytes (364 kB) copied, 0.0712556 s, 5.1 MB/s
UTP: sending Success to kernel for command $ dd if=$FILE of=/dev/mmcblk1 bs=1k seek=1 conv=fsync.
utp_poll: pass returned.
UTP: received command '$ echo 1 > /sys/block/mmcblk1boot0/force_ro'
UTP: executing "echo 1 > /sys/block/mmcblk1boot0/force_ro"
UTP: sending Success to kernel for command $ echo 1 > /sys/block/mmcblk1boot0/force_ro.
utp_poll: pass returned.
UTP: received command '$ echo Update Complete!'
UTP: executing "echo Update Complete!"
Update Complete!
UTP: sending Success to kernel for command $ echo Update Complete!.
utp_poll: pass returned.
切換 BOOT MODE 成 Internal Boot
確定可以從 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.1 at 396 MHz
CPU: Temperature 41 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
** Unable to read file zImage **
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!
=>
繼續前進
追加 zImage 以及 dtb 的燒錄部分
<CMD state="Updater" type="push"
body="$ while [ ! -e /dev/mmcblk%mmc%p1 ]; do sleep 1; echo \"waiting...\"; done ">Waiting for the partition ready</CMD>
<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</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/imx6ul-%6uldtb%%ldo%.dtb">Sending Device Tree file</CMD>
<CMD state="Updater" type="push"
body="$ cp $FILE /mnt/mmcblk%mmc%p1/imx6ul-%6uldtb%.dtb">write device tree to sd card</CMD>
<CMD state="Updater" type="push" body="$ umount /mnt/mmcblk%mmc%p1">Unmounting vfat partition</CMD>mfgtools\Profiles\Linux\OS Firmware\files\zImage 從最近一次的 release M300_GENERIC_v1.58_012C000015829BA3_mfgtools.rar 拿
具體位置在 M300_GENERIC_v1.58_012C000015829BA3_mfgtools\mfgtools\Profiles\Linux\OS Firmware\files\zImage
至於 mfgtools\Profiles\Linux\OS Firmware\files\imx6ul-14x14-evk.dtb
要從修改過 imx6ul-14x14-evk.dts 產生的 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
燒錄過程相關的 console 紀錄如下
...
Starting UTP
uuc 0.5 [built Mar 12 2016 19:04:20]
UTP: Waiting for device to appear
UTP: file/device node /dev/utp already exists
cpu_id is 0
UTP: received command 'send'
UTP: sending Success to kernel for command send.
UTP: received command '$ tar xf $FILE '
UTP: executing "tar xf $FILE "
mmc1: MAN_BKOPS_EN bit is not set
UTP: sending Success to kernel for command $ tar xf $FILE .
mmc1: new DDR MMC card at address 0001
mmcblk1: mmc1:0001 M62704 3.53 GiB
mmcblk1boot0: mmc1:0001 M62704 partition 1 2.00 MiB
mmcblk1boot1: mmc1:0001 M62704 partition 2 2.00 MiB
mmcblk1rpmb: mmc1:0001 M62704 partition 3 512 KiB
mmcblk1: p1 p2
utp_poll: pass returned.
UTP: received command '$ sh mksdcard.sh /dev/mmcblk1'
UTP: executing "sh mksdcard.sh /dev/mmcblk1"
1+0 records in
1+0 records out
1024 bytes (1.0 kB) copied, 0.0558979 s, 18.3 kB/s
Checking that no-one is using thirandom: sfdisk urandom read with 13 bits of entropy available
s disk right now ... OK
Disk /dev/mmcblk1: 3.5 GiB, 379165 mmcblk1: p1 p2
0816 bytes, 7405568 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
>>> Created a new DOS disklabel with disk identifier 0xd9473c62.
Created a new partition 1 of type 'W95 FAT32 (LBA)' and of size 500 MiB.
/dev/mmcblk1p2: Created a new partition 2 of type 'Linux' and of size 3 GiB.
/dev/mmcblk1p3:
New situation:
Device Boot Start End Sectors Size Id Type
/dev/mmcblk1p1 20480 1044479 1024000 500M c W95 FAT32 (LBA)
/dev/mmcblk1p2 1228800 7405567 6176768 3G 83 Linux
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
UTP: sending Success to kernel for command $ sh mksdcard.sh /dev/mmcblk1.
utp_poll: pass returned.
UTP: received command '$ dd if=/dev/zero of=/dev/mmcblk1 bs=1k seek=384 conv=fsync count=129'
UTP: executing "dd if=/dev/zero of=/dev/mmcblk1 bs=1k seek=384 conv=fsync count=129"
129+0 records in
129+0 records out
132096 bytes (132 kB) copied, 0.0307522 s, 4.3 MB/s
UTP: sending Success to kernel for command $ dd if=/dev/zero of=/dev/mmcblk1 bs=1k seek=384 conv=fsync count=129.
utp_poll: pass returned.
UTP: received command '$ echo 0 > /sys/block/mmcblk1boot0/force_ro'
UTP: executing "echo 0 > /sys/block/mmcblk1boot0/force_ro"
UTP: sending Success to kernel for command $ echo 0 > /sys/block/mmcblk1boot0/force_ro.
utp_poll: pass returned.
UTP: received command 'send'
UTP: sending Success to kernel for command send.
UTP: received command '$ dd if=$FILE of=/dev/mmcblk1 bs=1k seek=1 conv=fsync'
UTP: executing "dd if=$FILE of=/dev/mmcblk1 bs=1k seek=1 conv=fsync"
355+0 records in
355+0 records out
363520 bytes (364 kB) copied, 0.0689306 s, 5.3 MB/s
UTP: sending Success to kernel for command $ dd if=$FILE of=/dev/mmcblk1 bs=1k seek=1 conv=fsync.
utp_poll: pass returned.
UTP: received command '$ echo 1 > /sys/block/mmcblk1boot0/force_ro'
UTP: executing "echo 1 > /sys/block/mmcblk1boot0/force_ro"
UTP: sending Success to kernel for command $ echo 1 > /sys/block/mmcblk1boot0/force_ro.
utp_poll: pass returned.
UTP: received command '$ while [ ! -e /dev/mmcblk1p1 ]; do sleep 1; echo "waiting..."; done '
UTP: executing "while [ ! -e /dev/mmcblk1p1 ]; do sleep 1; echo "waiting..."; done "
UTP: sending Success to kernel for command $ while [ ! -e /dev/mmcblk1p1 ]; do sleep 1; echo "waiting..."; done .
utp_poll: pass returned.
UTP: received command '$ mkfs.vfat /dev/mmcblk1p1'
UTP: executing "mkfs.vfat /dev/mmcblk1p1"
mkfs.fat 3.0.28 (2015-05-16)
UTP: sending Success to kernel for command $ mkfs.vfat /dev/mmcblk1p1.
utp_poll: pass returned.
UTP: received command '$ mkdir -p /mnt/mmcblk1p1'
UTP: executing "mkdir -p /mnt/mmcblk1p1"
UTP: sending Success to kernel for command $ mkdir -p /mnt/mmcblk1p1.
utp_poll: pass returned.
UTP: received command '$ mount -t vfat /dev/mmcblk1p1 /mnt/mmcblk1p1'
UTP: executing "mount -t vfat /dev/mmcblk1p1 /mnt/mmcblk1p1"
UTP: sending Success to kernel for command $ mount -t vfat /dev/mmcblk1p1 /mnt/mmcblk1p1.
utp_poll: pass returned.
UTP: received command 'send'
UTP: sending Success to kernel for command send.
UTP: received command '$ cp $FILE /mnt/mmcblk1p1/zImage'
UTP: executing "cp $FILE /mnt/mmcblk1p1/zImage"
UTP: sending Success to kernel for command $ cp $FILE /mnt/mmcblk1p1/zImage.
utp_poll: pass returned.
UTP: received command 'send'
UTP: sending Success to kernel for command send.
UTP: received command '$ cp $FILE /mnt/mmcblk1p1/imx6ul-14x14-evk.dtb'
UTP: executing "cp $FILE /mnt/mmcblk1p1/imx6ul-14x14-evk.dtb"
UTP: sending Success to kernel for command $ cp $FILE /mnt/mmcblk1p1/imx6ul-14x14-evk.dtb.
utp_poll: pass returned.
UTP: received command '$ umount /mnt/mmcblk1p1'
UTP: executing "umount /mnt/mmcblk1p1"
UTP: sending Success to kernel for command $ umount /mnt/mmcblk1p1.
utp_poll: pass returned.
UTP: received command '$ echo Update Complete!'
UTP: executing "echo Update Complete!"
Update Complete!
UTP: sending Success to kernel for command $ echo Update Complete!.
utp_poll: pass returned.
切換 BOOT MODE 成 Internal Boot 從 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.1 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 16 ms (1.7 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: 36:f0:5f:d0:d4:da
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: 36:ce:33:49:5c:6b
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 M62704 3.53 GiB
mmcblk1boot0: mmc1:0001 M62704 partition 1 2.00 MiB
snvs_rtc 20cc000.snvs:snvs-rtc-lp: setting system clock to 1970-01-01 00:00:00 UTC (0)
mmcblk1boot1: mmc1:0001 M62704 partition 2 2.00 MiB
mmcblk1rpmb: mmc1:0001 M62704 partition 3 512 KiB
mmcblk1: p1 p2
gpio_dvfs: disabling
List of all partitions:
0100 65536 ram0 (driver?)
0101 65536 ram1 (driver?)
0102 65536 ram2 (driver?)
0103 65536 ram3 (driver?)
0104 65536 ram4 (driver?)
0105 65536 ram5 (driver?)
0106 65536 ram6 (driver?)
0107 65536 ram7 (driver?)
0108 65536 ram8 (driver?)
0109 65536 ram9 (driver?)
010a 65536 ram10 (driver?)
010b 65536 ram11 (driver?)
010c 65536 ram12 (driver?)
010d 65536 ram13 (driver?)
010e 65536 ram14 (driver?)
010f 65536 ram15 (driver?)
b300 3702784 mmcblk1 driver: mmcblk
b301 512000 mmcblk1p1 d9473c62-01
b302 3088384 mmcblk1p2 d9473c62-02
b318 512 mmcblk1rpmb (driver?)
b310 2048 mmcblk1boot1 (driver?)
b308 2048 mmcblk1boot0 (driver?)
No filesystem could mount root, tried: ext3 ext2 ext4 vfat fuseblk
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2)
---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2)
繼續前進
<!-- 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">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>作 rootfs 的燒錄
mfgtools\Profiles\Linux\OS Firmware\files\rootfs_nogpu.tar.bz2 從最近一次的 release M300_GENERIC_v1.58_012C000015829BA3_mfgtools.rar 拿
具體位置在 M300_GENERIC_v1.58_012C000015829BA3_mfgtools\mfgtools\Profiles\Linux\OS Firmware\files\rootfs.tar.bz2
記得更名成 rootfs_nogpu.tar.bz2
燒錄過程相關的 console 紀錄節錄如下
...
Starting UTP
uuc 0.5 [built Mar 12 2016 19:04:20]
UTP: Waiting for device to appear
UTP: file/device node /dev/utp already exists
cpu_id is 0
UTP: received command 'send'
UTP: sending Success to kernel for command send.
mmc1: MAN_BKOPS_EN bit is not set
UTP: received command '$ tar xf $FILE '
UTP: executing "tar xf $FILE "
mmc1: new DDR MMC card at address 0001
mmcblk1: mmc1:0001 M62704 3.53 GiB
mmcblk1boot0: mmc1:0001 M62704 partition 1 2.00 MiB
UTP: sending Success to kernel fommcblk1boot1: mmc1:0001 M62704 partition 2 2.00 MiB
r command $ tar xf $FILE .
mmcblk1rpmb: mmc1:0001 M62704 partition 3 512 KiB
mmcblk1: p1 p2
utp_poll: pass returned.
UTP: received command '$ sh mksdcard.sh /dev/mmcblk1'
UTP: executing "sh mksdcard.sh /dev/mmcblk1"
1+0 records in
1+0 records out
1024 bytes (1.0 kB) copied, 0.0502382 s, 20.4 kB/s
Checking that no-one is using thirandom: sfdisk urandom read with 12 bits of entropy available
s disk right now ... OK
Disk /dev/mmcblk1: 3.5 GiB, 379165 mmcblk1: p1 p2
0816 bytes, 7405568 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
>>> Created a new DOS disklabel with disk identifier 0xb4e67651.
Created a new partition 1 of type 'W95 FAT32 (LBA)' and of size 500 MiB.
/dev/mmcblk1p2: Created a new partition 2 of type 'Linux' and of size 3 GiB.
/dev/mmcblk1p3:
New situation:
Device Boot Start End Sectors Size Id Type
/dev/mmcblk1p1 20480 1044479 1024000 500M c W95 FAT32 (LBA)
/dev/mmcblk1p2 1228800 7405567 6176768 3G 83 Linux
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
UTP: sending Success to kernel for command $ sh mksdcard.sh /dev/mmcblk1.
utp_poll: pass returned.
UTP: received command '$ dd if=/dev/zero of=/dev/mmcblk1 bs=1k seek=384 conv=fsync count=129'
UTP: executing "dd if=/dev/zero of=/dev/mmcblk1 bs=1k seek=384 conv=fsync count=129"
129+0 records in
129+0 records out
132096 bytes (132 kB) copied, 0.0310592 s, 4.3 MB/s
UTP: sending Success to kernel for command $ dd if=/dev/zero of=/dev/mmcblk1 bs=1k seek=384 conv=fsync count=129.
utp_poll: pass returned.
UTP: received command '$ echo 0 > /sys/block/mmcblk1boot0/force_ro'
UTP: executing "echo 0 > /sys/block/mmcblk1boot0/force_ro"
UTP: sending Success to kernel for command $ echo 0 > /sys/block/mmcblk1boot0/force_ro.
utp_poll: pass returned.
UTP: received command 'send'
UTP: sending Success to kernel for command send.
UTP: received command '$ dd if=$FILE of=/dev/mmcblk1 bs=1k seek=1 conv=fsync'
UTP: executing "dd if=$FILE of=/dev/mmcblk1 bs=1k seek=1 conv=fsync"
355+0 records in
355+0 records out
363520 bytes (364 kB) copied, 0.068675 s, 5.3 MB/s
UTP: sending Success to kernel for command $ dd if=$FILE of=/dev/mmcblk1 bs=1k seek=1 conv=fsync.
utp_poll: pass returned.
UTP: received command '$ echo 1 > /sys/block/mmcblk1boot0/force_ro'
UTP: executing "echo 1 > /sys/block/mmcblk1boot0/force_ro"
UTP: sending Success to kernel for command $ echo 1 > /sys/block/mmcblk1boot0/force_ro.
utp_poll: pass returned.
UTP: received command '$ while [ ! -e /dev/mmcblk1p1 ]; do sleep 1; echo "waiting..."; done '
UTP: executing "while [ ! -e /dev/mmcblk1p1 ]; do sleep 1; echo "waiting..."; done "
UTP: sending Success to kernel for command $ while [ ! -e /dev/mmcblk1p1 ]; do sleep 1; echo "waiting..."; done .
utp_poll: pass returned.
UTP: received command '$ mkfs.vfat /dev/mmcblk1p1'
UTP: executing "mkfs.vfat /dev/mmcblk1p1"
mkfs.fat 3.0.28 (2015-05-16)
UTP: sending Success to kernel for command $ mkfs.vfat /dev/mmcblk1p1.
utp_poll: pass returned.
UTP: received command '$ mkdir -p /mnt/mmcblk1p1'
UTP: executing "mkdir -p /mnt/mmcblk1p1"
UTP: sending Success to kernel for command $ mkdir -p /mnt/mmcblk1p1.
utp_poll: pass returned.
UTP: received command '$ mount -t vfat /dev/mmcblk1p1 /mnt/mmcblk1p1'
UTP: executing "mount -t vfat /dev/mmcblk1p1 /mnt/mmcblk1p1"
UTP: sending Success to kernel for command $ mount -t vfat /dev/mmcblk1p1 /mnt/mmcblk1p1.
utp_poll: pass returned.
UTP: received command 'send'
UTP: sending Success to kernel for command send.
UTP: received command '$ cp $FILE /mnt/mmcblk1p1/zImage'
UTP: executing "cp $FILE /mnt/mmcblk1p1/zImage"
UTP: sending Success to kernel for command $ cp $FILE /mnt/mmcblk1p1/zImage.
utp_poll: pass returned.
UTP: received command 'send'
UTP: sending Success to kernel for command send.
UTP: received command '$ cp $FILE /mnt/mmcblk1p1/imx6ul-14x14-evk.dtb'
UTP: executing "cp $FILE /mnt/mmcblk1p1/imx6ul-14x14-evk.dtb"
UTP: sending Success to kernel for command $ cp $FILE /mnt/mmcblk1p1/imx6ul-14x14-evk.dtb.
utp_poll: pass returned.
UTP: received command '$ umount /mnt/mmcblk1p1'
UTP: executing "umount /mnt/mmcblk1p1"
UTP: sending Success to kernel for command $ umount /mnt/mmcblk1p1.
utp_poll: pass returned.
UTP: received command '$ mkfs.ext3 -j /dev/mmcblk1p2'
UTP: executing "mkfs.ext3 -j /dev/mmcblk1p2"
mke2fs 1.42.9 (28-Dec-2013)
Discarding device blocks: random: nonblocking pool is initialized
done
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
193152 inodes, 772096 blocks
38604 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=792723456
24 block groups
32768 blocks per group, 32768 fragments per group
8048 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
UTP: sending Success to kernel for command $ mkfs.ext3 -j /dev/mmcblk1p2.
utp_poll: pass returned.
UTP: received command '$ mkdir -p /mnt/mmcblk1p2'
UTP: executing "mkdir -p /mnt/mmcblk1p2"
UTP: sending Success to kernel for command $ mkdir -p /mnt/mmcblk1p2.
utp_poll: pass returned.
UTP: received command '$ mount -t ext3 /dev/mmcblk1p2 /mnt/mmcblk1p2'
UTP: executing "mount -t ext3 /dev/mmcblk1p2 /mnt/mmcblk1p2"
kjournald starting. Commit interval 5 seconds
EXT3-fs (mmcblk1p2): using internal journal
EXT3-fs (mmcblk1p2): mounted filesystem with ordered data mode
UTP: sending Success to kernel for command $ mount -t ext3 /dev/mmcblk1p2 /mnt/mmcblk1p2.
utp_poll: pass returned.
UTP: received command 'pipe tar -jxv -C /mnt/mmcblk1p2'
pid is 83, UTP: executing "tar -jxv -C /mnt/mmcblk1p2"
UTP: sending Success to kernel for command pipe tar -jxv -C /mnt/mmcblk1p2.
./
./sbin/
./sbin/ip
...
切換 BOOT MODE 成 Internal Boot 從 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.1 at 396 MHz
CPU: Temperature 42 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: 1a:32:19:ef:59:75
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: 4a:ab:18:97:9c:80
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 M62704 3.53 GiB
mmcblk1boot0: mmc1:0001 M62704 partition 1 2.00 MiB
snvs_rtc 20cc000.snvs:snvs-rtc-lp: setting system clock to 1970-01-01 00:00:00 UTC (0)
mmcblk1boot1: mmc1:0001 M62704 partition 2 2.00 MiB
mmcblk1rpmb: mmc1:0001 M62704 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): 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 25 bits of entropy available
usb 2-1: new high-speed USB device number 2 using ci_hdrc
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
GobiNet: Quectel_Linux_GobiNet_SR01A02V15
GobiNet 2-1:1.4 eth2: register 'GobiNet' at usb-ci_hdrc.1-1, GobiNet Ethernet Device, e6:e6:c6:5e:b5:b4
creating qcqmi2
usbcore: registered new interface driver GobiNet
Fri Sep 15 09:50:42 UTC 2017
Running postinst /etc/rpm-postinsts/100-dnsmasq...
Running postinst /etc/rpm-postinsts/101-keepalived...
Running postinst /etc/rpm-postinsts/102-dropbear...
Running postinst /etc/rpm-postinsts/103-postfix...
INIT: Entering runlevel: 5
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:
注意到
VFS: Mounted root (ext3 filesystem) on device 179:2.
這代表 rootfs 已經 mount 成功了
這樣的版本已經可以拿給 morris 進行溫度測試了
感謝 tina
幫我女兒的滿月禮金都搞定了
全部有 29 份 - 兩個素食
原則上是請彌月蛋糕的業者直接送 29 份到公司來
日期的話如果不喜歡 10 月 13 日 禮拜五的話
禮拜二也可以