0

Yocto 新平台移植 [迅为IMX6UL]

 1 year ago
source link: https://www.taterli.com/8988/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Yocto 新平台移植 [迅为IMX6UL]

Yocto 新平台移植 [迅为IMX6UL]

写在前面:其实移植难度不大,全力去干估计半天到一天能搞定,所以大家也不要惧怕.

Yocto是本世纪最好的公举没有之一了,当然他移植一个新的平台也就相当便捷,然后就能有全开源的新开发环境.不用再依赖厂商的小东西,于是,斥巨资又在海鲜市场买了个只有原理图的IMX6UL开发板,到手后发现是Linux 2.6且启动正常,这就OK.

image-18.png

移植,其实就是把硬件有区别部分分离出来,既学会了移植,那么有没有官方资料那一点都不重要,有原理图就行,除非,原理图都不给.

可以知道,配置是256 DDR3L + 256 SLC NAND.既然移植,那就移植最新的,就在目前最新Ubuntu 22.04 LTS上做移植(为什么国内教程全是老版本,因为他们学的知识太老旧了?)

image-19.png

我们需要两部分,下载后请先全部阅读一遍,把开发环境搭建好.

  • i.MX Porting Guide
  • i.MX Yocto Project User’s Guide​
  • Supported Platforms/Binary Demo Files​ - 下载对应平台,包含UUU的模板.

第一步,不管什么板子,先做一个官方EVM构建.

# 获取SDK
repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-kirkstone -m imx-5.15.52-2.1.0.xml
DISTRO=fsl-imx-fb MACHINE=imx6ulevk source imx-setup-release.sh -b build

# 构建完整版,精简版(因为NAND太小),烧录镜像,SDK,time只是为了记录时间.
time bitbake imx-image-full
time bitbake fsl-image-mfgtool-initramfs
time bitbake imx-image-full -c populate_sdk
time bitbake core-image-base

这里需要非常长的时间,当然这个是一定成功的.不成功都是自己问题,比如网络,反正这里步能成为你的障碍,否则就不能进行下去了,至于虚拟机/物理机要多少配置,i.MX Yocto Project User’s Guide​里面都有说,当然包括上述步骤也有说,所以建议先打开整体看一遍.

构建过程截图(默认使用2倍系统线程数构建,无需调节的).

image-22.png

这个初次构建需要大量时间,这里的时间仅供参考(Ryzen 5950X),其中第一次构建是包含下载过程,因此会更长,截图是第一个完整构建.

image-24.png

先用官方给的例子版UUU,下载Nand版本的Demo,按照模板填写文件即可,这里不应该出现什么问题.

现在应该是无法启动的,当然,硬件相关的我们还没移植呢?下载两个相关Repo.

git clone https://github.com/nxp-imx/uboot-imx
git checkout 16e8414193985cf7a171f7b79e12ff30700157ba

git clone https://github.com/nxp-imx/linux-imx.git
git checkout 36363d8623ba60858e2632b7d2b70dae932c9a8b

然后解决第一个问题,内存选型不同.这里用的是官方的计算表格,之前也有说,计算后应下载老化几天.

参数没问题,那么挨个寄存器保存为imximage.cfg,之后配置dts以及板级的描述,这里和官方板的几个区别.

  • LCD 电源是74HC595控制的,因此需要修改默认数值.
  • U-Boot默认在FB阶段并不会初始化IO,虽然不影响操作,但是会烧录过程黑屏,可以通过初始化时候强制遍历一遍IO修复.
  • 讯为的板子上没有PMU,因此不需要那部分代码.
  • 官方U-Boot没有设置MAC地址,因此需要手动设置.
  • 讯为板子没有直接引线出触摸,可以删除,U-Boot阶段也暂时不考虑他.毕竟最小启动,速度最快.
  • 讯为的OTG_ID没有正确处理,因此需要特殊处理,修改硬件上拉或者这里均可 => https://www.taterli.com/8973/
  • NAND比较小,调节分区.
  • 屏幕分辨率较小(480X272)

具体修改文件,具体移植参考之前内容.

位于分支 lf_v2022.04
您的分支与上游分支 'origin/lf_v2022.04' 一致。

要提交的变更:

  (使用 "git restore --staged <文件>..." 以取消暂存)

	修改:     arch/arm/dts/Makefile
	新文件:   arch/arm/dts/imx6ul-14x14-topeet.dts
	修改:     arch/arm/mach-imx/mx6/Kconfig
	新文件:   board/freescale/mx6ul_14x14_topeet/Kconfig
	新文件:   board/freescale/mx6ul_14x14_topeet/MAINTAINERS
	新文件:   board/freescale/mx6ul_14x14_topeet/Makefile
	新文件:   board/freescale/mx6ul_14x14_topeet/imximage.cfg
	新文件:   board/freescale/mx6ul_14x14_topeet/mx6ul_14x14_topeet.c
	新文件:   board/freescale/mx6ul_14x14_topeet/plugin.S
	新文件:   configs/mx6ul_14x14_topeet_defconfig
	新文件:   include/configs/mx6ul_14x14_topeet.h

