linux启动流程分析

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.                                  

                                                        

你可能感兴趣的:(linux启动流程分析)