您的位置:首页 > 运维架构 > Linux

分析arm linux启动打印信息

2017-12-12 17:17 471 查看
=====================================================

arm linux系统启动相关文章列表:

arm linux系统启动流程 http://blog.csdn.net/u010872301/article/details/72615117
分析arm linux启动打印信息 http://blog.csdn.net/u010872301/article/details/78779503
Linux kernel panic 问题解决方案 http://blog.csdn.net/u010872301/article/details/73928935
=====================================================


{//-------------------------------启动打印信息----------------------------------
{//u-boot环境变量设置:Ctrl+c
FS4412 # pri
baudrate=115200
bootargs=root=/dev/nfs nfsroot=192.168.9.120:/nfs/rootfs rw console=ttySAC2,115200 init=/linuxrc ip=192.168.9.9
bootcmd=tftp 41000000 uImage;tftp 42000000 exynos4412-fs4412.dtb;bootm 41000000 - 42000000
bootdelay=3
ethact=dm9000
ethaddr=11:22:33:44:55:66
gatewayip=192.168.9.1
ipaddr=192.168.9.9
netmask=255.255.255.0
serverip=192.168.9.120
stderr=serial
stdin=serial
stdout=serial
Environment size: 425/16380 bytes
}
{//u-boot启动阶段
U-Boot 2013.01 (Aug 24 2014 - 12:01:19) for FS4412
CPU:	Exynos4412@1000MHz
Board: FS4412
DRAM:  1 GiB
WARNING: Caches not enabled
MMC:   MMC0:	3728 MB
In:    serial
Out:   serial
Err:   serial
MMC read: dev # 0, block # 48, count 16 ...16 blocks read: OK
eMMC CLOSE Success.!!
Checking Boot Mode ... EMMC4.41
Net:   dm9000
Hit any key to stop autoboot:  3  2  1  0

dm9000 i/o: 0x5000000, id: 0x90000a46
DM9000: running in 16 bit mode
MAC: 11:22:33:44:55:66
operating at 100M full duplex mode
Using dm9000 device
TFTP from server 192.168.9.120; our IP address is 192.168.9.9  //对应bootcmd的 tftp 0x41000000 uImage
Filename 'uImage'.
Load address: 0x41000000
Loading: *#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#######
69.3 KiB/s
done
Bytes transferred = 3028040 (2e3448 hex)
dm9000 i/o: 0x5000000, id: 0x90000a46
DM9000: running in 16 bit mode
MAC: 11:22:33:44:55:66
operating at 100M full duplex mode
Using dm9000 device
TFTP from server 192.168.9.120; our IP address is 192.168.9.9  //对应bootcmd的 tftp 42000000 exynos4412-fs4412.dtb
Filename 'exynos4412-fs4412.dtb'.
Load address: 0x42000000
Loading: *#######
393.6 KiB/s
done
Bytes transferred = 33876 (8454 hex)
Booting kernel from Legacy Image at 41000000 ...
Image Name:   Linux-3.14.0
Image Type:   ARM Linux Kernel Image (uncompressed)
Data Size:    3027976 Bytes = 2.9 MiB
Load Address: 40008000
Entry Point:  40008000
Verifying Checksum ... OK
Flattened Device Tree blob at 42000000
Booting using the fdt blob at 0x42000000
Loading Kernel Image ... OK
Loading Device Tree to 4fff4000, end 4ffff453 ... OK

Starting kernel ...   /*启动内核(对应bootmcd的 bootm 41000000 - 42000000)
如果到这里启动失败,可能原因
1.u-boot参数设置错误   如bootargs 中ttySAC2 设为了ttySAC1
2.uImage 有问题。   换一个OK的试试,或把这个uImage放在别的板上验证下
3.内核源码有问题, 加打印信息跟踪和打开内核调试信息开关,   init\main.c  start_kernel()
如machine type 不匹配
4.硬件相关,如u-boot初始CPU频率,分频不对
*/

*/
}

{//linux3.14内核启动阶段
Booting Linux on physical CPU 0xa00
//init\main.c  start_kernel()
Linux version 3.14.0 (david@ubuntu) (gcc version 4.6.4 (crosstool-NG hg+default-2685dfa9de14 - tc0002) ) #23 SMP PREEMPT Fri Aug 15 11:30:16 CST 2014

CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=10c5387d

CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache

Machine model: Insignal Origen evaluation board based on Exynos4412

Memory policy: Data cache writealloc

CPU EXYNOS4412 (id 0xe4412011)

Running under secure firmware.

PERCPU: Embedded 7 pages/cpu @eefb6000 s7424 r8192 d13056 u32768

Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 256528

Kernel command line: root=/dev/nfs nfsroot=192.168.9.120:/nfs/rootfs rw console=ttySAC2,115200 init=/linuxrc ip=192.168.9.9  //内核对u-boot传入的bootargs参数的解析

PID hash table entries: 4096 (order: 2, 16384 bytes)

Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)

Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)