关于USB OTG的BUG的修改文件.

位于分支 lf_v2022.04

您的分支与上游分支 'origin/lf_v2022.04' 一致。



要提交的变更:

  (使用 "git restore --staged <文件>..." 以取消暂存)

	修改:     drivers/usb/gadget/ci_udc.c

显示屏幕分辨率不足导致LOGO不能显示,关闭LOGO又导致文字不显示,不修改LOGO的修改方法.

位于分支 lf_v2022.04

您的分支与上游分支 'origin/lf_v2022.04' 一致。



要提交的变更:

  (使用 "git restore --staged <文件>..." 以取消暂存)

	修改:     common/splash.c

上面的所有修改都分别用git diff HEAD > 000X-desc-desc-desc.patch制作补丁,当然,制作补丁前也必须先测试好这个U-Boot是OK的,具体可以参考i.MX Porting Guide,当没问题的U-Boot在空片或者系统错误(比如分区位置问题)下,会进入FB模式,那么算移植OK.这些补丁先保存在下面路径(需要创建files目录)

./imx-yocto-bsp/sources/meta-freescale/recipes-bsp/u-boot/files/

新建一个关联补丁的文件.

./imx-yocto-bsp/sources/meta-freescale/recipes-bsp/u-boot/u-boot-imx_2022.04.bbappend

计算补丁文件的MD5,当然也可以是其他,只是MD5节约计算量.

FILESEXTRAPATHS:append := "${THISDIR}/files:"

SRC_URI += "file://0001-Add-IMX6UL-TOPEET-Board.patch;md5=12572275a6ecf5bd5131ab90f8141116"
SRC_URI += "file://0002-Force-USB-Device-Mode.patch;md5=4657b4b9a6702d569cf126ebb7d1368d"
SRC_URI += "file://0003-Fix-No-Logo-Display.patch;md5=ec0889b5d055bd8ef28c25c28677a94f"

内核就简单许多了,当然也有额外注意的,主要是根据硬件修改dts,当然还有一点要注意的,内核默认没启动RTX8010的RTC驱动,因此需要手动启动,这里就不污染默认配置了,第二点,还是必须修改的CMA分配,由于系统只有256M DDR3,不够糟蹋的,因此还要修改mxc fbdev的内存分配大小.

新建平台描述.

位于分支 lf-5.15.y

您的分支与上游分支 'origin/lf-5.15.y' 一致。



要提交的变更:

  (使用 "git restore --staged <文件>..." 以取消暂存)

	修改:     arch/arm/boot/dts/Makefile

	新文件:   arch/arm/boot/dts/imx6ul-14x14-topeet.dts

修改MXS Video内存分配.

位于分支 lf-5.15.y

您的分支与上游分支 'origin/lf-5.15.y' 一致。



要提交的变更:

  (使用 "git restore --staged <文件>..." 以取消暂存)

	修改:     drivers/mxc/gpu-viv/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx.config

这一次的补丁储存在这个路径.

./imx-yocto-bsp/sources/meta-imx/meta-bsp/recipes-kernel/linux/files/

当然也要创建对应的bbappend文件.

./imx-yocto-bsp/sources/meta-imx/meta-bsp/recipes-kernel/linux/linux-imx_5.15.bbappend

内容依然是计算MD5,添加文件.

FILESEXTRAPATHS:append := "${THISDIR}/files:"

SRC_URI += "file://0001-Add-IMX6UL-TOPEET-Board.patch;md5=0d61ab18cfc4974217db729756603461"
SRC_URI += "file://0002-Fix-mxc-fbdev-cma-alloc.patch;md5=1b4360e85f5ee3b537b41157cbceedb0"

当然内核移植也要完全测试OK之后,再并入,之前U-Boot测试OK,使用测试rootfs(如果太大可以用core-image-base)初步测试内核是否正常.

还差最后一步,修改MACHINE描述.

./imx-yocto-bsp/sources/meta-freescale/conf/machine/imx6ulevk.conf

添加dtb,添加u-boot和对应构建配置.

image-23.png

现在重新构建系统并烧录就可以完美移植了,完整启动Log.



U-Boot 2022.04-lf_v2022.04+g16e8414193 (Oct 08 2022 - 13:33:43 +0000)

CPU:   i.MX6UL rev1.1 528 MHz (running at 396 MHz)
CPU:   Industrial temperature grade (-40C to 105C) at 41C
Reset cause: POR
Model: Freescale i.MX6 UltraLite 14x14 EVK Board
Board: MX6UL TOPEET
DRAM:  256 MiB
Core:  48 devices, 18 uclasses, devicetree: separate
NAND:  256 MiB
MMC:   FSL_SDHC: 0
Loading Environment from NAND... *** Warning - bad CRC, using default environment

[*]-Video Link 0 (480 x 272)
        [0] lcdif@21c8000, video
There is no valid bmp file at the given address
In:    serial
Out:   serial
Err:   serial
SEC0:  RNG instantiated
Net:   eth1: ethernet@20b4000 [PRIME]Get shared mii bus on ethernet@2188000
, eth0: ethernet@2188000
Fastboot: Normal
Normal Boot
Hit any key to stop autoboot:  0 

