debian内核代码执行流程(一)

摘要:
本文根据debian引导信息检查内核源代码。系统使用Debian下配置Dynamicprintk和重新编译内核中的内核源代码来查看执行过程。

 本文根据debian开机信息来查看内核源代码。

系统使用《debian下配置dynamic printk以及重新编译内核》中内核源码来查看执行流程。

使用dmesg命令,得到下面的开机信息:

[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 3.2.57 (host@debian) (gcc version 4.7.2 (Debian 4.7.2-5) ) #1 SMP Fri Jun 20 10:02:51 CST 2014
[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  BIOS-e820: 0000000000000000 - 000000000009f800 (usable)
[    0.000000]  BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved)
[    0.000000]  BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
[    0.000000]  BIOS-e820: 0000000000100000 - 000000007f590000 (usable)
[    0.000000]  BIOS-e820: 000000007f590000 - 000000007f5e3000 (ACPI NVS)
[    0.000000]  BIOS-e820: 000000007f5e3000 - 000000007f5f0000 (ACPI data)
[    0.000000]  BIOS-e820: 000000007f5f0000 - 000000007f600000 (reserved)
[    0.000000]  BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved)
[    0.000000]  BIOS-e820: 00000000fec00000 - 0000000100000000 (reserved)
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] SMBIOS 2.5 present.
[    0.000000] DMI: OEM OEM/SY-I5G31-L V2.0, BIOS 6.00 PG 09/28/2009
[    0.000000] e820 update range: 0000000000000000 - 0000000000010000 (usable) ==> (reserved)
[    0.000000] e820 remove range: 00000000000a0000 - 0000000000100000 (usable)
[    0.000000] last_pfn = 0x7f590 max_arch_pfn = 0x1000000
[    0.000000] MTRR default type: uncachable
[    0.000000] MTRR fixed ranges enabled:
[    0.000000]   00000-9FFFF write-back
[    0.000000]   A0000-BFFFF uncachable
[    0.000000]   C0000-CAFFF write-protect
[    0.000000]   CB000-EFFFF uncachable
[    0.000000]   F0000-FFFFF write-through
[    0.000000] MTRR variable ranges enabled:
[    0.000000]   0 base 000000000 mask F80000000 write-back
[    0.000000]   1 base 07F700000 mask FFFF00000 uncachable
[    0.000000]   2 base 07F800000 mask FFF800000 uncachable
[    0.000000]   3 base 07F600000 mask FFFF00000 uncachable
[    0.000000]   4 disabled
[    0.000000]   5 disabled
[    0.000000]   6 disabled
[    0.000000]   7 disabled
[    0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
[    0.000000] found SMP MP-table at [c00f3b50] f3b50
[    0.000000] initial memory mapped : 0 - 01a00000
[    0.000000] Base memory trampoline at [c009b000] 9b000 size 16384
[    0.000000] init_memory_mapping: 0000000000000000-00000000379fe000
[    0.000000]  0000000000 - 0000200000 page 4k
[    0.000000]  0000200000 - 0037800000 page 2M
[    0.000000]  0037800000 - 00379fe000 page 4k
[    0.000000] kernel direct mapping tables up to 379fe000 @ 19f9000-1a00000
[    0.000000] RAMDISK: 29bdc000 - 30de6000
[    0.000000] ACPI: RSDP 000f7d20 00014 (v00 IntelR)
[    0.000000] ACPI: RSDT 7f5e3000 00038 (v01 IntelR AWRDACPI 42302E31 AWRD 00000000)
[    0.000000] ACPI: FACP 7f5e3080 00074 (v01 IntelR AWRDACPI 42302E31 AWRD 00000000)
[    0.000000] ACPI: DSDT 7f5e3100 04A18 (v01 INTELR AWRDACPI 00001000 MSFT 03000000)
[    0.000000] ACPI: FACS 7f590000 00040
[    0.000000] ACPI: HPET 7f5e7c00 00038 (v01 IntelR AWRDACPI 42302E31 AWRD 00000098)
[    0.000000] ACPI: MCFG 7f5e7c40 0003C (v01 IntelR AWRDACPI 42302E31 AWRD 00000000)
[    0.000000] ACPI: APIC 7f5e7b40 00084 (v01 IntelR AWRDACPI 42302E31 AWRD 00000000)
[    0.000000] ACPI: SSDT 7f5e83a0 009FF (v01  PmRef    CpuPm 00003000 INTL 20060912)
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] 1147MB HIGHMEM available.
[    0.000000] 889MB LOWMEM available.
[    0.000000]   mapped low ram: 0 - 379fe000
[    0.000000]   low ram: 0 - 379fe000
[    0.000000] Zone PFN ranges:
[    0.000000]   DMA      0x00000010 -> 0x00001000
[    0.000000]   Normal   0x00001000 -> 0x000379fe
[    0.000000]   HighMem  0x000379fe -> 0x0007f590
[    0.000000] Movable zone start PFN for each node
[    0.000000] early_node_map[2] active PFN ranges
[    0.000000]     0: 0x00000010 -> 0x0000009f
[    0.000000]     0: 0x00000100 -> 0x0007f590
[    0.000000] On node 0 totalpages: 521503
[    0.000000] free_area_init_node: node 0, pgdat c141e800, node_mem_map f6a0d200
[    0.000000]   DMA zone: 32 pages used for memmap
[    0.000000]   DMA zone: 0 pages reserved
[    0.000000]   DMA zone: 3951 pages, LIFO batch:0
[    0.000000]   Normal zone: 1748 pages used for memmap
[    0.000000]   Normal zone: 221994 pages, LIFO batch:31
[    0.000000]   HighMem zone: 2296 pages used for memmap
[    0.000000]   HighMem zone: 291482 pages, LIFO batch:31
[    0.000000] Using APIC driver default
[    0.000000] ACPI: PM-Timer IO Port: 0x408
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x02] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x03] disabled)
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x02] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x03] high edge lint[0x1])
[    0.000000] ACPI: IOAPIC (id[0x04] address[0xfec00000] gsi_base[0])
[    0.000000] IOAPIC[0]: apic_id 4, version 32, address 0xfec00000, GSI 0-23
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    0.000000] ACPI: IRQ0 used by override.
[    0.000000] ACPI: IRQ2 used by override.
[    0.000000] ACPI: IRQ9 used by override.
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0x8086a201 base: 0xfed00000
[    0.000000] SMP: Allowing 4 CPUs, 2 hotplug CPUs
[    0.000000] nr_irqs_gsi: 40
[    0.000000] PM: Registered nosave memory: 000000000009f000 - 00000000000a0000
[    0.000000] PM: Registered nosave memory: 00000000000a0000 - 00000000000f0000
[    0.000000] PM: Registered nosave memory: 00000000000f0000 - 0000000000100000
[    0.000000] Allocating PCI resources starting at 7f600000 (gap: 7f600000:60a00000)
[    0.000000] Booting paravirtualized kernel on bare hardware
[    0.000000] setup_percpu: NR_CPUS:32 nr_cpumask_bits:32 nr_cpu_ids:4 nr_node_ids:1
[    0.000000] PERCPU: Embedded 14 pages/cpu @f69c9000 s33280 r0 d24064 u57344
[    0.000000] pcpu-alloc: s33280 r0 d24064 u57344 alloc=14*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 517427
[    0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.2.57 root=UUID=c6cb3b0a-3215-46d4-9ac7-6835d0a12e47 ro initrd=/install/initrd.gz quiet
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Initializing CPU#0
[    0.000000] xsave/xrstor: enabled xstate_bv 0x3, cntxt size 0x240
[    0.000000] Initializing HighMem for node 0 (000379fe:0007f590)
[    0.000000] Memory: 1946540k/2086464k available (2881k kernel code, 139472k reserved, 1380k data, 428k init, 1175112k highmem)
[    0.000000] virtual kernel memory layout:
[    0.000000]     fixmap  : 0xffd36000 - 0xfffff000   (2852 kB)
[    0.000000]     pkmap   : 0xffa00000 - 0xffc00000   (2048 kB)
[    0.000000]     vmalloc : 0xf81fe000 - 0xff9fe000   ( 120 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xf79fe000   ( 889 MB)
[    0.000000]       .init : 0xc142a000 - 0xc1495000   ( 428 kB)
[    0.000000]       .data : 0xc12d07ac - 0xc1429a40   (1380 kB)
[    0.000000]       .text : 0xc1000000 - 0xc12d07ac   (2881 kB)
[    0.000000] Checking if this processor honours the WP bit even in supervisor mode...Ok.
[    0.000000] Hierarchical RCU implementation.
[    0.000000]     RCU dyntick-idle grace-period acceleration is enabled.
[    0.000000] NR_IRQS:2304 nr_irqs:712 16
[    0.000000] CPU 0 irqstacks, hard=f6406000 soft=f6408000
[    0.000000] Console: colour VGA+ 80x25
[    0.000000] console [tty0] enabled
[    0.000000] hpet clockevent registered
[    0.000000] Fast TSC calibration using PIT
[    0.000000] Detected 2510.571 MHz processor.
[    0.004002] Calibrating delay loop (skipped), value calculated using timer frequency.. 5021.14 BogoMIPS (lpj=10042284)
[    0.004006] pid_max: default: 32768 minimum: 301
[    0.004038] Security Framework initialized
[    0.004054] AppArmor: AppArmor disabled by boot time parameter
[    0.004067] Mount-cache hash table entries: 512
[    0.004187] Initializing cgroup subsys cpuacct
[    0.004192] Initializing cgroup subsys memory
[    0.004200] Initializing cgroup subsys devices
[    0.004202] Initializing cgroup subsys freezer
[    0.004204] Initializing cgroup subsys net_cls
[    0.004205] Initializing cgroup subsys blkio
[    0.004211] Initializing cgroup subsys perf_event
[    0.004239] CPU: Physical Processor ID: 0
[    0.004240] CPU: Processor Core ID: 0
[    0.004243] mce: CPU supports 6 MCE banks
[    0.004250] CPU0: Thermal monitoring enabled (TM2)
[    0.004253] using mwait in idle threads.
[    0.004638] ACPI: Core revision 20110623
[    0.009086] Enabling APIC mode:  Flat.  Using 1 I/O APICs
[    0.009444] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
[    0.049139] CPU0: Intel Pentium(R) Dual-Core  CPU      E5200  @ 2.50GHz stepping 0a
[    0.052002] Performance Events: PEBS fmt0+, Core2 events, Intel PMU driver.
[    0.052002] ... version:                2
[    0.052002] ... bit               40
[    0.052002] ... generic registers:      2
[    0.052002] ... value mask:             000000ffffffffff
[    0.052002] ... max period:             000000007fffffff
[    0.052002] ... fixed-purpose events:   3
[    0.052002] ... event mask:             0000000700000003
[    0.052002] NMI watchdog enabled, takes one hw-pmu counter.
[    0.052002] CPU 1 irqstacks, hard=f64d4000 soft=f64d6000
[    0.052002] Booting Node   0, Processors  #1
[    0.052002] smpboot cpu 1: start_ip = 9b000
[    0.008000] Initializing CPU#1
[    0.140036] NMI watchdog enabled, takes one hw-pmu counter.
[    0.140070] Brought up 2 CPUs
[    0.140072] Total of 2 processors activated (10041.88 BogoMIPS).
[    0.141484] devtmpfs: initialized
[    0.141484] PM: Registering ACPI NVS region at 7f590000 (339968 bytes)
[    0.141484] print_constraints: dummy: 
[    0.141484] NET: Registered protocol family 16
[    0.141484] ACPI: bus type pci registered
[    0.141484] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe0000000-0xefffffff] (base 0xe0000000)
[    0.141484] PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved in E820
[    0.141484] PCI: Using MMCONFIG for extended config space
[    0.141484] PCI: Using configuration type 1 for base access
[    0.141484] bio: create slab <bio-0> at 0
[    0.141484] ACPI: Added _OSI(Module Device)
[    0.141484] ACPI: Added _OSI(Processor Device)
[    0.141484] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.141484] ACPI: Added _OSI(Processor Aggregator Device)
[    0.141484] ACPI: EC: Look up EC in DSDT
[    0.147393] ACPI: SSDT 7f5e7cc0 0030F (v01  PmRef  Cpu0Ist 00003000 INTL 20060912)
[    0.147566] ACPI: Dynamic OEM Table Load:
[    0.147569] ACPI: SSDT   (null) 0030F (v01  PmRef  Cpu0Ist 00003000 INTL 20060912)
[    0.148012] ACPI: SSDT 7f5e81e0 001B3 (v01  PmRef  Cpu1Ist 00003000 INTL 20060912)
[    0.148176] ACPI: Dynamic OEM Table Load:
[    0.148178] ACPI: SSDT   (null) 001B3 (v01  PmRef  Cpu1Ist 00003000 INTL 20060912)
[    0.148366] ACPI: Interpreter enabled
[    0.148372] ACPI: (supports S0 S1 S4 S5)
[    0.148389] ACPI: Using IOAPIC for interrupt routing
[    0.152327] ACPI: No dock devices found.
[    0.152329] HEST: Table not found.
[    0.152333] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[    0.152382] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    0.152491] pci_root PNP0A08:00: host bridge window [io  0x0000-0x0cf7]
[    0.152494] pci_root PNP0A08:00: host bridge window [io  0x0d00-0xffff]
[    0.152496] pci_root PNP0A08:00: host bridge window [mem 0x000a0000-0x000bffff]
[    0.152498] pci_root PNP0A08:00: host bridge window [mem 0x000c0000-0x000dffff]
[    0.152501] pci_root PNP0A08:00: host bridge window [mem 0x7f600000-0xfebfffff]
[    0.152514] pci 0000:00:00.0: [8086:29c0] type 0 class 0x000600
[    0.152556] pci 0000:00:02.0: [8086:29c2] type 0 class 0x000300
[    0.152565] pci 0000:00:02.0: reg 10: [mem 0xfdf00000-0xfdf7ffff]
[    0.152571] pci 0000:00:02.0: reg 14: [io  0xff00-0xff07]
[    0.152576] pci 0000:00:02.0: reg 18: [mem 0xd0000000-0xdfffffff pref]
[    0.152582] pci 0000:00:02.0: reg 1c: [mem 0xfd600000-0xfd6fffff]
[    0.152645] pci 0000:00:1b.0: [8086:27d8] type 0 class 0x000403
[    0.152660] pci 0000:00:1b.0: reg 10: [mem 0xfdff8000-0xfdffbfff 64bit]
[    0.152723] pci 0000:00:1b.0: PME# supported from D0 D3hot D3cold
[    0.152744] pci 0000:00:1c.0: [8086:27d0] type 1 class 0x000604
[    0.152808] pci 0000:00:1c.0: PME# supported from D0 D3hot D3cold
[    0.152830] pci 0000:00:1c.1: [8086:27d2] type 1 class 0x000604
[    0.152894] pci 0000:00:1c.1: PME# supported from D0 D3hot D3cold
[    0.152916] pci 0000:00:1c.2: [8086:27d4] type 1 class 0x000604
[    0.152979] pci 0000:00:1c.2: PME# supported from D0 D3hot D3cold
[    0.153001] pci 0000:00:1c.3: [8086:27d6] type 1 class 0x000604
[    0.153065] pci 0000:00:1c.3: PME# supported from D0 D3hot D3cold
[    0.153087] pci 0000:00:1d.0: [8086:27c8] type 0 class 0x000c03
[    0.153124] pci 0000:00:1d.0: reg 20: [io  0xfe00-0xfe1f]
[    0.153154] pci 0000:00:1d.1: [8086:27c9] type 0 class 0x000c03
[    0.153192] pci 0000:00:1d.1: reg 20: [io  0xfd00-0xfd1f]
[    0.153221] pci 0000:00:1d.2: [8086:27ca] type 0 class 0x000c03
[    0.153258] pci 0000:00:1d.2: reg 20: [io  0xfc00-0xfc1f]
[    0.153287] pci 0000:00:1d.3: [8086:27cb] type 0 class 0x000c03
[    0.153324] pci 0000:00:1d.3: reg 20: [io  0xfb00-0xfb1f]
[    0.153362] pci 0000:00:1d.7: [8086:27cc] type 0 class 0x000c03
[    0.153379] pci 0000:00:1d.7: reg 10: [mem 0xfdfff000-0xfdfff3ff]
[    0.153455] pci 0000:00:1d.7: PME# supported from D0 D3hot D3cold
[    0.153474] pci 0000:00:1e.0: [8086:244e] type 1 class 0x000604
[    0.153532] pci 0000:00:1f.0: [8086:27b8] type 0 class 0x000601
[    0.153609] pci 0000:00:1f.0: ICH7 LPC Generic IO decode 1 PIO at 0800 (mask 003f)
[    0.153652] pci 0000:00:1f.1: [8086:27df] type 0 class 0x000101
[    0.153664] pci 0000:00:1f.1: reg 10: [io  0x0000-0x0007]
[    0.153673] pci 0000:00:1f.1: reg 14: [io  0x0000-0x0003]
[    0.153681] pci 0000:00:1f.1: reg 18: [io  0x0000-0x0007]
[    0.153690] pci 0000:00:1f.1: reg 1c: [io  0x0000-0x0003]
[    0.153698] pci 0000:00:1f.1: reg 20: [io  0xfa00-0xfa0f]
[    0.153731] pci 0000:00:1f.2: [8086:27c0] type 0 class 0x000101
[    0.153744] pci 0000:00:1f.2: reg 10: [io  0xf900-0xf907]
[    0.153751] pci 0000:00:1f.2: reg 14: [io  0xf800-0xf803]
[    0.153759] pci 0000:00:1f.2: reg 18: [io  0xf700-0xf707]
[    0.153767] pci 0000:00:1f.2: reg 1c: [io  0xf600-0xf603]
[    0.153774] pci 0000:00:1f.2: reg 20: [io  0xf500-0xf50f]
[    0.153806] pci 0000:00:1f.2: PME# supported from D3hot
[    0.153820] pci 0000:00:1f.3: [8086:27da] type 0 class 0x000c05
[    0.153868] pci 0000:00:1f.3: reg 20: [io  0x0500-0x051f]
[    0.153935] pci 0000:00:1c.0: PCI bridge to [bus 01-01]
[    0.153939] pci 0000:00:1c.0:   bridge window [io  0xb000-0xbfff]
[    0.153943] pci 0000:00:1c.0:   bridge window [mem 0xfde00000-0xfdefffff]
[    0.153949] pci 0000:00:1c.0:   bridge window [mem 0xfdd00000-0xfddfffff 64bit pref]
[    0.153985] pci 0000:00:1c.1: PCI bridge to [bus 02-02]
[    0.153988] pci 0000:00:1c.1:   bridge window [io  0xa000-0xafff]
[    0.153992] pci 0000:00:1c.1:   bridge window [mem 0xfdc00000-0xfdcfffff]
[    0.153998] pci 0000:00:1c.1:   bridge window [mem 0xfdb00000-0xfdbfffff 64bit pref]
[    0.154034] pci 0000:00:1c.2: PCI bridge to [bus 03-03]
[    0.154037] pci 0000:00:1c.2:   bridge window [io  0xe000-0xefff]
[    0.154041] pci 0000:00:1c.2:   bridge window [mem 0xfda00000-0xfdafffff]
[    0.154047] pci 0000:00:1c.2:   bridge window [mem 0xfd900000-0xfd9fffff 64bit pref]
[    0.154099] pci 0000:04:00.0: [10ec:8136] type 0 class 0x000200
[    0.154115] pci 0000:04:00.0: reg 10: [io  0xde00-0xdeff]
[    0.154143] pci 0000:04:00.0: reg 18: [mem 0xfd7ff000-0xfd7fffff 64bit pref]
[    0.154160] pci 0000:04:00.0: reg 20: [mem 0xfd7e0000-0xfd7effff 64bit pref]
[    0.154172] pci 0000:04:00.0: reg 30: [mem 0x00000000-0x0001ffff pref]
[    0.154233] pci 0000:04:00.0: supports D1 D2
[    0.154235] pci 0000:04:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[    0.160032] pci 0000:00:1c.3: PCI bridge to [bus 04-04]
[    0.160039] pci 0000:00:1c.3:   bridge window [io  0xd000-0xdfff]
[    0.160046] pci 0000:00:1c.3:   bridge window [mem 0xfd800000-0xfd8fffff]
[    0.160056] pci 0000:00:1c.3:   bridge window [mem 0xfd700000-0xfd7fffff 64bit pref]
[    0.160134] pci 0000:00:1e.0: PCI bridge to [bus 05-05] (subtractive decode)
[    0.160141] pci 0000:00:1e.0:   bridge window [io  0xc000-0xcfff]
[    0.160148] pci 0000:00:1e.0:   bridge window [mem 0xfd500000-0xfd5fffff]
[    0.160157] pci 0000:00:1e.0:   bridge window [mem 0xfd400000-0xfd4fffff 64bit pref]
[    0.160162] pci 0000:00:1e.0:   bridge window [io  0x0000-0x0cf7] (subtractive decode)
[    0.160167] pci 0000:00:1e.0:   bridge window [io  0x0d00-0xffff] (subtractive decode)
[    0.160173] pci 0000:00:1e.0:   bridge window [mem 0x000a0000-0x000bffff] (subtractive decode)
[    0.160178] pci 0000:00:1e.0:   bridge window [mem 0x000c0000-0x000dffff] (subtractive decode)
[    0.160183] pci 0000:00:1e.0:   bridge window [mem 0x7f600000-0xfebfffff] (subtractive decode)
[    0.160216] pci_bus 0000:00: on NUMA node 0
[    0.160219] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
[    0.160338] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PEX0._PRT]
[    0.160373] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PEX1._PRT]
[    0.160406] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PEX2._PRT]
[    0.160438] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PEX3._PRT]
[    0.160475] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.HUB0._PRT]
[    0.160616]  pci0000:00: Requesting ACPI _OSC control (0x1d)
[    0.160619]  pci0000:00: ACPI _OSC request failed (AE_NOT_FOUND), returned control mask: 0x1d
[    0.160621] ACPI _OSC control for PCIe not granted, disabling ASPM
[    0.167979] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 7 9 10 *11 12 14 15)
[    0.168037] ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled.
[    0.168081] ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 *5 7 9 10 11 12 14 15)
[    0.168124] ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 7 9 10 11 12 14 *15)
[    0.168167] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled.
[    0.168210] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled.
[    0.168253] ACPI: PCI Interrupt Link [LNK0] (IRQs 3 4 5 7 9 10 11 12 14 15) *0, disabled.
[    0.168297] ACPI: PCI Interrupt Link [LNK1] (IRQs 3 4 5 7 9 *10 11 12 14 15)
[    0.168380] vgaarb: device added: PCI:0000:00:02.0,decodes=io+mem,owns=io+mem,locks=none
[    0.168380] vgaarb: loaded
[    0.168380] vgaarb: bridge control possible 0000:00:02.0
[    0.168380] PCI: Using ACPI for IRQ routing
[    0.174067] PCI: pci_cache_line_size set to 64 bytes
[    0.174129] reserve RAM buffer: 000000000009f800 - 000000000009ffff 
[    0.174132] reserve RAM buffer: 000000007f590000 - 000000007fffffff 
[    0.174232] HPET: 3 timers in total, 0 timers will be used for per-cpu timer
[    0.174237] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0
[    0.174241] hpet0: 3 comparators, 64-bit 14.318180 MHz counter
[    0.180130] Switching to clocksource hpet
[    0.181748] pnp: PnP ACPI init
[    0.181760] ACPI: bus type pnp registered
[    0.181827] pnp 00:00: [bus 00-ff]
[    0.181830] pnp 00:00: [io  0x0cf8-0x0cff]
[    0.181832] pnp 00:00: [io  0x0000-0x0cf7 window]
[    0.181835] pnp 00:00: [io  0x0d00-0xffff window]
[    0.181837] pnp 00:00: [mem 0x000a0000-0x000bffff window]
[    0.181839] pnp 00:00: [mem 0x000c0000-0x000dffff window]
[    0.181841] pnp 00:00: [mem 0x7f600000-0xfebfffff window]
[    0.181885] pnp 00:00: Plug and Play ACPI device, IDs PNP0a08 PNP0a03 (active)
[    0.181940] pnp 00:01: [io  0x0010-0x001f]
[    0.181942] pnp 00:01: [io  0x0022-0x003f]
[    0.181944] pnp 00:01: [io  0x0044-0x005f]
[    0.181945] pnp 00:01: [io  0x0062-0x0063]
[    0.181947] pnp 00:01: [io  0x0065-0x006f]
[    0.181949] pnp 00:01: [io  0x0074-0x007f]
[    0.181951] pnp 00:01: [io  0x0091-0x0093]
[    0.181953] pnp 00:01: [io  0x00a2-0x00bf]
[    0.181954] pnp 00:01: [io  0x00e0-0x00ef]
[    0.181956] pnp 00:01: [io  0x04d0-0x04d1]
[    0.181958] pnp 00:01: [io  0x0800-0x087f]
[    0.181960] pnp 00:01: [io  0x0880-0x088f]
[    0.182013] system 00:01: [io  0x04d0-0x04d1] has been reserved
[    0.182016] system 00:01: [io  0x0800-0x087f] has been reserved
[    0.182018] system 00:01: [io  0x0880-0x088f] has been reserved
[    0.182021] system 00:01: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.182032] pnp 00:02: [dma 4]
[    0.182034] pnp 00:02: [io  0x0000-0x000f]
[    0.182036] pnp 00:02: [io  0x0080-0x0090]
[    0.182037] pnp 00:02: [io  0x0094-0x009f]
[    0.182039] pnp 00:02: [io  0x00c0-0x00df]
[    0.182067] pnp 00:02: Plug and Play ACPI device, IDs PNP0200 (active)
[    0.182110] pnp 00:03: [irq 0 disabled]
[    0.182121] pnp 00:03: [irq 8]
[    0.182123] pnp 00:03: [mem 0xfed00000-0xfed003ff]
[    0.182152] pnp 00:03: Plug and Play ACPI device, IDs PNP0103 (active)
[    0.182177] pnp 00:04: [io  0x0070-0x0073]
[    0.182205] pnp 00:04: Plug and Play ACPI device, IDs PNP0b00 (active)
[    0.182214] pnp 00:05: [io  0x0061]
[    0.182240] pnp 00:05: Plug and Play ACPI device, IDs PNP0800 (active)
[    0.182249] pnp 00:06: [io  0x00f0-0x00ff]
[    0.182254] pnp 00:06: [irq 13]
[    0.182283] pnp 00:06: Plug and Play ACPI device, IDs PNP0c04 (active)
[    0.182409] pnp 00:07: [io  0x03f0-0x03f5]
[    0.182412] pnp 00:07: [io  0x03f7]
[    0.182416] pnp 00:07: [irq 6]
[    0.182418] pnp 00:07: [dma 2]
[    0.182457] pnp 00:07: Plug and Play ACPI device, IDs PNP0700 (active)
[    0.182627] pnp 00:08: [io  0x03f8-0x03ff]
[    0.182632] pnp 00:08: [irq 4]
[    0.182689] pnp 00:08: Plug and Play ACPI device, IDs PNP0501 (active)
[    0.182872] pnp 00:09: [io  0x02f8-0x02ff]
[    0.182876] pnp 00:09: [irq 3]
[    0.182933] pnp 00:09: Plug and Play ACPI device, IDs PNP0501 (active)
[    0.183180] pnp 00:0a: [io  0x0378-0x037f]
[    0.183185] pnp 00:0a: [irq 7]
[    0.183233] pnp 00:0a: Plug and Play ACPI device, IDs PNP0400 (active)
[    0.183348] pnp 00:0b: [io  0x0400-0x04bf]
[    0.183394] system 00:0b: [io  0x0400-0x04bf] has been reserved
[    0.183397] system 00:0b: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.183415] pnp 00:0c: [mem 0xffb80000-0xffbfffff]
[    0.183445] pnp 00:0c: Plug and Play ACPI device, IDs INT0800 (active)
[    0.183612] pnp 00:0d: [mem 0xe0000000-0xefffffff]
[    0.183666] system 00:0d: [mem 0xe0000000-0xefffffff] has been reserved
[    0.183669] system 00:0d: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.183732] pnp 00:0e: [mem 0x000f0000-0x000fffff]
[    0.183734] pnp 00:0e: [mem 0x7f600000-0x7f6fffff]
[    0.183736] pnp 00:0e: [mem 0xfed00000-0xfed000ff]
[    0.183739] pnp 00:0e: [mem 0x7f590000-0x7f5fffff]
[    0.183740] pnp 00:0e: [mem 0x00000000-0x0009ffff]
[    0.183742] pnp 00:0e: [mem 0x00100000-0x7f58ffff]
[    0.183744] pnp 00:0e: [mem 0xfec00000-0xfec00fff]
[    0.183746] pnp 00:0e: [mem 0xfed13000-0xfed1dfff]
[    0.183748] pnp 00:0e: [mem 0xfed20000-0xfed8ffff]
[    0.183750] pnp 00:0e: [mem 0xfee00000-0xfee00fff]
[    0.183752] pnp 00:0e: [mem 0xffb00000-0xffb7ffff]
[    0.183754] pnp 00:0e: [mem 0xfff00000-0xffffffff]
[    0.183756] pnp 00:0e: [mem 0x000e0000-0x000effff]
[    0.183817] system 00:0e: [mem 0x000f0000-0x000fffff] could not be reserved
[    0.183820] system 00:0e: [mem 0x7f600000-0x7f6fffff] has been reserved
[    0.183823] system 00:0e: [mem 0xfed00000-0xfed000ff] has been reserved
[    0.183825] system 00:0e: [mem 0x7f590000-0x7f5fffff] could not be reserved
[    0.183828] system 00:0e: [mem 0x00000000-0x0009ffff] could not be reserved
[    0.183831] system 00:0e: [mem 0x00100000-0x7f58ffff] could not be reserved
[    0.183834] system 00:0e: [mem 0xfec00000-0xfec00fff] could not be reserved
[    0.183836] system 00:0e: [mem 0xfed13000-0xfed1dfff] has been reserved
[    0.183839] system 00:0e: [mem 0xfed20000-0xfed8ffff] has been reserved
[    0.183842] system 00:0e: [mem 0xfee00000-0xfee00fff] has been reserved
[    0.183844] system 00:0e: [mem 0xffb00000-0xffb7ffff] has been reserved
[    0.183847] system 00:0e: [mem 0xfff00000-0xffffffff] has been reserved
[    0.183847] system 00:0e: [mem 0x000e0000-0x000effff] has been reserved
[    0.183847] system 00:0e: Plug and Play ACPI device, IDs PNP0c01 (active)
[    0.183847] pnp: PnP ACPI: found 15 devices
[    0.183848] ACPI: ACPI bus type pnp unregistered
[    0.183851] PnPBIOS: Disabled by ACPI PNP
[    0.220622] PCI: max bus depth: 1 pci_try_num: 2
[    0.220656] pci 0000:00:1c.0: PCI bridge to [bus 01-01]
[    0.220659] pci 0000:00:1c.0:   bridge window [io  0xb000-0xbfff]
[    0.220664] pci 0000:00:1c.0:   bridge window [mem 0xfde00000-0xfdefffff]
[    0.220668] pci 0000:00:1c.0:   bridge window [mem 0xfdd00000-0xfddfffff 64bit pref]
[    0.220674] pci 0000:00:1c.1: PCI bridge to [bus 02-02]
[    0.220677] pci 0000:00:1c.1:   bridge window [io  0xa000-0xafff]
[    0.220682] pci 0000:00:1c.1:   bridge window [mem 0xfdc00000-0xfdcfffff]
[    0.220686] pci 0000:00:1c.1:   bridge window [mem 0xfdb00000-0xfdbfffff 64bit pref]
[    0.220691] pci 0000:00:1c.2: PCI bridge to [bus 03-03]
[    0.220694] pci 0000:00:1c.2:   bridge window [io  0xe000-0xefff]
[    0.220699] pci 0000:00:1c.2:   bridge window [mem 0xfda00000-0xfdafffff]
[    0.220703] pci 0000:00:1c.2:   bridge window [mem 0xfd900000-0xfd9fffff 64bit pref]
[    0.220711] pci 0000:04:00.0: BAR 6: assigned [mem 0xfd700000-0xfd71ffff pref]
[    0.220713] pci 0000:00:1c.3: PCI bridge to [bus 04-04]
[    0.220716] pci 0000:00:1c.3:   bridge window [io  0xd000-0xdfff]
[    0.220721] pci 0000:00:1c.3:   bridge window [mem 0xfd800000-0xfd8fffff]
[    0.220724] pci 0000:00:1c.3:   bridge window [mem 0xfd700000-0xfd7fffff 64bit pref]
[    0.220730] pci 0000:00:1e.0: PCI bridge to [bus 05-05]
[    0.220733] pci 0000:00:1e.0:   bridge window [io  0xc000-0xcfff]
[    0.220738] pci 0000:00:1e.0:   bridge window [mem 0xfd500000-0xfd5fffff]
[    0.220742] pci 0000:00:1e.0:   bridge window [mem 0xfd400000-0xfd4fffff 64bit pref]
[    0.220761] pci 0000:00:1c.0: setting latency timer to 64
[    0.220773] pci 0000:00:1c.1: setting latency timer to 64
[    0.220784] pci 0000:00:1c.2: setting latency timer to 64
[    0.220794] pci 0000:00:1c.3: setting latency timer to 64
[    0.220801] pci 0000:00:1e.0: setting latency timer to 64
[    0.220804] pci_bus 0000:00: resource 4 [io  0x0000-0x0cf7]
[    0.220806] pci_bus 0000:00: resource 5 [io  0x0d00-0xffff]
[    0.220809] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff]
[    0.220811] pci_bus 0000:00: resource 7 [mem 0x000c0000-0x000dffff]
[    0.220813] pci_bus 0000:00: resource 8 [mem 0x7f600000-0xfebfffff]
[    0.220815] pci_bus 0000:01: resource 0 [io  0xb000-0xbfff]
[    0.220818] pci_bus 0000:01: resource 1 [mem 0xfde00000-0xfdefffff]
[    0.220820] pci_bus 0000:01: resource 2 [mem 0xfdd00000-0xfddfffff 64bit pref]
[    0.220822] pci_bus 0000:02: resource 0 [io  0xa000-0xafff]
[    0.220824] pci_bus 0000:02: resource 1 [mem 0xfdc00000-0xfdcfffff]
[    0.220827] pci_bus 0000:02: resource 2 [mem 0xfdb00000-0xfdbfffff 64bit pref]
[    0.220829] pci_bus 0000:03: resource 0 [io  0xe000-0xefff]
[    0.220831] pci_bus 0000:03: resource 1 [mem 0xfda00000-0xfdafffff]
[    0.220833] pci_bus 0000:03: resource 2 [mem 0xfd900000-0xfd9fffff 64bit pref]
[    0.220835] pci_bus 0000:04: resource 0 [io  0xd000-0xdfff]
[    0.220837] pci_bus 0000:04: resource 1 [mem 0xfd800000-0xfd8fffff]
[    0.220840] pci_bus 0000:04: resource 2 [mem 0xfd700000-0xfd7fffff 64bit pref]
[    0.220842] pci_bus 0000:05: resource 0 [io  0xc000-0xcfff]
[    0.220844] pci_bus 0000:05: resource 1 [mem 0xfd500000-0xfd5fffff]
[    0.220847] pci_bus 0000:05: resource 2 [mem 0xfd400000-0xfd4fffff 64bit pref]
[    0.220849] pci_bus 0000:05: resource 4 [io  0x0000-0x0cf7]
[    0.220851] pci_bus 0000:05: resource 5 [io  0x0d00-0xffff]
[    0.220853] pci_bus 0000:05: resource 6 [mem 0x000a0000-0x000bffff]
[    0.220855] pci_bus 0000:05: resource 7 [mem 0x000c0000-0x000dffff]
[    0.220857] pci_bus 0000:05: resource 8 [mem 0x7f600000-0xfebfffff]
[    0.220902] NET: Registered protocol family 2
[    0.220961] IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.221172] TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
[    0.221641] TCP bind hash table entries: 65536 (order: 7, 524288 bytes)
[    0.221873] TCP: Hash tables configured (established 131072 bind 65536)
[    0.221875] TCP reno registered
[    0.221878] UDP hash table entries: 512 (order: 2, 16384 bytes)
[    0.221886] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[    0.221963] NET: Registered protocol family 1
[    0.221980] pci 0000:00:02.0: Boot video device
[    0.222136] PCI: CLS 32 bytes, default 64
[    0.222187] Unpacking initramfs...
[    2.772396] Freeing initrd memory: 116776k freed
[    2.837035] audit: initializing netlink socket (disabled)
[    2.837049] type=2000 audit(1403510217.832:1): initialized
[    2.853523] highmem bounce pool size: 64 pages
[    2.853528] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[    2.853968] VFS: Disk quotas dquot_6.5.2
[    2.854000] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    2.854069] msgmni has been set to 1734
[    2.854228] alg: No test for stdrng (krng)
[    2.854253] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
[    2.854256] io scheduler noop registered
[    2.854258] io scheduler deadline registered
[    2.854269] io scheduler cfq registered (default)
[    2.854355] pcieport 0000:00:1c.0: setting latency timer to 64
[    2.854395] pcieport 0000:00:1c.0: irq 40 for MSI/MSI-X
[    2.854451] pcieport 0000:00:1c.1: setting latency timer to 64
[    2.854484] pcieport 0000:00:1c.1: irq 41 for MSI/MSI-X
[    2.854541] pcieport 0000:00:1c.2: setting latency timer to 64
[    2.854573] pcieport 0000:00:1c.2: irq 42 for MSI/MSI-X
[    2.854628] pcieport 0000:00:1c.3: setting latency timer to 64
[    2.854661] pcieport 0000:00:1c.3: irq 43 for MSI/MSI-X
[    2.854741] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[    2.854761] pciehp: PCI Express Hot Plug Controller Driver version: 0.4
[    2.854763] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[    2.855076] intel_idle: does not run on family 6 model 23
[    2.855100] ERST: Table is not found!
[    2.855101] GHES: HEST is not enabled!
[    2.855114] isapnp: Scanning for PnP cards...
[    3.208006] isapnp: No Plug & Play device found
[    3.208065] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    3.228404] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[    3.248775] serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
[    3.272684] 00:08: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[    3.293099] 00:09: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
[    3.293354] Linux agpgart interface v0.103
[    3.293461] agpgart-intel 0000:00:00.0: Intel G33 Chipset
[    3.293522] agpgart-intel 0000:00:00.0: detected gtt size: 524288K total, 262144K mappable
[    3.294055] agpgart-intel 0000:00:00.0: detected 8192K stolen memory
[    3.294182] agpgart-intel 0000:00:00.0: AGP aperture is 256M @ 0xd0000000
[    3.294348] i8042: PNP: No PS/2 controller found. Probing ports directly.
[    3.294708] serio: i8042 KBD port at 0x60,0x64 irq 1
[    3.294714] serio: i8042 AUX port at 0x60,0x64 irq 12
[    3.294847] mousedev: PS/2 mouse device common for all mice
[    3.294893] rtc_cmos 00:04: RTC can wake from S4
[    3.294995] rtc_cmos 00:04: rtc core: registered rtc_cmos as rtc0
[    3.295017] rtc0: alarms up to one month, 242 bytes nvram, hpet irqs
[    3.295029] cpuidle: using governor ladder
[    3.295031] cpuidle: using governor menu
[    3.295221] TCP cubic registered
[    3.295256] NET: Registered protocol family 10
[    3.295692] Mobile IPv6
[    3.295695] NET: Registered protocol family 17
[    3.295699] Registering the dns_resolver key type
[    3.295718] Using IPI No-Shortcut mode
[    3.295829] PM: Hibernation image not present or could not be loaded.
[    3.295839] registered taskstats version 1
[    3.296264] rtc_cmos 00:04: setting system clock to 2014-06-23 07:56:58 UTC (1403510218)
[    3.296298] Initializing network drop monitor service
[    3.296382] Freeing unused kernel memory: 428k freed
[    3.296529] Write protecting the kernel text: 2884k
[    3.296559] Write protecting the kernel read-only data: 1104k
[    3.296560] NX-protecting the kernel data: 3260k
[    3.306217] udevd[49]: starting version 175
[    3.346446] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
[    3.346496] r8169 0000:04:00.0: setting latency timer to 64
[    3.346550] r8169 0000:04:00.0: irq 44 for MSI/MSI-X
[    3.346995] r8169 0000:04:00.0: eth0: RTL8102e at 0xf821a000, 00:e0:4c:26:51:75, XID 14c00000 IRQ 44
[    3.372657] SCSI subsystem initialized
[    3.384633] usbcore: registered new interface driver usbfs
[    3.384665] usbcore: registered new interface driver hub
[    3.384694] usbcore: registered new device driver usb
[    3.385735] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    3.385794] ehci_hcd 0000:00:1d.7: setting latency timer to 64
[    3.385798] ehci_hcd 0000:00:1d.7: EHCI Host Controller
[    3.385826] ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 1
[    3.385849] ehci_hcd 0000:00:1d.7: using broken periodic workaround
[    3.385859] ehci_hcd 0000:00:1d.7: debug port 1
[    3.389747] ehci_hcd 0000:00:1d.7: cache line size of 32 is not supported
[    3.408370] ehci_hcd 0000:00:1d.7: irq 23, io mem 0xfdfff000
[    3.412309] libata version 3.00 loaded.
[    3.412721] uhci_hcd: USB Universal Host Controller Interface driver
[    3.423746] FDC 0 is a post-1991 82077
[    3.424024] ehci_hcd 0000:00:1d.7: USB 2.0 started, EHCI 1.00
[    3.424090] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    3.424095] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    3.424100] usb usb1: Product: EHCI Host Controller
[    3.424104] usb usb1: Manufacturer: Linux 3.2.57 ehci_hcd
[    3.424107] usb usb1: SerialNumber: 0000:00:1d.7
[    3.424288] hub 1-0:1.0: USB hub found
[    3.424294] hub 1-0:1.0: 8 ports detected
[    3.425261] uhci_hcd 0000:00:1d.0: setting latency timer to 64
[    3.425267] uhci_hcd 0000:00:1d.0: UHCI Host Controller
[    3.425283] uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 2
[    3.425315] uhci_hcd 0000:00:1d.0: irq 23, io base 0x0000fe00
[    3.425351] usb usb2: New USB device found, idVendor=1d6b, idProduct=0001
[    3.425353] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    3.425355] usb usb2: Product: UHCI Host Controller
[    3.425357] usb usb2: Manufacturer: Linux 3.2.57 uhci_hcd
[    3.425359] usb usb2: SerialNumber: 0000:00:1d.0
[    3.425647] hub 2-0:1.0: USB hub found
[    3.425653] hub 2-0:1.0: 2 ports detected
[    3.425743] uhci_hcd 0000:00:1d.1: setting latency timer to 64
[    3.425746] uhci_hcd 0000:00:1d.1: UHCI Host Controller
[    3.425753] uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3
[    3.425790] uhci_hcd 0000:00:1d.1: irq 19, io base 0x0000fd00
[    3.425824] usb usb3: New USB device found, idVendor=1d6b, idProduct=0001
[    3.425826] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    3.425828] usb usb3: Product: UHCI Host Controller
[    3.425830] usb usb3: Manufacturer: Linux 3.2.57 uhci_hcd
[    3.425832] usb usb3: SerialNumber: 0000:00:1d.1
[    3.425938] hub 3-0:1.0: USB hub found
[    3.425942] hub 3-0:1.0: 2 ports detected
[    3.426010] uhci_hcd 0000:00:1d.2: setting latency timer to 64
[    3.426014] uhci_hcd 0000:00:1d.2: UHCI Host Controller
[    3.426020] uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 4
[    3.426051] uhci_hcd 0000:00:1d.2: irq 18, io base 0x0000fc00
[    3.426082] usb usb4: New USB device found, idVendor=1d6b, idProduct=0001
[    3.426085] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    3.426087] usb usb4: Product: UHCI Host Controller
[    3.426089] usb usb4: Manufacturer: Linux 3.2.57 uhci_hcd
[    3.426091] usb usb4: SerialNumber: 0000:00:1d.2
[    3.426198] hub 4-0:1.0: USB hub found
[    3.426202] hub 4-0:1.0: 2 ports detected
[    3.426273] uhci_hcd 0000:00:1d.3: setting latency timer to 64
[    3.426276] uhci_hcd 0000:00:1d.3: UHCI Host Controller
[    3.426283] uhci_hcd 0000:00:1d.3: new USB bus registered, assigned bus number 5
[    3.426314] uhci_hcd 0000:00:1d.3: irq 16, io base 0x0000fb00
[    3.426344] usb usb5: New USB device found, idVendor=1d6b, idProduct=0001
[    3.426347] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    3.426349] usb usb5: Product: UHCI Host Controller
[    3.426351] usb usb5: Manufacturer: Linux 3.2.57 uhci_hcd
[    3.426353] usb usb5: SerialNumber: 0000:00:1d.3
[    3.426454] hub 5-0:1.0: USB hub found
[    3.426457] hub 5-0:1.0: 2 ports detected
[    3.426522] ata_piix 0000:00:1f.1: version 2.13
[    3.426578] ata_piix 0000:00:1f.1: setting latency timer to 64
[    3.427370] scsi0 : ata_piix
[    3.427473] scsi1 : ata_piix
[    3.427936] ata1: PATA max UDMA/100 cmd 0x1f0 ctl 0x3f6 bmdma 0xfa00 irq 14
[    3.427939] ata2: PATA max UDMA/100 cmd 0x170 ctl 0x376 bmdma 0xfa08 irq 15
[    3.427974] ata_piix 0000:00:1f.2: MAP [ P0 P2 P1 P3 ]
[    3.428046] ata_piix 0000:00:1f.2: setting latency timer to 64
[    3.428496] ata2: port disabled--ignoring
[    3.428513] scsi2 : ata_piix
[    3.428907] scsi3 : ata_piix
[    3.429356] ata3: SATA max UDMA/133 cmd 0xf900 ctl 0xf800 bmdma 0xf500 irq 19
[    3.429359] ata4: SATA max UDMA/133 cmd 0xf700 ctl 0xf600 bmdma 0xf508 irq 19
[    3.600351] ata3.00: ATA-8: ST3250318AS, CC38, max UDMA/133
[    3.600358] ata3.00: 488397168 sectors, multi 16: LBA48 NCQ (depth 0/32)
[    3.616337] ata3.00: configured for UDMA/133
[    3.736020] usb 1-1: new high-speed USB device number 2 using ehci_hcd
[    3.760302] ata1.01: ATAPI: ATAPI   iHDP118   4, GL05, max UDMA/33
[    3.776191] ata1.01: configured for UDMA/33
[    3.778163] scsi 0:0:1:0: CD-ROM            ATAPI    iHDP118   4      GL05 PQ: 0 ANSI: 5
[    3.778453] scsi 2:0:0:0: Direct-Access     ATA      ST3250318AS      CC38 PQ: 0 ANSI: 5
[    3.783064] sd 2:0:0:0: [sda] 488397168 512-byte logical blocks: (250 GB/232 GiB)
[    3.783126] sd 2:0:0:0: [sda] Write Protect is off
[    3.783128] sd 2:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    3.783148] sd 2:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    3.785910] sr0: scsi3-mmc drive: 48x/48x cd/rw xa/form2 cdda tray
[    3.785915] cdrom: Uniform CD-ROM driver Revision: 3.20
[    3.786106] sr 0:0:1:0: Attached scsi CD-ROM sr0
[    3.836020] Refined TSC clocksource calibration: 2510.403 MHz.
[    3.836028] Switching to clocksource tsc
[    3.842587]  sda: sda1 sda2 < sda5 sda6 sda7 sda8 > sda3
[    3.843109] sd 2:0:0:0: [sda] Attached SCSI disk
[    3.845469] sr 0:0:1:0: Attached scsi generic sg0 type 5
[    3.845545] sd 2:0:0:0: Attached scsi generic sg1 type 0
[    3.868682] usb 1-1: New USB device found, idVendor=1a40, idProduct=0101
[    3.868685] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[    3.868687] usb 1-1: Product: USB 2.0 Hub
[    3.868967] hub 1-1:1.0: USB hub found
[    3.869062] hub 1-1:1.0: 4 ports detected
[    4.092020] usb 1-4: new high-speed USB device number 5 using ehci_hcd
[    4.224322] usb 1-4: New USB device found, idVendor=0b1e, idProduct=0006
[    4.224328] usb 1-4: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    4.464020] usb 2-2: new low-speed USB device number 2 using uhci_hcd
[    4.633397] PM: Starting manual resume from disk
[    4.633400] PM: Hibernation image partition 8:8 present
[    4.633401] PM: Looking for hibernation image.
[    4.639360] usb 2-2: New USB device found, idVendor=046d, idProduct=c05a
[    4.639365] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    4.639370] usb 2-2: Product: USB Optical Mouse
[    4.639373] usb 2-2: Manufacturer: Logitech
[    4.642104] PM: Image not found (code -22)
[    4.642108] PM: Hibernation image not present or could not be loaded.
[    4.660932] input: Logitech USB Optical Mouse as /devices/pci0000:00/0000:00:1d.0/usb2/2-2/2-2:1.0/input/input0
[    4.661130] generic-usb 0003:046D:C05A.0001: input,hidraw0: USB HID v1.11 Mouse [Logitech USB Optical Mouse] on usb-0000:00:1d.0-2/input0
[    4.661410] usbcore: registered new interface driver usbhid
[    4.661414] usbhid: USB HID core driver
[    4.697910] EXT4-fs (sda3): mounted filesystem with ordered data mode. Opts: (null)
[    4.880034] usb 3-1: new low-speed USB device number 2 using uhci_hcd
[    5.054840] usb 3-1: New USB device found, idVendor=413c, idProduct=2003
[    5.054846] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    5.054851] usb 3-1: Product: Dell USB Keyboard
[    5.054855] usb 3-1: Manufacturer: Dell
[    5.073163] input: Dell Dell USB Keyboard as /devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.0/input/input1
[    5.073218] generic-usb 0003:413C:2003.0002: input,hidraw1: USB HID v1.10 Keyboard [Dell Dell USB Keyboard] on usb-0000:00:1d.1-1/input0
[    5.160076] usb 1-1.2: new full-speed USB device number 6 using ehci_hcd
[    5.286065] usb 1-1.2: New USB device found, idVendor=0a12, idProduct=0001
[    5.286071] usb 1-1.2: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[    5.286076] usb 1-1.2: Product: CSR8510 A10
[    6.269206] udevd[336]: starting version 175
[    7.039765] input: Power Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input2
[    7.039771] ACPI: Power Button [PWRB]
[    7.039844] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input3
[    7.039847] ACPI: Power Button [PWRF]
[    7.324496] parport_pc 00:0a: reported by Plug and Play ACPI
[    7.324543] parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE]
[    7.404696] input: PC Speaker as /devices/platform/pcspkr/input/input4
[    7.617971] intel_rng: FWH not detected
[    7.634755] ACPI: Requesting acpi_cpufreq
[    7.853073] iTCO_vendor_support: vendor-support=0
[    8.052264] iTCO_wdt: Intel TCO WatchDog Timer Driver v1.07
[    8.052389] iTCO_wdt: Found a ICH7 or ICH7R TCO device (Version=2, TCOBASE=0x0460)
[    8.053003] iTCO_wdt: initialized. heartbeat=30 sec (nowayout=0)
[    8.076816] leds_ss4200: no LED devices found
[    8.370595] [drm] Initialized drm 1.1.0 20060810
[    8.747593] i915 0000:00:02.0: setting latency timer to 64
[    8.760313] i915 0000:00:02.0: irq 45 for MSI/MSI-X
[    8.760319] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[    8.760320] [drm] Driver supports precise vblank timestamp query.
[    8.760356] vgaarb: device changed decodes: PCI:0000:00:02.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem
[    8.776641] [drm] initialized overlay support
[    8.816602] fbcon: inteldrmfb (fb0) is primary device
[    8.835633] Bluetooth: Core ver 2.16
[    8.835655] NET: Registered protocol family 31
[    8.835657] Bluetooth: HCI device and connection manager initialized
[    8.835660] Bluetooth: HCI socket layer initialized
[    8.835662] Bluetooth: L2CAP socket layer initialized
[    8.835667] Bluetooth: SCO socket layer initialized
[    8.865022] Console: switching to colour frame buffer device 170x48
[    8.866983] Bluetooth: Generic Bluetooth USB driver ver 0.6
[    8.867154] usbcore: registered new interface driver btusb
[    8.870725] fb0: inteldrmfb frame buffer device
[    8.870727] drm: registered panic notifier
[    8.870768] [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0
[    8.870925] snd_hda_intel 0000:00:1b.0: irq 46 for MSI/MSI-X
[    8.870950] snd_hda_intel 0000:00:1b.0: setting latency timer to 64
[    8.935263] hda_codec: ALC883: BIOS auto-probing.
[   10.846909] Adding 3903756k swap on /dev/sda8.  Priority:-1 extents:1 across:3903756k 
[   10.869521] EXT4-fs (sda3): re-mounted. Opts: (null)
[   11.071475] EXT4-fs (sda3): re-mounted. Opts: errors=remount-ro
[   11.167181] loop: module loaded
[   12.550865] RPC: Registered named UNIX socket transport module.
[   12.550867] RPC: Registered udp transport module.
[   12.550869] RPC: Registered tcp transport module.
[   12.550871] RPC: Registered tcp NFSv4.1 backchannel transport module.
[   12.643563] FS-Cache: Loaded
[   12.805036] FS-Cache: Netfs 'nfs' registered for caching
[   12.868680] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[   14.619193] NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
[   14.626912] NFSD: starting 90-second grace period
[   14.737908] input: ACPI Virtual Keyboard Device as /devices/virtual/input/input5
[   16.545242] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   16.545247] Bluetooth: BNEP filters: protocol multicast
[   16.726667] Bluetooth: RFCOMM TTY layer initialized
[   16.726672] Bluetooth: RFCOMM socket layer initialized
[   16.726674] Bluetooth: RFCOMM ver 1.11
[   18.628542] lp0: using parport0 (interrupt-driven).
[   18.655965] ppdev: user-space parallel port driver
[   19.367106] r8169 0000:04:00.0: eth0: link down
[   19.367112] r8169 0000:04:00.0: eth0: link down
[   19.367264] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   21.042351] r8169 0000:04:00.0: eth0: link up
[   21.042587] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

