| |
U-Boot 2016.03-mys-6ulx+g04a0d30 (Apr 28 2018 - 22:58:22 +0800) CPU: Freescale i.MX6ULL rev1.1 528 MHz (running at 396 MHz) CPU: Commercial temperature grade (0C to 95C) at 48C Reset cause: POR Board: MYS-MX6ULL 14x14 I2C: ready DRAM: 256 MiB NAND: 256 MiB MMC: FSL_SDHC: 0 *** Warning - bad CRC, using default environment Display: TFT43AB (480x272) Video: 480x272x24 In: serial Out: serial Err: serial Net: FEC0 Error: FEC0 address not set. | U-Boot引导: 启动代码_start,reset,_main,board_init等, 配置 检查基本硬件: CPU、内存闪存、主板、总线、接口、主存储、操作系统内核镜像、根文件系统、安全设备等,就是为操作系统准备必须资源。 根据硬件环境,加载不同的dtb文件,使后续统一的linux kernel运行在相应的硬件平台上。dtb文件就是有关板子具体功能的设备驱动. 参考u-boot FIT image POR-- power-on reset CPU信息 Board I2C DRAM NAND MMC Display u-boot的API(如low_level_init、board_init_f、board_init_r等等)做初始化。 疑问:我原以为所有dtb都在kernel后加载, 似乎不全这样? u-boot使用哪些内存? |
Normal Boot Hit any key to stop autoboot: 0 NAND read: device 0 offset 0x500000, size 0xa00000 10485760 bytes read: OK NAND read: device 0 offset 0xf00000, size 0x100000 1048576 bytes read: OK Kernel image @ 0x80800000 [ 0x000000 - 0x6861b8 ] ## Flattened Device Tree blob at 83000000 Booting using the fdt blob at 0x83000000 Using Device Tree in place at 83000000, end 8300ba3e | 从NAND读出 (两个在不同位置,难道一个是kernel,一个是dtb?)
kernel放在0x80800000 FDT设备驱动放在0x83000000 |
Starting kernel ... Booting Linux on physical CPU 0x0 Linux version 4.1.15-1.2.0+ga17f87e (blackrose@brix4770-debian) (gcc version 5.3 .0 (GCC) ) #1 SMP PREEMPT Tue May 29 22:35:26 CST 2018 | 引导后开始启动内核。 U-Boot用bootm(据说有I, z , m三种) 命令将内核镜像加载到内存的指定地址处,如果有需要还要解压镜像,然后根据操作系统和体系结构的不同给内核传递不同的启动参数,最后启动内核 k erenl正式开始运行 |
CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c53c7d | |
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache | 处理器在进行存储器访问时,访问的是虚拟地址,经过cache缓存和TLB和MMU的映射转换,最终变成了物理地址。cache工作方式: VIVT(Virtual Index Virtual Tag):使用虚拟地址索引域和虚拟地址的标记域。 VIPT(Virtual Index Physical Tag):使用虚拟地址的索引域和物理地址的标记域。 PIPT(Physical Index Physical Tag):使用物理地址的索引域和物理地址的标记域。
|
Machine model: Freescale i.MX6 ULL 14x14 EVK Board | |
Reserved memory: failed to allocate memory for node 'linux,cma' | cma(contigous memory allocator) 内存分配管理
zonelists内存区域节点链表 控制台命令行。 UBI:- Unsorted Block Images一种类似于LVM的逻辑卷管理层。主要实现损益均衡,逻辑擦除块、卷管理,坏块管理等。 UBIFS:基于UBI的FLASH文件系统 MTD --Memory Technology Device, PID—进程ID Dentry cache目录项高速缓存, Inode-cache 索引节点缓存 |
Memory policy: Data cache writealloc |
PERCPU: Embedded 12 pages/cpu @8fdd4000 s16908 r8192 d24052 u49152 |
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 65024 |
Kernel command line: console=ttymxc0,115200 ubi.mtd=3 root=ubi0:rootfs rootfstyp e=ubifs mtdparts=gpmi-nand:5m(boot),10m(kernel),1m(dtb),-(rootfs) |
PID hash table entries: 1024 (order: 0, 4096 bytes) Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) Memory: 246684K/262144K available (8626K kernel code, 440K rwdata, 3032K rodata, 428K init, 450K bss, 15460K reserved, 0K cma-reserved, 0K highmem) |
Virtual kernel memory layout: vector : 0xffff0000 - 0xffff1000 ( 4 kB) fixmap : 0xffc00000 - 0xfff00000 (3072 kB) vmalloc : 0x90800000 - 0xff000000 (1768 MB) lowmem : 0x80000000 - 0x90000000 ( 256 MB) pkmap : 0x7fe00000 - 0x80000000 ( 2 MB) modules : 0x7f000000 - 0x7fe00000 ( 14 MB) .text : 0x80008000 - 0x80b6aaf0 (11659 kB) .init : 0x80b6b000 - 0x80bd6000 ( 428 kB) .data : 0x80bd6000 - 0x80c440a0 ( 441 kB) .bss : 0x80c47000 - 0x80cb7b40 ( 451 kB) | 虚拟地址空间分配
start_kernel(void) |
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 | |
Preemptible hierarchical RCU implementation. Additional per-CPU info printed with stalls. RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1. RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1 | RCU -- Read-copy update内核中的读-拷贝-更新 |
| |
mxc_clocksource_init 24000000 Switching to timer-based delay loop, resolution 41ns sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns clocksource mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79 635851949 ns | |
Console: colour dummy device 80x30 | |
Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000) | |
pid_max: default: 32768 minimum: 301 |
|
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) |
|
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) |
|
CPU: Testing write buffer coherency: ok |
|
/cpus/cpu@0 missing clock-frequency property |
|
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000 |
|
Setting up static identity map for 0x80008280 - 0x800082d8 |
|
|
|
SMP: Total of 1 processors activated (48.00 BogoMIPS). | Symmetric Multiprocessing, |
CPU: All CPU(s) started in SVC mode. | |
| 设备初始化, devfs是文件系统形式的device manager。tmpfs存在在内存和swap中,因此只能保存临时文件。devtmpfs是改进的devfs,也是存在内存中,挂载点是/dev/,缩短开机时间 |
device-tree: Duplicate name in lcdif@021c8000, renamed to "display#1" |
|
VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5 | VFP(vector floating point)向量浮点指令 |
clocksource jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112 604462750000 ns |
|
pinctrl core: initialized pinctrl subsystem | |
NET: Registered protocol family 16 | |
DMA: preallocated 256 KiB pool for atomic coherent allocations | |
cpuidle: using governor ladder cpuidle: using governor menu | |
hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers. hw-breakpoint: maximum watchpoint size is 8 bytes. | |
imx6ul-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver imx6ul-pinctrl 2290000.iomuxc-snvs: initialized IMX pinctrl driver | |
mxs-dma 1804000.dma-apbh: initialized | code.woboq.org/linux/linux/drivers/dma/mxs-dma.c.html |
SCSI subsystem initialized | |
usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb | |
i2c i2c-1: IMX I2C adapter registered i2c i2c-1: can't use DMA | |
media: Linux media interface: v0.10 | |
Linux video capture interface: v2.00 | |
pps_core: LinuxPPS API ver. 1 registered pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@l inux.it> | PPS (pulse-per-second) signal connected to a GPIO pin. www.kernel.org/doc/Documentation/devicetree/bindings/pps/pps-gpio.txt |
PTP clock support registered | PTP -- Precision Time Protocol |
MIPI CSI2 driver module loaded | |
Advanced Linux Sound Architecture Driver Initialized. | |
Bluetooth: Core ver 2.20 NET: Registered protocol family 31 Bluetooth: HCI device and connection manager initialized Bluetooth: HCI socket layer initialized Bluetooth: L2CAP socket layer initialized Bluetooth: SCO socket layer initialized | |
Switched to clocksource mxc_timer1 |
|
NET: Registered protocol family 2 | |
TCP established hash table entries: 2048 (order: 1, 8192 bytes) TCP bind hash table entries: 2048 (order: 2, 16384 bytes) TCP: Hash tables configured (established 2048 bind 2048) | |
UDP hash table entries: 256 (order: 1, 8192 bytes) UDP-Lite hash table entries: 256 (order: 1, 8192 bytes) | |
NET: Registered protocol family 1 |
|
RPC: Registered named UNIX socket transport module. RPC: Registered udp transport module. RPC: Registered tcp transport module. RPC: Registered tcp NFSv4.1 backchannel transport module. | |
imx rpmsg driver is registered. | RPMsg -- Remote Processor Messaging 核间通讯 |
Bus freq driver module loaded | APIs are for setting bus frequency to low or high |
futex hash table entries: 256 (order: 2, 16384 bytes) | Fast Userspace muTexes快速用户空间互斥 |
VFS: Disk quotas dquot_6.6.0 VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) | Virtual File system Switch为各类文件系统提供一个统一的操作界面和应用编程接口 |
NFS: Registering the id_resolver key type | |
Key type id_resolver registered Key type id_legacy registered |
|
jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc. | Journalling Flash File System Version2(闪存日志型文件系统第2版) |
fuse init (API version 7.23) | |
io scheduler noop registered io scheduler deadline registered io scheduler cfq registered (default) | |
imx-weim 21b8000.weim: Driver registered. | WEIM --Wireless External Interface Module |
backlight supply power not found, using dummy regulator |
|
MIPI DSI driver module loaded MIPI DSI driver module loaded | MIPI(移动行业处理器接口)是Mobile Industry Processor Interface DSI Display Serial Interface |
21c8000.lcdif supply lcd not found, using dummy regulator mxsfb 21c8000.lcdif: failed to find mxc display driver Console: switching to colour frame buffer device 60x34 mxsfb 21c8000.lcdif: initialized | |
imx-sdma 20ec000.sdma: no event needs to be remapped imx-sdma 20ec000.sdma: loaded firmware 3.3 imx-sdma 20ec000.sdma: initialized | Freescale Smart DMA engine |
2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 19, base_baud = 5000000) is a I MX console [ttymxc0] enabled | |
imx-rng 2284000.rngb: iMX RNG Registered. imx sema4 driver is registered. [drm] Initialized drm 1.1.0 20060810 [drm] Initialized vivante 1.0.0 20120216 on minor 0 brd: module loaded loop: module loaded nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xda nand: Micron MT29F2G08ABAEAWP nand: 256 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64 gpmi-nand 1806000.gpmi-nand: enable the asynchronous EDO mode 5 Bad block table found at page 131008, version 0x01 Bad block table found at page 130944, version 0x01 nand_read_bbt: bad block at 0x000000140000 | |
4 cmdlinepart partitions found on MTD device gpmi-nand Creating 4 MTD partitions on "gpmi-nand": 0x000000000000-0x000000500000 : "boot" 0x000000500000-0x000000f00000 : "kernel" 0x000000f00000-0x000001000000 : "dtb" 0x000001000000-0x000010000000 : "rootfs" gpmi-nand 1806000.gpmi-nand: driver registered. | |
CAN device driver interface 2188000.ethernet supply phy not found, using dummy regulator pps pps0: new PPS source ptp0 fec 2188000.ethernet (unnamed net_device) (uninitialized): Invalid MAC address: 00:00:00:00:00:00 fec 2188000.ethernet (unnamed net_device) (uninitialized): Using random MAC addr ess: 96:71:63:1b:34:5c libphy: fec_enet_mii_bus: probed fec 2188000.ethernet eth0: registered PHC device 0 PPP generic driver version 2.4.2 PPP BSD Compression module registered PPP Deflate Compression module registered PPP MPPE Compression module registered | |
NET: Registered protocol family 24 | |
SLIP: version 0.8.4-NET3.019-NEWTTY (dynamic channels, max=256) (6 bit encapsula tion enabled). CSLIP: code copyright 1989 Regents of the University of California. SLIP linefill/keepalive option. | Serial Line Internet Protocol,串行线路网际协议 压缩的SLIP协议,常用在Telnet,Rlogin之类的应用程序中 |
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver ehci-mxc: Freescale On-Chip EHCI Host driver usbcore: registered new interface driver usb-storage usbcore: registered new interface driver usb_ehset_test 2184800.usbmisc supply vbus-wakeup not found, using dummy regulator 2184200.usb supply vbus not found, using dummy regulator ci_hdrc ci_hdrc.1: EHCI Host Controller ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 1 ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00 hub 1-0:1.0: USB hub found hub 1-0:1.0: 1 port detected | USB 以下设备配置参考 git.freescale.com/git/cgit.cgi/imx/linux-imx.git/tree/arch/arm/boot/dts?h=imx_4.1.15_2.0.0_ga&id=rel_imx_4.1.15_2.0.0_ga |
mousedev: PS/2 mouse device common for all mice | |
input: 20cc000.snvs:snvs-powerkey as /devices/platform/soc/2000000.aips-bus/20cc 000.snvs/20cc000.snvs:snvs-powerkey/input/input0 |
|
|
|
msg ft5x0x_i2c_rxdata i2c read error: -5 ft5x0x read ID error! ft5x06_ts: probe of 1-0038 failed with error 161 ft5x0x_ts_init successful input: iMX6UL TouchScreen Controller as /devices/platform/soc/2000000.aips-bus/2 040000.tsc/input/input1 |
|
snvs_rtc 20cc000.snvs:snvs-rtc-lp: rtc core: registered 20cc000.snvs:snvs-r as r tc0 |
|
|
|
IR NEC protocol handler initialized IR RC5(x/sz) protocol handler initialized IR RC6 protocol handler initialized IR JVC protocol handler initialized IR Sony protocol handler initialized IR SANYO protocol handler initialized IR Sharp protocol handler initialized IR MCE Keyboard/mouse protocol handler initialized IR XMP protocol handler initialized |
|
pxp-v4l2 pxp_v4l2: initialized |
|
usbcore: registered new interface driver uvcvideo USB Video Class driver (1.1.1) | |
imx2-wdt 20bc000.wdog: use WDOG_B to reboot. imx2-wdt 20bc000.wdog: timeout 60 sec (nowayout=0) | |
Bluetooth: HCI UART driver ver 2.3 Bluetooth: HCI UART protocol H4 registered Bluetooth: HCI UART protocol BCSP registered Bluetooth: HCI UART protocol ATH3K registered |
|
|
|
|
usbcore: registered new interface driver btusb usbcore: registered new interface driver ath3k |
|
|
sdhci: Secure Digital Host Controller Interface driver sdhci: Copyright(c) Pierre Ossman sdhci-pltfm: SDHCI platform and OF driver helper /soc/aips-bus@02100000/usdhc@02190000: voltage-ranges unspecified sdhci-esdhc-imx 2190000.usdhc: could not get ultra high speed state, work on nor mal mode sdhci-esdhc-imx 2190000.usdhc: Got CD GPIO sdhci-esdhc-imx 2190000.usdhc: No vmmc regulator found sdhci-esdhc-imx 2190000.usdhc: No vqmmc regulator found mmc0: SDHCI controller on 2190000.usdhc [2190000.usdhc] using ADMA |
|
usbcore: registered new interface driver usbhid usbhid: USB HID core driver usbcore: registered new interface driver snd-usb-audio |
|
fsl-asrc 2034000.asrc: driver registered |
|
NET: Registered protocol family 26 | |
NET: Registered protocol family 10 | |
sit: IPv6 over IPv4 tunneling driver | |
NET: Registered protocol family 17 | |
can: controller area network core (rev 20120528 abi 9) |
|
usb 1-1: new high-speed USB device number 2 using ci_hdrc |
|
NET: Registered protocol family 29 | |
can: raw protocol (rev 20120528) can: broadcast manager protocol (rev 20120528 t) can: netlink gateway (rev 20130117) max_hops=1 |
|
Bluetooth: RFCOMM TTY layer initialized Bluetooth: RFCOMM socket layer initialized Bluetooth: RFCOMM ver 1.11 Bluetooth: BNEP (Ethernet Emulation) ver 1.3 Bluetooth: BNEP filters: protocol multicast Bluetooth: BNEP socket layer initialized Bluetooth: HIDP (Human Interface Emulation) ver 1.2 Bluetooth: HIDP socket layer initialized |
|
8021q: 802.1Q VLAN Support v1.8 |
|
Key type dns_resolver registered |
|
|
|
hub 1-1:1.0: USB hub found hub 1-1:1.0: 2 ports detected |
|
random: nonblocking pool is initialized |
|
usb 1-1.1: new high-speed USB device number 3 using ci_hdrc |
|
ubi0: scanning is finished ubi0: attached mtd3 (name "rootfs", size 240 MiB) ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 126976 bytes ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 2048 ubi0: VID header offset: 2048 (aligned 2048), data offset: 4096 ubi0: good PEBs: 1916, bad PEBs: 4, corrupted PEBs: 0 ubi0: user volume: 1, internal volumes: 1, max. volumes count: 128 ubi0: max/mean erase counter: 1/0, WL threshold: 4096, image sequence number: 17 6716376 ubi0: available PEBs: 0, total reserved PEBs: 1916, PEBs reserved for bad PEB ha ndling: 36 ubi0: background thread "ubi_bgt0d" started, PID 81 | Unsorted block images file system
physical erase blocks (PEB) |
|
|
input: gpio-keys as /devices/platform/gpio-keys/input/input2 | |
snvs_rtc 20cc000.snvs:snvs-rtc-lp: setting system clock to 2018-05-30 01:40:33 U TC (1527644433) |
|
|
|
|
|
|
|
|
|
|
|
UBIFS (ubi0:0): recovery needed UBIFS (ubi0:0): recovery deferred UBIFS (ubi0:0): UBIFS: mounted UBI device 0, volume 0, name "rootfs", R/O mode UBIFS (ubi0:0): LEB size: 126976 bytes (124 KiB), min./max. I/O unit sizes: 2048 bytes/2048 bytes UBIFS (ubi0:0): FS size: 236683264 bytes (225 MiB, 1864 LEBs), journal size 1180 8768 bytes (11 MiB, 93 LEBs) UBIFS (ubi0:0): reserved for root: 4952683 bytes (4836 KiB) UBIFS (ubi0:0): media format: w4/r0 (latest is w4/r0), UUID 043ED19B-DD8C-43A5-B 3BD-DCA07BF64283, small LPT model |
|
VFS: Mounted root (ubifs filesystem) readonly on device 0:14. | |
|
|
Freeing unused kernel memory: 428K (80b6b000 - 80bd6000) |
|
INIT: version 2.88 booting |
|
|
|
udevd[117]: starting version 3.1.5 |
|
UBIFS (ubi0:0): completing deferred recovery UBIFS (ubi0:0): background thread "ubifs_bgt0_0" started, PID 141 UBIFS (ubi0:0): deferred recovery completed |
|
bootlogd: cannot allocate pseudo tty: No such file or directory |
|
Chip Version Info: CHIP_8188E_Normal_Chip_TSMC_D_CUT_1T1R_RomVer(0) |
|
|
|
usbcore: registered new interface driver r8188eu |
|
ALSA: Restoring mixer settings... |
|
INIT: Entering runlevel: 5 |
|
/usr/sbin/alsactl: load_state:1735: No soundcards found... |
|
Configuring network interfaces... fec 2188000.ethernet eth0: Freescale FEC PHY d river [Generic PHY] (mii_bus:phy_addr=2188000.ethernet:00, irq=-1) |
|
IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready |
|
| very small DHCP client program |
|
|
|
|
|
|
No lease, forking to background |
|
|
|
Starting system message bus: dbus. |
|
Starting OpenBSD Secure Shell server: sshd |
|
|
|
Starting rpcbind daemon...done. |
|
Starting advanced power management daemon: No APM support in kernel |
|
|
|
Starting syslogd/klogd: done |
|
* Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon |
|
|
|
Starting Telephony daemon |
|
Starting Linux NFC daemon |
|
Running local boot scripts (/etc/rc.local). |
|
|
|
Freescale i.MX Release Distro 4.1.15-2.0.1 mys6ull14x14 /dev/ttymxc0 |
|
|
|