Memory: 1016852K/1032192K available (3956K kernel code, 237K rwdata, 1320K rodata, 231K init, 276K bss, 15340K reserved, 270336K highmem)

Virtual kernel memory layout:

vector  : 0xffff0000 - 0xffff1000   (   4 kB)

fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)

vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)

lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)

pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)

modules : 0xbf000000 - 0xbfe00000   (  14 MB)

.text : 0xc0008000 - 0xc052f41c   (5278 kB)

.init : 0xc0530000 - 0xc0569d00   ( 232 kB)

.data : 0xc056a000 - 0xc05a5540   ( 238 kB)

.bss : 0xc05a554c - 0xc05ea584   ( 277 kB)

SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1

Preemptible hierarchical RCU implementation.

RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4.

RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4

NR_IRQS:16 nr_irqs:16 16

Exynos4x12 clocks: sclk_apll = 500000000, sclk_mpll = 800000000

sclk_epll = 96000000, sclk_vpll = 350000000, arm_clk = 1000000000

sched_clock: 32 bits at 200 Hz, resolution 5000000ns, wraps every 10737418240000000ns

Console: colour dummy device 80x30

Calibrating delay loop... 1992.29 BogoMIPS (lpj=4980736)

pid_max: default: 32768 minimum: 301

Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)

Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)

CPU: Testing write buffer coherency: ok

missing device node for CPU 0

missing device node for CPU 1

missing device node for CPU 2

missing device node for CPU 3

CPU0: thread -1, cpu 0, socket 10, mpidr 80000a00

Setting up static identity map for 0x403c0e10 - 0x403c0e68

CPU1: Booted secondary processor

CPU1: thread -1, cpu 1, socket 10, mpidr 80000a01

CPU2: Booted secondary processor

CPU2: thread -1, cpu 2, socket 10, mpidr 80000a02

CPU3: Booted secondary processor

CPU3: thread -1, cpu 3, socket 10, mpidr 80000a03

Brought up 4 CPUs

SMP: Total of 4 processors activated.

CPU: All CPU(s) started in SVC mode.

devtmpfs: initialized

VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4

pinctrl core: initialized pinctrl subsystem

regulator-dummy: no parameters

NET: Registered protocol family 16

DMA: preallocated 256 KiB pool for atomic coherent allocations

S3C Power Management, Copyright 2004 Simtec Electronics

EXYNOS4x12 PMU Initialize

EXYNOS: Initializing architecture

bio: create slab <bio-0> at 0

VMEM_VDD_2.8V: 2800 mV

SCSI subsystem initialized

usbcore: registered new interface driver usbfs

usbcore: registered new interface driver hub

usbcore: registered new device driver usb

s3c-i2c 13860000.i2c: slave address 0x00

s3c-i2c 13860000.i2c: bus frequency set to 19 KHz

sec_pmic 0-0066: No interrupt specified, no interrupts

VDD_ALIVE: failed to apply 1100000uV constraint

s5m8767-pmic s5m8767-pmic: regulator init failed for 0

s3c-i2c 13860000.i2c: i2c-0: S3C I2C adapter

Switched to clocksource mct-frc

NET: Registered protocol family 2

TCP established hash table entries: 8192 (order: 3, 32768 bytes)

TCP bind hash table entries: 8192 (order: 5, 163840 bytes)

TCP: Hash tables configured (established 8192 bind 8192)

TCP: reno registered

UDP hash table entries: 512 (order: 2, 24576 bytes)