NAND read: device 0 offset 0x1000000, size 0x1000000
 16777216 bytes read: OK

NAND read: device 0 offset 0x2000000, size 0x100000
 1048576 bytes read: OK
Kernel image @ 0x80800000 [ 0x000000 - 0x900db8 ]
## Flattened Device Tree blob at 83000000
   Booting using the fdt blob at 0x83000000
   Using Device Tree in place at 83000000, end 8300b2bd

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.15.52+ga1140fa381e5 (oe-user@oe-host) (arm-poky-linux-gnueabi-gcc (GCC) 11.3.0, GNU ld (GNU Binutils) 2.38.20220623) #1 SMP PREEMPT Tue Sep 6 09:50:50 UTC 2022
[    0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: Freescale i.MX6 UltraLite 14x14 EVK Board (TOPEET)
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] Reserved memory: created CMA memory pool at 0x8a000000, size 96 MiB
[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000080000000-0x000000008fffffff]
[    0.000000]   HighMem  empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000080000000-0x000000008fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x000000008fffffff]
[    0.000000] percpu: Embedded 12 pages/cpu s17164 r8192 d23796 u49152
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 64960
[    0.000000] Kernel command line: console=ttymxc0,115200 ubi.mtd=nandrootfs root=ubi0:nandrootfs rootfstype=ubifs mtdparts=gpmi-nand:16m(nandboot),16m(nandkernel),1m(nanddtb),1m(nandtee),-(nandrootfs)
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 140728K/262144K available (12288K kernel code, 1338K rwdata, 4300K rodata, 1024K init, 433K bss, 23112K reserved, 98304K cma-reserved, 0K highmem)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1.
[    0.000000]  Trampoline variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] Switching to timer-based delay loop, resolution 41ns
[    0.000003] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[    0.000053] clocksource: mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[    0.003002] Console: colour dummy device 80x30
[    0.003116] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
[    0.003170] pid_max: default: 32768 minimum: 301
[    0.003666] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.003731] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.005575] CPU: Testing write buffer coherency: ok
[    0.006276] CPU0: update cpu_capacity 1024
[    0.006329] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.008692] Setting up static identity map for 0x80100000 - 0x80100060
[    0.009104] rcu: Hierarchical SRCU implementation.
[    0.010386] smp: Bringing up secondary CPUs ...
[    0.010434] smp: Brought up 1 node, 1 CPU
[    0.010466] SMP: Total of 1 processors activated (48.00 BogoMIPS).
[    0.010498] CPU: All CPU(s) started in SVC mode.
[    0.011558] devtmpfs: initialized
[    0.027015] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[    0.027602] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.027678] futex hash table entries: 256 (order: 2, 16384 bytes, linear)
[    0.035213] pinctrl core: initialized pinctrl subsystem
[    0.039099] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.056865] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.059831] thermal_sys: Registered thermal governor 'step_wise'
[    0.060219] cpuidle: using governor menu
[    0.060688] CPU identified as i.MX6UL, silicon rev 1.1
[    0.088720] vdd3p0: supplied by regulator-dummy
[    0.089783] cpu: supplied by regulator-dummy
[    0.091377] vddsoc: supplied by regulator-dummy
[    0.122941] No ATAGs?
[    0.123095] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[    0.123138] hw-breakpoint: maximum watchpoint size is 8 bytes.
[    0.125983] imx6ul-pinctrl 20e0000.pinctrl: initialized IMX pinctrl driver
[    0.129058] imx mu driver is registered.
[    0.130016] imx rpmsg driver is registered.
[    0.166206] Kprobes globally optimized
[    0.209727] vgaarb: loaded
[    0.211473] SCSI subsystem initialized
[    0.212929] usbcore: registered new interface driver usbfs
[    0.213078] usbcore: registered new interface driver hub
[    0.213203] usbcore: registered new device driver usb
[    0.215700] i2c i2c-0: IMX I2C adapter registered
[    0.218464] i2c i2c-1: IMX I2C adapter registered
[    0.220104] mc: Linux media interface: v0.10
[    0.220244] videodev: Linux video capture interface: v2.00
[    0.220548] pps_core: LinuxPPS API ver. 1 registered
[    0.220584] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <[email protected]>
[    0.220652] PTP clock support registered
[    0.223875] MIPI CSI2 driver module loaded
[    0.224028] Advanced Linux Sound Architecture Driver Initialized.
[    0.225871] Bluetooth: Core ver 2.22
[    0.226032] NET: Registered PF_BLUETOOTH protocol family
[    0.226063] Bluetooth: HCI device and connection manager initialized
[    0.226106] Bluetooth: HCI socket layer initialized
[    0.226142] Bluetooth: L2CAP socket layer initialized
[    0.226204] Bluetooth: SCO socket layer initialized
[    0.227473] clocksource: Switched to clocksource mxc_timer1
[    0.227909] VFS: Disk quotas dquot_6.6.0
[    0.228076] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    0.248983] NET: Registered PF_INET protocol family
[    0.249533] IP idents hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.251378] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear)
[    0.251494] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.251549] TCP established hash table entries: 2048 (order: 1, 8192 bytes, linear)
[    0.251627] TCP bind hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.251732] TCP: Hash tables configured (established 2048 bind 2048)
[    0.251951] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.252044] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.252493] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.254191] RPC: Registered named UNIX socket transport module.
[    0.254251] RPC: Registered udp transport module.
[    0.254278] RPC: Registered tcp transport module.
[    0.254299] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.256630] PCI: CLS 0 bytes, default 64
[    0.257873] hw perfevents: enabled with armv7_cortex_a7 PMU driver, 5 counters available
[    0.261803] Bus freq driver module loaded
[    0.264012] Initialise system trusted keyrings
[    0.265272] workingset: timestamp_bits=14 max_order=16 bucket_order=2
[    0.280811] NFS: Registering the id_resolver key type
[    0.281010] Key type id_resolver registered
[    0.281042] Key type id_legacy registered
[    0.281295] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.281332] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    0.281429] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
[    0.282652] fuse: init (API version 7.34)
[    0.516864] Key type asymmetric registered
[    0.516925] Asymmetric key parser 'x509' registered
[    0.517133] io scheduler mq-deadline registered
[    0.517172] io scheduler kyber registered
[    0.526936] pwm-backlight backlight-display: supply power not found, using dummy regulator
[    0.537124] mxsfb 21c8000.lcdif: supply lcd not found, using dummy regulator
[    0.648641] sii902x bound to mxs-lcdif from 21c8000.lcdif
[    0.652697] Console: switching to colour frame buffer device 60x34
[    0.750886] mxsfb 21c8000.lcdif: initialized
[    0.760853] imx-sdma 20ec000.sdma: Direct firmware load for imx/sdma/sdma-imx6q.bin failed with error -2
[    0.760923] imx-sdma 20ec000.sdma: Falling back to sysfs fallback for: imx/sdma/sdma-imx6q.bin
[    0.764957] mxs-dma 1804000.dma-apbh: initialized
[    0.777077] 2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 29, base_baud = 5000000) is a IMX
[    1.561588] printk: console [ttymxc0] enabled
[    1.568629] 21e8000.serial: ttymxc1 at MMIO 0x21e8000 (irq = 70, base_baud = 5000000) is a IMX
[    1.580017] imx sema4 driver is registered.
[    1.619448] brd: module loaded
[    1.638267] loop: module loaded
[    1.643762] imx ahci driver is registered.
[    1.653443] nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xda
[    1.659933] nand: Micron MT29F2G08ABAEAWP
[    1.663968] nand: 256 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[    1.673204] Bad block table found at page 131008, version 0x01
[    1.679717] Bad block table found at page 130944, version 0x01
[    1.685849] 5 cmdlinepart partitions found on MTD device gpmi-nand
[    1.692122] Creating 5 MTD partitions on "gpmi-nand":
[    1.697208] 0x000000000000-0x000001000000 : "nandboot"
[    1.706016] 0x000001000000-0x000002000000 : "nandkernel"
[    1.714858] 0x000002000000-0x000002100000 : "nanddtb"
[    1.723346] 0x000002100000-0x000002200000 : "nandtee"
[    1.731927] 0x000002200000-0x000010000000 : "nandrootfs"
[    1.742535] gpmi-nand 1806000.nand-controller: driver registered.
[    1.754421] gpio-505 (eth0-phy): hogged as output/high
[    1.759896] gpio-506 (eth1-phy): hogged as output/high
[    1.770554] tun: Universal TUN/TAP device driver, 1.6
[    1.776116] CAN device driver interface
[    1.784638] pps pps0: new PPS source ptp0
[    1.799073] fec 20b4000.ethernet eth0: registered PHC device 0
[    1.808492] pps pps1: new PPS source ptp1
[    1.818178] fec 2188000.ethernet eth1: registered PHC device 1
[    1.825610] usbcore: registered new interface driver r8152
[    1.831435] usbcore: registered new interface driver lan78xx
[    1.837235] usbcore: registered new interface driver asix
[    1.842938] usbcore: registered new interface driver ax88179_178a
[    1.849312] usbcore: registered new interface driver cdc_ether
[    1.855290] usbcore: registered new interface driver smsc95xx
[    1.861246] usbcore: registered new interface driver net1080
[    1.867017] usbcore: registered new interface driver cdc_subset
[    1.873106] usbcore: registered new interface driver zaurus
[    1.878839] usbcore: registered new interface driver MOSCHIP usb-ethernet driver
[    1.886460] usbcore: registered new interface driver cdc_ncm
[    1.892206] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.898812] ehci-pci: EHCI PCI platform driver
[    1.903508] usbcore: registered new interface driver usb-storage
[    1.916866] input: 20cc000.snvs:snvs-powerkey as /devices/platform/soc/2000000.bus/20cc000.snvs/20cc000.snvs:snvs-powerkey/input/input0
[    1.930621] SPI driver ads7846 has no spi_device_id for ti,tsc2046
[    1.936850] SPI driver ads7846 has no spi_device_id for ti,ads7843
[    1.943239] SPI driver ads7846 has no spi_device_id for ti,ads7845
[    1.949640] SPI driver ads7846 has no spi_device_id for ti,ads7873
[    1.960830] input: TSC2007 Touchscreen as /devices/platform/soc/2100000.bus/21a4000.i2c/i2c-1/1-0048/input/input1
[    1.976663] snvs_rtc 20cc000.snvs:snvs-rtc-lp: registered as rtc0
[    1.982966] snvs_rtc 20cc000.snvs:snvs-rtc-lp: setting system clock to 1970-01-01T01:42:17 UTC (6137)
[    1.992667] i2c_dev: i2c /dev entries driver
[    2.000775] pxp-v4l2 pxp_v4l2: initialized
[    2.011650] Bluetooth: HCI UART driver ver 2.3
[    2.016150] Bluetooth: HCI UART protocol H4 registered
[    2.021406] Bluetooth: HCI UART protocol BCSP registered
[    2.026831] Bluetooth: HCI UART protocol LL registered
[    2.032109] Bluetooth: HCI UART protocol Three-wire (H5) registered
[    2.038505] Bluetooth: HCI UART protocol Marvell registered
[    2.044255] usbcore: registered new interface driver btusb
[    2.051930] sdhci: Secure Digital Host Controller Interface driver
[    2.058253] sdhci: Copyright(c) Pierre Ossman
[    2.062634] sdhci-pltfm: SDHCI platform and OF driver helper
[    2.071748] sdhci-esdhc-imx 2190000.mmc: Got CD GPIO
[    2.082329] usbcore: registered new interface driver usbhid
[    2.091175] usbhid: USB HID core driver
[    2.118958] mmc0: SDHCI controller on 2190000.mmc [2190000.mmc] using ADMA
[    2.146055] NET: Registered PF_LLC protocol family
[    2.152338] NET: Registered PF_INET6 protocol family
[    2.160878] Segment Routing with IPv6
[    2.164753] In-situ OAM (IOAM) with IPv6
[    2.169075] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    2.176541] NET: Registered PF_PACKET protocol family
[    2.181922] can: controller area network core
[    2.186699] NET: Registered PF_CAN protocol family
[    2.191700] can: raw protocol
[    2.194708] can: broadcast manager protocol
[    2.199069] can: netlink gateway - max_hops=1
[    2.204142] Bluetooth: RFCOMM TTY layer initialized
[    2.209409] Bluetooth: RFCOMM socket layer initialized
[    2.214638] Bluetooth: RFCOMM ver 1.11
[    2.218608] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    2.223955] Bluetooth: BNEP filters: protocol multicast
[    2.229292] Bluetooth: BNEP socket layer initialized
[    2.234283] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[    2.240287] Bluetooth: HIDP socket layer initialized
[    2.245791] lib80211: common routines for IEEE802.11 drivers
[    2.251890] Key type dns_resolver registered
[    2.281563] Registering SWP/SWPB emulation handler
[    2.286932] Loading compiled-in X.509 certificates
[    2.340969] imx_usb 2184000.usb: No over current polarity defined
[    2.528705] ci_hdrc ci_hdrc.1: EHCI Host Controller
[    2.533786] ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 1
[    2.567779] ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00
[    2.574358] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.15
[    2.582853] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.590709] usb usb1: Product: EHCI Host Controller
[    2.596022] usb usb1: Manufacturer: Linux 5.15.52+ga1140fa381e5 ehci_hcd
[    2.602813] usb usb1: SerialNumber: ci_hdrc.1
[    2.608478] hub 1-0:1.0: USB hub found
[    2.612417] hub 1-0:1.0: 1 port detected
[    2.620381] imx_thermal 20c8000.anatop:tempmon: Industrial CPU temperature grade - max:105C critical:100C passive:95C
[    2.766100] ubi0: default fastmap pool size: 85
[    2.771429] ubi0: default fastmap WL pool size: 42
[    2.776719] ubi0: attaching mtd4
[    2.897526] usb 1-1: new high-speed USB device number 2 using ci_hdrc
[    3.098703] usb 1-1: New USB device found, idVendor=1a40, idProduct=0101, bcdDevice= 1.11
[    3.106988] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[    3.114457] usb 1-1: Product: USB 2.0 Hub
[    3.129168] hub 1-1:1.0: USB hub found
[    3.133315] hub 1-1:1.0: 4 ports detected
[    3.280221] ubi0: scanning is finished
[    3.292823] ubi0: attached mtd4 (name "nandrootfs", size 222 MiB)
[    3.299064] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes
[    3.305968] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048
[    3.312883] ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096
[    3.319913] ubi0: good PEBs: 1772, bad PEBs: 4, corrupted PEBs: 0
[    3.326029] ubi0: user volume: 1, internal volumes: 1, max. volumes count: 128
[    3.333345] ubi0: max/mean erase counter: 2/1, WL threshold: 4096, image sequence number: 3750685884
[    3.342532] ubi0: available PEBs: 0, total reserved PEBs: 1772, PEBs reserved for bad PEB handling: 36
[    3.351910] ubi0: background thread "ubi_bgt0d" started, PID 89
[    3.358968] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    3.372920] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    3.380203] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[    3.389355] ALSA device list:
[    3.392352]   #0: wm8960-audio
[    3.396543] platform regulatory.0: Falling back to sysfs fallback for: regulatory.db
[    3.404787] UBIFS (ubi0:0): Mounting in unauthenticated mode
[    3.427007] UBIFS (ubi0:0): recovery needed
[    3.462541] UBIFS (ubi0:0): recovery deferred
[    3.467146] UBIFS (ubi0:0): UBIFS: mounted UBI device 0, volume 0, name "nandrootfs", R/O mode
[    3.475992] UBIFS (ubi0:0): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes
[    3.485997] UBIFS (ubi0:0): FS size: 218144768 bytes (208 MiB, 1718 LEBs), max 1730 LEBs, journal size 10919936 bytes (10 MiB, 86 LEBs)
[    3.498299] UBIFS (ubi0:0): reserved for root: 4952683 bytes (4836 KiB)
[    3.504942] UBIFS (ubi0:0): media format: w5/r0 (latest is w5/r0), UUID DAFF0B88-D194-4269-86FE-08A8FCEA975B, small LPT model
[    3.517298] VFS: Mounted root (ubifs filesystem) readonly on device 0:15.
[    3.525037] devtmpfs: mounted
[    3.530671] Freeing unused kernel image (initmem) memory: 1024K
[    3.537156] Run /sbin/init as init process
[    3.850333] systemd[1]: System time before build time, advancing clock.
[    3.929920] systemd[1]: systemd 250.5+ running in system mode (-PAM -AUDIT -SELINUX -APPARMOR +IMA -SMACK +SECCOMP -GCRYPT -GNUTLS -OPENSSL +ACL +BLKID -CURL -ELFUTILS -FIDO2 -IDN2 -IDN -IPTC +KMOD -LIBCRYPTSETUP +LIBFDISK -PCRE2 -PWQUALITY -P11KIT -QRENCODE -BZIP2 -LZ4 -XZ -ZLIB +ZSTD -BPF_FRAMEWORK -XKBCOMMON +UTMP +SYSVINIT default-hierarchy=hybrid)
[    3.963955] systemd[1]: Detected architecture arm.