start_kernel(init/main.c)是入口函数,先从这个函数开始看代码。

start_kernel调用cpugroup_early_init,然后cpugroup_early_init(kernel/cgroup.c)中对于每个subsys输出信息。

include/linux/cgroup_subsys.h中定义了SUBSYS(cpuset)和SUBSYS(cpu_cgroup)。
查看cpuset_subsys和cpu_cgroup的定义可以知道其名称分别是cpuset和cpu。
所以会输出下面信息:

[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu

然后在start_kernel中输出linux_banner的信息,linux_banner定义如下(init/version.c):

const char linux_banner[] =
     "Linux version " UTS_RELEASE " (" LINUX_COMPILE_BY "@"
     LINUX_COMPILE_HOST ") (" LINUX_COMPILER ") " UTS_VERSION "
";

而几个字符串定义分别是:

#define UTS_RELEASE "3.2.57"
#define LINUX_COMPILE_BY "host"
#define LINUX_COMPILE_HOST "debian"
#define LINUX_COMPILER "gcc version 4.7.2 (Debian 4.7.2-5) "
#define UTS_VERSION "#1 SMP Fri Jun 20 10:02:51 CST 2014"

所以输出linux_banner得到下面输出:

[    0.000000] Linux version 3.2.57 (host@debian) (gcc version 4.7.2 (Debian 4.7.2-5) ) #1 SMP Fri Jun 20 10:02:51 CST 2014

在linux内核源代码下搜索:

 find . -name '*.[ch]' -exec grep -rnHi 'BIOS-provided' {} ;
./arch/x86/kernel/e820.c:32: * The e820_saved is directly saved after the BIOS-provided memory map is
./arch/x86/kernel/e820.c:1079:    printk(KERN_INFO "BIOS-provided physical RAM map:
");

start_kernel函数中接下来执行setup_arch(command_line).

setup_arch(arch/x86/kernel/setup.c)执行setup_memory_map函数。在setup_memory_map中输出下面信息:

[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  BIOS-e820: 0000000000000000 - 000000000009f800 (usable)
[    0.000000]  BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved)
[    0.000000]  BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
[    0.000000]  BIOS-e820: 0000000000100000 - 000000007f590000 (usable)
[    0.000000]  BIOS-e820: 000000007f590000 - 000000007f5e3000 (ACPI NVS)
[    0.000000]  BIOS-e820: 000000007f5e3000 - 000000007f5f0000 (ACPI data)
[    0.000000]  BIOS-e820: 000000007f5f0000 - 000000007f600000 (reserved)
[    0.000000]  BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved)
[    0.000000]  BIOS-e820: 00000000fec00000 - 0000000100000000 (reserved)

setup_arch中调用x86_report_nx,  在该函数中输出下面信息:

[    0.000000] NX (Execute Disable) protection: active

setup_arch接下来调用dmi_scan_machine,dmi_scan_machine(drivers/firmware/dmi_scan.c)调用dmi_present.

dmi_present函数中输出下面信息:

[    0.000000] SMBIOS 2.5 present.

 dmi_present还调用dmi_dump_ids函数,输出下面信息:

DMI: OEM OEM/SY-I5G31-L V2.0, BIOS 6.00 PG 09/28/2009

setup_arch函数继续调用trim_bios_range,trim_bios_range调用e820_update_range.e820_update_range调用__e820_update_range。

在__e820_update_range函数输出下面信息:

[    0.000000] e820 update range: 0000000000000000 - 0000000000010000 (usable) ==> (reserved)

trim_bios_range接下来调用e820_remove_range,在e820_remove_range中输出下面信息:

[    0.000000] e820 remove range: 00000000000a0000 - 0000000000100000 (usable)

 setup_arch中接着调用e820_end_of_ran_pfn.e820_end_of_ram_pfn调用e820_end_fn,在此函数中输出下面信息:

[    0.000000] last_pfn = 0x7f590 max_arch_pfn = 0x1000000

setup_arch中接着调用mtrr_bp_init,mtrr_bp_init中调用get_mtrr_state,get_mtrr_state中调用print_mtrr_state,print_mtrr_state中输出下面信息:

[    0.000000] MTRR default type: uncachable
[    0.000000] MTRR fixed ranges enabled:
[    0.000000]   00000-9FFFF write-back
[    0.000000]   A0000-BFFFF uncachable
[    0.000000]   C0000-CAFFF write-protect
[    0.000000]   CB000-EFFFF uncachable
[    0.000000]   F0000-FFFFF write-through
[    0.000000] MTRR variable ranges enabled:
[    0.000000]   0 base 000000000 mask F80000000 write-back
[    0.000000]   1 base 07F700000 mask FFFF00000 uncachable
[    0.000000]   2 base 07F800000 mask FFF800000 uncachable
[    0.000000]   3 base 07F600000 mask FFFF00000 uncachable
[    0.000000]   4 disabled
[    0.000000]   5 disabled
[    0.000000]   6 disabled
[    0.000000]   7 disabled

 get_mtrr_state中接着调用pat_init,在pat_init函数输出下面信息:

[    0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106

setup_arch中接下来执行find_smp_config,find_smp_config执行x86_init.mpparse.find_smp_config.

而x86_init.mmparse.find_smp_config=default_find_smp_config(arch/x86/kernel/x86_init.c),所以此时执行default_find_smp_config函数。

default_find_smp_config函数执行smp_scan_config,在smp_scan_config中输出下面信息:

[    0.000000] found SMP MP-table at [c00f3b50] f3b50

setup_arch中接着输出下面信息:

[    0.000000] initial memory mapped : 0 - 01a00000

setup_arch接着调用setup_trampolines函数,在此函数中输出下面信息:

[    0.000000] Base memory trampoline at [c009b000] 9b000 size 16384

setup_arch中接着调用init_memory_mapping,在此函数中输出下面信息:

[    0.000000] init_memory_mapping: 0000000000000000-00000000379fe000
[    0.000000]  0000000000 - 0000200000 page 4k
[    0.000000]  0000200000 - 0037800000 page 2M
[    0.000000]  0037800000 - 00379fe000 page 4k

 在init_memory_mapping中接着调用find_early_table_space,在此函数中输出下面信息:

[    0.000000] kernel direct mapping tables up to 379fe000 @ 19f9000-1a00000

setup_arch中接着调用reserve_initrd,在此函数中输出下面信息:

[    0.000000] RAMDISK: 29bdc000 - 30de6000

setup_arch接着调用acpi_boot_table_init,acpi_boot_table_init调用acpi_table_init,acpi_table_init调用acpi_initialize_tables,

acpi_initialize_tables调用acpi_tb_parse_root_table,acpi_tb_parse_root_table调用acpi_tb_print_table_header,在此函数输出信息:

[    0.000000] ACPI: RSDP 000f7d20 00014 (v00 IntelR)

acpi_boot_table_init中输出其它信息(有点复杂,不再详细分析):

[    0.000000] ACPI: RSDT 7f5e3000 00038 (v01 IntelR AWRDACPI 42302E31 AWRD 00000000)
[    0.000000] ACPI: FACP 7f5e3080 00074 (v01 IntelR AWRDACPI 42302E31 AWRD 00000000)
[    0.000000] ACPI: DSDT 7f5e3100 04A18 (v01 INTELR AWRDACPI 00001000 MSFT 03000000)
[    0.000000] ACPI: FACS 7f590000 00040
[    0.000000] ACPI: HPET 7f5e7c00 00038 (v01 IntelR AWRDACPI 42302E31 AWRD 00000098)
[    0.000000] ACPI: MCFG 7f5e7c40 0003C (v01 IntelR AWRDACPI 42302E31 AWRD 00000000)
[    0.000000] ACPI: APIC 7f5e7b40 00084 (v01 IntelR AWRDACPI 42302E31 AWRD 00000000)
[    0.000000] ACPI: SSDT 7f5e83a0 009FF (v01  PmRef    CpuPm 00003000 INTL 20060912)

setup_arch接着调用early_acpi_boot_init,early_acpi_boot_init调用early_acpi_process_madt,early_acpi_process_madt调用acpi_table_parse。

acpi_table_parse(ACPI_SIG_MADT,acpi_parse_madt),从而会调用acpi_parse_madt,输出下面信息:

[    0.000000] ACPI: Local APIC address 0xfee00000

 setup_arch中接着调用initmem_init,此函数中输出下面信息:

[    0.000000] 1147MB HIGHMEM available.
[    0.000000] 889MB LOWMEM available.

initmem_init中还调用setup_bootmem_allocator函数,输出下面信息:

[    0.000000] 1147MB HIGHMEM available.
[    0.000000] 889MB LOWMEM available.

 setup_arch接着调用paging_init,paging_init中调用zone_sizes_init,zone_sizes_init调用free_area_init_nodes, 此函数中输出:

[    0.000000] Zone PFN ranges:
[    0.000000]   DMA      0x00000010 -> 0x00001000
[    0.000000]   Normal   0x00001000 -> 0x000379fe
[    0.000000]   HighMem  0x000379fe -> 0x0007f590
[    0.000000] Movable zone start PFN for each node
[    0.000000] early_node_map[2] active PFN ranges
[    0.000000]     0: 0x00000010 -> 0x0000009f
[    0.000000]     0: 0x00000100 -> 0x0007f590

free_area_init_nodes中还会调用free_area_init_node,free_area_init_node调用calculate_node_totalpages,输出下面信息:

[    0.000000] On node 0 totalpages: 521503

free_area_init_node中调用free_area_init_core,此函数对DMA、HIGHMEM、LOWMEM分别输出信息:

[    0.000000] free_area_init_node: node 0, pgdat c141e800, node_mem_map f6a0d200
[    0.000000]   DMA zone: 32 pages used for memmap
[    0.000000]   DMA zone: 0 pages reserved
[    0.000000]   DMA zone: 3951 pages, LIFO batch:0
[    0.000000]   Normal zone: 1748 pages used for memmap
[    0.000000]   Normal zone: 221994 pages, LIFO batch:31
[    0.000000]   HighMem zone: 2296 pages used for memmap
[    0.000000]   HighMem zone: 291482 pages, LIFO batch:31

 setup_arch中继续调用generic_apic_probe,在此函数中输出下面信息:

[    0.000000] Using APIC driver default

setup_arch中接着调用acpi_boot_init,acpi_boot_init调用acpi_parse_fadt,该函数输出信息:

[    0.000000] ACPI: PM-Timer IO Port: 0x408

acpi_boot_init中接着调用acpi_process_madt, acpi_process_madt调用acpi_parse_madt,输出下面信息:

[    0.000000] ACPI: Local APIC address 0xfee00000

acpi_process_madt中接着调用acpi_parse_madt_lapic_entries,acpi_parse_madt_lapic_entries对表中每一项调用acpi_parse_lapic,

acpi_parse_lapic调用acpi_table_print_madt_entry,多次调用该函数输出下面信息:

[    0.000000] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x02] disabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x03] disabled)
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x02] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x03] high edge lint[0x1])
[    0.000000] ACPI: IOAPIC (id[0x04] address[0xfec00000] gsi_base[0])

 acpic_process_madt接着调用acpi_parse_madt_ioapic_entries,acpi_parse_madt_ioapic_entries执行下面语句:

 count =acpi_table_parse_madt(ACPI_MADT_TYPE_IO_APIC, acpi_parse_ioapic,
                   MAX_IO_APICS);

