mini2440 256M nand版本使用uboot

1.介绍

本文中用到的uboot并非自己移植,来自Tekkaman,博客地址http://blog.chinaunix.net/uid-20543672-id-94379.html,这个u-boot最初是从友善之臂论坛看到的,帖子地址http://www.arm9home.net/read.php?tid-3539.html

该U-boot的特性如下:

  1. 同时支持S3C2410和S3C2440 (2410没板测试)
  2. 支持串口 xmodem协议 (参考www.100ask.net)
  3. 支持网卡芯片 DM9000
  4. 支持不同NAND Flash的读写,并自动识别所使用的nand flash是512B/page还是2KB/page,实现在64MB\128MB\256MB\1GB NAND flash的启动。
  5. 支持IIC接口EEPROM的操作,并可保存ENV(参考hiboy的http://www.armchina.cn/article.asp?id=70
  6. 自动识别S3C2440的启动方式是Nor boot还是Nand boot,调用不同的自拷贝程序,实现不论是Nor boot还是Nand boot,都可以烧写同一个bin文件。(nor flash为SST39VF1601)
  7. 支持烧写yaffs/yaffs2文件系统映象.
  8. 添加支持读取SD卡中的FAT32文件系统,现在U-boot已经支持从U盘或SD卡上启动。
  9. 添加支持OpenOCD导入内存启动,其实就是在一切flash识别之前,检测自己是否在内存,如果已在内存就跳过自拷贝程序。
  10. 支持NEC 3.5寸LCD输出console信息和BMP图片、logo。(参考openmoko)
  11. 支持使用DNW工具,通过USB device口进行文件传输。(参考了 hugerat.cublog.cnApollo5520.cublog.cn 两个高手的移植)

2.获取移植好的源码

Tekkaman将u-boot for mini2440命名为了u-boot-2010.03-tekkaman,其github主页为https://github.com/tekkamanninja/u-boot-2010.03-tekkaman
我们可以采用以下两种方式获取到该源码;
1.执行git clone git://github.com/tekkamanninja/u-boot-2010.03-tekkaman.git
2.点击github主页的ZIP图标,将其源码打包为zip压缩包下载到本地。如下图所示
两种方式均可,根据个人情况选择,如果Linux下能联网的话,建议使用第一种方式。

3.编译u-boot.bin

作者在其http://blog.chinaunix.net/uid-20543672-id-94379.html中已经提供了编译好的u-boot.bin下载;不想自己编译的,可坐享其成。
    NOTE:下载后得到的文件名为100418215118.bz2,务必改名为u-boot.bin.tar.bz2之后,再进行解压,原因?了解下tar包和bz2压缩格式的关系吧。
下面介绍如何自己编译,来得到一个u-boot.bin。请确认交叉编译器arm-linux-gcc已经正确安装,本文编译u-boot使用的是开发板光盘提供的4.4.3版本。
$ git clone git://github.com/tekkamanninja/u-boot-2010.03-tekkaman.git
$ cd u-boot-2010.03-tekkaman
$ make ARCH=arm CROSS_COMPILE=arm-linux- mini2440_config
$ make ARCH=arm CROSS_COMPILE=arm-linux- all
注意,arm-linux-和mini2440_config以及arm-linux-和all之间各有一个空格。执行完这两条命令,当前目录下就会产生一个名为u-boot.bin个文件。这就是我们要烧写到开发板上的二进制文件了。如下图所示:
...

4.烧写到开发板

mini2440开发板默认已经带有supervivi,我们可以借助supervivi里的[a] Absolute User Application选项,通过DNW下载到NAND Flash中。

5.测试

烧写完成之后,开发板断电,切换到Nand启动,开发板上电,正常的话,开发板蜂鸣器会有大约1秒的声响,串口终端会有信息打印出来,如果此时无任何操作,uboot会根据事前做好的配置引导内核,启动开发板。
Tekkaman已经将uboot的默认启动方式改为了网络启动,因此此时是无法引导内核的。启动过程如下所示:
开发板此时会停留在Loading这里,每个一段时间打印一个T,每隔一段时间尝试连接一次服务器。经过30次尝试之后,会重启网络服务,再次尝试连接。如下图所示:
如果想进入U-boot的命令界面,怎麽办呢?系统上电,做完必要的初始化工作之后,会有1秒的时间给用户来选择是否进入U-boot的命令界面。如下图所示:
当U-boot执行这里的时候,按键盘的任意键,可使U-boot进入命令模式,而不会去引导内核。这个时间只有1秒,很短,因此如有必要,可在开发板刚上电的时候就开始按键。U-boot进入命令行之后如下所示:
输入help,可以查看U-boot支持的命令以及各自的作用,自测去吧。关于U-boot的使用方法,本文不过多涉及,请自己查阅资料。

6.设置Uboot,使Uboot能引导nand flash里的Kernel

在mini2440中,由于u-boot.bin文件大小已经大于了0x40000,所以作者修改了ENV的 OFFSET。现在的Nand分区是这样的:
uboot地址范围是0x0-0x60000,共384KB
uboot参数区地址范围是0x60000-0x80000,共128KB
kernel地址范围是0x80000-0x500000,共5MB
在include/configs/mini2440.h中有nand分区的定义:
而在Supervivi中bootloader是0x0-0x40000,params是0x40000-0x60000,kernel是0x60000-0x500000;
如果u-boot是用supervivi的k选项将linux kernel传到nand flash的。那么,Kernel的地址就会和u-boot中的params冲突,导致U-boot无法引导内核。
解决办法:
修改linux kernel中对Nand的分区定义,使其与u-boot保持一致。kernel的nand分区信息在arch/arm/mach-s3c2440/mach-mini2440.c中的名为friendly_arm_default_nand_part的结构体数组里。
如下图所示,为默认情况下,kernel中对Nand分区的定义:
根据U-boot的nand分区配置,我们需要将其修改为如下所示:
回到Kernel根目录,执行make zImage命令,会重新生成/arch/arm/boot/zImage。现在又有一个问题:uboot目前只能支持uImage启动,不支持zImage启动,因此我们需要使用mkimage工具把zImage转换为uImage;我们可以通过两种方式获取到mkimage工具:
  1. uboot源码根目录下的tools目录下
  2. 执行以下命令安装
# apt-get install uboot-mkimage
uImage是在zImage之前加上一个长度为0x40字节(64字节)的头部,来说明zImage这个映像文件的映象名、映像类型、加载地址、入口地址、生成时间、大小等信息。换句话说,如果直接从uImage的0x40位置开始执行,zImage和uImage没有任何区别。U-boot引导内核是通过bootm完成的,bootm加载uImage的时候,会先对uImage进行解压(去掉0x40字节的头部),解压地址为内核入口地址(由mkimage的-e选项指定)。当解压完成时的uImage跟原zImage是完全相同的。
转换zImage为uImage的命令如下所示:
mkimage -n "linux-2.6.32.2" -A arm -O Linux -T kernel -C none -a 0x30008000 -e 0x30008040 -d zImage uImage
执行mkimage --help可以查看mkimage的帮助信息;
其中,
-A用于指定平台架构,我们的是arm平台
-O用于指定操作系统,我们的是Linux操作系统
-T用于指定映像类型,映像是内核镜像,指定为Kernel
-C用于指定压缩类型,此处我们不压缩,设为none
-a用于指定夹在地址,0x30008000
-e用于指定入口地址,uImage去除0x40字节的头部信息之后,即为zImage,这便是kernel的入口地址,指定为0x30008040
-d用于指定data文件,从内容上看,zImage不含格式信息,就是一个普通的数据文件,因此此处指的就是zImage
uImage即为输出文件名。
接下来我们通过生成的uImage文件与zImage做一下对比:
$ file uImage zImage 
uImage: u-boot/PPCBoot image
zImage: data
备注:从格式上来看,uImage为u-boot启动映像文件;zImage为普通的数据文件;

$ ls -l uImage zImage
-rw-r--r-- 1 gyl gyl 2266644 2013-05-12 17:45 uImage
-rwxr-xr-x 1 gyl gyl 2266580 2013-05-12 17:45 zImage
备注:文件大小正好差64字节;
$ mkimage -l uImage
Image Name:   linux-2.6.32.2
Created:      Sun May 12 17:45:54 2013
Image Type:   ARM Linux Kernel Image (uncompressed)
Data Size:    2266580 Bytes = 2213.46 kB = 2.16 MB
Load Address: 0x30008000
Entry Point:  0x30008040
备注:查看uImage的头部信息;
u-boot能引导的内核已经制作好了,接下来我们测试一下能否正常工作;
首先,从nandflash重启开发板,进入u-boot命令界面,依次执行以下几条命令:
  • 执行usbslave 1 0x30008000  #通过usb线将uImage下载至内存0x30008000中(在主机上执行dnw...)
  • 执行nand erase 0x80000 0x500000  #擦除此区域,nand使用之前需要先擦除,以便接下来将linux kernel保存到这个地址处。
  • 执行nand write 0x30008000 0x80000 0x500000  #从内存的0x30008000地址处开始拷贝0x500000字节的内容到nandflash的0x80000地址处。
  • 修改u-boot引导参数
setenv bootcmd 'nand read 0x30008000 0x80000 0x500000;bootm 0x30008000'
setenv bootargs 'noinitrd root=/dev/mtdblock3 initrd=/linuxrc console=ttySAC0'
saveenv
  • 重启开发板
从nand启动u-boot然后引导内核启动,并且挂载根文件系统的全过程如下所示:
##########备注:u-boot启动开始#####################################
U-Boot 2010.03 ( 5月 11 2013 - 20:35:29)

modified by tekkamanninja (tekkamanninja@163.com)
Love Linux forever!!

I2C:   ready
DRAM:  64 MB
Flash:  2 MB
NAND:  256 MiB
Video: 240x320x16 20kHz 62Hz
In:    serial
Out:   serial
Err:   serial
USB slave is enable!
Net:   dm9000
U-Boot 2010.03 ( 5月 11 2013 - 20:35:29)
modified by tekkamanninja
(tekkamanninja@163.com)
Love Linux forever!!
Hit any key to stop autoboot:  0 
##########备注:u-boot启动完成#####################################

##########备注:开始引导kernel#####################################
NAND read: device 0 offset 0x80000, size 0x500000
5242880 bytes read: OK
## Booting kernel from Legacy Image at 30008000 ...
   Image Name:   linux-2.6.32.2
   Created:      2013-05-12   9:45:54 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2266580 Bytes =  2.2 MB
   Load Address: 30008000
   Entry Point:  30008040
   Verifying Checksum ... OK
   XIP Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux................................................................................................................................................... done, booting the kernel.
Linux version 2.6.32.2-FriendlyARM (gyl@gyl) (gcc version 4.4.3 (ctng-1.6.1) ) #2 Sun May 12 17:27:38 CST 2013
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177
CPU: VIVT data cache, VIVT instruction cache
Machine: FriendlyARM Mini2440 development board
Memory policy: ECC disabled, Data cache writeback
CPU S3C2440A (id 0x32440001)
S3C24XX Clocks, (c) 2004 Simtec Electronics
S3C244X: core 405.000 MHz, memory 101.250 MHz, peripheral 50.625 MHz
CLOCK: Slow mode (1.500 MHz), fast, MPLL on, UPLL on
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
Kernel command line: noinitrd root=/dev/mtdblock3 initrd=/linuxrc console=ttySAC0
PID hash table entries: 256 (order: -2, 1024 bytes)
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: 60084KB available (4176K code, 451K data, 156K init, 0K highmem)
SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Hierarchical RCU implementation.
NR_IRQS:85
irq: clearing pending status 02000000
irq: clearing subpending status 00000002
Console: colour dummy device 80x30
console [ttySAC0] enabled
Calibrating delay loop... 201.93 BogoMIPS (lpj=504832)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
S3C2440: Initialising architecture
S3C2440: IRQ Support
S3C24XX DMA Driver, (c) 2003-2004,2006 Simtec Electronics
DMA channel 0 at c4808000, irq 33
DMA channel 1 at c4808040, irq 34
DMA channel 2 at c4808080, irq 35
DMA channel 3 at c48080c0, irq 36
S3C244X: Clock Support, DVS off
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
s3c-i2c s3c2440-i2c: slave address 0x10
s3c-i2c s3c2440-i2c: bus frequency set to 98 KHz
s3c-i2c s3c2440-i2c: i2c-0: S3C I2C adapter
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
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
NetWinder Floating Point Emulator V0.97 (double precision)
yaffs May  5 2013 12:12:47 Installing. 
msgmni has been set to 117
alg: No test for stdrng (krng)
io scheduler noop registered (default)
Console: switching to colour frame buffer device 40x15
fb0: s3c2410fb frame buffer device
backlight       initialized
leds    initialized
buttons initialized
pwm     initialized
adc     initialized
s3c2440-uart.0: s3c2410_serial0 at MMIO 0x50000000 (irq = 70) is a S3C2440
s3c2440-uart.1: s3c2410_serial1 at MMIO 0x50004000 (irq = 73) is a S3C2440
s3c2440-uart.2: s3c2410_serial2 at MMIO 0x50008000 (irq = 76) is a S3C2440
loop: module loaded
S3C24XX NAND Driver, (c) 2004 Simtec Electronics
s3c24xx-nand s3c2440-nand: Tacls=3, 29ns Twrph0=7 69ns, Twrph1=3 29ns
s3c24xx-nand s3c2440-nand: NAND soft ECC
NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB 3,3V 8-bit)
Scanning device for bad blocks
Bad eraseblock 722 at 0x000005a40000
Bad eraseblock 1222 at 0x0000098c0000
Creating 5 MTD partitions on "NAND 256MiB 3,3V 8-bit":
0x000000000000-0x000000060000 : "uboot"
0x000000060000-0x000000080000 : "param"
0x000000080000-0x000000580000 : "Kernel"
0x000000580000-0x000040580000 : "root"
mtd: partition "root" extends beyond the end of device "NAND 256MiB 3,3V 8-bit" -- size truncated to 0xfa80000
0x000000000000-0x000040000000 : "nand"
mtd: partition "nand" extends beyond the end of device "NAND 256MiB 3,3V 8-bit" -- size truncated to 0x10000000
dm9000 Ethernet Driver, V1.31
eth0: dm9000e at c4814300,c4818304 IRQ 51 MAC: 08:90:90:90:90:90 (chip)
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
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: New USB device found, idVendor=1d6b, idProduct=0001
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: S3C24XX OHCI
usb usb1: Manufacturer: Linux 2.6.32.2-FriendlyARM ohci_hcd
usb usb1: SerialNumber: s3c24xx
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver ums-alauda
usbcore: registered new interface driver ums-cypress
usbcore: registered new interface driver ums-datafab
usbcore: registered new interface driver ums-freecom
usbcore: registered new interface driver ums-isd200
usbcore: registered new interface driver ums-jumpshot
usbcore: registered new interface driver ums-karma
usbcore: registered new interface driver ums-onetouch
usbcore: registered new interface driver ums-sddr09
usbcore: registered new interface driver ums-sddr55
usbcore: registered new interface driver ums-usbat
usbcore: registered new interface driver usbserial
USB Serial support registered for generic
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial Driver core
USB Serial support registered for aircable
usbcore: registered new interface driver aircable
USB Serial support registered for ark3116
usbcore: registered new interface driver ark3116
USB Serial support registered for Belkin / Peracom / GoHubs USB Serial Adapter
usbcore: registered new interface driver belkin
belkin_sa: v1.2:USB Belkin Serial converter driver
USB Serial support registered for ch341-uart
usbcore: registered new interface driver ch341
USB Serial support registered for cp210x
usbcore: registered new interface driver cp210x
cp210x: v0.09:Silicon Labs CP210x RS232 serial adaptor driver
USB Serial support registered for Reiner SCT Cyberjack USB card reader
usbcore: registered new interface driver cyberjack
cyberjack: v1.01 Matthias Bruestle
cyberjack: REINER SCT cyberJack pinpad/e-com USB Chipcard Reader Driver
USB Serial support registered for DeLorme Earthmate USB
USB Serial support registered for HID->COM RS232 Adapter
USB Serial support registered for Nokia CA-42 V2 Adapter
usbcore: registered new interface driver cypress
cypress_m8: v1.09:Cypress USB to Serial Driver
USB Serial support registered for Digi 2 port USB adapter
USB Serial support registered for Digi 4 port USB adapter
usbcore: registered new interface driver digi_acceleport
digi_acceleport: v1.80.1.2:Digi AccelePort USB-2/USB-4 Serial Converter driver
USB Serial support registered for Edgeport 2 port adapter
USB Serial support registered for Edgeport 4 port adapter
USB Serial support registered for Edgeport 8 port adapter
USB Serial support registered for EPiC device
usbcore: registered new interface driver io_edgeport
io_edgeport: v2.7:Edgeport USB Serial Driver
USB Serial support registered for Edgeport TI 1 port adapter
USB Serial support registered for Edgeport TI 2 port adapter
usbcore: registered new interface driver io_ti
io_ti: v0.7mode043006:Edgeport USB Serial Driver
USB Serial support registered for empeg
usbcore: registered new interface driver empeg
empeg: v1.2:USB Empeg Mark I/II Driver
USB Serial support registered for FTDI USB Serial Device
usbcore: registered new interface driver ftdi_sio
ftdi_sio: v1.5.0:USB FTDI Serial Converters Driver
USB Serial support registered for funsoft
usbcore: registered new interface driver funsoft
USB Serial support registered for Garmin GPS usb/tty
usbcore: registered new interface driver garmin_gps
garmin_gps: v0.33:garmin gps driver
USB Serial support registered for hp4X
usbcore: registered new interface driver hp4X
hp4x: v1.00:HP4x (48/49) Generic Serial driver
USB Serial support registered for PocketPC PDA
usbcore: registered new interface driver ipaq
ipaq: v0.5:USB PocketPC PDA driver
USB Serial support registered for IPWireless converter
usbcore: registered new interface driver ipwtty
ipw: v0.3:IPWireless tty driver
USB Serial support registered for IR Dongle
usbcore: registered new interface driver ir-usb
ir_usb: v0.4:USB IR Dongle driver
USB Serial support registered for iuu_phoenix
usbcore: registered new interface driver iuu_phoenix
iuu_phoenix: v0.11:Infinity USB Unlimited Phoenix driver
USB Serial support registered for Keyspan - (without firmware)
usb 1-1: new low speed USB device using s3c2410-ohci and address 2
USB Serial support registered for Keyspan 1 port adapter
USB Serial support registered for Keyspan 2 port adapter
USB Serial support registered for Keyspan 4 port adapter
usbcore: registered new interface driver keyspan
keyspan: v1.1.5:Keyspan USB to Serial Converter Driver
USB Serial support registered for Keyspan PDA
USB Serial support registered for Keyspan PDA - (prerenumeration)
USB Serial support registered for Xircom / Entregra PGS - (prerenumeration)
usbcore: registered new interface driver keyspan_pda
keyspan_pda: v1.1:USB Keyspan PDA Converter driver
USB Serial support registered for KL5KUSB105D / PalmConnect
usbcore: registered new interface driver kl5kusb105d
kl5kusb105: v0.3a:KLSI KL5KUSB105 chipset USB->Serial Converter driver
USB Serial support registered for KOBIL USB smart card terminal
usbcore: registered new interface driver kobil
kobil_sct: 21/05/2004:KOBIL USB Smart Card Terminal Driver (experimental)
USB Serial support registered for MCT U232
usbcore: registered new interface driver mct_u232
mct_u232: z2.1:Magic Control Technology USB-RS232 converter driver
USB Serial support registered for Moschip 2 port adapter
mos7720: 1.0.0.4F:Moschip USB Serial Driver
usbcore: registered new interface driver moschip7720
USB Serial support registered for Moschip 7840/7820 USB Serial Driver
mos7840: 1.3.2:Moschip 7840/7820 USB Serial Driver
usbcore: registered new interface driver mos7840
USB Serial support registered for moto-modem
usbcore: registered new interface driver moto-modem
USB Serial support registered for navman
usbcore: registered new interface driver navman
USB Serial support registered for ZyXEL - omni.net lcd plus usb
usbcore: registered new interface driver omninet
omninet: v1.1:USB ZyXEL omni.net LCD PLUS Driver
USB Serial support registered for opticon
usbcore: registered new interface driver opticon
USB Serial support registered for GSM modem (1-port)
usbcore: registered new interface driver option
option: v0.7.2:USB Driver for GSM modems
USB Serial support registered for oti6858
usb 1-1: New USB device found, idVendor=1bcf, idProduct=0002
usb 1-1: New USB device strings: Mfr=0, Product=2, SerialNumber=0
usb 1-1: Product: USB Optical Wheel Mouse
usb 1-1: configuration #1 chosen from 1 choice
usbcore: registered new interface driver oti6858
USB Serial support registered for pl2303
usbcore: registered new interface driver pl2303
pl2303: Prolific PL2303 USB to serial adaptor driver
USB Serial support registered for Qualcomm USB modem
usbcore: registered new interface driver qcserial
safe_serial: v0.0b:USB Safe Encapsulated Serial
USB Serial support registered for safe_serial
usbcore: registered new interface driver safe_serial
USB Serial support registered for siemens_mpi
usbcore: registered new interface driver siemens_mpi
Driver for Siemens USB/MPI adapter
Version 0.1 09/26/2005 Thomas Hergenhahn@web.de http://libnodave.sf.net
USB Serial support registered for Sierra USB modem
usbcore: registered new interface driver sierra
sierra: v.1.3.8:USB Driver for Sierra Wireless USB modems
USB Serial support registered for SPCP8x5
usbcore: registered new interface driver spcp8x5
spcp8x5: v0.04:SPCP8x5 USB to serial adaptor driver
USB Serial support registered for symbol
usbcore: registered new interface driver symbol
USB Serial support registered for TI USB 3410 1 port adapter
USB Serial support registered for TI USB 5052 2 port adapter
usbcore: registered new interface driver ti_usb_3410_5052
ti_usb_3410_5052: v0.9:TI USB 3410/5052 Serial Driver
USB Serial support registered for Handspring Visor / Palm OS
USB Serial support registered for Sony Clie 3.5
USB Serial support registered for Sony Clie 5.0
usbcore: registered new interface driver visor
visor: USB HandSpring Visor / Palm OS driver
USB Serial support registered for Connect Tech - WhiteHEAT - (prerenumeration)
USB Serial support registered for Connect Tech - WhiteHEAT
usbcore: registered new interface driver whiteheat
whiteheat: v2.0:USB ConnectTech WhiteHEAT driver
mice: PS/2 mouse device common for all mice
s3c2410 TouchScreen successfully loaded
input: s3c2410 TouchScreen as /devices/virtual/input/input0
S3C24XX RTC, (c) 2004,2006 Simtec Electronics
s3c2410-rtc s3c2410-rtc: rtc disabled, re-enabling
s3c2410-rtc s3c2410-rtc: rtc core: registered s3c as rtc0
i2c /dev entries driver
Linux video capture interface: v2.00
gspca: main v2.7.0 registered
usbcore: registered new interface driver conex
conex: registered
usbcore: registered new interface driver etoms
etoms: registered
usbcore: registered new interface driver finepix
finepix: registered
usbcore: registered new interface driver jeilinj
jeilinj: registered
usbcore: registered new interface driver mars
mars: registered
usbcore: registered new interface driver mr97310a
mr97310a: registered
usbcore: registered new interface driver ov519
ov519: registered
usbcore: registered new interface driver ov534
ov534: registered
usbcore: registered new interface driver pac207
pac207: registered
usbcore: registered new interface driver pac7311
pac7311: registered
usbcore: registered new interface driver sn9c20x
sn9c20x: registered
usbcore: registered new interface driver sonixb
sonixb: registered
usbcore: registered new interface driver sonixj
sonixj: registered
usbcore: registered new interface driver spca500
spca500: registered
usbcore: registered new interface driver spca501
spca501: registered
usbcore: registered new interface driver spca505
spca505: registered
usbcore: registered new interface driver spca506
spca506: registered
usbcore: registered new interface driver spca508
spca508: registered
usbcore: registered new interface driver spca561
spca561: registered
usbcore: registered new interface driver sq905
sq905: registered
usbcore: registered new interface driver sq905c
sq905c: registered
usbcore: registered new interface driver sunplus
sunplus: registered
usbcore: registered new interface driver stk014
stk014: registered
usbcore: registered new interface driver t613
t613: registered
usbcore: registered new interface driver tv8532
tv8532: registered
usbcore: registered new interface driver vc032x
vc032x: registered
usbcore: registered new interface driver zc3xx
zc3xx: registered
usbcore: registered new interface driver ALi m5602
ALi m5602: registered
usbcore: registered new interface driver STV06xx
STV06xx: registered
gspca_gl860: driver startup - version 0.9d10
usbcore: registered new interface driver gspca_gl860
gspca_gl860: driver registered
usbcore: registered new interface driver uvcvideo
USB Video Class driver (v0.1.0)
initializing s3c2440 camera interface......
s3c2440 camif init done
Loading OV9650 driver.........
SCCB address 0x60, manufacture ID 0xFFFF, expect 0x7FA2
SCCB address 0x60, manufacture ID 0xFFFF, expect 0x7FA2
No OV9650 found!!!
S3C2410 Watchdog Timer, (c) 2004 Simtec Electronics
s3c2410-wdt s3c2410-wdt: watchdog inactive, reset disabled, irq enabled
s3c-sdi s3c2440-sdi: powered down.
s3c-sdi s3c2440-sdi: mmc0 - using pio, sw SDIO IRQ
input: USB Optical Wheel Mouse as /devices/platform/s3c2410-ohci/usb1/1-1/1-1:1.0/input/input1
generic-usb 0003:1BCF:0002.0001: input: USB HID v1.11 Mouse [USB Optical Wheel Mouse] on usb-s3c24xx-1/input0
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver
Advanced Linux Sound Architecture Driver Version 1.0.21.
No device for DAI UDA134X
No device for DAI s3c24xx-i2s
S3C24XX_UDA134X SoC Audio driver
UDA134X SoC Audio Codec
asoc: UDA134X <-> s3c24xx-i2s mapping ok
ALSA device list:
  #0: S3C24XX_UDA134X (UDA134X)
