Yocto 新平台移植 [迅为IMX6UL]

/ 2评 / 0

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

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

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

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

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

第一步,不管什么板子,先做一个官方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倍系统线程数构建,无需调节的).

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

先用官方给的例子版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以及板级的描述,这里和官方板的几个区别.

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

位于分支 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和对应构建配置.

现在重新构建系统并烧录就可以完美移植了,完整启动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 <giometti@linux.it>
[    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]: modprobe@configfs.service: Deactivated successfully.
[    7.758466] systemd[1]: Finished Load Kernel Module configfs.
[  OK  ] Finished Load Kernel Module configfs.
[    7.791541] systemd[1]: modprobe@drm.service: Deactivated successfully.
[    7.820714] systemd[1]: Finished Load Kernel Module drm.
[  OK  ] Finished Load Kernel Module drm.
[    7.851432] systemd[1]: modprobe@fuse.service: 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

  1. kylin说道:

    请问你手上还有git2_github.com.nxp-imx.onnxruntime-imx.git.tar.gz。这个包吗?现在都下不了这个包了。

回复 ZHT 取消回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注