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

linux启动流程分析

2014-04-13 11:50 429 查看

Linux启动流程分析

一.概述

Linux从汇编跳转到C语言执行的第一个函数是start_kernel(),在该函数中执行一定的函数后,会启动第一个内核进程,即kernel_init(),其中一个主要的执行函数是do_basic_setup(),

里面又调用了函数do_initcalls(),在该函数中加载编译时声明的不同模块,可根据需要决定是否加载。

本文根据通过make menuconfig进行初步裁剪后,分析不同的启动模块,再进一步分析调整是否满足需求,具体加载函数详见下文。

二.启动分析

## Booting kernel from Legacy Image at 30008000 ...

Image Name: linux-2.6.26.5

Created: 2014-04-12 1:00:36 UTC

Image Type: ARM Linux Kernel Image (uncompressed)

Data Size: 1604024 Bytes = 1.5 MB

Load Address: 30008000

Entry Point: 30008040

Verifying Checksum ... OK

XIP Kernel Image ... OK

OK

Starting kernel ...

Uncompressing Linux...test1.....................................................

Linux version 2.6.26.5 (root@ubuntu) (gcc version 3.4.5) #99 PREEMPT Sat Apr 124

CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177

Machine: SMDK2410

Memory policy: ECC disabled, Data cache writeback

lieye in prepare_page_table mi->bank[0].start=0x30000000, size=0x4000000,addr = 0

CPU S3C2410A (id 0x32410002)

S3C2410: core 202.800 MHz, memory 101.400 MHz, peripheral 50.700 MHz

S3C24XX Clocks, (c) 2004 Simtec Electronics

CLOCK: Slow mode (1.500 MHz), fast, MPLL on, UPLL on

USB Control, (c) 2006 sbc2410

CPU0: D VIVT write-back cache

CPU0: I cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets

CPU0: D cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets

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

Kernel command line: root=nfs nfsroot=192.168.1.57:/nfsrootfs/rootfs ip=192.168c

irq: clearing subpending status 00000002

s3c2410 touchscreen IRQ_ADCPARENT

s3c2410 touchscreen IRQ_TC_AND_ADC.

s3c2410 touchscreen IRQ_TC_AND_ADC.

PID hash table entries: 256 (order: 8, 1024 bytes)

timer tcon=00500000, tcnt a509, tcfg 00000200,00000000, usec 00001e4c

Console: colour dummy device 80x30

console [tty1] enabled

console [ttySAC0] enabled

Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)

Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)

Memory: 64MB = 64MB total

Memory: 61628KB available (2860K code, 244K data, 128K init)

Mount-cache hash table entries: 512

CPU: Testing write buffer coherency: ok

calling net_ns_init+0x0/0x144

????????????????? net_namespace.c obj-y \net\core

net_namespace: 480 bytes

initcall net_ns_init+0x0/0x144 returned 0 after 2 msecs

calling ptrace_break_init+0x0/0x2c

ptrace.c obj-y \arch\arm\kernel
调试输出

initcall ptrace_break_init+0x0/0x2c returned 0 after 0 msecs

calling consistent_init+0x0/0xfc

consistent.c obj-y \arch\arm\mm
为init_mm分配页表

initcall consistent_init+0x0/0xfc returned 0 after 0 msecs

calling s3c2410_core_init+0x0/0x1c

obj-$(CONFIG_CPU_S3C2410) += s3c2410.o \arch\arm\mach-s3c2410 ,注册s3c2410_sysclass

initcall s3c2410_core_init+0x0/0x1c returned 0 after 1 msecs

calling s3c24xx_dma_sysclass_init+0x0/0x3c

obj-$(CONFIG_S3C2410_DMA) += dma.o \arch\arm\plat-s3c24xx,注册dma_sysclass

initcall s3c24xx_dma_sysclass_init+0x0/0x3c returned 0 after 1 msecs

calling sysctl_init+0x0/0x40

sysctl.c obj-y \kernel

initcall sysctl_init+0x0/0x40 returned 0 after 1 msecs

calling ksysfs_init+0x0/0xc0

ksysfs.c obj-y \kernel

initcall ksysfs_init+0x0/0xc0 returned 0 after 0 msecs

calling init_jiffies_clocksource+0x0/0x1c

jiffies.c obj-y \kernel\time

initcall init_jiffies_clocksource+0x0/0x1c returned 0 after 0 msecs

calling pm_init+0x0/0x4c

main.c obj-y \kernel\power core_initcall(pm_init);

initcall pm_init+0x0/0x4c returned 0 after 0 msecs

calling filelock_init+0x0/0x48

locks.c obj-y \fs\locks.c core_initcall(filelock_init);

initcall filelock_init+0x0/0x48 returned 0 after 0 msecs

calling init_aout_binfmt+0x0/0x1c

binfmt_aout.c obj-$(CONFIG_BINFMT_AOUT)+= binfmt_aout.o \fs\ core_initcall(init_aout_binfmt)

initcall init_aout_binfmt+0x0/0x1c returned 0 after 0 msecs

calling init_script_binfmt+0x0/0x1c

binfmt_script.o obj-y \fs\ core_initcall(init_script_binfmt)

initcall init_script_binfmt+0x0/0x1c returned 0 after 0 msecs

calling init_elf_binfmt+0x0/0x1c

binfmt_elf.c obj-$(CONFIG_BINFMT_ELF) \fs\ core_initcall(init_elf_binfmt)

initcall init_elf_binfmt+0x0/0x1c returned 0 after 0 msecs

calling random32_init+0x0/0xb0

random32.c obj-y \lib\ core_initcall(random32_init)

initcall random32_init+0x0/0xb0 returned 0 after 0 msecs

calling sock_init+0x0/0x80

socket.c obj-$(CONFIG_NET) \net\ core_initcall(sock_init)

initcall sock_init+0x0/0x80 returned 0 after 0 msecs

calling netlink_proto_init+0x0/0x204

af_netlink.c obj-y \net\netlink\ core_initcall(netlink_proto_init)

