Buildroot是Linux平台上一个构建嵌入式Linux系统的框架。整个Buildroot是由Makefile脚本和Kconfig配置文件构成的。
你可以和编译Linux内核一样,通过buildroot配置,menuconfig修改,编译出一个完整的可以直接烧写到机器上运行的Linux系统软件(包含uboot、kernel、rootfs以及rootfs中的各种库和应用程序)。
官网使用手册:
https://buildroot.org/downloads/manual/manual.html
buildroot 官方下载地址:https://buildroot.org/download.html,可以直接点击红框的压缩包进行下载,如下:
也可以通过git clone最新的buildroot 源码,如下:
git clone git://git.buildroot.net/buildroot
在官网的第二章 System requirements , 它描述了对编译环境的要求。必须要安装的工具如下:
必须要安装的工具命令如下:
sudo apt install -y sed make binutils build-essential gcc g++ patch gzip bzip2 perl tar cpio unzip rsync file bc wget
可选安装的工具命令如下:
sudo apt install -y wget python libncurses5 bzr cvs git mercurial rsync subversion
查看buildroot的配置文件,刚好它支持imx6ull公版开发板。如下:
首先拷贝 configs 目录下的 imx6ullevk_defconfig
配置文件到 imx6ullevk_zc_defconfig
,之后我们直接在此配置文件上进行修改适配操作。
cp configs/imx6ullevk_defconfig configs/imx6ullevk_zc_defconfig
拷贝成功后,使用 vim 或 cat 命令查看 imx6ullevk_zc_defconfig
配置文件内都做了那些操作,查看发现只有短短的几行配置,但是可以看出里面包含了 CPU 架构的配置 kernel uboot 以及 sd镜像和 ext4 镜像的支持,在里面并未看到文件系统的支持和增加了那些包,我们只能先认为这个配置文件使用了系统默认的配置。
# architecture
BR2_arm=y
BR2_cortex_a7=y
BR2_ARM_FPU_NEON_VFPV4=y
# Linux headers same as kernel, a 5.7 series
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_7=y
# system
BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0"
# kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.7.8"
BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6ull-14x14-evk"
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
# bootloader
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BOARDNAME="mx6ull_14x14_evk"
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.07"
BR2_TARGET_UBOOT_FORMAT_DTB_IMX=y
BR2_TARGET_UBOOT_NEEDS_DTC=y
# required tools to create the SD card image
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_GENIMAGE=y
BR2_PACKAGE_HOST_MTOOLS=y
# filesystem / image
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/freescale/common/imx/post-image.sh"
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
首先我们可以在 buildroot 根目录下执行 make help 命令来查看 buildroot 都支持那些编译命令,常用命令如下:
make clean // 表示删除编译生成的 build 缓存文件。
make all // 表示开始编译所有。
make menuconfig // 表示进入配置文件配置页面,用来选择增加或者删除某些包至目标(开发板)。
make <pkg> // 表示包名 - 后面为编译选项,可以使用 ls package/ 来查看都支持了那些软件包。
make busybox-menuconfig // 表示进入 busybox 配置菜单页面,用来增加/删除某些 busybox 配置。
make V=0|1 // 用来输出编译输出信息等级,一般使用 make <命令> V=1 来查看详细的编译步骤。
通过make help
查看支持的指令:
编译buildroot命令:
make imx6ullevk_zc_defconfig
make all
执行结果如下:
编译成功后,会将uboot、kernel和rootfs一起打包成sdcard.img
,然后将编译生成的 sdcard.img
文件使用 wind32diskimage 烧写至 sd 卡内,并设置开发板为 SD 卡启动,使用最新的固件:
在配置buildroot的bootloader时,需要输入一下的命令:
make imx6ullevk_zc_defconfig // 选择配置文件
make menuconfig // 通过界面配置
执行make menuconfig
后的结果如下:
从主菜单选择Bootloader
之后,进入二级菜单如下,红色的框是我们需要配置uboot的配置、uboot git仓库地址、选择uboot仓库的版本id。
Bootloaders --->
首先我们修改编译 uboot 所需的配置配置文件名称,官方这里使用的是 mx6ull_14x14_evk 的配置,我们需要修改为自己板子的配置文件。
Bootloaders --->
(mx6ull_14x14_evk_emmc_zc) U-Boot board name
在uboot的源码中查看我们使用的配置文件为mx6ull_14x14_evk_emmc_zc_defconfig
,上面配置时不需要加defconfig,所以上面填写board name为mx6ull_14x14_evk_emmc_zc
。
为了方便后面的修改,源码保存已经上传到我们自定义的 gitee 仓库内,所以需要先修改 uboot的版本获取方式,移动到 U-Boot Version 来修改使用自定义 git 仓库。
Bootloaders --->
U-Boot Version (Custom Git repository) --->
修改自定义的仓库地址和版本:
Bootloaders --->
()URL of custom repository
() Custom repository version
在配置好需要获取的 uboot 源码和使用的配置文件后,我们只需要指定一下编译生成的镜像文件格式,根据之前的编译烧写可知,imx6ull板子uboot 只需要一个 u-boot-dtb.imx 格式的文件即可,这里也只需要选中编译生成 u-boot-dtb.imx 即可,其它的无需选择。
Bootloaders --->
U-Boot binary format --->
最后保存后退出,配置bootloader完成。
单独编译uboot:make uboot-rebuild
make uboot-rebuild
首先确认配置文件没有被清理或者删除,接下来我们使用上面配置过 uboot 的配置文件继续配置 linux kernel 为支持 imx6ull,我们需要修改如下红框所示的配置。
Kernel --->
首先还是先配置内核源码版本获取方式,这里我们参考下图所示选择使用自定义的 git 仓库地址。
Kernel --->
Kernel version (Custom Git repository) --->
在配置完成使用自定义 git 仓库后,会自动新增两个输入框,首先输入我们内核源码所在的 gitee 地址和版本。
Kernel --->
() URL of custom repository (NEW)
() Custom repository version (NEW)
输入完成获取源码所需的仓库地址和 commit id 后,需要修改配置所需的配置文件名称,修改为 imx_v7 (buildroot 编译时会自动加_defconfig 后缀)。
Kernel --->
(imx_v7) Defconfig name
我们运行内核需要 zImage 和 imx6ull-14x14-evk 设备树文件才可以,此时需要修改增加需要编译生成安装的设备文件 imx6ull-14x14-evk 才可以自动编译生成我们需要的文件(buildroot 编译设备树文件时会自动增加.dtb 后缀)。
Kernel --->
(imx6ull-14x14-evk) In-tree Device Tree Source file names
配置 kernel 后的所有配置项后,可以执行保存退出到 buildroot 源码主目录继续执行编译名。
单独编译kernel:make linux-rebuild
make linux-rebuild
所有都配置好后,可以执行进行全部编译验证:
make all
编译成功后,会将uboot、kernel和rootfs一起打包成sdcard.img
,然后将编译生成的 sdcard.img
文件使用 wind32diskimage 烧写至 sd 卡内,并设置开发板为 SD 卡启动,使用最新的固件:
开机log:
U-Boot 2020.04 (Jul 05 2021 - 12:25:58 +0800)
CPU: i.MX6ULL rev1.1 792 MHz (running at 396 MHz)
CPU: Industrial temperature grade (-40C to 105C) at 45C
Reset cause: POR
Model: i.MX6 ULL 14x14 EVK Board
Board: MX6ULL 14x14 EVK
DRAM: 512 MiB
MMC: FSL_SDHC: 0, FSL_SDHC: 1
Loading Environment from MMC... *** Warning - bad CRC, using default environment
[*]-Video Link 0 (1024 x 600)
[0] lcdif@21c8000, video
In: serial
Out: serial
Err: serial
switch to partitions #0, OK
mmc0 is current device
flash target is MMC:0
Net: eth1: ethernet@20b4000 [PRIME]
Fastboot: Normal
Normal Boot
Hit any key to stop autoboot: 3 2 1 0
switch to partitions #0, OK
mmc0 is current device
switch to partitions #0, OK
mmc0 is current device
8189384 bytes read in 369 ms (21.2 MiB/s)
Booting from mmc ...
35442 bytes read in 17 ms (2 MiB/s)
Kernel image @ 0x80800000 [ 0x000000 - 0x7cf5c8 ]
## Flattened Device Tree blob at 83000000
Booting using the fdt blob at 0x83000000
Using Device Tree in place at 83000000, end 8300ba71
Modify /soc/aips-bus@2200000/epdc@228c000:status disabled
ft_system_setup for mx6
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 5.4.70 (benjamin@ubuntu) (gcc version 9.3.0 (Buildroot -g658cfb3-dirty)) #1 SMP PREEMPT Sun Jul 4 18:28:07 CST 2021
[ 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 ULL 14x14 EVK Board
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] Reserved memory: created CMA memory pool at 0x96000000, size 160 MiB
[ 0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[ 0.000000] percpu: Embedded 15 pages/cpu s32076 r8192 d21172 u61440
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 129920
[ 0.000000] Kernel command line: console=ttymxc0,115200 root=/dev/mmcblk0p2 rootwait rw
[ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] Memory: 335464K/524288K available (12288K kernel code, 578K rwdata, 4288K rodata, 1024K init, 435K bss, 24984K reserved, 163840K 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 restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1.
[ 0.000000] 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] random: get_random_bytes called from start_kernel+0x2c8/0x488 with crng_init=0
[ 0.000000] Switching to timer-based delay loop, resolution 41ns
[ 0.000016] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[ 0.000056] clocksource: mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.002974] Console: colour dummy device 80x30
[ 0.003045] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
[ 0.003079] pid_max: default: 32768 minimum: 301
[ 0.003464] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.003500] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.005218] CPU: Testing write buffer coherency: ok
[ 0.005947] CPU0: update cpu_capacity 1024
[ 0.005980] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.007428] Setting up static identity map for 0x80100000 - 0x80100060
[ 0.007775] rcu: Hierarchical SRCU implementation.
[ 0.008512] smp: Bringing up secondary CPUs ...
[ 0.008543] smp: Brought up 1 node, 1 CPU
[ 0.008566] SMP: Total of 1 processors activated (48.00 BogoMIPS).
[ 0.008583] CPU: All CPU(s) started in SVC mode.
[ 0.009488] devtmpfs: initialized
[ 0.020837] Duplicate name in lcdif@21c8000, renamed to "display#1"
[ 0.025209] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[ 0.026188] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.026241] futex hash table entries: 256 (order: 2, 16384 bytes, linear)
[ 0.039182] pinctrl core: initialized pinctrl subsystem
[ 0.041845] NET: Registered protocol family 16
[ 0.059803] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.062644] cpuidle: using governor menu
[ 0.080345] vdd3p0: supplied by regulator-dummy
[ 0.081834] cpu: supplied by regulator-dummy
[ 0.083230] vddsoc: supplied by regulator-dummy
[ 0.108031] failed to find ocotp node
[ 0.108389] No ATAGs?
[ 0.108526] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[ 0.108558] hw-breakpoint: maximum watchpoint size is 8 bytes.
[ 0.113002] imx6ul-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver
[ 0.113694] imx6ul-pinctrl 2290000.iomuxc-snvs: no groups defined in /soc/aips-bus@2200000/iomuxc-snvs@2290000
[ 0.113731] imx6ul-pinctrl 2290000.iomuxc-snvs: initialized IMX pinctrl driver
[ 0.116482] imx mu driver is registered.
[ 0.117522] imx rpmsg driver is registered.
[ 0.190565] vgaarb: loaded
[ 0.192732] SCSI subsystem initialized
[ 0.193916] usbcore: registered new interface driver usbfs
[ 0.194053] usbcore: registered new interface driver hub
[ 0.194269] usbcore: registered new device driver usb
[ 0.197617] i2c i2c-0: IMX I2C adapter registered
[ 0.199706] i2c i2c-1: IMX I2C adapter registered
[ 0.200610] mc: Linux media interface: v0.10
[ 0.200727] videodev: Linux video capture interface: v2.00
[ 0.200863] pps_core: LinuxPPS API ver. 1 registered
[ 0.200884] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.200940] PTP clock support registered
[ 0.204233] MIPI CSI2 driver module loaded
[ 0.204372] Advanced Linux Sound Architecture Driver Initialized.
[ 0.206205] Bluetooth: Core ver 2.22
[ 0.206345] NET: Registered protocol family 31
[ 0.206368] Bluetooth: HCI device and connection manager initialized
[ 0.206407] Bluetooth: HCI socket layer initialized
[ 0.206432] Bluetooth: L2CAP socket layer initialized
[ 0.206486] Bluetooth: SCO socket layer initialized
[ 0.207693] clocksource: Switched to clocksource mxc_timer1
[ 0.208105] VFS: Disk quotas dquot_6.6.0
[ 0.208318] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 0.231268] thermal_sys: Registered thermal governor 'step_wise'
[ 0.231911] NET: Registered protocol family 2
[ 0.233268] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear)
[ 0.233359] TCP established hash table entries: 4096 (order: 2, 16384 bytes, linear)
[ 0.233480] TCP bind hash table entries: 4096 (order: 3, 32768 bytes, linear)
[ 0.233637] TCP: Hash tables configured (established 4096 bind 4096)
[ 0.233851] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[ 0.233920] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[ 0.234325] NET: Registered protocol family 1
[ 0.235636] RPC: Registered named UNIX socket transport module.
[ 0.235670] RPC: Registered udp transport module.
[ 0.235689] RPC: Registered tcp transport module.
[ 0.235707] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.237031] PCI: CLS 0 bytes, default 64
[ 0.238737] hw perfevents: enabled with armv7_cortex_a7 PMU driver, 5 counters available
[ 0.242663] Bus freq driver module loaded
[ 0.245150] Initialise system trusted keyrings
[ 0.245733] workingset: timestamp_bits=14 max_order=17 bucket_order=3
[ 0.263062] NFS: Registering the id_resolver key type
[ 0.263141] Key type id_resolver registered
[ 0.263160] Key type id_legacy registered
[ 0.263261] jffs2: version 2.2. (NAND) ?2001-2006 Red Hat, Inc.
[ 0.264444] fuse: init (API version 7.31)
[ 0.358310] Key type asymmetric registered
[ 0.358346] Asymmetric key parser 'x509' registered
[ 0.358414] io scheduler mq-deadline registered
[ 0.358432] io scheduler kyber registered
[ 0.368929] pwm-backlight backlight: backlight supply power not found, using dummy regulator
[ 0.377339] mxsfb 21c8000.lcdif: 21c8000.lcdif supply lcd not found, using dummy regulator
[ 0.487454] sii902x bound to mxs-lcdif from 21c8000.lcdif
[ 0.511797] Console: switching to colour frame buffer device 128x37
[ 0.615025] mxsfb 21c8000.lcdif: initialized
[ 0.624822] imx-sdma 20ec000.sdma: Direct firmware load for imx/sdma/sdma-imx6q.bin failed with error -2
[ 0.624863] imx-sdma 20ec000.sdma: Falling back to sysfs fallback for: imx/sdma/sdma-imx6q.bin
[ 0.629366] mxs-dma 1804000.dma-apbh: initialized
[ 0.636762] 2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 21, base_baud = 5000000) is a IMX
[ 1.362712] printk: console [ttymxc0] enabled
[ 1.369603] 21e8000.serial: ttymxc1 at MMIO 0x21e8000 (irq = 67, base_baud = 5000000) is a IMX
[ 1.413835] imx_rngc 2284000.rng: Freescale RNGC registered.
[ 1.420317] imx sema4 driver is registered.
[ 1.462242] brd: module loaded
[ 1.485489] loop: module loaded
[ 1.491536] imx ahci driver is registered.
[ 1.503636] spi-nor spi4.0: unrecognized JEDEC id bytes: ff ff ff ff ff ff
[ 1.512090] gpio@0 enforce active low on chipselect handle
[ 1.522365] libphy: Fixed MDIO Bus: probed
[ 1.528083] CAN device driver interface
[ 1.536756] pps pps0: new PPS source ptp0
[ 1.544217] libphy: fec_enet_mii_bus: probed
[ 1.548940] mdio_bus 20b4000.ethernet-1: MDIO device at address 2 is missing.
[ 1.559505] fec 20b4000.ethernet eth0: registered PHC device 0
[ 1.568561] pps pps1: new PPS source ptp1
[ 1.575099] fec 2188000.ethernet: Invalid MAC address: 00:00:00:00:00:00
[ 1.582130] fec 2188000.ethernet: Using random MAC address: fa:6f:55:a5:97:94
[ 1.591446] fec 2188000.ethernet eth1: registered PHC device 1
[ 1.598280] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
[ 1.604155] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[ 1.611502] usbcore: registered new interface driver r8152
[ 1.617174] usbcore: registered new interface driver lan78xx
[ 1.623093] usbcore: registered new interface driver asix
[ 1.628685] usbcore: registered new interface driver ax88179_178a
[ 1.634894] usbcore: registered new interface driver cdc_ether
[ 1.640927] usbcore: registered new interface driver smsc95xx
[ 1.646785] usbcore: registered new interface driver net1080
[ 1.652627] usbcore: registered new interface driver cdc_subset
[ 1.658712] usbcore: registered new interface driver zaurus
[ 1.664396] usbcore: registered new interface driver MOSCHIP usb-ethernet driver
[ 1.672002] usbcore: registered new interface driver cdc_ncm
[ 1.677735] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.684289] ehci-pci: EHCI PCI platform driver
[ 1.689018] ehci-mxc: Freescale On-Chip EHCI Host driver
[ 1.695229] usbcore: registered new interface driver usb-storage
[ 1.705613] imx_usb 2184000.usb: No over current polarity defined
[ 1.712036] imx_usb 2184000.usb: 2184000.usb supply vbus not found, using dummy regulator
[ 2.153169] random: fast init done
[ 2.337941] mxs_phy 20c9000.usbphy: Data pin can't make good contact.
[ 2.347353] imx_usb 2184200.usb: 2184200.usb supply vbus not found, using dummy regulator
[ 2.360351] ci_hdrc ci_hdrc.1: EHCI Host Controller
[ 2.365355] ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 1
[ 2.397824] ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00
[ 2.403735] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.04
[ 2.412127] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 2.419422] usb usb1: Product: EHCI Host Controller
[ 2.424332] usb usb1: Manufacturer: Linux 5.4.70 ehci_hcd
[ 2.429794] usb usb1: SerialNumber: ci_hdrc.1
[ 2.435707] hub 1-0:1.0: USB hub found
[ 2.439791] hub 1-0:1.0: 1 port detected
[ 2.449700] input: 20cc000.snvs:snvs-powerkey as /devices/soc0/soc/2000000.aips-bus/20cc000.snvs/20cc000.snvs:snvs-powerkey/input/input0
[ 2.465937] input: iMX6UL Touchscreen Controller as /devices/soc0/soc/2000000.aips-bus/2040000.tsc/input/input1
[ 2.479824] read sensor who am i (0x0)error !
[ 2.484277] fxls8471: probe of 0-001e failed with error -22
[ 2.495202] snvs_rtc 20cc000.snvs:snvs-rtc-lp: registered as rtc0
[ 2.501822] i2c /dev entries driver
[ 2.509304] pxp-v4l2 pxp_v4l2: initialized
[ 2.516345] mag3110 0-000e: 0-000e supply vdd not found, using dummy regulator
[ 2.523967] mag3110 0-000e: 0-000e supply vddio not found, using dummy regulator
[ 2.531635] mag3110 0-000e: check mag3110 chip ID
[ 2.536825] mag3110 0-000e: read chip ID 0xfffffffa is not equal to 0xc4!
[ 2.544017] mag3110: probe of 0-000e failed with error -22
[ 2.551726] imx6ul-pinctrl 20e0000.iomuxc: pin MX6UL_PAD_LCD_RESET already requested by 21c8000.lcdif; cannot claim for 20bc000.wdog
[ 2.563983] imx6ul-pinctrl 20e0000.iomuxc: pin-69 (20bc000.wdog) status -22
[ 2.571240] imx6ul-pinctrl 20e0000.iomuxc: could not request pin 69 (MX6UL_PAD_LCD_RESET) from group wdoggrp on device 20e0000.iomuxc
[ 2.583523] imx2-wdt 20bc000.wdog: Error applying setting, reverse things back
[ 2.590872] imx2-wdt: probe of 20bc000.wdog failed with error -22
[ 2.598637] Bluetooth: HCI UART driver ver 2.3
[ 2.603137] Bluetooth: HCI UART protocol H4 registered
[ 2.608392] Bluetooth: HCI UART protocol BCSP registered
[ 2.613823] Bluetooth: HCI UART protocol LL registered
[ 2.619138] Bluetooth: HCI UART protocol Three-wire (H5) registered
[ 2.625489] Bluetooth: HCI UART protocol Marvell registered
[ 2.631284] usbcore: registered new interface driver btusb
[ 2.638723] sdhci: Secure Digital Host Controller Interface driver
[ 2.644945] sdhci: Copyright(c) Pierre Ossman
[ 2.649507] sdhci-pltfm: SDHCI platform and OF driver helper
[ 2.657523] sdhci-esdhc-imx 2190000.usdhc: Got CD GPIO
[ 2.697485] mmc0: SDHCI controller on 2190000.usdhc [2190000.usdhc] using ADMA
[ 2.740904] mmc1: SDHCI controller on 2194000.usdhc [2194000.usdhc] using ADMA
[ 2.748428] mmc0: host does not support reading read-only switch, assuming write-enable
[ 2.760698] caam-snvs 20cc000.caam-snvs: violation handlers armed - init state
[ 2.768599] mmc0: new high speed SDHC card at address aaaa
[ 2.779617] mmcblk0: mmc0:aaaa SC32G 29.7 GiB
[ 2.789981] usbcore: registered new interface driver usbhid
[ 2.796500] usbhid: USB HID core driver
[ 2.800910] mmcblk0: p1 p2
[ 2.807897] usb 1-1: new high-speed USB device number 2 using ci_hdrc
[ 2.850183] fsl-sai 202c000.sai: failed to get mclk0 clock: -2
[ 2.856508] mmc1: new DDR MMC card at address 0001
[ 2.863013] mmcblk1: mmc1:0001 Q2J54A 3.64 GiB
[ 2.877368] debugfs: Directory '202c000.sai' with parent 'wm8960-audio' already present!
[ 2.886345] mmcblk1boot0: mmc1:0001 Q2J54A partition 1 2.00 MiB
[ 2.893091] mmcblk1boot1: mmc1:0001 Q2J54A partition 2 2.00 MiB
[ 2.899953] mmcblk1rpmb: mmc1:0001 Q2J54A partition 3 512 KiB, chardev (244:0)
[ 2.908062] imx-wm8960 sound-wm8960: wm8960-hifi <-> 202c000.sai mapping ok
[ 2.918997] mmcblk1: p1 p2 p3
[ 2.926534] imx-wm8960 sound-wm8960: snd-soc-dummy-dai <-> 2034000.asrc mapping ok
[ 2.940099] imx-wm8960 sound-wm8960: wm8960-hifi <-> 202c000.sai mapping ok
[ 3.018419] usb 1-1: New USB device found, idVendor=0424, idProduct=2514, bcdDevice= b.b3
[ 3.026691] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 3.035478] hub 1-1:1.0: USB hub found
[ 3.039653] hub 1-1:1.0: 4 ports detected
[ 3.076008] NET: Registered protocol family 26
[ 3.082185] NET: Registered protocol family 10
[ 3.089444] Segment Routing with IPv6
[ 3.093355] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[ 3.101079] NET: Registered protocol family 17
[ 3.105604] can: controller area network core (rev 20170425 abi 9)
[ 3.112214] NET: Registered protocol family 29
[ 3.116712] can: raw protocol (rev 20170425)
[ 3.121084] can: broadcast manager protocol (rev 20170425 t)
[ 3.126790] can: netlink gateway (rev 20190810) max_hops=1
[ 3.133084] Bluetooth: RFCOMM TTY layer initialized
[ 3.138268] Bluetooth: RFCOMM socket layer initialized
[ 3.143500] Bluetooth: RFCOMM ver 1.11
[ 3.147301] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[ 3.152845] Bluetooth: BNEP filters: protocol multicast
[ 3.158347] Bluetooth: BNEP socket layer initialized
[ 3.163464] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[ 3.169624] Bluetooth: HIDP socket layer initialized
[ 3.174923] lib80211: common routines for IEEE802.11 drivers
[ 3.180811] Key type dns_resolver registered
[ 3.211149] Registering SWP/SWPB emulation handler
[ 3.217120] Loading compiled-in X.509 certificates
[ 3.253425] regulator-can-3v3 GPIO handle specifies active low - ignored
[ 3.266663] imx_thermal tempmon: Industrial CPU temperature grade - max:105C critical:100C passive:95C
[ 3.277525] snvs_rtc 20cc000.snvs:snvs-rtc-lp: setting system clock to 1970-01-01T00:00:00 UTC (0)
[ 3.287363] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 3.299191] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 3.306032] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 3.314901] platform regulatory.0: Falling back to sysfs fallback for: regulatory.db
[ 3.323042] ALSA device list:
[ 3.326037] #0: wm8960-audio
[ 3.541871] EXT4-fs (mmcblk0p2): recovery complete
[ 3.555065] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[ 3.563793] VFS: Mounted root (ext4 filesystem) on device 179:2.
[ 3.573395] devtmpfs: mounted
[ 3.579176] Freeing unused kernel memory: 1024K
[ 3.584517] Run /sbin/init as init process
[ 3.752743] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
Starting syslogd: OK
Starting klogd: OK
Running sysctl: OK
Initializing random number generator: OK
Saving random seed: [ 4.072156] random: dd: uninitialized urandom read (512 bytes read)
OK
Starting system message bus: [ 4.173678] random: dbus-uuidgen: uninitialized urandom read (12 bytes read)
[ 4.181179] random: dbus-uuidgen: uninitialized urandom read (8 bytes read)
done
Starting network: OK
Welcome to Buildroot
buildroot login: root
#
# ls
# df -h
Filesystem Size Used Available Use% Mounted on
/dev/root 280.5M 142.1M 119.4M 54% /
devtmpfs 163.8M 0 163.8M 0% /dev
tmpfs 244.3M 0 244.3M 0% /dev/shm
tmpfs 244.3M 36.0K 244.3M 0% /tmp
tmpfs 244.3M 20.0K 244.3M 0% /run
#
#
# ls
# pwd
/root
#
#