UDP-Lite hash table entries: 512 (order: 2, 24576 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.

futex hash table entries: 1024 (order: 4, 65536 bytes)

bounce pool size: 64 pages

ROMFS MTD (C) 2007 Red Hat, Inc.

msgmni has been set to 1458

io scheduler noop registered

io scheduler deadline registered

io scheduler cfq registered (default)

dma-pl330 12680000.pdma: Loaded driver for PL330 DMAC-1315632

dma-pl330 12680000.pdma: 	DBUFF-32x4bytes Num_Chans-8 Num_Peri-32 Num_Events-32

dma-pl330 12690000.pdma: Loaded driver for PL330 DMAC-1315632

dma-pl330 12690000.pdma: 	DBUFF-32x4bytes Num_Chans-8 Num_Peri-32 Num_Events-32

dma-pl330 12850000.mdma: Loaded driver for PL330 DMAC-13
bb9f
15632

dma-pl330 12850000.mdma: 	DBUFF-64x8bytes Num_Chans-8 Num_Peri-1 Num_Events-32

Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled

13800000.serial: ttySAC0 at MMIO 0x13800000 (irq = 84, base_baud = 0) is a S3C6400/10

13810000.serial: ttySAC1 at MMIO 0x13810000 (irq = 85, base_baud = 0) is a S3C6400/10

13820000.serial: ttySAC2 at MMIO 0x13820000 (irq = 86, base_baud = 0) is a S3C6400/10

console [ttySAC2] enabled

13830000.serial: ttySAC3 at MMIO 0x13830000 (irq = 87, base_baud = 0) is a S3C6400/10

brd: module loaded

loop: module loaded

dm9000 5000000.ethernet: read wrong id 0x01010101

eth0: dm9000a at f0076000,f0078004 IRQ 167 MAC: 00:0a:2d:a6:55:a2 (platform data)

usbcore: registered new interface driver asix

usbcore: registered new interface driver ax88179_178a

usbcore: registered new interface driver cdc_ether

usbcore: registered new interface driver smsc75xx

usbcore: registered new interface driver smsc95xx

usbcore: registered new interface driver net1080

usbcore: registered new interface driver cdc_subset

usbcore: registered new interface driver zaurus

usbcore: registered new interface driver cdc_ncm

ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver

ehci-exynos: EHCI EXYNOS driver

usbcore: registered new interface driver usb-storage

mousedev: PS/2 mouse device common for all mice

input: 100a0000.keypad as /devices/100a0000.keypad/input/input0

device-mapper: ioctl: 4.27.0-ioctl (2013-10-30) initialised: dm-devel@redhat.com

sdhci: Secure Digital Host Controller Interface driver

sdhci: Copyright(c) Pierre Ossman

s3c-sdhci 12530000.sdhci: clock source 2: mmc_busclk.2 (40000000 Hz)

mmc0: no vqmmc regulator found

mmc0: SDHCI controller on samsung-hsmmc [12530000.sdhci] using ADMA

Synopsys Designware Multimedia Card Interface Driver

dwmmc_exynos 12550000.mmc: no vmmc regulator found: -19

dwmmc_exynos 12550000.mmc: Using internal DMA controller.

dwmmc_exynos 12550000.mmc: Version ID is 240a

dwmmc_exynos 12550000.mmc: DW MMC controller at irq 109, 32 bit host data width, 128 deep fifo

dwmmc_exynos 12550000.mmc: 1 slots initialized

usbcore: registered new interface driver usbhid

usbhid: USB HID core driver

TCP: cubic registered

NET: Registered protocol family 17

NET: Registered protocol family 15

Registering SWP/SWPB emulation handler

VMEM_VDD_2.8V: disabling

regulator-dummy: disabling

drivers/rtc/hctosys.c: unable to open rtc device (rtc0)

mmc1: BKOPS_EN bit is not set

dm9000 5000000.ethernet eth0: link down

mmc_host mmc1: Bus speed (slot 0) = 50000000Hz (slot req 52000000Hz, actual 50000000HZ div = 0)

mmc_host mmc1: Bus speed (slot 0) = 100000000Hz (slot req 52000000Hz, actual 50000000HZ div = 1)

mmc1: new high speed DDR MMC card at address 0001

mmcblk0: mmc1:0001 4YMD3R 3.64 GiB

mmcblk0boot0: mmc1:0001 4YMD3R partition 1 4.00 MiB

mmcblk0boot1: mmc1:0001 4YMD3R partition 2 4.00 MiB

mmcblk0rpmb: mmc1:0001 4YMD3R partition 3 512 KiB

mmcblk0: p1 p2 p3 p4

mmcblk0boot1: unknown partition table

mmcblk0boot0: unknown partition table

dm9000 5000000.ethernet eth0: link up, 100Mbps, full-duplex, lpa 0x45E1

IP-Config: Guessing netmask 255.255.255.0

IP-Config: Complete:

device=eth0, hwaddr=00:0a:2d:a6:55:a2, ipaddr=192.168.9.9, mask=255.255.255.0, gw=255.255.255.255

host=192.168.9.9, domain=, nis-domain=(none)

bootserver=255.255.255.255, rootserver=192.168.9.120, rootpath=

clk: Not disabling unused clocks

VFS: Mounted root (nfs filesystem) on device 0:10.  /*挂载根文件系统(从 nfs filesystem知挂载的是NFS rootfs),也可挂载jffs2 ramdisk cramfs等格式rootfs
如果到这里启动失败,可能原因
1. bootargs 参数设置用问题  ,如设置mtdblock2 写成了mtdblock3, 或路径,名称不对等
2. 设为nfs挂载,验证rootfs内容有没问题
3. 制作镜像过程有没问题
*/

devtmpfs: mounted

Freeing unused kernel memory: 228K (c0530000 - c0569000)
}

{//根文件系统阶段(可运行应用程序)
[root@farsight ]# ls
a.out    dev      lib      mnt      root     sys      usr
bin      etc      linuxrc  proc     sbin     tmp      var
[root@farsight ]# ./a.out
hello
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  bootloader linux rootfs