拿到devkit8000,启动信息如下:
Texas Instruments X-Loader 1.41
Starting OS Bootloader...
U-Boot 1.3.3-svn350 (Nov 20 2009 - 16:21:59)
OMAP3530-GP rev 2, CPU-OPP2 L3-165MHz
OMAP3 DevKit8000 Board + LPDDR/NAND
DRAM: 128 MB
NAND: 128 MiB
*** Warning - bad CRC or NAND, using default environment
In: serial
Out: serial
Err: serial
Hit any key to stop autoboot: 0
NAND read: device 0 offset 0x280000, size 0x300000
Reading data from 0x57f800 -- 100% complete.
3145728 bytes read: OK
## Booting kernel from Legacy Image at 80300000 ...
Image Name: Linux-2.6.28-rc9-omap1
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2164212 Bytes = 2.1 MB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK
Starting kernel ...
Uncompressing
Linux........................................................................................
.................................................... done, booting the kernel.
Linux version 2.6.28-rc9-omap1 () (gcc version 4.2.1 (CodeSourcery Sourcery
G++ Lite 2007q3-51)) #1 Mon Dec 14 09:57:41 CST 2009
CPU: ARMv7 Processor [411fc083] revision 3 (ARMv7), cr=10c5387f
CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
Machine: OMAP3 Beagle Board
Memory policy: ECC disabled, Data cache writeback
OMAP3430 Unknown revision
SRAM: Mapped pa 0x40200000 to va 0xd7000000 size: 0x100000
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512
Kernel command line: console=ttyS2,115200n8 ubi.mtd=4 root=ubi0:rootfs rootfstype=ubifs
video=omapfb:mode:4.3inch_LCD
Clocking rate (Crystal/DPLL/ARM core): 26.0/266/500 MHz
GPMC revision 5.0
IRQ: Found an INTC at 0xd8200000 (revision 4.0) with 96 interrupts
Total of 96 interrupts on 1 active controller
OMAP34xx GPIO hardware version 2.5
PID hash table entries: 512 (order: 9, 2048 bytes)
OMAP clockevent source: GPTIMER12 at 32768 Hz
Console: colour dummy device 80x30
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 128MB = 128MB total
Memory: 125268KB available (3976K code, 354K data, 156K init)
Calibrating delay loop... 494.72 BogoMIPS (lpj=1933312)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
net_namespace: 288 bytes
NET: Registered protocol family 16
Found NAND on CS0
Registering NAND on CS0
omap3evmdc: Driver registration complete
OMAP DMA hardware revision 4.0
USB: No board-specific platform config found
OMAP DSS rev 2.0
OMAP DISPC rev 3.0
OMAP VENC rev 2
i2c_omap i2c_omap.1: bus 1 rev3.12 at 2600 kHz
twl4030: PIH (irq 7) chaining IRQs 368..375
twl4030: power (irq 373) chaining IRQs 376..383
twl4030: gpio (irq 368) chaining IRQs 384..401
i2c_omap i2c_omap.2: bus 2 rev3.12 at 400 kHz
i2c_omap i2c_omap.3: bus 3 rev3.12 at 400 kHz
SCSI subsystem initialized
twl4030_usb twl4030_usb: Initialized TWL4030 USB module
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
musb_hdrc: version 6.0, musb-dma, otg (peripheral+host), debug=0
musb_hdrc: USB OTG mode controller at d80ab000 using DMA, IRQ 92
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP reno registered
NET: Registered protocol family 1
NetWinder Floating Point Emulator V0.97 (double precision)
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
JFFS2 version 2.2. (NAND) 漏 2001-2006 Red Hat, Inc.
msgmni has been set to 244
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
Serial: 8250/16550 driver4 ports, IRQ sharing enabled
serial8250.0: ttyS0 at MMIO 0x4806a000 (irq = 72) is a ST16654
serial8250.0: ttyS1 at MMIO 0x4806c000 (irq = 73) is a ST16654
serial8250.0: ttyS2 at MMIO 0x49020000 (irq = 74) is a ST16654
console [ttyS2] enabled
brd: module loaded
loop: module loaded
PPP generic driver version 2.4.2
PPP Deflate Compression module registered
PPP BSD Compression module registered
PPP MPPE Compression module registered
NET: Registered protocol family 24
PPPoL2TP kernel driver, V1.0
dm9000 Ethernet Driver, V1.31
eth0: dm9000a at c88ae000,c88b2400 IRQ 185 MAC: 00:11:22:33:44:55 (chip)
Linux video capture interface: v2.00
tvp514x 2-005d: Registered to v4l2 master omap34xxcam!!
i2c /dev entries driver
Driver 'sd' needs updating - please use bus_type methods
omap2-nand driver initializing
NAND device: Manufacturer ID: 0x2c, Chip ID: 0xb1 (Micron NAND 128MiB 1,8V 16-bit)
cmdlinepart partition parsing not available
Creating 5 MTD partitions on "omap2-nand":
0x00000000-0x00080000 : "X-Loader"
0x00080000-0x00260000 : "U-Boot"
0x00260000-0x00280000 : "U-Boot Env"
0x00280000-0x00680000 : "Kernel"
0x00680000-0x08000000 : "File System"
UBI: attaching mtd4 to ubi0
UBI: physical eraseblock size: 131072 bytes (128 KiB)
UBI: logical eraseblock size: 129024 bytes
UBI: smallest flash I/O unit: 2048
UBI: sub-page size: 512
UBI: VID header offset: 512 (aligned 512)
UBI: data offset: 2048
UBI: attached mtd4 to ubi0
UBI: MTD device name: "File System"
UBI: MTD device size: 121 MiB
UBI: number of good PEBs: 972
UBI: number of bad PEBs: 0
UBI: max. allowed volumes: 128
UBI: wear-leveling threshold: 4096
UBI: number of internal volumes: 1
UBI: number of user volumes: 1
UBI: available PEBs: 0
UBI: total number of reserved PEBs: 972
UBI: number of PEBs reserved for bad PEB handling: 9
UBI: max/mean erase counter: 2/0
usbmon: debugfs is not available
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-omap ehci-omap.0: OMAP-EHCI Host Controller
UBI: background thread "ubi_bgt0d" started, PID 395
ehci-omap ehci-omap.0: new USB bus registered, assigned bus number 1
ehci-omap ehci-omap.0: irq 77, io mem 0x48064800
ehci-omap ehci-omap.0: USB 2.0 started, EHCI 1.00
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 3 ports detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
g_ether gadget: using random self ethernet address
g_ether gadget: using random host ethernet address
usb0: MAC 62:cf:c7:74:a5:83
usb0: HOST MAC 92:d0:d7:ad:31:0f
g_ether gadget: Ethernet Gadget, version: Memorial Day 2008
g_ether gadget: g_ether ready
musb_hdrc musb_hdrc: MUSB HDRC host driver
musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 2
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
input: omap_twl4030keypad as /class/input/input0
input: gpio-keys as /class/input/input1
ads7846 spi2.0: touchscreen, irq 187
input: ADS784x Touchscreen as /class/input/input2
twl4030_rtc twl4030_rtc: rtc core: registered twl4030_rtc as rtc0
twl4030_rtc twl4030_rtc: Power up reset detected.
twl4030_rtc twl4030_rtc: Enabling TWL4030-RTC.
Registered led device: led1
Registered led device: led2
Registered led device: ledB
Registered led device: led3
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver
Advanced Linux Sound Architecture Driver Version 1.0.18rc3.
ASoC version 0.13.2
OMAP3 omap3devkit9100 SoC init
TWL4030 Audio Codec init
asoc: twl4030 <-> omap-mcbsp-dai-(link_id) mapping ok
ALSA device list:
#0: omap3devkit9000 (twl4030)
TCP cubic registered
NET: Registered protocol family 17
NET: Registered protocol family 15
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
Power Management for TI OMAP3.
VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 1
omapfb: using mode 4.3inch_LCD
Console: switching to colour frame buffer device 60x34
clock: clksel_round_rate_div: dpll4_m4_ck target_rate 28800000
clock: new_div = 15, new_rate = 28800000
tvp514x 2-005d: Write: retry ... 0
tvp514x 2-005d: Write: retry ... 1
tvp514x 2-005d: Write: retry ... 2
tvp514x 2-005d: Write: retry ... 3
mmc0: new high speed SD card at address 0002
tvp514x 2-005d: Write: retry ... 4
mmcblk0: mmc0:0002 N/A 481 MiB
mmcblk0: p1
tvp514x 2-005d: Write: retry ... 5
tvp514x 2-005d: Write: retry ... 0
tvp514x 2-005d: Write: retry ... 1
tvp514x 2-005d: Write: retry ... 2
tvp514x 2-005d: Write: retry ... 3
tvp514x 2-005d: Write: retry ... 4
tvp514x 2-005d: Write: retry ... 5
tvp514x 2-005d: chip id mismatch msb:0x87 lsb:0x87
tvp514x 2-005d: Unable to detect decoder
tvp514x 2-005d: Write: retry ... 0
tvp514x 2-005d: Write: retry ... 1
tvp514x 2-005d: Write: retry ... 2
tvp514x 2-005d: Write: retry ... 3
tvp514x 2-005d: Write: retry ... 4
tvp514x 2-005d: Write: retry ... 5
tvp514x 2-005d: Write: retry ... 0
tvp514x 2-005d: Write: retry ... 1
tvp514x 2-005d: Write: retry ... 2
tvp514x 2-005d: Write: retry ... 3
tvp514x 2-005d: Write: retry ... 4
tvp514x 2-005d: Write: retry ... 5
tvp514x 2-005d: chip id mismatch msb:0x87 lsb:0x87
tvp514x 2-005d: Unable to detect decoder
tvp514x 2-005d: Write: retry ... 0
tvp514x 2-005d: Write: retry ... 1
tvp514x 2-005d: Write: retry ... 2
tvp514x 2-005d: Write: retry ... 3
tvp514x 2-005d: Write: retry ... 4
tvp514x 2-005d: Write: retry ... 5
tvp514x 2-005d: Write: retry ... 0
tvp514x 2-005d: Write: retry ... 1
tvp514x 2-005d: Write: retry ... 2
tvp514x 2-005d: Write: retry ... 3
tvp514x 2-005d: Write: retry ... 4
tvp514x 2-005d: Write: retry ... 5
tvp514x 2-005d: chip id mismatch msb:0x87 lsb:0x87
tvp514x 2-005d: Unable to detect decoder
tvp514x 2-005d: Write: retry ... 0
tvp514x 2-005d: Write: retry ... 1
tvp514x 2-005d: Write: retry ... 2
tvp514x 2-005d: Write: retry ... 3
tvp514x 2-005d: Write: retry ... 4
tvp514x 2-005d: Write: retry ... 5
tvp514x 2-005d: Write: retry ... 0
tvp514x 2-005d: Write: retry ... 1
tvp514x 2-005d: Write: retry ... 2
tvp514x 2-005d: Write: retry ... 3
tvp514x 2-005d: Write: retry ... 4
tvp514x 2-005d: Write: retry ... 5
tvp514x 2-005d: chip id mismatch msb:0x87 lsb:0x87
tvp514x 2-005d: Unable to detect decoder
Display already enabled
Buffer Size = 3686400
omap_vout: registered and initialized video device 0 [v4l2]
Buffer Size = 3686400
omap_vout: registered and initialized video device 1 [v4l2]
display->updated
twl4030_rtc twl4030_rtc: setting system clock to 2000-01-01 00:00:01 UTC (946684801)
UBIFS: recovery needed
UBIFS: recovery completed
UBIFS: mounted UBI device 0, volume 0, name "rootfs"
UBIFS: file system size: 103348224 bytes (100926 KiB, 98 MiB, 801 LEBs)
UBIFS: journal size: 9033728 bytes (8822 KiB, 8 MiB, 71 LEBs)
UBIFS: media format: 4 (latest is 4)
UBIFS: default compressor: LZO
UBIFS: reserved for root: 0 bytes (0 KiB)
VFS: Mounted root (ubifs filesystem).
Freeing init memory: 156K
INIT: version 2.86 booting
Starting udevuncorrectable error : <3>end_request: I/O error, dev mtdblock0, sector 0
Buffer I/O error on device mtdblock0, logical block 0
uncorrectable error : <3>uncorrectable error : <3>end_request: I/O error, dev mtdblock0,
sector 8
Buffer I/O error on device mtdblock0, logical block 1
end_request: I/O error, dev mtdblock0, sector 16
Buffer I/O error on device mtdblock0, logical block 2
uncorrectable error : <3>end_request: I/O error, dev mtdblock0, sector 0
Buffer I/O error on device mtdblock0, logical block 0
tar: removing leading '/' from member names
Remounting root file system...
root: mount: mounting rootfs on / failed: No such file or directory
Setting up IP spoofing protection: rp_filter.
Configuring network interfaces... udhcpc (v1.11.3) started
Sending discover...
udhcpc: sendto: Network is down
Sending discover...
udhcpc: sendto: Network is down
Sending discover...
udhcpc: sendto: Network is down
No lease, failing
done.
/sbin/ldconfig: /lib/libts-0.0.so.0 is not a symbolic link
Tue Jan 27 08:47:00 UTC 2009
INIT: Entering runlevel: 5
Starting syslogd/klogd: done
.-------.
| | .-.
| | |-----.-----.-----.| | .----..-----.-----.
| | | __ | ---'| '--.| .-'| | |
| | | | | |--- || --'| | | ' | | | |
'---'---'--'--'--. |-----''----''--' '-----'-'-'-'
-' |
'---'
The Angstrom Distribution DevKit8000 ttyS2
Angstrom 2008.1-test-20090127 DevKit8000 ttyS2
DevKit8000 login:
简单的分析下:
**********************************************************************************
Texas Instruments X-Loader 1.41
Starting OS Bootloader...
最先启动的是x-loader,它是一级引导程序,系统上电后由CPU引导内部ROM自动拷贝到内部RAM并执行。主
要作用为初始化CPU,拷贝u-boot到内存中,然后把控制权交给u-boot;
**********************************************************************************
U-Boot 1.3.3-svn350 (Nov 20 2009 - 16:21:59)
OMAP3530-GP rev 2, CPU-OPP2 L3-165MHz
OMAP3 DevKit8000 Board + LPDDR/NAND
DRAM: 128 MB
NAND: 128 MiB
*** Warning - bad CRC or NAND, using default environment
In: serial
Out: serial
Err: serial
Hit any key to stop autoboot: 0
NAND read: device 0 offset 0x280000, size 0x300000
Reading data from 0x57f800 -- 100% complete.
3145728 bytes read: OK
u-boot采用的是1.3.3。处理器是OMAP3530,DRAM是128M,NAND 是128M,从0x280000开始读取了3145728个
字节。
这里不妨进去看以下它的env,如下
OMAP3 DevKit8000 # printenv
bootargs=console=ttyS2,115200n8 ubi.mtd=4 root=ubi0:rootfs rootfstype=ubifs
video=omapfb:mode:4.3inch_LCD
bootcmd=nand read.i 80300000 280000 300000;bootm 80300000
bootdelay=3
baudrate=115200
ethaddr=aa:bb:cc:dd:ee:ff
ipaddr=192.192.192.200
serverip=192.192.192.90
gatewayip=192.192.192.101
netmask=255.255.255.0
bootfile="uImage"
stdin=serial
stdout=serial
stderr=serial
Environment size: 372/131068 bytes
OMAP3 DevKit8000 #
分析一下:
(1)bootargs 虚拟终端是ttyS2,115200,n,8。根文件系统采用的是UBI(Unstored Block Images),使
用的是MTD分区4.
(2)显示器用的是4.3英寸的。
(3)把从地址0x280000开始的0x300000个字节复制到DRAM的0x80300000,然后从0x80300000启动
后面的是从网络启动的,就不说了。
**********************************************************************************
## Booting kernel from Legacy Image at 80300000 ...
Image Name: Linux-2.6.28-rc9-omap1
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2164212 Bytes = 2.1 MB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK
说明内核名字、类型、从哪里启动、入口地址等。
***********************************************************************************
Starting kernel ...
Uncompressing
Linux........................................................................................
.................................................... done, booting the kernel.
Linux version 2.6.28-rc9-omap1 () (gcc version 4.2.1 (CodeSourcery Sourcery
G++ Lite 2007q3-51)) #1 Mon Dec 14 09:57:41 CST 2009
CPU: ARMv7 Processor [411fc083] revision 3 (ARMv7), cr=10c5387f
CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
Machine: OMAP3 Beagle Board
Memory policy: ECC disabled, Data cache writeback
OMAP3430 Unknown revision
开始启动内核。
先是解压缩内核。
然后从中我们可以看出gcc版本是4.2.1,用的是2007q3-51。
接着说明CPU的架构是ARMv7,接下来的不管了,但是“OMAP3 Beagle Board”这几个字可不能忽略,至少说
明我们利用Beagle Board的资源应该不会很困难。