Welcome to NXP i.MX Release Distro 5.15-kirkstone (kirkstone)!

[    4.025032] systemd[1]: Hostname set to <imx6ulevk>.
[    4.471379] systemd[94]: /lib/systemd/system-generators/systemd-gpt-auto-generator failed with exit status 1.
[    5.547993] systemd[1]: Queued start job for default target Multi-User System.
[    5.622564] systemd[1]: Created slice Slice /system/getty.
[  OK  ] Created slice Slice /system/getty.
[    5.671213] systemd[1]: Created slice Slice /system/modprobe.
[  OK  ] Created slice Slice /system/modprobe.
[    5.721204] systemd[1]: Created slice Slice /system/serial-getty.
[  OK  ] Created slice Slice /system/serial-getty.
[    5.769442] systemd[1]: Created slice User and Session Slice.
[  OK  ] Created slice User and Session Slice.
[    5.813129] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[  OK  ] Started Dispatch Password …ts to Console Directory Watch.
[    5.860043] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[  OK  ] Started Forward Password R…uests to Wall Directory Watch.
[    5.898948] systemd[1]: Reached target Path Units.
[  OK  ] Reached target Path Units.
[    5.928991] systemd[1]: Reached target Remote File Systems.
[  OK  ] Reached target Remote File Systems.
[    5.968159] systemd[1]: Reached target Slice Units.
[  OK  ] Reached target Slice Units.
[    5.998942] systemd[1]: Reached target Swaps.
[  OK  ] Reached target Swaps.
[    6.035719] systemd[1]: Listening on RPCbind Server Activation Socket.
[  OK  ] Listening on RPCbind Server Activation Socket.
[    6.079154] systemd[1]: Reached target RPC Port Mapper.
[  OK  ] Reached target RPC Port Mapper.
[    6.124045] systemd[1]: Listening on Syslog Socket.
[  OK  ] Listening on Syslog Socket.
[    6.160199] systemd[1]: Listening on initctl Compatibility Named Pipe.
[  OK  ] Listening on initctl Compatibility Named Pipe.
[    6.248539] systemd[1]: Journal Audit Socket was skipped because of a failed condition check (ConditionSecurity=audit).
[    6.262243] systemd[1]: Listening on Journal Socket (/dev/log).
[  OK  ] Listening on Journal Socket (/dev/log).
[    6.299980] systemd[1]: Listening on Journal Socket.
[  OK  ] Listening on Journal Socket.
[    6.344274] systemd[1]: Listening on Network Service Netlink Socket.
[  OK  ] Listening on Network Service Netlink Socket.
[    6.383671] systemd[1]: Listening on udev Control Socket.
[  OK  ] Listening on udev Control Socket.
[    6.420411] systemd[1]: Listening on udev Kernel Socket.
[  OK  ] Listening on udev Kernel Socket.
[    6.462261] systemd[1]: Listening on User Database Manager Socket.
[  OK  ] Listening on User Database Manager Socket.
[    6.501818] systemd[1]: Huge Pages File System was skipped because of a failed condition check (ConditionPathExists=/sys/kernel/mm/hugepages).
[    6.532779] systemd[1]: Mounting POSIX Message Queue File System...
         Mounting POSIX Message Queue File System...
