【迅为iMX6Q】开发板 Linux 5.15.71 SD卡 启动

news2024/11/19 0:47:54

开发环境

  • win10 64位
  • VMware Workstation Pro 16
  • ubuntu 22.04
  • 【迅为imx6q】开发板, 2G DDR

linux-imx 下载

  • 使用 NXP 官方提供的 linux-imx,代码地址为: https://github.com/nxp-imx/linux-imx

  • 使用 git 下载 linux-imxgit clone https://github.com/nxp-imx/linux-imx

  • 切换到想要的分支,我切换到:lf-5.15.y,也就是较新的Linux 5.15.71 版本,算是当前比较新的版本了

  • 切换 linux-imx 代码 分支 git checkout -b lf-5.15.y origin/lf-5.15.y

  • gcc 交叉编译工具链推荐:gcc-arm-11.2-2022.02-x86_64-arm-none-linux-gnueabihf,这个可以在 ARM 官方网站下载,较老或者较新的gcc 版本,可能编译会报错

新建 imx6q-topeet 设备树文件

  • 当前新版本Linux 开发,不再需要创建一个 board 目录,而是通过创建 相应的设备树文件的方式,适配硬件电路板

  • 新建 迅为imx6q 开发板设备树文件: imx6q-topeet.dts imx6qdl-topeet.dtsi,可以拷贝一份,如

$ cp arch/arm/boot/dts/imx6q-sabresd.dts arch/arm/boot/dts/imx6q-topeet.dts
$ cp arch/arm/boot/dts/imx6qdl-sabresd.dtsi arch/arm/boot/dts/imx6qdl-topeet.dtsi

相关修改