acpi_parse_ioapic调用mp_register_ioapic函数,输出下面信息:

[    0.000000] IOAPIC[0]: apic_id 4, version 32, address 0xfec00000, GSI 0-23

acpi_parse_madt_ioapic_entries中执行下面代码:

count = acpi_table_parse_madt(ACPI_MADT_TYPE_INTERRUPT_OVERRIDE, acpi_parse_int_src_ovr,
                   nr_irqs);

acpi_parse_int_src_ovr中执行acpi_table_print_madt_entry,输出下面信息:

[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)

acpi_parse_madt_ioapic_entries接着调用mp_config_acpi_legacy_irqs,输出下面信息:

[    0.000000] ACPI: IRQ0 used by override.
[    0.000000] ACPI: IRQ2 used by override.
[    0.000000] ACPI: IRQ9 used by override.

 acpi_process_madt接着输出下面信息:

[    0.000000] Using ACPI (MADT) for SMP configuration information

acpi_boot_init中接着调用acpi_parse_hpet,输出下面信息:

[    0.000000] ACPI: HPET id: 0x8086a201 base: 0xfed00000

 setup_arch中接着调用prefill_possible_map,此函数中输出下面信息:

[    0.000000] SMP: Allowing 4 CPUs, 2 hotplug CPUs