[    6.598131] systemd[1]: Mounting Kernel Debug File System...
         Mounting Kernel Debug File System...
[    6.628975] systemd[1]: Kernel Trace File System was skipped because of a failed condition check (ConditionPathExists=/sys/kernel/tracing).
[    6.655640] systemd[1]: Mounting Temporary Directory /tmp...
         Mounting Temporary Directory /tmp...
[    6.717031] systemd[1]: Starting Create List of Static Device Nodes...
         Starting Create List of Static Device Nodes...
[    6.789640] systemd[1]: Starting Load Kernel Module configfs...
         Starting Load Kernel Module configfs...
[    6.842455] systemd[1]: Starting Load Kernel Module drm...
         Starting Load Kernel Module drm...
[    6.909831] systemd[1]: Starting Load Kernel Module fuse...
         Starting Load Kernel Module fuse...
[    6.969670] systemd[1]: Starting RPC Bind...
         Starting RPC Bind...
[    7.005513] systemd[1]: Starting File System Check on Root Device...
         Starting File System Check on Root Device...
[    7.060068] systemd[1]: systemd-journald.service: unit configures an IP firewall, but the local system does not support BPF/cgroup firewalling.
[    7.086101] systemd[1]: (This warning is only shown for the first unit using IP firewalling.)
[    7.135397] systemd[1]: Starting Journal Service...
         Starting Journal Service...