TCP cubic registered
NET: Registered protocol family 17
s3c2410-rtc s3c2410-rtc: setting system clock to 2006-11-26 22:36:47 UTC (1164580607)
##########备注:内核启动完成#####################################

##########备注:开始挂载根文件系统#####################################
yaffs: dev is 32505859 name is "mtdblock3"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.3, "mtdblock3"
yaffs: auto selecting yaffs2
yaffs_read_super: isCheckpointed 0
VFS: Mounted root (yaffs filesystem) on device 31:3.
##########备注:挂载根文件系统完成#####################################

##########备注:执行一些脚本,启动一些服务之类的#####################################
Freeing init memory: 156K
[26/Nov/2006:14:36:55 +0000] boa: server version Boa/0.94.13
[26/Nov/2006:14:36:55 +0000] boa: server built Jul 26 2010 at 15:58:29.
[26/Nov/2006:14:36:55 +0000] boa: starting server pid=685, port 80

Try to bring eth0 interface up......eth0: link down
Done

Please press Enter to activate this console. 
[root@FriendlyARM /]# ls
bin         home        lost+found  proc        sys         var
dev         lib         mnt         root        tmp         www
etc         linuxrc     opt         sbin        usr
[root@FriendlyARM /]#
7.参考资料
 




原文地址:https://www.cnblogs.com/gylei/p/3074673.html