setup_arch中接着调用ioapic_and_gsi_init, ioapic_and_gsi_init调用probe_nr_irqs_gsi,输出下面信息:

[    0.000000] nr_irqs_gsi: 40

setup_arch中将诶这调用e820_mark_nosave_regions,e820_mark_nosave_region多次调用register_nosave_region,

register_nosave_region调用__register_nosave_region,输出下面信息:

[    0.000000] PM: Registered nosave memory: 000000000009f000 - 00000000000a0000
[    0.000000] PM: Registered nosave memory: 00000000000a0000 - 00000000000f0000
[    0.000000] PM: Registered nosave memory: 00000000000f0000 - 0000000000100000

setup_arch中继续调用e820_setup_gap,该函数中输出信息:

[    0.000000] Allocating PCI resources starting at 7f600000 (gap: 7f600000:60a00000)

setup_arch中接着调用x86_init.oem.banner,即default_banner,输出下面信息:

[    0.000000] Booting paravirtualized kernel on bare hardware

回到start_kernel函数,start_kernel调用setup_per_cpu_areas,输出下面信息:

[    0.000000] setup_percpu: NR_CPUS:32 nr_cpumask_bits:32 nr_cpu_ids:4 nr_node_ids:1

setup_per_cpu_areas调用pcpu_embed_first_chunk,输出下面信息:

[    0.000000] PERCPU: Embedded 14 pages/cpu @f69c9000 s33280 r0 d24064 u57344

setup_per_cpu_areas接着调用pcpu_setup_first_chunk,pcpu_setup_first_chunk调用pcpu_dump_alloc_info,输出下面信息:

[    0.000000] pcpu-alloc: s33280 r0 d24064 u57344 alloc=14*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3 

start_kernel中接着调用build_all_zonelists,在该函数中输出下面信息:

[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 517427

start_kernel中输出下面信息:

[    0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.2.57 root=UUID=c6cb3b0a-3215-46d4-9ac7-6835d0a12e47 ro initrd=/install/initrd.gz quiet

start_kernel中接着调用pidhash_init,pidhash_init调用alloc_large_system_hash,此函数输出下面信息:

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

start_kernel中接着调用vfs_caches_init_early,vfs_caches_init_early调用dcache_init_early,输出下面信息:

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

vfs_caches_init_early还调用inode_init_early,输出下面信息:

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

start_kernel接着执行trap_init,trap_init调用cpu_init,cpu_init中输出下面信息:

[    0.000000] Initializing CPU#0

cpu_init中调用xsave_init, xsave_init调用xstate_enable_boot_cpu,输出下面信息:

[    0.000000] xsave/xrstor: enabled xstate_bv 0x3, cntxt size 0x240

start_kernel中调用mm_init,mm_init中调用mem_init,mem_init调用set_highmem_pages_init,在该函数中输出下面信息:

[    0.000000] Initializing HighMem for node 0 (000379fe:0007f590)

mem_init接着输出下面信息:

[    0.000000] Memory: 1946540k/2086464k available (2881k kernel code, 139472k reserved, 1380k data, 428k init, 1175112k highmem)
[    0.000000] virtual kernel memory layout:
[    0.000000]     fixmap  : 0xffd36000 - 0xfffff000   (2852 kB)
[    0.000000]     pkmap   : 0xffa00000 - 0xffc00000   (2048 kB)
[    0.000000]     vmalloc : 0xf81fe000 - 0xff9fe000   ( 120 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xf79fe000   ( 889 MB)
[    0.000000]       .init : 0xc142a000 - 0xc1495000   ( 428 kB)
[    0.000000]       .data : 0xc12d07ac - 0xc1429a40   (1380 kB)
[    0.000000]       .text : 0xc1000000 - 0xc12d07ac   (2881 kB)

 mem_init中调用test_wp_init,输出下面信息:

[    0.000000] Checking if this processor honours the WP bit even in supervisor mode...Ok.

start_kernel接着调用rcu_init,rcu_init调用rcu_bootup_announce,输出下面信息:

[    0.000000] Hierarchical RCU implementation.

rcu_bootup_announce调用rcu_bootup_announce_oddness,该函数中输出下面信息:

[    0.000000]     RCU dyntick-idle grace-period acceleration is enabled.

start_kernel接着调用early_irq_init,该函数中输出下面信息:

[    0.000000] NR_IRQS:2304 nr_irqs:712 16

start_kernel调用init_IRQ,init_IRQ调用x86_init.irqs.intr_init,即native_init_IRQ,native_init_IRQ调用irq_ctx_init,在此函数中输出下面信息:

[    0.000000] CPU 0 irqstacks, hard=f6406000 soft=f6408000

 start_kernel接着调用console_init,console_init执行下面语句:

     call = __con_initcall_start;
     while (call < __con_initcall_end) {
         (*call)();
         call++;
     }  

这些语句将__con_initcall_start和__con_init_end之间的所有函数全部执行一遍。

文件drivers/tty/vt/vt.c中有下面一行代码:

console_initcall(con_init);

console_initcall的定义如下:

 #define console_initcall(fn) 
static initcall_t __initcall_##fn __used __section(.con_initcall.init) = fn

所以前一行console_initcall(con_init)可以展开成:

static initcall_t __initcall_con_init __used __section(.con_initcall.init) = con_init

即将con_init函数代码放入到目标文件的.con_initcall.init段中。

在arch/x86/kernel/vmlinux.lds中有一行内容:

__con_initcall_start = .; *(.con_initcall.init) __con_initcall_end = .; 

所以会执行con_init函数,在con_init中输出信息:

[    0.000000] Console: colour VGA+ 80x25

con_init还调用register_console函数,输出下面信息:

[    0.000000] console [tty0] enabled

start_kernel中接着调用late_time_init,之前已经调用了time_init函数将late_time_init赋值为x86_late_time_init,此处调用x86_late_time_init。

x86_late_time_init调用x86.timers_timer_init,即hpet_timer_init函数。hpet_time_init调用hpet_enable,

hpet_enable调用hpet_legacy_clockevent_register,在此函数中输出下面信息:

[    0.000000] hpet clockevent registered

x86_late_time_init接着调用tsc_init函数,tsc_init调用

x86_platform.calibrate_tsc函数,即native_calibrate_tsc函数,native_calibrate_tsc调用quick_pit_calibrate函数,输出下面信息:

[    0.000000] Fast TSC calibration using PIT

tsc_init中接着输出下面信息:

[    0.000000] Detected 2510.571 MHz processor.

start_kernel中接着调用calibrate_delay函数,calibrate_delay中输出下面信息:

[    0.004002] Calibrating delay loop (skipped), value calculated using timer frequency.. 5021.14 BogoMIPS (lpj=10042284)

start_kernel中接着调用pid_max,输出下面信息:

[    0.004006] pid_max: default: 32768 minimum: 301

start_kernel中接着调用security_init,输出下面信息:

[    0.004038] Security Framework initialized

start_kernel中调用security_init,security_init中调用do_security_initcalls,和前面的console_init类似,此处代码如下:

       call = __security_initcall_start;
       while (call < __security_initcall_end) {
           (*call) ();
           call++;
       }

security/apparmor/lsm.c中最后一行代码如下:

security_initcall(apparmor_init);

security_initcall定义如下:

 #define security_initcall(fn) 
     static initcall_t __initcall_##fn 
     __used __section(.security_initcall.init) = fn

所以这里会执行apparmor_init函数。在该函数中输出下面信息:

[    0.004054] AppArmor: AppArmor disabled by boot time parameter

start_kernel中接着调用vfs_caches_init函数,vfs_caches_init调用mnt_init,在其中输出下面信息:

[    0.004067] Mount-cache hash table entries: 512

start_kernel接着调用cgroup_init,cgroup_init中对其中每个subsys执行cgroup_init_subsy,输出下面信息:

[    0.004187] Initializing cgroup subsys cpuacct
[    0.004192] Initializing cgroup subsys memory
[    0.004200] Initializing cgroup subsys devices
[    0.004202] Initializing cgroup subsys freezer
[    0.004204] Initializing cgroup subsys net_cls
[    0.004205] Initializing cgroup subsys blkio
[    0.004211] Initializing cgroup subsys perf_event

start_kernel接着调用check_bugs,check_bugs接着调用identify_boot_cpu,identify_boot_cpu调用identify_cpu,

identify_cpu调用this_cpu->c_init,即init_intel,init_intel中调用detect_ht,在此函数中输出下面信息:

[    0.004239] CPU: Physical Processor ID: 0
[    0.004240] CPU: Processor Core ID: 0

init_intel中接着调用mcheck_cpu_init,mcheck_cpu_init调用__mcheck_cpu_cap_init函数,此函数中输出下面信息:

[    0.004243] mce: CPU supports 6 MCE banks

mcheck_cpu_init接着调用__mcheck_cpu_init_vendor,__mcheck_cpu_init_vendor调用mce_intel_feature_init,

mce_intel_feature_init调用intel_init_thermal,输出下面信息:

[    0.004250] CPU0: Thermal monitoring enabled (TM2)

identify_cpu接着调用select_idle_routine,输出下面信息:

[    0.004253] using mwait in idle threads.

回到start_kernel函数,调用acpi_early_init,输出下面信息:

[    0.004638] ACPI: Core revision 20110623

start_kernel调用rest_init.

rest_init创建内核线程,其执行函数是kernel_init.

kernel_init调用smp_init, smp_init调用APIC_init_uniprocessor,APIC_init_uniprocesor调用default_setup_apic_routing,

default_setup_apic_routing调用apic->setup_apic_routing,即setup_apic_flat_routing。

setup_apic_flat_routing输出下面信息:

[    0.009086] Enabling APIC mode:  Flat.  Using 1 I/O APICs

APIC_init_uniprocessor中接着调用setup_IO_APIC,setup_IO_APIC调用check_timer,check_timer中输出信息:

[    0.009444] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1

下面信息我没搜索到对应代码:

[    0.049139] CPU0: Intel Pentium(R) Dual-Core  CPU      E5200  @ 2.50GHz stepping 0a

kernel_init中接着调用do_pre_smp_initcalls,与前面类似,该函数中有下面代码:

   for (fn = __initcall_start; fn < __early_initcall_end; fn++)
         do_one_initcall(*fn);

do_one_initcall中主要功能是调用fn。

上面代码是将__initcall_start和__early_initcall_end之间所有函数全部执行一遍。

arch/x86/kernel/cpu/perf_event中有下面代码:

early_initcall(init_hw_perf_events);

early_initcall定义如下:

#define early_initcall(fn)      __define_initcall("early",fn,early)

__define_initcall定义如下:

#define __define_initcall(level,fn,id) 
     static initcall_t __initcall_##fn##id __used    
     __attribute__((__section__(".initcall" level ".init"))) = fn

上面定义扩展成:

static initcall_t __initcall_init_hw_perf_events_early __used __attributes__((__section (.initcallearly.init)))=init_hw_perf_events

在arch/x86/kernel/vmlinux.lds中有下面定义:

__initcall_start = .; *(.initcallearly.init) __early_initcall_end = .; 

此处会调用init_hw_pref_events_early,在此函数中输出下面信息:

[    0.052002] Performance Events: PEBS fmt0+, Core2 events, Intel PMU driver.
[    0.052002] ... version:                2
[    0.052002] ... bit               40
[    0.052002] ... generic registers:      2
[    0.052002] ... value mask:             000000ffffffffff
[    0.052002] ... max period:             000000007fffffff
[    0.052002] ... fixed-purpose events:   3
[    0.052002] ... event mask:             0000000700000003

kernel_init中接着调用lockup_detector_init,lockup_detector_init调用cpu_callback,cpu_callback调用watchdog_enable.

watchdog_enable调用 watchdog_nmi_enable,输出下面信息:

[    0.052002] NMI watchdog enabled, takes one hw-pmu counter.

kernel_init接着调用smp_init,smp_init调用cpu_up,cpu_up此处等于native_cpu_up,native_cpu_up调用do_boot_cpu,

do_boot_cpu 调用irq_ctx_init,其中输出下面信息:

[    0.052002] CPU 1 irqstacks, hard=f64d4000 soft=f64d6000

do_boot_cpu中接着调用announce_cpu,输出下面信息:

[    0.052002] Booting Node   0, Processors  #1

do_boot_cpu中接着输出下面信息:

[    0.052002] smpboot cpu 1: start_ip = 9b000

do_boot_cpu中initial_code=start_secondary(但不清楚如何调用start_secondary),调用start_secondary,

start_secondary调用cpu_init,cpu_init中输出下面信息:

[    0.008000] Initializing CPU#1

不知道怎么输出下面信息:

[    0.140036] NMI watchdog enabled, takes one hw-pmu counter.

smp_init输出下面信息:

[    0.140070] Brought up 2 CPUs

smp_init调用smp_cpus_done,smp_cpus_done调用smp_ops.smp_cpus_done,即native_smp_cpus_done函数。

native_smp_cpus_done调用impress_friends,此函数输出下面信息:

[    0.140072] Total of 2 processors activated (10041.88 BogoMIPS).

回到kernel_init,调用do_basic_setup,do_basic_setup调用driver_init,driver_init调用devtmpfs_init,

devtmpfs_init中创建内核线程kdevtmpfs,线程函数是devtmpfsd。

在当前系统下可以搜索到该线程:

$ ps aux | grep kdevtmpfs
root        15  0.0  0.0      0     0 ?        S    08:00   0:00 [kdevtmpfs]
host     29974  0.0  0.0   3784   788 pts/2    S+   16:44   0:00 grep kdevtmpfs

只有第一行信息与该线程有关,第二行信息是我搜索时产生的进程。

devtmpfsd函数内容如下:

static int devtmpfsd(void *p)
{
    char options[] = "mode=0755";
    int *err = p;
    *err = sys_unshare(CLONE_NEWNS);
    if (*err)
        goto out;
    *err = sys_mount("devtmpfs", "/", "devtmpfs", MS_SILENT, options);
    if (*err)
        goto out;
    sys_chdir("/.."); /* will traverse into overmounted root */
    sys_chroot(".");
    complete(&setup_done);
    while (1) {
        spin_lock(&req_lock);
        while (requests) {
            struct req *req = requests;
            requests = NULL;
            spin_unlock(&req_lock);
            while (req) {
                struct req *next = req->next;
                req->err = handle(req->name, req->mode, req->dev);
                complete(&req->done);
                req = next;
            }
            spin_lock(&req_lock);
        }
        set_current_state(TASK_INTERRUPTIBLE);
        spin_unlock(&req_lock);
        schedule();
        __set_current_state(TASK_RUNNING);
    }
    return 0;
out:
    complete(&setup_done);
    return *err;
}

devtmpfsd挂载/文件夹,循环处理request中的每个请求,如果没请求,请求处理后就会调度其他进程来执行。

devtmpfs_init中还输出下面信息:

[    0.141484] devtmpfs: initialized

driver_init中还调用了devices_init,该函数创建/sys/devices,/dev/以及/dev/block和/dev/char。

driver_init中接着调用buses_init,该函数创建/sys/bus以及/sys/devices/syste

driver_init接着调用classes_init,该函数创建/sys/class.

driver_init接着调用firmware_init,该函数创建/sys/firmware.

driver_init接着调用hipervisor_init,该函数创建/sys/hipervisor

driver_init接着调用platform_bus_init,该函数创建/sys/devices/platform和/sys/bus/platform

driver_init接着调用cpu_dev_init,该函数注册cpu_subsys,创建/sys/devices/cpu和/sys/bus/cpu。

driver_init接着调用memory_dev_init,该函数创建/sys/bus/mem.

do_basic_setup中接着调用init_irq_proc,创建/proc/irq,并为所有中断在/proc/irq下创建相应的文件夹。

do_basic_setup接着调用do_initcalls,与前面类似,其函数定义如下:

 static void __init do_initcalls(void)
 {
     initcall_t *fn;

     for (fn = __early_initcall_end; fn < __initcall_end; fn++)
         do_one_initcall(*fn);
 }

arch/x86/kernel/vmlinux.lds中有下面定义:

__early_initcall_end = .; *(.initcall0.    init) *(.initcall0s.init) *(.initcall1.init) *(.initcall1s.init) *(.initcall2.init) *(.initcall2s.init) *(.initcall3.init) *(.init    call3s.init) *(.initcall4.init) *(.initcall4s.init) *(.initcall5.init) *(.initcall5s.init) *(.initcallrootfs.init) *(.initcall6.in    it) *(.initcall6s.init) *(.initcall7.init) *(.initcall7s.init) __initcall_end = .;

include/linux/init.h中有下面定义:

#define __define_initcall(level,fn,id) 
static initcall_t __initcall_##fn##id __used
__attribute__((__section__(".initcall" level ".init"))) = fn


#define
pure_initcall(fn) __define_initcall("0",fn,0) #define core_initcall(fn) __define_initcall("1",fn,1) #define core_initcall_sync(fn) __define_initcall("1s",fn,1s) #define postcore_initcall(fn) __define_initcall("2",fn,2) #define postcore_initcall_sync(fn) __define_initcall("2s",fn,2s) #define arch_initcall(fn) __define_initcall("3",fn,3) #define arch_initcall_sync(fn) __define_initcall("3s",fn,3s) #define subsys_initcall(fn) __define_initcall("4",fn,4) #define subsys_initcall_sync(fn) __define_initcall("4s",fn,4s) #define fs_initcall(fn) __define_initcall("5",fn,5) #define fs_initcall_sync(fn) __define_initcall("5s",fn,5s) #define rootfs_initcall(fn) __define_initcall("rootfs",fn,rootfs) #define device_initcall(fn) __define_initcall("6",fn,6) #define device_initcall_sync(fn) __define_initcall("6s",fn,6s) #define late_initcall(fn) __define_initcall("7",fn,7) #define late_initcall_sync(fn) __define_initcall("7s",fn,7s)

所以所有与上面定义的从pure_initcall到late_initcall_sync所有宏定义的函数都会在此处被执行。

arch/x86/kernel/e820.c中有下面代码:

core_initcall(e820_mark_nvs_memory);

所以e820_mark_nvs_memory会被调用,e820_mark_nvs_memory调用suspend_nvs_register,输出下面信息:

[    0.141484] PM: Registering ACPI NVS region at 7f590000 (339968 bytes)

drivers/regulator/core.c中有下面代码:

core_initcall(regulator_init);

此处会执行regulator_init,创建/sys/class/regulator,在debugfs下创建regulator文件夹,然后执行regulator_dummy_init,

添加dummy设备以及驱动,输出下面信息:

[    0.141484] print_constraints: dummy:

net/netlink/af_netlink.c中有下面代码:

core_initcall(netlink_proto_init);

此处会执行netlink_proto_init函数,netlink_proto_init调用sock_register(&netlink_family_ops),输出下面信息:

[    0.141484] NET: Registered protocol family 16

include/linux/socket.h中有AF_NETLINK协议簇的定义:

#define AF_NETLINK  16

drives/pci/pci-acpi.c中有下面代码:

arch_initcall(acpi_pci_init);

此处会执行acpi_pci_init函数,该函数中调用register_acpi_bus_type(&apci_pci_bus),输出下面信息:

[    0.141484] ACPI: bus type pci registered

arch/x86/pci/init.c中有下面代码:

arch_initcall(pci_arch_init);

此处会执行pci_arch_init函数,pci_arch_init调用pci_mmcfg_early_init,然后调用几个函数后会调用pci_mmconfig_add,

输出下面信息:

[    0.141484] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe0000000-0xefffffff] (base 0xe0000000)

经过多次调用后会调用is_mmconfig_reserved,输出下面信息:

[    0.141484] PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved in E820

经过多次调用后会调用pci_mmconfig_arch_init,输出下面信息:

[    0.141484] PCI: Using MMCONFIG for extended config space

pci_arch_init还调用了pci_direct_init,该函数输出下面信息:

[    0.141484] PCI: Using configuration type 1 for base access


fs/bio.c中有下面代码:

subsys_initcall(init_bio);

此处会执行init_bio,init_bio调用bioset_create,bioset_create调用bio_find_or_create_slab,此函数中输出下面信息:

[    0.141484] bio: create slab <bio-0> at 0

 drivers/acpi/bus中有下面代码:

subsys_initcall(acpi_init);

此处会调用acpi_init,acpi_init调用acpi_bus_init,acpi_bus_init调用acpi_os_initialize1,acpi_os_initialize1调用acpi_osi_setup_late,

acpi_osi_setup_late输出下面信息:

[    0.141484] ACPI: Added _OSI(Module Device)
[    0.141484] ACPI: Added _OSI(Processor Device)
[    0.141484] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.141484] ACPI: Added _OSI(Processor Aggregator Device)

acpi_bus_init中调用acpi_ec_ecdt_probe,该函数输出下面信息:

[    0.141484] ACPI: EC: Look up EC in DSDT

免责声明:文章转载自《debian内核代码执行流程(一)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【Ubuntu】无法挂载磁盘乘风破浪,遇见最美Windows 11之现代Windows桌面应用开发 Windows UI Library (WinUI)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Linux的硬盘使用情况、挂载、SSD挂载(查看df -h不能看到的卷)

Linux的硬盘使用情况、挂载、SSD挂载(查看df -h不能看到的卷) 解决AWS 挂载、解决挂载完重启就消失等问题 linux上的盘和window的有区别,磁盘空间必须挂载在目录上,要不然没用 对与新增的硬盘、SSD固态硬盘、挂载到linux上的操作如下:  df -h         #显示目前在Linux系统上的文件系统的磁盘使用情况统计。  ls...

Linux——用户和组管理,文件权限管理,文件查找(find)

一、用户和组相关的管理命令 1)创建用户:useradd 命令格式:useradd [options] LOGIN 选项: -u UID: [UID_MIN, UID_MAX], 定义在/etc/login.defs -g GID:指明用户所属基本组,可为组名,也可以GID; -c "COMMENT":用户的注释信息; -d /PATH/TO/HOME_...

安装回环网卡&amp;amp;安装Linux前准备

1.什么是回环网卡回环网卡就是微软的一种类似于虚拟网卡的一种设备,它能够被安装在一个没有网卡(这里是硬件网卡),的环境下,或者用于测试多个宿主环境。 2.回环网卡的作用这里仅仅以在vmvare中安装Linux来说,vmvare中一共有三种让Linux虚拟机和主机连通的方式也就是能ping通,分别是nat模式,桥接模式,和hostonly模式,至于这三种方式...

[Tomcat/Java EE/Linux]Tomcat启动异常:StandardServer.await: create[localhost:8005]: java.net.BindException: 无法指定被请求的地址

1 问题背景 部门新成员小J在一台虚拟机(ip:192.168.191.96)内安装部署部门的数据治理产品(含: 20余个微服务模块 + 1套(用户)基础管理系统BMS)。 小J启动BMS的Tomcat时,屡次报此错:StandardServer.await: create[localhost:8005]: java.net.BindException...

Linux后台执行脚本 &amp;amp;与nohup

Linux后台执行脚本的方式: 0、脚本代码 [root@VM_1_3_centos apps]# cat test.php <?php sleep(5); echo "hello world! "; 1、& 符号当在前台运行某个作业时,终端被该作业占据;可以在命令后面加上& 实现后台运行。示例1、 [root@VM_1_3_c...

linux下的软件包安装

linux下安装软件包有两种方法:源文件编译安装(source)和rpm 安装。 1.源文件包安装的通用方法。 一般安装源代码的程序你得要看它的README,一般在它的目录下都有的。 01.配置: 构建应用的第一步就是执行configure脚本,该脚本位于程式源文件的主目录下: [root@localhost~]#./configure 该脚本将扫描系统,...