[    7.184725] systemd[1]: Load Kernel Modules was skipped because all trigger condition checks failed.
[    7.244767] systemd[1]: Starting Generate network units from Kernel command line...
         Starting Generate network …ts from Kernel command line...
[    7.339517] systemd[1]: Starting Apply Kernel Variables...
         Starting Apply Kernel Variables...
[    7.409426] systemd[1]: Starting Coldplug All udev Devices...
         Starting Coldplug All udev Devices...
[    7.529761] systemd[1]: Started RPC Bind.
[  OK  ] Started RPC Bind.
[    7.570167] systemd[1]: Mounted POSIX Message Queue File System.
[  OK  ] Mounted POSIX Message Queue File System.
[    7.609367] systemd[1]: Mounted Kernel Debug File System.
[  OK  ] Mounted Kernel Debug File System.
[    7.649272] systemd[1]: Mounted Temporary Directory /tmp.
[  OK  ] Mounted Temporary Directory /tmp.
[    7.697789] systemd[1]: Finished Create List of Static Device Nodes.
[  OK  ] Finished Create List of Static Device Nodes.
[    7.725668] systemd[1]: [email protected]: Deactivated successfully.
[    7.758466] systemd[1]: Finished Load Kernel Module configfs.
[  OK  ] Finished Load Kernel Module configfs.
[    7.791541] systemd[1]: [email protected]: Deactivated successfully.
[    7.820714] systemd[1]: Finished Load Kernel Module drm.
[  OK  ] Finished Load Kernel Module drm.
[    7.851432] systemd[1]: [email protected]: Deactivated successfully.
[    7.881366] systemd[1]: Finished Load Kernel Module fuse.
[  OK  ] Finished Load Kernel Module fuse.
[    7.911929] systemd[1]: Finished File System Check on Root Device.
[  OK  ] Finished File System Check on Root Device.
[    7.978537] systemd[1]: Finished Generate network units from Kernel command line.
[  OK  ] Finished Generate network units from Kernel command line.
[    8.018264] systemd[1]: Finished Apply Kernel Variables.
[  OK  ] Finished Apply Kernel Variables.
[    8.049804] systemd[1]: Reached target Preparation for Network.
[  OK  ] Reached target Preparation for Network.
[    8.128190] systemd[1]: Mounting FUSE Control File System...
         Mounting FUSE Control File System...
[    8.199086] systemd[1]: Mounting Kernel Configuration File System...
         Mounting Kernel Configuration File System...
[    8.254404] systemd[1]: Starting Remount Root and Kernel File Systems...
         Starting Remount Root and Kernel File Systems...
[    8.324146] systemd[1]: Mounted FUSE Control File System.
[  OK  ] Mounted FUSE Control File System.
[    8.399251] systemd[1]: Mounted Kernel Configuration File System.
[  OK  ] Mounted Kernel Configuration File System.
[    8.498859] UBIFS (ubi0:0): completing deferred recovery
[    8.547713] random: crng init done
[    8.588927] systemd[1]: Started Journal Service.
[  OK  ] Started Journal Service.
[    8.608259] UBIFS (ubi0:0): background thread "ubifs_bgt0_0" started, PID 125
[    8.621221] UBIFS (ubi0:0): deferred recovery completed
[  OK  ] Finished Remount Root and Kernel File Systems.
         Starting Flush Journal to Persistent Storage...
         Starting Create Static Device Nodes in /dev...
[    8.943499] systemd-journald[114]: Received client request to flush runtime journal.
[  OK  ] Finished Flush Journal to Persistent Storage.
[  OK  ] Finished Create Static Device Nodes in /dev.
[  OK  ] Reached target Preparation for Local File Systems.
         Mounting /var/volatile...
         Starting Rule-based Manage…for Device Events and Files...