NET: Registered protocol family 16

initcall netlink_proto_init+0x0/0x204 returned 0 after 3 msecs

calling bdi_class_init+0x0/0x3c

backing-dev.c obj-y \mm\ postcore_initcall(bdi_class_init)

initcall bdi_class_init+0x0/0x3c returned 0 after 1 msecs

calling kobject_uevent_init+0x0/0x6c

lib-$(CONFIG_HOTPLUG) += kobject_uevent.o \lib\ postcore_initcall(kobject_uevent_init) #if defined(CONFIG_NET),好像是netlink的,与热插拔好像无关,需确认

initcall kobject_uevent_init+0x0/0x6c returned 0 after 0 msecs

calling tty_class_init+0x0/0x3c

tty_io.c obj-y \drivers\char postcore_initcall(tty_class_init)

initcall tty_class_init+0x0/0x3c returned 0 after 1 msecs

calling vtconsole_class_init+0x0/0xf0

obj-$(CONFIG_HW_CONSOLE)+= vt.o \drivers\char postcore_initcall(vtconsole_class_init)

initcall vtconsole_class_init+0x0/0xf0 returned 0 after 2 msecs

calling customize_machine+0x0/0x38

setup.c obj-y \arch\arm\kernel\ arch_initcall(customize_machine) here to execute smdk2410 init_machine

S3C2410 Power Management, (c) 2004 Simtec Electronics

initcall customize_machine+0x0/0x38 returned 0 after 21 msecs

calling s3c2410_irq_init+0x0/0x24

obj-$(CONFIG_CPU_S3C2410)+= irq.o \arch\arm\mach-s3c2410 arch_initcall(s3c2410_irq_init)

initcall s3c2410_irq_init+0x0/0x24 returned 0 after 0 msecs

calling s3c2410_dma_drvinit+0x0/0x24

obj-$(CONFIG_CPU_S3C2410_DMA) += dma.o \arch\arm\mach-s3c2410 arch_initcall(s3c2410_dma_drvinit)

initcall s3c2410_dma_drvinit+0x0/0x24 returned 0 after 0 msecs

calling s3c2410_pm_drvinit+0x0/0x24

obj-$(CONFIG_S3C2410_PM)+= pm.o \arch\arm\mach-s3c2410 arch_initcall(s3c2440_pm_drvinit)

initcall s3c2410_pm_drvinit+0x0/0x24 returned 0 after 0 msecs

calling s3c_arch_init+0x0/0x68

cpu.c obj-y \arch\arm\plat-s3c24xx arch_initcall(s3c_arch_init)

S3C2410: Initialising architecture

S3C24XX DMA Driver, (c) 2003-2004,2006 Simtec Electronics //此处的log是在s3c2410_dma_drvinit()中出现的,留一个疑问

DMA channel 0 at c4800000, irq 33

DMA channel 1 at c4800040, irq 34

DMA channel 2 at c4800080, irq 35

DMA channel 3 at c48000c0, irq 36 //到此处

initcall s3c_arch_init+0x0/0x68 returned 0 after 25 msecs

calling topology_init+0x0/0x30

setup.c obj-y \arch\arm\kernel subsys_initcall(topology_init)

initcall topology_init+0x0/0x30 returned 0 after 1 msecs

calling param_sysfs_init+0x0/0x21c

params.c obj-y \kernel subsys_initcall(param_sysfs_init)

initcall param_sysfs_init+0x0/0x21c returned 0 after 33 msecs

calling pm_sysrq_init+0x0/0x24

obj-$(CONFIG_MAGIC_SYSRQ)+= poweroff.o subsys_initcall(pm_sysrq_init) \kernel\power

initcall pm_sysrq_init+0x0/0x24 returned 0 after 0 msecs

calling readahead_init+0x0/0x44

readahead.c obj-y subsys_initcall(readahead_init) \mm\readhead.c

initcall readahead_init+0x0/0x44 returned 0 after 1 msecs

calling init_bio+0x0/0xec

ifeq ($(CONFIG_BLOCK),y) bio.c obj-y subsys_initcall(init_bio) \fs\bio.c

initcall init_bio+0x0/0xec returned 0 after 0 msecs

calling blk_settings_init+0x0/0x4c

obj-$(CONFIG_BLOCK) subsys_initcall(blk_settings_init) \block\blk-settings.c
该函数只定义了两个参数

initcall blk_settings_init+0x0/0x4c returned 0 after 0 msecs

calling blk_ioc_init+0x0/0x44

obj-$(CONFIG_BLOCK) subsys_initcall(blk_ioc_init) \block\blk-ioc.c

initcall blk_ioc_init+0x0/0x44 returned 0 after 0 msecs

calling genhd_device_init+0x0/0x54

obj-$(CONFIG_BLOCK) subsys_initcall(genhd_device_init) \block\genhd.c

initcall genhd_device_init+0x0/0x54 returned 0 after 1 msecs

calling fbmem_init+0x0/0xb0

obj-$(CONFIG_FB) subsys_initcall(fbmem_init) \drivers\video\fbmem.c

initcall fbmem_init+0x0/0xb0 returned 0 after 1 msecs

calling misc_init+0x0/0xb4

obj-y misc.c subsys_initcall(misc_init) \drivers\char\misc.c

initcall misc_init+0x0/0xb4 returned 0 after 1 msecs

calling spi_init+0x0/0x94

obj-$(CONFIG_SPI_MASTER)+= spi.o subsys_initcall(spi_init) \drivers\spi\spi.c

initcall spi_init+0x0/0x94 returned 0 after 2 msecs

calling usb_init+0x0/0x138

obj-$(CONFIG_USB)+= core/ usbcore-objs := usb.o subsys_initcall(usb_init) \drivers\usb\core\usb.c

usbcore: registered new interface driver usbfs

usbcore: registered new interface driver hub

usbcore: registered new device driver usb

initcall usb_init+0x0/0x138 returned 0 after 18 msecs

calling serio_init+0x0/0xb0

obj-$(CONFIG_SERIO)+= serio.o subsys_initcall(serio_init) \drivers\input\serio\serio.c

initcall serio_init+0x0/0xb0 returned 0 after 2 msecs

calling input_init+0x0/0x124

obj-$(CONFIG_INPUT)+= input/ input-core-objs := input.c subsys_initcall(input_init) \driver\input\input.c

initcall input_init+0x0/0x124 returned 0 after 1 msecs

calling rtc_init+0x0/0x8c

obj-$(CONFIG_RTC)+= rtc.o module_init(rtc_init) \drivers\char\rtc.c

initcall rtc_init+0x0/0x8c returned 0 after 1 msecs

calling i2c_init+0x0/0x74

obj-$(CONFIG_I2C)+= i2c-core.o subsys_initcall(i2c_init) \drivers\i2c\i2c-core.c

initcall i2c_init+0x0/0x74 returned 0 after 4 msecs

calling hwmon_init+0x0/0x58

obj-$(CONFIG_HWMON)+= hwmon.o subsys_initcall(hwmon_init) \drivers\hwmon\hwmon.c

initcall hwmon_init+0x0/0x58 returned 0 after 1 msecs

calling proto_init+0x0/0x3c

obj-y := sock.c subsys_initcall(proto_init) \net\core\sock.c

initcall proto_init+0x0/0x3c returned 0 after 0 msecs

calling net_dev_init+0x0/0x144

obj-y += dev.c subsys_initcall(net_dev_init) \net\core\dev.c

initcall net_dev_init+0x0/0x144 returned 0 after 1 msecs

calling neigh_init+0x0/0x8c

obj-y neighbour.c subsys_initcall(neigh_init) \net\core\neighbour.c

initcall neigh_init+0x0/0x8c returned 0 after 0 msecs

calling genl_init+0x0/0xfc

obj-y genetlink.c subsys_initcall(genl_init) \net\netlink\genetlink.c

initcall genl_init+0x0/0xfc returned 0 after 18 msecs

calling sysctl_init+0x0/0x30

ifeq ($(CONFIG_NET),y)

obj-$(CONFIG_SYSCTL)+= sysctl_net.c subsys_initcall(sysctl_init) \net\sysctl_net.c

endif

initcall sysctl_init+0x0/0x30 returned 0 after 0 msecs

calling alignment_init+0x0/0x9c

obj-$(CONFIG_ALIGNMENT_TRAP)+= alignment.c fs_initcall(alignment_init) \arch\arm\mm\alignment.c

initcall alignment_init+0x0/0x9c returned 0 after 0 msecs

calling clocksource_done_booting+0x0/0x24

obj-y clocksource.c fs_initcall(clocksource_done_booting) \kernel\time\clocksource.c

initcall clocksource_done_booting+0x0/0x24 returned 0 after 0 msecs

calling init_pipe_fs+0x0/0x5c

obj-y pipe.c fs_initcall(init_pipe_fs) \fs\pipe.c

initcall init_pipe_fs+0x0/0x5c returned 0 after 0 msecs

calling init_mnt_writers+0x0/0x24

obj-y namespace.c fs_initcall(init_mnt_writers) \fs\namespace.c

initcall init_mnt_writers+0x0/0x24 returned 0 after 0 msecs

calling eventpoll_init+0x0/0x9c

obj-$(CONFIG_EPOLL)+= eventpoll.o fs_initcall(eventpoll_init) \fs\eventpoll.c

initcall eventpoll_init+0x0/0x9c returned 0 after 0 msecs

calling anon_inode_init+0x0/0x110

obj-$(CONFIG_ANON_INODES)+= anon_inodes.o fs_initcall(anon_inode_init) \fs\anon_inodes.c

initcall anon_inode_init+0x0/0x110 returned 0 after 0 msecs

calling chr_dev_init+0x0/0xac

obj-y mem.o fs_initcall(chr_dev_init) \drivers\char

initcall chr_dev_init+0x0/0xac returned 0 after 13 msecs

calling loopback_init+0x0/0x1c

obj-$(CONFIG_NET) loopback.o fs_initcall(loopback_init) \drivers\net\loopback.c

initcall loopback_init+0x0/0x1c returned 0 after 2 msecs

calling inet_init+0x0/0x3a0

obj-y af_inet.o fs_initcall(inet_init) \net\ipv4\af_inet.c

NET: Registered protocol family 2

IP route cache hash table entries: 1024 (order: 0, 4096 bytes)

TCP established hash table entries: 2048 (order: 2, 16384 bytes)

TCP bind hash table entries: 2048 (order: 1, 8192 bytes)

TCP: Hash tables configured (established 2048 bind 2048)

TCP reno registered

initcall inet_init+0x0/0x3a0 returned 0 after 86 msecs

calling populate_rootfs+0x0/0xb8

obj-$(CONFIG_BLK_DEV_INITRD) += initramfs.o rootfs_initcall(populate_rootfs) \init\initramfs.c

initcall populate_rootfs+0x0/0xb8 returned 0 after 1 msecs

calling timer_init_sysfs+0x0/0x40

obj-y time.o device_initcall(timer_init_sysfs) \arch\arm\kernel\time.c

initcall timer_init_sysfs+0x0/0x40 returned 0 after 2 msecs

calling fpe_init+0x0/0x84

nwfpe-y fpmodule.c module_init(fpe_init) \arch\arm\nwfpe\fpmodule.c

NetWinder Floating Point Emulator V0.97 (double precision)

initcall fpe_init+0x0/0x84 returned 0 after 5 msecs

calling init_sched_debug_procfs+0x0/0x44

obj-y sched.o包含着sched_debug.c #ifdef CONFIG_SCHED_DEBUG __initcall(init_sched_debug_procfs) \kernel\sched_debug.c

initcall init_sched_debug_procfs+0x0/0x44 returned 0 after 0 msecs

calling create_proc_profile+0x0/0x80

obj-y profile.c module_init(create_proc_profile) \kernel\profile.c

initcall create_proc_profile+0x0/0x80 returned 0 after 0 msecs

calling ioresources_init+0x0/0x5c

obj-y resource.c __initcall(ioresources_init) \kernel\resource.c

initcall ioresources_init+0x0/0x5c returned 0 after 0 msecs

calling uid_cache_init+0x0/0xb4

obj-y user.c module_init(uid_cache_init) \kernel\user.c

initcall uid_cache_init+0x0/0xb4 returned 0 after 0 msecs

calling init_posix_timers+0x0/0xbc

obj-y posix-timers.c __initcall(init_posix_timers) \kernel\posix-timers.c

initcall init_posix_timers+0x0/0xbc returned 0 after 0 msecs

calling init_posix_cpu_timers+0x0/0x84

obj-y posix-cpu-timers.o __initcall(init_posix_cpu_timers) \kernel\posix-cpu-timers.c

initcall init_posix_cpu_timers+0x0/0x84 returned 0 after 0 msecs

calling nsproxy_cache_init+0x0/0x44

obj-y nsproxy.o module_init(nsproxy_cache_init) \kernel\nsproxy.c

initcall nsproxy_cache_init+0x0/0x44 returned 0 after 0 msecs

calling timekeeping_init_device+0x0/0x40

obj-y += timekeeping.o device_initcall(timekeeping_init_device) \kernel\time\timekeeping.c

initcall timekeeping_init_device+0x0/0x40 returned 0 after 2 msecs

calling init_clocksource_sysfs+0x0/0x6c

obj-y clocksource.o device_initcall(init_clocksource_sysfs) \kernel\time\clocksource.c

initcall init_clocksource_sysfs+0x0/0x6c returned 0 after 2 msecs

calling init_timer_list_procfs+0x0/0x44

obj-y timer_list.o __initcall(init_timer_list_procfs) \kernel\time\timer_list.c

initcall init_timer_list_procfs+0x0/0x44 returned 0 after 0 msecs

calling futex_init+0x0/0x70

obj-$(CONFIG_FUTEX) += futex.o __initcall(futex_init) \kernel\futex.c

initcall futex_init+0x0/0x70 returned 0 after 0 msecs

calling kallsyms_init+0x0/0x3c

obj-$(CONFIG_KALLSYMS) += kallsyms.o __initcall(kallsyms_init) \kernel\kallsyms.c

initcall kallsyms_init+0x0/0x3c returned 0 after 0 msecs

calling utsname_sysctl_init+0x0/0x20

obj-$(CONFIG_SYSCTL) += utsname_sysctl.o __initcall(utsname_sysctl_init) \kernel\utsname_sysctl.c

initcall utsname_sysctl_init+0x0/0x20 returned 0 after 0 msecs

calling init_per_zone_pages_min+0x0/0x50

obj-y page_alloc.o module_init(init_per_zone_pages_min) \mm\page_alloc.c

initcall init_per_zone_pages_min+0x0/0x50 returned 0 after 0 msecs

calling pdflush_init+0x0/0x1c

obj-y pdflush.o module_init(pdflush_init) \mm\pdflush.c

initcall pdflush_init+0x0/0x1c returned 0 after 0 msecs

calling kswapd_init+0x0/0x20

obj-y vmscan.o module_init(kswapd_init) \mm\vmscan.c

initcall kswapd_init+0x0/0x20 returned 0 after 0 msecs

calling init_tmpfs+0x0/0xe8

obj-$(CONFIG_SHMEM) += shmem.o module_init(init_tmpfs) \mm\shmem.c

initcall init_tmpfs+0x0/0xe8 returned 0 after 0 msecs

calling cpucache_init+0x0/0x1c

obj-$(CONFIG_SLAB) += slab.o __initcall(cpucache_init) \mm\slab.c

initcall cpucache_init+0x0/0x1c returned 0 after 0 msecs

calling fasync_init+0x0/0x44

obj-y fcntl.o module_init(fasync_init) \fs\fcntl.c

initcall fasync_init+0x0/0x44 returned 0 after 0 msecs

calling aio_setup+0x0/0x94

obj-y aio.o __initcall(aio_setup) \fs\aio.c

initcall aio_setup+0x0/0x94 returned 0 after 1 msecs

calling init_devpts_fs+0x0/0x54

obj-y += devpts/ devpts-$(CONFIG_UNIX98_PTYS):= inode.o module_init(init_devpts_fs) \fs\devpts\inode.c

initcall init_devpts_fs+0x0/0x54 returned 0 after 0 msecs

calling init_ramfs_fs+0x0/0x1c

ramfs-objs += inode.o module_init(init_ramfs_fs) \fs\ramfs\inode.c

initcall init_ramfs_fs+0x0/0x1c returned 0 after 0 msecs

calling init_nfs_fs+0x0/0x140

nfs-y inode.o module_init(init_nfs_fs) \fs\nfs\inode.c

initcall init_nfs_fs+0x0/0x140 returned 0 after 1 msecs

calling init_nlm+0x0/0x34

lockd-objs-y svc.o module_init(init_nlm); \fs\lockd\svc.c

initcall init_nlm+0x0/0x34 returned 0 after 0 msecs

calling init_nls_cp437+0x0/0x1c

obj-$(CONFIG_NLS_CODEPAGE_437)+= nls_cp437.o module_init(init_nls_cp437) \fs\nls\nls_cp437.c

initcall init_nls_cp437+0x0/0x1c returned 0 after 0 msecs

calling init_nls_cp936+0x0/0x1c

obj-$(CONFIG_NLS_CODEPAGE_936)+= nls_cp936.o module_init(init_nls_cp936) \fs\nls\nls_cp936.c

initcall init_nls_cp936+0x0/0x1c returned 0 after 0 msecs

calling init_nls_iso8859_1+0x0/0x1c

obj-$(CONFIG_NLS_ISO8859_1) += nls_iso8859-1.o module_init(init_nls_iso8859_1) \fs\nls\nls_iso8859-1.c

initcall init_nls_iso8859_1+0x0/0x1c returned 0 after 0 msecs

calling init_jffs2_fs+0x0/0xe8

jffs2-y+= super.o module_init(init_jffs2_fs) \fs\jffs2\super.c

JFFS2 version 2.2. (NAND)
锟铰?2001-2006 Red Hat, Inc.

initcall init_jffs2_fs+0x0/0xe8 returned 0 after 6 msecs

calling ipc_init+0x0/0x2c

obj-$(CONFIG_SYSVIPC) += util.o __initcall(ipc_init) \ipc\util.c

msgmni has been set to 120

initcall ipc_init+0x0/0x2c returned 0 after 2 msecs

calling ipc_sysctl_init+0x0/0x20

obj-$(CONFIG_SYSVIPC_SYSCTL) += ipc_sysctl.o __initcall(ipc_sysctl_init) \ipc\ipc_sysctl.c

initcall ipc_sysctl_init+0x0/0x20 returned 0 after 0 msecs

calling init_mqueue_fs+0x0/0xec

obj-$(CONFIG_POSIX_MQUEUE) += mqueue.o __initcall(init_mqueue_fs) \ipc\mqueue.c

initcall init_mqueue_fs+0x0/0xec returned 0 after 1 msecs

calling noop_init+0x0/0x20

obj-$(CONFIG_IOSCHED_NOOP)+= noop-iosched.o module_init(noop_init) \block\noop-iosched.c

io scheduler noop registered

initcall noop_init+0x0/0x20 returned 0 after 2 msecs

calling cfq_init+0x0/0xd0

obj-$(CONFIG_IOSCHED_CFQ)+= cfq-iosched.o module_init(cfq_init) \block\cfq-iosched.c

io scheduler cfq registered (default)

initcall cfq_init+0x0/0xd0 returned 0 after 3 msecs

calling fb_console_init+0x0/0x17c

obj-$(CONFIG_FRAMEBUFFER_CONSOLE) += fbcon.o module_init(fb_console_init) \drivers\video\console\fbcon.c

initcall fb_console_init+0x0/0x17c returned 0 after 1 msecs

calling s3c2410fb_init+0x0/0x40

obj-$(CONFIG_FB_S3C2410) += s3c2410fb.o module_init(s3c2410fb_init) \drivers\video\s3c2410fb.c

Console: switching to colour frame buffer device 40x30

fb0: s3c2410fb frame buffer device

initcall s3c2410fb_init+0x0/0x40 returned 0 after 35 msecs

calling vfb_init+0x0/0x134

obj-$(CONFIG_FB_VIRTUAL) += vfb.o module_init(vfb_init) \drivers\video\vfb.c

fb1: Virtual frame buffer device, using 1024K of video memory

initcall vfb_init+0x0/0x134 returned 0 after 23 msecs

calling rand_initialize+0x0/0x38

obj-y random.o module_init(rand_initialize) \drivers\char\random.c

initcall rand_initialize+0x0/0x38 returned 0 after 0 msecs

calling tty_init+0x0/0x1d4

obj-y tty_io.o module_init(tty_init) \drivers\char\tty_io.c

initcall tty_init+0x0/0x1d4 returned 0 after 117 msecs

calling pty_init+0x0/0x478

obj-$(CONFIG_LEGACY_PTYS)+= pty.o

obj-$(CONFIG_UNIX98_PTYS)+= pty.o module_init(pty_init) \drivers\char\pty.c

initcall pty_init+0x0/0x478 returned 0 after 4355 msecs

calling raw_init+0x0/0xc4

obj-$(CONFIG_RAW_DRIVER)+= raw.o module_init(raw_init) \drivers\char\raw.c

initcall raw_init+0x0/0xc4 returned 0 after 3 msecs

calling s3c2410ts_init+0x0/0x28 add by lieye

s3c2410ts init

s3c2410ts in probe

s3c2410ts device driver MAJOR:253

S3C2410 SUCCESS to get adc clock source s3c2410ts initialized

initcall s3c2410ts_init+0x0/0x28 returned 0 after 20 msecs

calling rtc_init+0x0/0xb0

obj-$(CONFIG_RTC)+= rtc.o module_init(rtc_init) \drivers\char\rtc.c

S3C2410 Real Time Clock Driver v0.1

initcall rtc_init+0x0/0xb0 returned 0 after 6 msecs

calling serial8250_init+0x0/0x128

obj-$(CONFIG_SERIAL_8250) += 8250.o module_init(serial8250_init) \drivers\serial\8250.c

Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled

initcall serial8250_init+0x0/0x128 returned 0 after 21 msecs

calling s3c24xx_serial_modinit+0x0/0x48

obj-$(CONFIG_SERIAL_S3C2410) += s3c2410.o module_init(s3c24xx_serial_modinit) \drivers\serial\s3c2410.c

s3c2410-uart.0: s3c2410_serial0 at MMIO 0x50000000 (irq = 70) is a S3C2410

s3c2410-uart.1: s3c2410_serial1 at MMIO 0x50004000 (irq = 73) is a S3C2410

s3c2410-uart.2: s3c2410_serial2 at MMIO 0x50008000 (irq = 76) is a S3C2410

initcall s3c24xx_serial_modinit+0x0/0x48 returned 0 after 30 msecs

calling loop_init+0x0/0x1d0

obj-$(CONFIG_BLK_DEV_LOOP)+= loop.o module_init(loop_init) \drivers\block\loop.c

loop: module loaded

initcall loop_init+0x0/0x1d0 returned 0 after 32 msecs

calling nbd_init+0x0/0x39c

obj-$(CONFIG_BLK_DEV_NBD)+= nbd.o module_init(nbd_init) \drivers\block\nbd.c

nbd: registered device at major 43

initcall nbd_init+0x0/0x39c returned 0 after 96 msecs

calling net_olddevs_init+0x0/0xd4

obj-$(CONFIG_NET) += Space.o device_initcall(net_olddevs_init) \drivers\net\space.c

initcall net_olddevs_init+0x0/0xd4 returned 0 after 0 msecs

calling cs8900_init+0x0/0x34

add by lieye module_init (cs8900_init) \drivers\net\cs8900a.c

Cirrus Logic CS8900A driver for Linux (Modified for SMDK2410)

eth0: CS8900A rev E at 0xc4c00300 irq=53, no eeprom , addr: 00:12:34:56:78:9A

initcall cs8900_init+0x0/0x34 returned 0 after 19 msecs

calling init_mtd+0x0/0x44

mtd-y := mtdcore.o module_init(init_mtd) \driver\mtd\mtdcore.c

initcall init_mtd+0x0/0x44 returned 0 after 0 msecs

calling redboot_parser_init+0x0/0x1c

obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o module_init(redboot_parser_init) \drivers\mtd\redboot.c

initcall redboot_parser_init+0x0/0x1c returned 0 after 0 msecs

calling cmdline_parser_init+0x0/0x1c

obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o module_init(cmdline_parser_init) \drivers\mtd\cmdlinepart.c

initcall cmdline_parser_init+0x0/0x1c returned 0 after 0 msecs

calling init_mtdchar+0x0/0xa4

obj-$(CONFIG_MTD_CHAR)+= mtdchar.o module_init(init_mtdchar) \drivers\mtd\mtdchar.c

initcall init_mtdchar+0x0/0xa4 returned 0 after 1 msecs

calling init_mtdblock+0x0/0x1c

obj-$(CONFIG_MTD_BLOCK)+= mtdblock.o module_init(init_mtdblock) \drivers\mtd\mtdblock.c

initcall init_mtdblock+0x0/0x1c returned 0 after 0 msecs

calling cfi_probe_init+0x0/0x20

obj-$(CONFIG_MTD_CFI) += cfi_probe.o module_init(cfi_probe_init) \drivers\mtd\chips\cfi_probe.c

initcall cfi_probe_init+0x0/0x20 returned 0 after 0 msecs

calling jedec_probe_init+0x0/0x20

obj-$(CONFIG_MTD_JEDECPROBE) += jedec_probe.o module_init(jedec_probe_init) \drivers\mtd\chips\jedec_probe.c

initcall jedec_probe_init+0x0/0x20 returned 0 after 0 msecs

calling map_rom_init+0x0/0x20

obj-$(CONFIG_MTD_ROM) += map_rom.o module_init(map_rom_init) \drivers\mtd\chips\map_rom.c

initcall map_rom_init+0x0/0x20 returned 0 after 0 msecs

calling nand_base_init+0x0/0x28

nand-objs := nand_base.o module_init(nand_base_init) \drivers\mtd\nand\nand_base.c

initcall nand_base_init+0x0/0x28 returned 0 after 0 msecs

calling s3c2410_nand_init+0x0/0x40

obj-$(CONFIG_MTD_NAND_S3C2410)+= s3c2410.o module_init(s3c2410_nand_init) \drivers\mtd\nand\s3c2410.c

S3C24XX NAND Driver, (c) 2004 Simtec Electronics

s3c2410-nand s3c2410-nand: Tacls=3, 29ns Twrph0=7 69ns, Twrph1=3 29ns

NAND device: Manufacturer ID: 0xec, Chip ID: 0x76 (Samsung NAND 64MiB 3,3V 8-bi)

s3c2410_nand_update_chip: chip c3e170bc: 9

Scanning device for bad blocks

Creating 4 MTD partitions on "NAND 64MiB 3,3V 8-bit":

0x00000000-0x00080000 : "Uboot-1.3.4"

0x00080000-0x00280000 : "Linux Kernel 2.6.26.5"

0x00280000-0x01a80000 : "Rootfs jffs2"

0x01a80000-0x03280000 : "Roofts user"

initcall s3c2410_nand_init+0x0/0x40 returned 0 after 356 msecs

calling plat_nand_init+0x0/0x1c

obj-$(CONFIG_MTD_NAND_PLATFORM)+= plat_nand.o module_init(plat_nand_init) \drivers\mtd\nand\plat_nand.c

initcall plat_nand_init+0x0/0x1c returned 0 after 1 msecs

calling s3c2410_spigpio_init+0x0/0x1c

obj-$(CONFIG_SPI_S3C24XX_GPIO) += spi_s3c24xx_gpio.o module_init(s3c2410_spigpio_init) \drivers\spi\spi_s3c24xx_gpio.c

initcall s3c2410_spigpio_init+0x0/0x1c returned 0 after 1 msecs

calling s3c24xx_spi_init+0x0/0x24

obj-$(CONFIG_SPI_S3C24XX)+= spi_s3c24xx.o module_init(s3c24xx_spi_init) \drivers\spi\spi_s3c24xx.c

initcall s3c24xx_spi_init+0x0/0x24 returned -19 after 3 msecs

calling mon_init+0x0/0xe8

usbmon-objs := mon_main.o module_init(mon_init) \drivers\usb\mon\mon_main.c

usbmon: debugfs is not available

initcall mon_init+0x0/0xe8 returned -19 after 3 msecs

calling ohci_hcd_mod_init+0x0/0x48

obj-$(CONFIG_USB_OHCI_HCD)+= ohci-hcd.o module_init(ohci_hcd_mod_init) \drivers\usb\host\ohci-hcd.c

s3c2410-ohci s3c2410-ohci: S3C24XX OHCI

s3c2410-ohci s3c2410-ohci: new USB bus registered, assigned bus number 1

s3c2410-ohci s3c2410-ohci: irq 42, io mem 0x49000000

usb usb1: configuration #1 chosen from 1 choice

hub 1-0:1.0: USB hub found

hub 1-0:1.0: 2 ports detected

initcall ohci_hcd_mod_init+0x0/0x48 returned 0 after 198 msecs

calling serport_init+0x0/0x40

obj-$(CONFIG_SERIO_SERPORT)+= serport.o module_init(serport_init) \drivers\input\serio\serport.c

initcall serport_init+0x0/0x40 returned 0 after 0 msecs

calling mousedev_init+0x0/0x7c

obj-$(CONFIG_INPUT_MOUSEDEV) += mousedev.o module_init(mousedev_init) \drivers\input\mousedev.c

mice: PS/2 mouse device common for all mice

initcall mousedev_init+0x0/0x7c returned 0 after 4 msecs

calling atkbd_init+0x0/0x28

obj-$(CONFIG_KEYBOARD_ATKBD)+= atkbd.o module_init(atkbd_init) \drivers\input\keyboard\atkbd.c

initcall atkbd_init+0x0/0x28 returned 0 after 1 msecs

calling s3c_rtc_init+0x0/0x28

obj-$(CONFIG_RTC_DRV_S3C)+= rtc-s3c.o module_init(s3c_rtc_init) \drivers\rtc\rtc-s3c.c

S3C24XX RTC, (c) 2004,2006 Simtec Electronics

initcall s3c_rtc_init+0x0/0x28 returned 0 after 9 msecs

calling i2c_dev_init+0x0/0xa8

obj-$(CONFIG_I2C_CHARDEV)+= i2c-dev.o module_init(i2c_dev_init) \drivers\i2c\i2c-dev.c

i2c /dev entries driver

initcall i2c_dev_init+0x0/0xa8 returned 0 after 6 msecs

calling i2c_adap_s3c_init+0x0/0x48

obj-$(CONFIG_I2C_S3C2410)+= i2c-s3c2410.o module_init(i2c_adap_s3c_init) \drivers\i2c\busses\i2c-s3c2410.c

s3c2410-i2c s3c2410-i2c: slave address 0x10

s3c2410-i2c s3c2410-i2c: bus frequency set to 99 KHz

s3c2410-i2c s3c2410-i2c: i2c-0: S3C I2C adapter

initcall i2c_adap_s3c_init+0x0/0x48 returned 0 after 23 msecs

calling watchdog_init+0x0/0x28

obj-$(CONFIG_S3C2410_WATCHDOG) += s3c2410_wdt.o module_init(watchdog_init) \drivers\watchdog\s3c2410_wdt.c

S3C2410 Watchdog Timer, (c) 2004 Simtec Electronics

s3c2410-wdt s3c2410-wdt: watchdog inactive, reset disabled, irq enabled

initcall watchdog_init+0x0/0x28 returned 0 after 14 msecs

calling hid_init+0x0/0x14

usbhid-objs := hid-core.o module_init(hid_init) \drivers\hid\usbhid\hid-core.c

initcall hid_init+0x0/0x14 returned 0 after 1 msecs

calling usb_kbd_init+0x0/0x48

obj-$(CONFIG_USB_KBD) += usbkbd.o module_init(usb_kbd_init) \drivers\hid\usbhid\usbkbd.c

usbcore: registered new interface driver usbkbd

usbkbd: :USB HID Boot Protocol keyboard driver

initcall usb_kbd_init+0x0/0x48 returned 0 after 13 msecs

calling usb_mouse_init+0x0/0x48

obj-$(CONFIG_USB_MOUSE)+= usbmouse.o module_init(usb_mouse_init) \drivers\hid\usbhid\usbmouse.c

usbcore: registered new interface driver usbmouse

usbmouse: v1.6:USB HID Boot Protocol mouse driver

initcall usb_mouse_init+0x0/0x48 returned 0 after 19 msecs

calling oprofile_init+0x0/0x80

???????????

add oprofile by manual-------------------!

oprofile: using timer interrupt.

initcall oprofile_init+0x0/0x80 returned 0 after 7 msecs

calling sysctl_core_init+0x0/0x1c

obj-$(CONFIG_SYSCTL) += sysctl_net_core.o __initcall(sysctl_core_init) \net\core\sysctrl_net_core.c

initcall sysctl_core_init+0x0/0x1c returned 0 after 0 msecs

calling nfnetlink_init+0x0/0x84

obj-$(CONFIG_NETFILTER_NETLINK) += nfnetlink.o module_init(nfnetlink_init) \net\netfilter\nfnetlink.c

Netfilter messages via NETLINK v0.30.

initcall nfnetlink_init+0x0/0x84 returned 0 after 5 msecs

calling nfnetlink_queue_init+0x0/0xbc

obj-$(CONFIG_NETFILTER_NETLINK_QUEUE) += nfnetlink_queue.o module_init(nfnetlink_queue_init) \net\netfilter\nfnetlink_queue.c

initcall nfnetlink_queue_init+0x0/0xbc returned 0 after 0 msecs

calling nfnetlink_log_init+0x0/0xc0

obj-$(CONFIG_NETFILTER_NETLINK_LOG) += nfnetlink_log.o module_init(nfnetlink_log_init) \net\netfilter\nfnetlink_log.c

initcall nfnetlink_log_init+0x0/0xc0 returned 0 after 0 msecs

calling nf_conntrack_standalone_init+0x0/0xf8

nf_conntrack-y := nf_conntrack_standalone.o module_init(nf_conntrack_standalone_init) \net\netfilter\nf_conntrack_standalone.c

nf_conntrack version 0.5.0 (1024 buckets, 4096 max)

initcall nf_conntrack_standalone_init+0x0/0xf8 returned 0 after 10 msecs

calling xt_init+0x0/0xbc

obj-$(CONFIG_NETFILTER_XTABLES) += x_tables.o module_init(xt_init) \net\netfilter\x_tables.c

initcall xt_init+0x0/0xbc returned 0 after 0 msecs

calling tcpudp_mt_init+0x0/0x20

obj-$(CONFIG_NETFILTER_XTABLES) += x_tables.o xt_tcpudp.o module_init(tcpudp_mt_init) \net\netfilter\xt_tcpudp.c

initcall tcpudp_mt_init+0x0/0x20 returned 0 after 0 msecs

calling sysctl_ipv4_init+0x0/0x58

obj-$(CONFIG_SYSCTL) += sysctl_net_ipv4.o __initcall(sysctl_ipv4_init) \net\ipv4\sysctl_net_ipv4.c

initcall sysctl_ipv4_init+0x0/0x58 returned 0 after 6 msecs