一、 修改 `arch/arm/boot/dts/imx6q-topeet.dts``

  • 主要是更改 include 文件,#include "imx6qdl-sabresd.dtsi" 改为 #include "imx6qdl-topeet.dtsi"

在这里插入图片描述

       model = "Freescale i.MX6 Quad SABRE Smart Device Board";
       compatible = "fsl,imx6q-sabresd", "fsl,imx6q";

改为

       model = "Freescale i.MX6 Quad Topeet Smart Device Board";
       compatible = "fsl,imx6q-topeet", "fsl,imx6q";

二、修改 arch/arm/boot/dts/imx6qdl-topeet.dtsi 文件

  • 主要是 SD 卡的 cd 与 wp 引脚的修改

在这里插入图片描述

  • cd 引脚改为 cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;

  • 迅为imx6q 开发板 SD 卡没有 wp 写保护引脚,所以注释掉 wp-gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>;

&usdhc2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usdhc2>;
	bus-width = <8>;
	cd-gpios = <&gpio2 2 GPIO_ACTIVE_LOW>;
	wp-gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>;
	status = "okay";
};

改为

&usdhc2 {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_usdhc2>;
	bus-width = <8>;
	cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
	//wp-gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>;
	status = "okay";
};

三、修改 arch/arm/boot/dts/Makefile

  • 增加 生成 imx6q-topeet.dtb

在这里插入图片描述

编译

  • 编译方法比较的简单

  • 编写 mk.sh 脚本

#!/bin/bash
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabihf- $1 $2 $3 $4
  • 编译脚本 增加 执行权限 :chmod +x mk.sh

  • 编译命令如下:

./mk.sh imx_v7_defconfig
./mk.sh -j8
  • 编译生成的产物:
arch/arm/boot/zImage
arch/arm/boot/dts/imx6q-topeet.dtb

烧写到 sd 卡

  • 首先 sd 卡需要分区,注意分区时,sd 卡前面预留一些空间,如 8MB,可以创建多个分区,并且使用 ext4 格式化

  • 分区可以使用 ubuntu fdisk

  • 如 32 G sd 卡分区如下

Device     Boot   Start      End  Sectors  Size Id Type
/dev/sdc1         16384    81919    65536   32M 83 Linux
/dev/sdc2         81920   147455    65536   32M 83 Linux
/dev/sdc3        147456  8536063  8388608    4G 83 Linux
/dev/sdc4       8536064 62333951 53797888 25.7G 83 Linux
  • 注意第一个分区: start 不是 0 开始,而是:16384 个 块,每个 块大小为 512,也就是 8M 预留空间

  • 分区使用 mkfs.ext4 进行格式化,重新拔插 sd 卡,分区会挂载到 ubuntu 中的 /media 目录下,如


zhangsz@zhangsz-virtual-machine:~/linux/imx6q/linux-imx_5.15.71$ df -l
Filesystem     1K-blocks      Used Available Use% Mounted on
tmpfs             810584      2180    808404   1% /run
/dev/sda3      308001632  71477756 220805272  25% /
tmpfs            4052904         0   4052904   0% /dev/shm
tmpfs               5120         0      5120   0% /run/lock
vmhgfs-fuse    904497148 801675128 102822020  89% /mnt/hgfs
/dev/sda2         524252      5364    518888   2% /boot/efi
tmpfs             810580      2412    808168   1% /run/user/1000
/dev/sr0          129778    129778         0 100% /media/zhangsz/CDROM
/dev/sdc2          26596      8848     15460  37% /media/zhangsz/455d8c51-6af5-44ec-8060-a8ae8a85f2fc
/dev/sdc4       26299884     26472  24912084   1% /media/zhangsz/16729114-d269-46f5-8370-50e5b3a1971b
/dev/sdc1          26596      9504     14804  40% /media/zhangsz/d9f5098f-78b4-43c1-81f2-c558ef1fcffe
/dev/sdc3        4046560     26492   3793972   1% /media/zhangsz/ac8ba6b4-4928-40ff-9c42-8869cb0d123a

在这里插入图片描述

  • 只需要 把 Linux 编译的产物:
arch/arm/boot/zImage
arch/arm/boot/dts/imx6q-topeet.dtb

分别复制到 第一个分区 ,如 /dev/sdc1 对应的 /media/zhangsz/d9f5098f-78b4-43c1-81f2-c558ef1fcffe 中即可

zhangsz@zhangsz-virtual-machine:~/linux/imx6q/linux-imx_5.15.71$ sudo cp arch/arm/boot/zImage /media/zhangsz/d9f5098f-78b4-43c1-81f2-c558ef1fcffe

zhangsz@zhangsz-virtual-machine:~/linux/imx6q/linux-imx_5.15.71$ sudo cp arch/arm/boot/dts/imx6q-topeet.dtb /media/zhangsz/d9f5098f-78b4-43c1-81f2-c558ef1fcffe

zhangsz@zhangsz-virtual-machine:~/linux/imx6q/linux-imx_5.15.71$ ls /media/zhangsz/d9f5098f-78b4-43c1-81f2-c558ef1fcffe
imx6q-topeet.dtb  lost+found  zImage

创建 根文件系统

  • 使用 busybox 创建根文件系统,后面再写一篇,创建的方法其实大同小异

  • 根文件系统创建后,把所有的文件,拷贝到 sd 的 第三个分区即可

启动Linux

  • u-boot 使用 【迅为iMX6Q】开发板 u-boot 2022.04 SD卡 启动 编译生成的, 版本 : 2022.04

  • 设置 u-boot env 启动选项,重新开机或按重启按钮,回车进入 u-boot 命令行

/* 设置  bootargs,注意根文件系统 放置的分区, mmcblk1p3, blk1 表示 sd 卡设备号 1, 3代表 第三个分区 */
setenv bootargs 'console=ttymxc0,115200 root=/dev/mmcblk1p3 rootwait rw'

/* 设置  bootcmd ,注意linux zImage 与 设备树 dtb 存放的分区 mmc 1:1  */
setenv bootcmd 'ext4load mmc 1:1 0x18000000 imx6q-topeet.dtb; ext4load mmc 1:1  0x12000000 zImage; bootz 0x12000000 - 0x18000000'

/* 保存 env */
saveenv

/* 重启 */
reset

启动Linux 信息

  • 正确读取设备树文件 imx6q-topeet.dtb 与 Linux 内核文件 zImage 后,就可以 通过 bootz 0x12000000 - 0x18000000 成功引导 Linux

  • 如果把根文件系统也放置到 sd 卡的 分区,就可以成功进入 Linux shell 终端了

U-Boot 2022.04-gdad04f4713 (Jan 07 2023 - 19:51:31 +0800)

CPU:   i.MX6Q rev1.3 996 MHz (running at 792 MHz)
CPU:   Extended Commercial temperature grade (-20C to 105C) at 37C
Reset cause: POR
Model: i.MX6 Quad Topeet Smart Device Board
DRAM:  2 GiB
Core:  80 devices, 19 uclasses, devicetree: separate
MMC:   FSL_SDHC: 1, FSL_SDHC: 2, FSL_SDHC: 3
Loading Environment from MMC... OK
No panel detected: default to Hannstar-XGA
Display: Hannstar-XGA (1024x768)
In:    serial
Out:   serial
Err:   serial
SEC0:  RNG instantiated
switch to partitions #0, OK
mmc1 is current device
flash target is MMC:1
Net:   Could not get PHY for FEC0: addr 1
Could not get PHY for FEC0: addr 1
No ethernet found.

Fastboot: Normal
Normal Boot
Hit any key to stop autoboot:  0
53408 bytes read in 6 ms (8.5 MiB/s)
9504552 bytes read in 458 ms (19.8 MiB/s)
Kernel image @ 0x12000000 [ 0x000000 - 0x910728 ]
## Flattened Device Tree blob at 18000000
   Booting using the fdt blob at 0x18000000
   Using Device Tree in place at 18000000, end 1801009f

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.15.71-g3e935c2ed688 (zhangsz@zhangsz-virtual-machine) (arm-none-linux-gnueabihf-gcc (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 9.2.1 20191025, GNU ld (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 2.33.1.20191209) #4 SMP PREEMPT Sun Jan 8 00:02:49 CST 2023
[    0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: Freescale i.MX6 Quad Topeet Smart Device Board
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] Reserved memory: created CMA memory pool at 0x6c000000, size 320 MiB
[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000010000000-0x000000007fffffff]
[    0.000000]   HighMem  [mem 0x0000000080000000-0x000000008fffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000010000000-0x000000008fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000010000000-0x000000008fffffff]
[    0.000000] percpu: Embedded 12 pages/cpu s17164 r8192 d23796 u49152
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 520256
[    0.000000] Kernel command line: console=ttymxc0,115200 root=/dev/mmcblk1p3 rootwait rw
[    0.000000] Dentry cache hash table entries: 262144 (order: 8, 1048576 bytes, linear)
[    0.000000] Inode-cache hash table entries: 131072 (order: 7, 524288 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 1728212K/2097152K available (12288K kernel code, 1339K rwdata, 4404K rodata, 1024K init, 432K bss, 41260K reserved, 327680K cma-reserved, 262144K highmem)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000]  Trampoline variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] L2C-310 errata 752271 769419 enabled
[    0.000000] L2C-310 enabling early BRESP for Cortex-A9
[    0.000000] L2C-310 full line of zeros enabled for Cortex-A9
[    0.000000] L2C-310 ID prefetch enabled, offset 16 lines
[    0.000000] L2C-310 dynamic clock gating enabled, standby mode enabled
[    0.000000] L2C-310 cache controller enabled, 16 ways, 1024 kB
[    0.000000] L2C-310: CACHE_ID 0x410000c7, AUX_CTRL 0x76470001
[    0.000000] Switching to timer-based delay loop, resolution 333ns
[    0.000001] sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 715827882841ns
[    0.000031] clocksource: mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 637086815595 ns
[    0.001585] Console: colour dummy device 80x30
[    0.001634] Calibrating delay loop (skipped), value calculated using timer frequency.. 6.00 BogoMIPS (lpj=30000)
[    0.001656] pid_max: default: 32768 minimum: 301
[    0.001900] Mount-cache hash table entries: 4096 (order: 2, 16384 bytes, linear)
[    0.001942] Mountpoint-cache hash table entries: 4096 (order: 2, 16384 bytes, linear)
[    0.002756] CPU: Testing write buffer coherency: ok
[    0.002813] CPU0: Spectre v2: using BPIALL workaround
[    0.003080] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.004140] Setting up static identity map for 0x10100000 - 0x10100060
[    0.004309] rcu: Hierarchical SRCU implementation.
[    0.004944] smp: Bringing up secondary CPUs ...
[    0.005765] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.005780] CPU1: Spectre v2: using BPIALL workaround
[    0.006687] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[    0.006702] CPU2: Spectre v2: using BPIALL workaround
[    0.007573] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[    0.007590] CPU3: Spectre v2: using BPIALL workaround
[    0.007703] smp: Brought up 1 node, 4 CPUs
[    0.007722] SMP: Total of 4 processors activated (24.00 BogoMIPS).
[    0.007737] CPU: All CPU(s) started in SVC mode.
[    0.008250] devtmpfs: initialized
[    0.017434] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
[    0.017677] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.017707] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.037160] pinctrl core: initialized pinctrl subsystem
[    0.038919] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.047631] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.048758] thermal_sys: Registered thermal governor 'step_wise'
[    0.049051] cpuidle: using governor menu
[    0.049261] CPU identified as i.MX6Q, silicon rev 1.5
[    0.066894] vdd3p0: supplied by regulator-dummy
[    0.068354] mxs_phy 20c9000.usbphy: supply phy-3p0 not found, using dummy regulator
[    0.068945] mxs_phy 20ca000.usbphy: supply phy-3p0 not found, using dummy regulator
[    0.080019] platform 21dc000.mipi: Fixing up cyclic dependency with 20e0000.iomuxc-gpr:ipu2_csi1_mux
[    0.080110] platform 21dc000.mipi: Fixing up cyclic dependency with 20e0000.iomuxc-gpr:ipu1_csi0_mux
[    0.081409] platform 2400000.ipu: Fixing up cyclic dependency with ldb
[    0.081500] platform 2400000.ipu: Fixing up cyclic dependency with 21e0000.mipi
[    0.081574] platform 2400000.ipu: Fixing up cyclic dependency with 21dc000.mipi
[    0.081649] platform 2400000.ipu: Fixing up cyclic dependency with 20e0000.iomuxc-gpr:ipu1_csi0_mux
[    0.083843] platform 2800000.ipu: Fixing up cyclic dependency with ldb
[    0.083940] platform 2800000.ipu: Fixing up cyclic dependency with 21e0000.mipi
[    0.084026] platform 2800000.ipu: Fixing up cyclic dependency with 20e0000.iomuxc-gpr:ipu2_csi1_mux
[    0.084105] platform 2800000.ipu: Fixing up cyclic dependency with 21dc000.mipi
[    0.090324] No ATAGs?
[    0.090479] hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
[    0.090498] hw-breakpoint: maximum watchpoint size is 4 bytes.
[    0.091491] imx6q-pinctrl 20e0000.pinctrl: initialized IMX pinctrl driver
[    0.094259] imx mu driver is registered.
[    0.094759] imx rpmsg driver is registered.
[    0.109244] Kprobes globally optimized
[    0.128173] vgaarb: loaded
[    0.129048] SCSI subsystem initialized
[    0.129535] usbcore: registered new interface driver usbfs
[    0.129599] usbcore: registered new interface driver hub
[    0.129647] usbcore: registered new device driver usb
[    0.129780] usb_phy_generic usbphynop1: supply vcc not found, using dummy regulator
[    0.129931] usb_phy_generic usbphynop1: dummy supplies not allowed for exclusive requests
[    0.130084] usb_phy_generic usbphynop2: supply vcc not found, using dummy regulator
[    0.130223] usb_phy_generic usbphynop2: dummy supplies not allowed for exclusive requests
[    0.131386] gpio-155 (scl): enforced open drain please flag it properly in DT/ACPI DSDT/board file
[    0.132484] i2c i2c-0: IMX I2C adapter registered
[    0.133264] gpio-108 (scl): enforced open drain please flag it properly in DT/ACPI DSDT/board file
[    0.135152] i2c i2c-1: IMX I2C adapter registered
[    0.135904] gpio-3 (scl): enforced open drain please flag it properly in DT/ACPI DSDT/board file
[    0.137043] i2c i2c-2: IMX I2C adapter registered
[    0.137677] mc: Linux media interface: v0.10
[    0.137726] videodev: Linux video capture interface: v2.00
[    0.137826] pps_core: LinuxPPS API ver. 1 registered
[    0.137841] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.137866] PTP clock support registered
[    0.165839] imx-ipuv3 2400000.ipu: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)
[    0.195835] imx-ipuv3 2800000.ipu: IPU DMFC NORMAL mode: 1(0~1), 5B(4,5), 5F(6,7)
[    0.197472] mxc_vdoa 21e4000.vdoa: i.MX Video Data Order Adapter(VDOA) driver probed
[    0.198211] mxc_mipi_csi2 21dc000.mipi: i.MX MIPI CSI2 driver probed
[    0.198230] mxc_mipi_csi2 21dc000.mipi: i.MX MIPI CSI2 dphy version is 0x3130302a
[    0.198800] MIPI CSI2 driver module loaded
[    0.198851] Advanced Linux Sound Architecture Driver Initialized.
[    0.200064] Bluetooth: Core ver 2.22
[    0.200115] NET: Registered PF_BLUETOOTH protocol family
[    0.200128] Bluetooth: HCI device and connection manager initialized
[    0.200146] Bluetooth: HCI socket layer initialized
[    0.200161] Bluetooth: L2CAP socket layer initialized
[    0.200186] Bluetooth: SCO socket layer initialized
[    0.200755] clocksource: Switched to clocksource mxc_timer1
[    0.200953] VFS: Disk quotas dquot_6.6.0
[    0.201045] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    0.208928] NET: Registered PF_INET protocol family
[    0.209614] IP idents hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.211554] tcp_listen_portaddr_hash hash table entries: 1024 (order: 1, 12288 bytes, linear)
[    0.211659] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.211686] TCP established hash table entries: 16384 (order: 4, 65536 bytes, linear)
[    0.211857] TCP bind hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.212169] TCP: Hash tables configured (established 16384 bind 16384)
[    0.212398] UDP hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.212492] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.212755] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.213441] RPC: Registered named UNIX socket transport module.
[    0.213460] RPC: Registered udp transport module.
[    0.213472] RPC: Registered tcp transport module.
[    0.213480] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.214441] PCI: CLS 0 bytes, default 64
[    0.214800] armv7-pmu pmu: hw perfevents: no interrupt-affinity property, guessing.
[    0.215041] hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
[    0.217639] Bus freq driver module loaded
[    0.218644] Initialise system trusted keyrings
[    0.218885] workingset: timestamp_bits=14 max_order=19 bucket_order=5
[    0.224415] NFS: Registering the id_resolver key type
[    0.224507] Key type id_resolver registered
[    0.224520] Key type id_legacy registered
[    0.224603] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.224618] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    0.224658] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
[    0.225140] fuse: init (API version 7.34)
[    0.323533] Key type asymmetric registered
[    0.323555] Asymmetric key parser 'x509' registered
[    0.323655] bounce: pool size: 64 pages
[    0.323693] io scheduler mq-deadline registered
[    0.323708] io scheduler kyber registered
[    0.328873] pwm-backlight backlight-lvds: supply power not found, using dummy regulator
[    0.333427] mxc_mipi_dsi 21e0000.mipi: i.MX MIPI DSI driver probed
[    0.335361] mxc_hdmi 20e0000.hdmi_video: supply HDMI not found, using dummy regulator
[    0.337867] mxc_sdc_fb fb@0: registered mxc display driver ldb
[    0.370832] imx-ipuv3 2800000.ipu: IPU DMFC DP HIGH RESOLUTION: 1(0,1), 5B(2~5), 5F(6,7)
[    0.438429] Console: switching to colour frame buffer device 128x48
[    0.474941] mxc_hdmi 20e0000.hdmi_video: Detected HDMI controller 0x13:0xa:0xa0:0xc1
[    0.474980] fbcvt: 1920x1080@60: CVT Name - 2.073M9
[    0.475082] mxc_sdc_fb fb@1: registered mxc display driver hdmi
[    0.516097] mxc_sdc_fb fb@2: registered mxc display driver lcd
[    0.516116] mxc_sdc_fb fb@2: ipu0-di0 already in use
[    0.516134] mxc_sdc_fb: probe of fb@2 failed with error -16
[    0.516208] mxc_sdc_fb fb@3: registered mxc display driver ldb
[    0.530464] imx-sdma 20ec000.sdma: Direct firmware load for imx/sdma/sdma-imx6q.bin failed with error -2
[    0.530487] imx-sdma 20ec000.sdma: Falling back to sysfs fallback for: imx/sdma/sdma-imx6q.bin
[    0.532141] mxs-dma 110000.dma-apbh: initialized
[    0.535878] pfuze100-regulator 1-0008: unrecognized pfuze chip ID!
[    0.537526] 2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 31, base_baud = 5000000) is a IMX
[    1.634981] printk: console [ttymxc0] enabled
[    1.641270] imx sema4 driver is registered.
[    1.660143] brd: module loaded
[    1.671034] loop: module loaded
[    1.675776] ahci-imx 2200000.sata: fsl,transmit-level-mV not specified, using 00000024
[    1.683749] ahci-imx 2200000.sata: fsl,transmit-boost-mdB not specified, using 00000480
[    1.691780] ahci-imx 2200000.sata: fsl,transmit-atten-16ths not specified, using 00002000
[    1.699967] ahci-imx 2200000.sata: fsl,receive-eq-mdB not specified, using 05000000
[    1.707718] ahci-imx 2200000.sata: supply ahci not found, using dummy regulator
[    1.715211] ahci-imx 2200000.sata: supply phy not found, using dummy regulator
[    1.722518] ahci-imx 2200000.sata: supply target not found, using dummy regulator
[    1.734421] ahci-imx 2200000.sata: SSS flag set, parallel bus scan disabled
[    1.741441] ahci-imx 2200000.sata: AHCI 0001.0300 32 slots 1 ports 3 Gbps 0x1 impl platform mode
[    1.750243] ahci-imx 2200000.sata: flags: ncq sntf stag pm led clo only pmp pio slum part ccc apst
[    1.761203] scsi host0: ahci-imx
[    1.764749] ata1: SATA max UDMA/133 mmio [mem 0x02200000-0x02203fff] port 0x100 irq 85
[    1.772922] imx ahci driver is registered.
[    1.781050] spi-nor spi0.0: found w25q32, expected m25p32
[    1.786482] spi-nor spi0.0: w25q32 (4096 Kbytes)
[    1.794604] tun: Universal TUN/TAP device driver, 1.6
[    1.799829] CAN device driver interface
[    1.805986] pps pps0: new PPS source ptp0
[    1.812151] fec 2188000.ethernet: Invalid MAC address: 00:00:00:00:00:00
[    1.818890] fec 2188000.ethernet: Using random MAC address: da:0a:fa:aa:87:7e
[    1.826905] mdio_bus 2188000.ethernet-1: MDIO device at address 1 is missing.
[    1.834643] fec 2188000.ethernet eth0: registered PHC device 0
[    1.841639] usbcore: registered new interface driver r8152
[    1.847177] usbcore: registered new interface driver lan78xx
[    1.852913] usbcore: registered new interface driver asix
[    1.858359] usbcore: registered new interface driver ax88179_178a
[    1.864518] usbcore: registered new interface driver cdc_ether
[    1.870403] usbcore: registered new interface driver smsc95xx
[    1.876208] usbcore: registered new interface driver net1080
[    1.881928] usbcore: registered new interface driver cdc_subset
[    1.887882] usbcore: registered new interface driver zaurus
[    1.893521] usbcore: registered new interface driver MOSCHIP usb-ethernet driver
[    1.901013] usbcore: registered new interface driver cdc_ncm
[    1.906714] usbcore: registered new interface driver r8153_ecm
[    1.912571] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.919105] ehci-pci: EHCI PCI platform driver
[    1.923648] usbcore: registered new interface driver usb-storage
[    1.932841] SPI driver ads7846 has no spi_device_id for ti,tsc2046
[    1.939032] SPI driver ads7846 has no spi_device_id for ti,ads7843
[    1.945239] SPI driver ads7846 has no spi_device_id for ti,ads7845
[    1.951444] SPI driver ads7846 has no spi_device_id for ti,ads7873
[    1.958541] egalax_ts 1-0004: Failed to switch to I2C interface
[    1.964930] egalax_ts 2-0004: Failed to switch to I2C interface
[    1.974375] input: max11801_ts as /devices/platform/soc/2100000.bus/21a4000.i2c/i2c-1/1-0048/input/input2
[    1.987036] snvs_rtc 20cc000.snvs:snvs-rtc-lp: registered as rtc0
[    1.993190] snvs_rtc 20cc000.snvs:snvs-rtc-lp: setting system clock to 1970-01-01T00:00:00 UTC (0)
[    2.002373] i2c_dev: i2c /dev entries driver
[    2.008543] mxc_v4l2_output v4l2_out: V4L2 device registered as video16
[    2.015327] mxc_v4l2_output v4l2_out: V4L2 device registered as video17
[    2.022085] mxc_v4l2_output v4l2_out: V4L2 device registered as video18
[    2.028826] mxc_v4l2_output v4l2_out: V4L2 device registered as video19
[    2.035574] mxc_v4l2_output v4l2_out: V4L2 device registered as video20
[    2.049721] max11801_ts 1-0048: FIFO_RD_AUX_MSB read fails
[    2.052791] max11801_ts 1-0048: FIFO_RD_AUX_MSB read fails
[    2.060888] max11801_ts 1-0048: FIFO_RD_AUX_MSB read fails
[    2.066533] max11801_ts 1-0048: FIFO_RD_AUX_MSB read fails
[    2.074856] Bluetooth: HCI UART driver ver 2.3
[    2.079339] Bluetooth: HCI UART protocol H4 registered
[    2.084529] Bluetooth: HCI UART protocol BCSP registered
[    2.089898] Bluetooth: HCI UART protocol LL registered
[    2.095111] Bluetooth: HCI UART protocol Three-wire (H5) registered
[    2.101433] ata1: SATA link down (SStatus 0 SControl 300)
[    2.106884] ahci-imx 2200000.sata: no device found, disabling link.
[    2.113212] Bluetooth: HCI UART protocol Marvell registered
[    2.118839] usbcore: registered new interface driver btusb
[    2.124358] ahci-imx 2200000.sata: pass ahci_imx..hotplug=1 to enable hotplug
[    2.125509] sdhci: Secure Digital Host Controller Interface driver
[    2.137709] sdhci: Copyright(c) Pierre Ossman
[    2.142117] sdhci-pltfm: SDHCI platform and OF driver helper
[    2.149059] sdhci-esdhc-imx 2194000.mmc: Got CD GPIO
[    2.150283] usbcore: registered new interface driver usbhid
[    2.160374] sdhci-esdhc-imx 2198000.mmc: Got CD GPIO
[    2.165397] sdhci-esdhc-imx 2198000.mmc: Got WP GPIO
[    2.170608] usbhid: USB HID core driver
[    2.177768] isl29018 2-0044: No cache defaults, reading back from HW
[    2.184818] isl29018 2-0044: Failed to read 1: -6
[    2.189535] isl29018 2-0044: regmap initialization fails: -6
[    2.200425] mxc_hdmi_cec soc:hdmi_cec@120000: HDMI CEC initialized
[    2.201082] mmc1: SDHCI controller on 2194000.mmc [2194000.mmc] using ADMA
[    2.206262] mmc3: SDHCI controller on 219c000.mmc [219c000.mmc] using ADMA
[    2.211021] mmc2: SDHCI controller on 2198000.mmc [2198000.mmc] using ADMA
[    2.213603] wm8962 0-001a: Failed to read ID register
[    2.236785] fsl-ssi-dai 202c000.ssi: No cache defaults, reading back from HW
[    2.247762] mmc1: host does not support reading read-only switch, assuming write-enable
[    2.259176] mmc1: new high speed SDHC card at address aaaa
[    2.265945] mmcblk1: mmc1:aaaa SD32G 29.7 GiB
[    2.267482] NET: Registered PF_LLC protocol family
[    2.273446]  mmcblk1: p1 p2 p3 p4
[    2.275929] NET: Registered PF_INET6 protocol family
[    2.284871] Segment Routing with IPv6
[    2.288601] In-situ OAM (IOAM) with IPv6
[    2.292646] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    2.294216] mmc3: new DDR MMC card at address 0001
[    2.299201] NET: Registered PF_PACKET protocol family
[    2.304276] mmcblk3: mmc3:0001 AJTD4R 14.6 GiB
[    2.308456] can: controller area network core
[    2.315422]  mmcblk3: p1 p2
[    2.317589] NET: Registered PF_CAN protocol family
[    2.321145] mmcblk3boot0: mmc3:0001 AJTD4R 4.00 MiB
[    2.325018] can: raw protocol
[    2.332281] mmcblk3boot1: mmc3:0001 AJTD4R 4.00 MiB
[    2.332942] can: broadcast manager protocol
[    2.339811] mmcblk3rpmb: mmc3:0001 AJTD4R 4.00 MiB, chardev (240:0)
[    2.342123] can: netlink gateway - max_hops=1
[    2.353133] Bluetooth: RFCOMM TTY layer initialized
[    2.358036] Bluetooth: RFCOMM socket layer initialized
[    2.363230] Bluetooth: RFCOMM ver 1.11
[    2.366996] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    2.372330] Bluetooth: BNEP filters: protocol multicast
[    2.377567] Bluetooth: BNEP socket layer initialized
[    2.382561] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[    2.388492] Bluetooth: HIDP socket layer initialized
[    2.393702] lib80211: common routines for IEEE802.11 drivers
[    2.399441] Key type dns_resolver registered
[    2.404684] Registering SWP/SWPB emulation handler
[    2.409728] Loading compiled-in X.509 certificates
[    2.453406] galcore 130000.gpu: deferred probe timeout, ignoring dependency
[    2.460389] galcore: probe of 130000.gpu failed with error -110
[    2.466883] mxc_vpu 2040000.vpu_fsl: deferred probe timeout, ignoring dependency
[    2.474366] mxc_vpu: probe of 2040000.vpu_fsl failed with error -110
[    2.484342] gpio-keys gpio-keys: failed to get gpio: -16
[    2.489669] gpio-keys: probe of gpio-keys failed with error -16
[    2.496167] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    2.507701] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    2.514600] ALSA device list:
[    2.517577]   #0: imx-hdmi-soc
[    2.521366] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[    2.530116] platform regulatory.0: Falling back to sysfs fallback for: regulatory.db
[    2.555617] EXT4-fs (mmcblk1p3): recovery complete
[    2.561864] EXT4-fs (mmcblk1p3): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none.
[    2.571702] VFS: Mounted root (ext4 filesystem) on device 179:3.
[    2.579253] devtmpfs: mounted
[    2.584789] Freeing unused kernel image (initmem) memory: 1024K
[    2.631229] Run /sbin/init as init process

Please press Enter to activate this console.
/ # ls
bin         etc         linuxrc     proc        sbin        uimage
boot        home        lost+found  root        sys         usr
dev         lib         mnt         rtt         tmp         var
  • 【迅为iMX6Q】开发板 Linux 5.15.71 SD卡 启动 成功

小结

  • 【迅为iMX6Q】开发板 Linux 5.15.71 SD卡 启动比较的简单,主要是修改了 sd 卡的 cd 与 wp 引脚

  • 注意 sd 卡分区,ext4 格式化

  • 默认配置,开发板的一些驱动,如触摸屏、LCD、以太网等还没有正常的启动,需要继续适配

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/149194.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux应用编程---6.无名管道

Linux应用编程—6.无名管道 6.1 pipe()函数使用详情 ​ 管道是进程之间进行通讯的一种方式。管道有两种&#xff0c;分别是&#xff1a;无名管道和有名管道。先看无名管道。管道创建函数是pipe()&#xff0c;在Linux终端输入man pipe。 图1 pipe()函数详情NAMEpipe, pipe2 - …

Mathorcup数学建模竞赛第六届-【妈妈杯】B题:小区车位分布的优化设计与评价(附一等奖获奖论文、C++和matlab代码)

赛题描述 随着现代社会经济的快速发展,房地产成为国家经济发展中重要的经济增长点之一。而小区内汽车停车位的分布对于小区居民的上下班出行影响很大。请建立数学模型,解决下列问题: 问题1:分析评判小区汽车停车位分布是否合理的几个关键指标,建立评判车位分布合理的数学…

mybatis官方文档之第一个mybatis程序实操

mysql数据库准备工作&#xff1a; 首先&#xff0c;我们需要在mysql数据库中&#xff0c;建立数据库和数据表&#xff1a; //创建数据库 create database my_batis; //创建表 create table students(id int not null,name varchar(30) default null,pwd varchar(30) default …

用移动激光扫描来估计树干直径的分割和树干校准法

Paper题目&#xff1a;Mobile Laser Scanning for Estimating Tree Stem Diameter Using Segmentation and Tree Spine Calibration Abstract 移动激光扫描 (MLS) 可以通过使用自动推导出树干中心位置和树干直径的算法来提高森林清查效率。在这项工作中&#xff0c;我们提出了…

远程控制软件– 向日葵使用教程

新冠疫情的严峻形式下&#xff0c;各地都延期复工&#xff0c;一时间远程办公&#xff0c;在家办公可谓非常火爆。然而&#xff0c;家里毕竟不是公司&#xff0c;很多的资料都在办公室电脑&#xff0c;甚至一些比较专业系统或者专属网络限制无法完成在家办公&#xff0c;这时候…

从加(解)密角度讲栅栏密码

目录普通型栅栏加密原理解密原理W型栅栏加密原理实例解密原理这今天在做新生赛的一道“只有倒着翻过十八层的篱笆才能抵达北欧神话的终点”&#xff0c;研究了很长时间的栅栏原理&#xff0c;flag没出来&#xff0c;而且自己对于普通和W型的加密解密整的有的蒙… 原先一篇文章里…

sentinel-流量控制

github地址&#xff1a;主页 alibaba/Sentinel Wiki GitHub 目录 概述基于 QPS/并发数的流量控制基于调用关系的流量控制 概述 流量控制&#xff08;flow control&#xff09;&#xff0c;其原理是监控应用流量的 QPS 或并发线程数等指标&#xff0c;当达到指定的阈值时对…

免费安全的内网穿透实现——Tailscale

一、需求说明想要实现访问公司或家里的网络设备&#xff08;Windows电脑、NAS、安卓设备等&#xff09;;但是这些设备又没有对应的公网IP地址&#xff1b;且就算有公网 IP 地址&#xff0c;也不放心让这些网络设备直接公开暴露在网络环境中&#xff08;这样很容易被频繁的恶意扫…

【MySQL Tips】除了指定密码外 MySQL客户端更好的选择——登录路径

在实际项目中&#xff0c;我们在生产&#xff08;环境&#xff09;发布新版本或运维时&#xff0c;使用 mysql 、mysqladmin、mysqlimport、mysqldump、mysqlpump 等 MySQL 客户端程序时&#xff0c;每次都需要输入密码&#xff0c;一般都会采用更安全的互动输入密码模式&#…

UOS 22.0家庭版使用体验

1月4日这天我收到了UOS的22.0版本的推送&#xff0c;更新后新增了未成年人账户和学习中心&#xff0c;由于是虚拟机中所以无法新增未成年人账户&#xff0c;于是我制作了Linux to go&#xff08;LTG&#xff09;但是由于我的U盘不是固态U盘所以我用普通的更新就卡在了更新界面。…

Linux下第一个程序:进度条

一、前言 进度条程序曾经是百度的一道面试题。 这一期博客我们来介绍代码和原理究竟是怎样的。 二、知识点 1.回车和换行 通常意义上我们以为回车就是就是键盘的那个回车键。 其实不然。回车其实是不换行&#xff0c;回到本行开头。我们通常用符号表示为 \r 。 换行就是新…

Docker Compose安装

目录 前言 1. 二进制包在线安装 2. 二进制包离线安装 2.1 下载安装包。 2.2 上传到linux服务器 2.3 解压到/usr/local/bin/docker-compose目录。 2.4 将可执行权限应用于二进制文件 2.5 创接建软链&#xff08;可选&#xff09; 2.6 测试是否安装成功 3. 国内镜像二进…

Linux应用编程---3.wait()函数

Linux应用编程—3.wait()函数 ​ 首先引入三个函数&#xff0c;我们通过在Linux终端下查阅它的作用与使用方法。 ​ Linux终端命令下输入&#xff1a;man exit&#xff0c;敲击回车键即可打开exit函数详情页。 图1 exit编程手册​ exit函数的作用是终止一般进程&#xff0c;没…

12、Java基础之泛型的使用

一、泛型的理解1、泛型的概念所谓泛型&#xff0c;就是允许在定义类、接口时通过一个标识表示类中某个属性的类型或者是某个方法的返回值及参数类型。这个类型参数将在使用时&#xff08;例如&#xff0c; 继承或实现这个接口&#xff0c;用这个类型声明变量、创建对象时&#…

[游戏测试]基于人工智能博弈树,极大极小(Minimax)搜索算法并使用Alpha-Beta剪枝算法优化实现的可人机博弈的AI智能五子棋游戏。

⬜⬜⬜ &#x1f430;&#x1f7e7;&#x1f7e8;&#x1f7e9;&#x1f7e6;&#x1f7ea; (*^▽^*)欢迎光临 &#x1f7e7;&#x1f7e8;&#x1f7e9;&#x1f7e6;&#x1f7ea;&#x1f430;⬜⬜⬜ ✏️write in front✏️ &#x1f4dd;个人主页&#xff1a;陈丹宇jmu &a…

关于idea中查看源码时的注释以及.class与.java文件的问题

文章目录问题描述解决方法问题描述 在使用idea编辑器学习java的时候发现有的人的idea将鼠标方法java自带的类方法上会出现解释注释&#xff0c;但是我的idea不可以&#xff0c;经过查询发现是idea中jdk选择的问题。 下图为能查看注释时的截图 按住ctrl点击方法名进入&#x…

分治和递归

目录 分治的概念&#xff1a; 递归的概念&#xff1a; 分治策略的特征&#xff1a; 分治法步骤&#xff1a; 例&#xff1a;阶乘&#xff01; 迭代 递归 关于递归使用栈 斐波拉切数列 迭代 递归 分治的概念&#xff1a; 将一个难以直接解决的大问题&#xff08;规模大…

【年终总结】我的前端之行,回顾2022,展望2023

&#x1f431;个人主页&#xff1a;不叫猫先生 &#x1f64b;‍♂️作者简介&#xff1a;前端领域新星创作者、华为云享专家、阿里云专家博主&#xff0c;专注于前端各领域技术&#xff0c;共同学习共同进步&#xff0c;一起加油呀&#xff01; &#x1f4ab;系列专栏&#xff…

Vivado综合属性之MAX_FANOUT

本文介绍了综合属性MAX_FANOUT对Schematic的影响&#xff0c;通过本文可以理解通过寄存器复制的方式可以降低扇出。 高扇出信号可能会因为布线拥塞而出现时序问题。常用的规避方法是通过寄存器复制的方式降低扇出&#xff0c;可通过MAX_FANOUT实现寄存器复制。 MAX_FANOUT既可…

为金融业保驾护航,浪潮存储容灾方案获得权威媒体认可

近日&#xff0c;在2022中国金融科技年会上&#xff0c;经权威IT专家多项严格评审&#xff0c;浪潮金融行业数据存储与容灾解决方案&#xff0c;凭借安全、可靠、经济、高效四大优势&#xff0c;能够满足金融业务服务永远在线、数据永不丢失、性能永远满足、容量永远充足的核心…