[  OK  ] Mounted /var/volatile.
         Starting Load/Save Random Seed...
[  OK  ] Reached target Local File Systems.
         Starting Create Volatile Files and Directories...
[  OK  ] Finished Load/Save Random Seed.
[  OK  ] Finished Create Volatile Files and Directories.
         Starting Network Time Synchronization...
         Starting Record System Boot/Shutdown in UTMP...
[  OK  ] Started Rule-based Manager for Device Events and Files.
         Starting Network Configuration...
[  OK  ] Finished Record System Boot/Shutdown in UTMP.
[  OK  ] Finished Coldplug All udev Devices.
[  OK  ] Started Network Configuration.
         Starting Network Name Resolution...
[  OK  ] Created slice Slice /system/systemd-backlight.
         Starting Load/Save Screen …backlight:backlight-display...
[   14.275928] mtdblock: MTD device 'nandkernel' is NAND, please consider using UBI block devices instead.
[   14.286286] mtdblock: MTD device 'nandboot' is NAND, please consider using UBI block devices instead.
[   14.348725] mtdblock: MTD device 'nanddtb' is NAND, please consider using UBI block devices instead.
[   14.472566] mtdblock: MTD device 'nandtee' is NAND, please consider using UBI block devices instead.
[   14.501105] mtdblock: MTD device 'nandrootfs' is NAND, please consider using UBI block devices instead.
[  OK  ] Started Network Time Synchronization.
[  OK  ] Finished Load/Save Screen …f backlight:backlight-display.
[   15.744917] caam-snvs 20cc000.caam-snvs: violation handlers armed - init state
[   16.210419] Micrel KSZ8081 or KSZ8091 20b4000.ethernet-1:01: attached PHY driver (mii_bus:phy_addr=20b4000.ethernet-1:01, irq=POLL)
[   16.268360] caam 2140000.crypto: device ID = 0x0a16030000000000 (Era 8)
[   16.275033] caam 2140000.crypto: job rings = 3, qi = 0
[   16.990489] Micrel KSZ8081 or KSZ8091 20b4000.ethernet-1:02: attached PHY driver (mii_bus:phy_addr=20b4000.ethernet-1:02, irq=POLL)
[  OK  ] Reached target System Initialization.
[  OK  ] Started Daily Cleanup of Temporary Directories.
[  OK  ] Reached target System Time Set.
[  OK  ] Reached target Timer Units.
[  OK  ] Reached target Hardware activated USB gadget.
[  OK  ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket.
[  OK  ] Listening on D-Bus System Message Bus Socket.
[  OK  ] Reached target Socket Units.
[  OK  ] Reached target Basic System.
[  OK  ] Started Kernel Logging Service.
[  OK  ] Started System Logging Service.
         Starting D-Bus System Message Bus...
[  OK  ] Started Getty on tty1.
         Starting Telephony service...
[  OK  ] Started Serial Getty on ttymxc0.
[  OK  ] Reached target Login Prompts.
         Starting User Login Management...
[  OK  ] Started TEE Supplicant.
[  OK  ] Started D-Bus System Message Bus.
[  OK  ] Started Network Name Resolution.
[   21.038723] caam algorithms registered in /proc/crypto
[   21.100526] caam 2140000.crypto: caam pkc algorithms registered in /proc/crypto
[   21.137957] caam 2140000.crypto: rng crypto API alg registered prng-caam
[   21.144729] caam 2140000.crypto: registering rng-caam
[   21.202120] Device caam-keygen registered
[  OK  ] Started Telephony service.
[  OK  ] Reached target Network.
[  OK  ] Reached target Host and Network Name Lookups.
         Starting Save/Restore Sound Card State...
         Starting Avahi mDNS/DNS-SD Stack...
[  OK  ] Started User Login Management.
[  OK  ] Started Avahi mDNS/DNS-SD Stack.
[  OK  ] Reached target Multi-User System.
         Starting Record Runlevel Change in UTMP...
[  OK  ] Finished Save/Restore Sound Card State.
[  OK  ] Finished Record Runlevel Change in UTMP.
[  OK  ] Reached target Sound Card.

NXP i.MX Release Distro 5.15-kirkstone imx6ulevk ttymxc0

imx6ulevk login: 

全部移植成功代码请查看Github.

https://github.com/nickfox-taterli/topeet-imx6ul-yocto

image-25.png

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK