TP-Link TL-WR703N 路由器的 OpenWrt Firmware 程式過程是使用原廠的 U-Boot,所以 U-Boot 是一樣(U-Boot 1.1.4 (Dec 4 2012 - 11:19:40)),但 Linux 核心系統(Kernel)就不同,這個核心將來要優化及符合應用的不同需要,一定要化多點時間來了解。
U-Boot 的啟動過程大致做如下工作:
1… 初始化 CPU
2… 初始化 記憶體 (DDR RAM)
3… 記憶體劃分、分配棧、資料、配置參數、以及 U-Boot 代碼在記憶體中的位置。
4… 初始化 串口 (Serial) 、網口、時鐘
5… 對U-Boot代碼作relocate、malloc
6… 進入命令行或者直接啟動Linux kernel
OpenWrt Linux 核心系統執行過程:
1… 完成 U-Boot 程式
2… 發出命令 OPS-Code 代碼並開始啟動核心 start_kernel
3… 初始化設置 (create directories, mount fs, /proc, /sys, …)
4… 掛載的 rootfs(rootfs = root file system)
5… 如果 “initramfs” 中沒有定義,調用 /sbin/init
6… 最後有些內核線程會變成用戶空間的init process
1. U-Boot 1.1.4 (Dec 4 2012 - 11:19:40)
2. AP121 (ar9330) U-boot
3. DRAM: 32 MB
4. led turning on for 1s...
5. id read 0x100000ff
6. flash size 4194304, sector count = 64
7. Flash: 4 MB
8. Using default environment
9. In: serial
10. Out: serial
11. Err: serial
12. Net: ag7240_enet_initialize...
13. No valid address in Flash. Using fixed address
14. No valid address in Flash. Using fixed address
15. : cfg1 0x5 cfg2 0x7114
16. eth0: 00:03:7f:09:0b:ad
17. ag7240_phy_setup
18. eth0 up
19. : cfg1 0xf cfg2 0x7214
20. eth1: 00:03:7f:09:0b:ad
21. athrs26_reg_init_lan
22. ATHRS26: resetting s26
23. ATHRS26: s26 reset done
24. ag7240_phy_setup
25. eth1 up
26. eth0, eth1
27. Autobooting in 1 seconds
28. ## Booting image at 9f020000 ...
Uncompressing Kernel Image ... OK
29. Starting kernel ...
30. [ 0.000000] Linux version 3.10.4 (alpha@debian) (gcc version 4.6.4 (OpenWrt/Linaro GCC 4.6-2012.12 r37742) ) #1 Sat Aug 10 07:17:49 EDT 2013
31. [ 0.000000] bootconsole [early0] enabled
32. [ 0.000000] CPU revision is: 00019374 (MIPS 24Kc)
33. [ 0.000000] SoC: Atheros AR9330 rev 1
34. [ 0.000000] Clocks: CPU:400.000MHz, DDR:400.000MHz, AHB:200.000MHz, Ref:25.000MHz
35. [ 0.000000] Determined physical RAM map:
36. [ 0.000000] memory: 02000000 @ 00000000 (usable)
37. [ 0.000000] Initrd not found or empty - disabling initrd
38. [ 0.000000] Zone ranges:
39. [ 0.000000] Normal [mem 0x00000000-0x01ffffff]
40. [ 0.000000] Movable zone start for each node
41. [ 0.000000] Early memory node ranges
42. [ 0.000000] node 0: [mem 0x00000000-0x01ffffff]
43. [ 0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
44. [ 0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
45. [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 8128
46. [ 0.000000] Kernel command line: board=TL-WR703N console=ttyATH0,115200 rootfstype=squashfs,jffs2 noinitrd
47. [ 0.000000] PID hash table entries: 128 (order: -3, 512 bytes)
48. [ 0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
49. [ 0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
50. [ 0.000000] Writing ErrCtl register=00000000
51. [ 0.000000] Readback ErrCtl register=00000000
52. [ 0.000000] Memory: 28848k/32768k available (2197k kernel code, 3920k reserved, 587k data, 220k init, 0k highmem)
53. [ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
54. [ 0.000000] NR_IRQS:51
55. [ 0.000000] Calibrating delay loop... 265.42 BogoMIPS (lpj=1327104)
56. [ 0.080000] pid_max: default: 32768 minimum: 301
57. [ 0.080000] Mount-cache hash table entries: 512
58. [ 0.090000] NET: Registered protocol family 16
59. [ 0.100000] MIPS: machine is TP-LINK TL-WR703N v1
60. [ 0.350000] bio: create slab
61. [ 0.360000] Switching to clocksource MIPS
62. [ 0.360000] NET: Registered protocol family 2
63. [ 0.370000] TCP established hash table entries: 512 (order: 0, 4096 bytes)
64. [ 0.370000] TCP bind hash table entries: 512 (order: -1, 2048 bytes)
65. [ 0.370000] TCP: Hash tables configured (established 512 bind 512)
66. [ 0.380000] TCP: reno registered
67. [ 0.380000] UDP hash table entries: 256 (order: 0, 4096 bytes)
68. [ 0.390000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
69. [ 0.400000] NET: Registered protocol family 1
70. [ 0.420000] squashfs: version 4.0 (2009/01/31) Phillip Lougher
71. [ 0.420000] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
72. [ 0.430000] msgmni has been set to 56
73. [ 0.440000] io scheduler noop registered
74. [ 0.440000] io scheduler deadline registered (default)
75. [ 0.440000] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
76. [ 0.450000] ar933x-uart: ttyATH0 at MMIO 0x18020000 (irq = 11) is a AR933X UART
77. [ 0.460000] console [ttyATH0] enabled, bootconsole disabled
78. [ 0.460000] console [ttyATH0] enabled, bootconsole disabled
79. [ 0.470000] ath79-spi ath79-spi: master is unqueued, this is deprecated
80. [ 0.480000] m25p80 spi0.0: found en25q32b, expected m25p80
81. [ 0.480000] m25p80 spi0.0: en25q32b (4096 Kbytes)
82. [ 0.490000] 5 tp-link partitions found on MTD device spi0.0
83. [ 0.490000] Creating 5 MTD partitions on "spi0.0":
84. [ 0.500000] 0x000000000000-0x000000020000 : "u-boot"
85. [ 0.500000] 0x000000020000-0x000000118b2c : "kernel"
86. [ 0.510000] mtd: partition "kernel" must either start or end on erase block boundary or be smaller than an erase block -- forcing read-only
87. [ 0.520000] 0x000000118b2c-0x0000003f0000 : "rootfs"
88. [ 0.520000] mtd: partition "rootfs" must either start or end on erase block boundary or be smaller than an erase block -- forcing read-only
89. [ 0.540000] mtd: partition "rootfs" set to be root filesystem
90. [ 0.540000] mtd: partition "rootfs_data" created automatically, ofs=0x3d0000, len=0x20000
91. [ 0.550000] 0x0000003d0000-0x0000003f0000 : "rootfs_data"
92. [ 0.560000] 0x0000003f0000-0x000000400000 : "art"
93. [ 0.560000] 0x000000020000-0x0000003f0000 : "firmware"
94. [ 0.580000] libphy: ag71xx_mdio: probed
95. [ 0.590000] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode:MII
96. [ 1.140000] ag71xx ag71xx.0 eth0: connected to PHY at ag71xx-mdio.1:04 [uid=004dd041, driver=Generic PHY]
97. [ 1.150000] TCP: cubic registered
98. [ 1.150000] NET: Registered protocol family 17
99. [ 1.160000] 8021q: 802.1Q VLAN Support v1.8
100. [ 1.170000] VFS: Mounted root (squashfs filesystem) readonly on device 31:2.
101. [ 1.180000] Freeing unused kernel memory: 220K (80319000 - 80350000)
102. procd: Console is alive
103. procd: - watchdog -
104. [ 3.480000] SCSI subsystem initialized
105. [ 3.620000] usbcore: registered new interface driver usbfs
106. [ 3.620000] usbcore: registered new interface driver hub
107. [ 3.630000] usbcore: registered new device driver usb
108. [ 4.320000] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
109. [ 4.320000] ehci-platform: EHCI generic platform driver
110. [ 4.330000] ehci-platform ehci-platform: EHCI Host Controller
111. [ 4.330000] ehci-platform ehci-platform: new USB bus registered, assigned bus number 1
112. [ 4.340000] ehci-platform ehci-platform: irq 3, io mem 0x1b000000
113. [ 4.370000] ehci-platform ehci-platform: USB 2.0 started, EHCI 1.00
114. [ 4.370000] hub 1-0:1.0: USB hub found
115. [ 4.370000] hub 1-0:1.0: 1 port detected
116. [ 4.580000] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
117. [ 4.690000] usbcore: registered new interface driver usb-storage
118. procd: - preinit -
119. Press the [f] key and hit [enter] to enter failsafe mode
120. [ 7.210000] eth0: link up (100Mbps/Full duplex)
121. mount_root: jffs2 is not ready - marker found
122. [ 8.600000] eth0: link down
123. procd: - early -
124. procd: - watchdog -
125. procd: - init -
126. Please press Enter to activate this console.
127. [ 11.460000] Loading modules backported from Linux version master-2013-06-27-0-gdcfa6d5
128. [ 11.470000] Backport generated by backports.git backports-20130617-4-ge3220f5
129. [ 11.510000] cfg80211: Calling CRDA to update world regulatory domain
130. [ 11.510000] cfg80211: World regulatory domain updated:
131. [ 11.520000] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
132. [ 11.520000] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
133. [ 11.530000] cfg80211: (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
134. [ 11.540000] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
135. [ 11.550000] cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
136. [ 11.550000] cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
137. [ 11.830000] NET: Registered protocol family 10
138. [ 12.640000] cfg80211: Calling CRDA for country: US
139. [ 12.650000] cfg80211: Regulatory domain changed to country: US
140. [ 12.650000] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
141. [ 12.660000] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2700 mBm)
142. [ 12.670000] cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 1700 mBm)
143. [ 12.670000] cfg80211: (5250000 KHz - 5330000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
144. [ 12.680000] cfg80211: (5490000 KHz - 5600000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
145. [ 12.690000] cfg80211: (5650000 KHz - 5710000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
146. [ 12.700000] cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 3000 mBm)
147. [ 12.720000] ieee80211 phy0: Atheros AR9330 Rev:1 mem=0xb8100000, irq=2
148. [ 13.380000] PPP generic driver version 2.4.2
149. [ 13.550000] ip_tables: (C) 2000-2006 Netfilter Core Team
150. [ 13.580000] xt_time: kernel timezone is -0000
151. [ 13.780000] NET: Registered protocol family 24
152. [ 13.890000] nf_conntrack version 0.5.0 (454 buckets, 1816 max)
153. [ 14.760000] ip6_tables: (C) 2000-2006 Netfilter Core Team
154. [ 14.920000] Linux video capture interface: v2.00
155. [ 14.950000] usbcore: registered new interface driver uvcvideo
156. [ 14.950000] USB Video Class driver (1.1.1)
157. [ 19.960000] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
158. [ 19.960000] device eth0 entered promiscuous mode
159. [ 19.970000] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready
160. [ 20.460000] eth0: link up (100Mbps/Full duplex)
161. [ 20.460000] br-lan: port 1(eth0) entered forwarding state
162. [ 20.470000] br-lan: port 1(eth0) entered forwarding state
163. [ 20.470000] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
164. [ 20.480000] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
165. [ 22.470000] br-lan: port 1(eth0) entered forwarding state
166. [ 25.400000] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
167. [ 25.420000] device wlan0 entered promiscuous mode
168. [ 25.450000] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
169. [ 25.460000] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
170. [ 25.470000] br-lan: port 2(wlan0) entered forwarding state
171. [ 25.470000] br-lan: port 2(wlan0) entered forwarding state
172. [ 27.470000] br-lan: port 2(wlan0) entered forwarding state
173. [ 37.560000] jffs2: Too few erase blocks (2)
174. procd: - init complete -
|
參考網址:
※ OpenWrt TP-Link TL-WR703N
※ The OpenWrt Flash Layout
※ OpenWrt TP-Link TL-WR703N
※ The OpenWrt Flash Layout
相關網址:
2013 年 9月 4日 天氣報告
氣溫:25.8度 @ 21:20
相對濕度:百分之 94%
天氣:微雨
沒有留言:
張貼留言