calling ipv4_netfilter_init+0x0/0x1c

obj-$(CONFIG_NETFILTER)+= netfilter.o netfilter/ module_init(ipv4_netfilter_init) \net\ipv4\netfilter.c

initcall ipv4_netfilter_init+0x0/0x1c returned 0 after 0 msecs

calling nf_conntrack_l3proto_ipv4_init+0x0/0x140

nf_conntrack_ipv4-objs := nf_conntrack_l3proto_ipv4.o module_init(nf_conntrack_l3proto_ipv4_init) \net\ipv4\netfilter

initcall nf_conntrack_l3proto_ipv4_init+0x0/0x140 returned 0 after 4 msecs

calling ip_tables_init+0x0/0xac

obj-$(CONFIG_IP_NF_IPTABLES) += ip_tables.o module_init(ip_tables_init) \net\ipv4\netfilter\ip_tables.c

ip_tables: (C) 2000-2006 Netfilter Core Team

initcall ip_tables_init+0x0/0xac returned 0 after 8 msecs

calling arp_tables_init+0x0/0x90

obj-$(CONFIG_IP_NF_ARPTABLES) += arp_tables.o module_init(arp_tables_init) \net\ipv4\netfilter\arp_tables.c

arp_tables: (C) 2002 David S. Miller

initcall arp_tables_init+0x0/0x90 returned 0 after 5 msecs

calling ip_queue_init+0x0/0x14c

obj-$(CONFIG_IP_NF_QUEUE) += ip_queue.o module_init(ip_queue_init) \net\ipv4\netfilter\ip_queue.c

initcall ip_queue_init+0x0/0x14c returned 0 after 0 msecs

calling inet_diag_init+0x0/0x9c

obj-$(CONFIG_INET_DIAG) += inet_diag.o module_init(inet_diag_init) \net\ipv4\inet_diag.c

initcall inet_diag_init+0x0/0x9c returned 0 after 0 msecs

calling tcp_diag_init+0x0/0x1c

obj-$(CONFIG_INET_TCP_DIAG) += tcp_diag.o module_init(tcp_diag_init) \net\ipv4\tcp_diag.c

initcall tcp_diag_init+0x0/0x1c returned 0 after 0 msecs

calling cubictcp_register+0x0/0xa0

obj-$(CONFIG_TCP_CONG_CUBIC) += tcp_cubic.o module_init(cubictcp_register) \net\ipv4\tcp_cubic.c

TCP cubic registered

initcall cubictcp_register+0x0/0xa0 returned 0 after 3 msecs

calling init_sunrpc+0x0/0x64

sunrpc-y := sunrpc_syms.o module_init(init_sunrpc) \net\sunrpc\sunrpc_syms.c
此功能??

RPC: Registered udp transport module.

RPC: Registered tcp transport module.

initcall init_sunrpc+0x0/0x64 returned 0 after 12 msecs

calling s3c24xx_dma_sysdev_register+0x0/0x80

obj-$(CONFIG_S3C2410_DMA)+= dma.o late_initcall(s3c24xx_dma_sysdev_register) \arch\arm\plat-s3c24xx\dma.c

initcall s3c24xx_dma_sysdev_register+0x0/0x80 returned 0 after 5 msecs

calling sched_init_debug+0x0/0x14

obj-y = sched.o late_initcall(sched_init_debug) \kernel\sched.c

initcall sched_init_debug+0x0/0x14 returned 0 after 0 msecs

calling init_oops_id+0x0/0x3c

obj-y = panic.o late_initcall(init_oops_id) \kernel\panic.c

initcall init_oops_id+0x0/0x3c returned 0 after 0 msecs

calling disable_boot_consoles+0x0/0x60

obj-y = printk.o late_initcall(disable_boot_consoles) kernel\printk.c

initcall disable_boot_consoles+0x0/0x60 returned 0 after 0 msecs

calling pm_qos_power_init+0x0/0x74

obj-y = pm_qos_params.o late_initcall(pm_qos_power_init) \kernel\pm_qos_params.c

initcall pm_qos_power_init+0x0/0x74 returned 0 after 5 msecs

calling random32_reseed+0x0/0x64

obj-y = random32.o late_initcall(random32_reseed) \lib\random32.c

initcall random32_reseed+0x0/0x64 returned 0 after 0 msecs

calling seqgen_init+0x0/0x1c

obj-y = random.o late_initcall(seqgen_init) \drivers\char\random.c

initcall seqgen_init+0x0/0x1c returned 0 after 0 msecs

calling rtc_hctosys+0x0/0x144

obj-$(CONFIG_RTC_HCTOSYS)+= hctosys.o late_initcall(rtc_hctosys) \drivers\rtc\hctosys.c

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

initcall rtc_hctosys+0x0/0x144 returned -19 after 8 msecs

calling tcp_congestion_default+0x0/0x1c

obj-y = tcp_cong.o late_initcall(tcp_congestion_default) \net\ipv4\tcp_cong.c

initcall tcp_congestion_default+0x0/0x1c returned 0 after 0 msecs

calling ip_auto_config+0x0/0x1014

obj-$(CONFIG_IP_PNP) += ipconfig.o late_initcall(ip_auto_config) \net\ipv4\ipconfig.c

IP-Config: Guessing netmask 255.255.255.0

IP-Config: Complete:

device=eth0, addr=192.168.1.58, mask=255.255.255.0, gw=255.255.255.255,

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

bootserver=255.255.255.255, rootserver=192.168.1.57, rootpath=

initcall ip_auto_config+0x0/0x1014 returned 0 after 4611 msecs

Looking up port of RPC 100003/2 on 192.168.1.57

Looking up port of RPC 100005/1 on 192.168.1.57

VFS: Mounted root (nfs filesystem).

Freeing init memory: 128K

Bad inittab entry at line 1

Please press Enter to activate this console.

BusyBox v1.13.0 (2011-07-03 10:08:33 CST) built-in shell (ash)

Enter 'help' for a list of built-in commands.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: