- 论坛徽章:
- 0
|
Normal
0
7.8 磅
0
2
false
false
false
MicrosoftInternetExplorer4
st1\:*{behavior:url(#ieooui) }
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";
mso-ansi-language:#0400;
mso-fareast-language:#0400;
mso-bidi-language:#0400;}
U-boot分区及内核更新的实现
一 问题提出
1)
在没有网络的环境下可以使用U盘等存储介质来更新内核
2)
可以通过网络远程更新内核
3)
支持U-Boot对nor falsh ,nand flash的分区
4) U-Boot下对JFFS2文件系统的支持。
二 问题解决
通过实现U-boot使用JFFS2文件系统加载内核的方法解决上述内核更新及分区问题
三 问题实现(u-boot-2009.01)
添加对JFFS2文件系统支持的宏定义
./include/configs/ads5121.h
#define CONFIG_CMD_JFFS2
#define CONFIG_JFFS2_CMDLINE
#define CONFIG_JFFS2_NAND
//定义默认的分区信息(最好和内核定义的MTD分区信息一致)
#define MTDIDS_DEFAULT
"nor0=ads5121-flash,nand0=ads5121-nand"
#define MTDPARTS_DEFAULT
"mtdparts=ads5121-flash:256k(protected)," \
"59904k(filesystem),"
\
"4m(kernel)," \
"256k(device-tree)," \
"1m(u-boot);" \
"ads5121-nand:128m(jffs2)," \
"-(data)"
四 U-Boot分区及更新操作步骤
CPU:
MPC5121e rev. 2.0, Core e300c4
at 400 MHz, CSB at 200 MHz
Board: ADS5121 rev. 0x0400 (CPLD rev. 0x06)
I2C: ready
DRAM:
512 MB
FLASH: 64 MB
NAND:
1024 MiB
PCI:
Bus Dev VenId DevId Class Int
Net:
FEC ETHERNET
IDE:
Bus 0: not available
Type "run flash_nfs" to mount
root filesystem over NFS
Hit any key to stop autoboot: 0
1 分区操作
1)手动设置分区信息
setenv mtdids nand0=ads5121-nand
setenv mtdparts mtdparts=ads5121-nand:128m(jffs2 filesystem),4m(kernel),1m(device tree),-(data)
=> mtdparts
no such device nor0
device nand0 , # parts
= 4
#:
name size offset mask_flags
0:
jffs2 filesystem 0x08000000 0x00000000 0
1:
kernel 0x00400000 0x08000000 0
2:
device tree 0x00100000 0x08400000 0
3:
data 0x17b00000 0x08500000 0
active partition: nand0,0 - (jffs2
filesystem) 0x08000000 @ 0x00000000
defaults:
mtdids
: nor0=ads5121-flash,nand0=ads5121-nand
mtdparts:
mtdparts=ads5121-flash:256k(protected),59904k(filesystem),4m(kernel),256k(device-tree),1m(u-boot);ads5121-nand:128m(jffs2),-(data)
2)设置默认的分区信息
=> mtdparts default
=> mtdparts
device nor0 , # parts
= 5
#:
name size offset mask_flags
0:
protected 0x00040000 0x00000000 0
1:
filesystem 0x03a80000 0x00040000 0
2:
kernel 0x00400000 0x03ac0000 0
3:
device-tree 0x00040000 0x03ec0000 0
4:
u-boot 0x00100000 0x03f00000 0
device nand0 , # parts
= 2
#:
name size offset mask_flags
0:
jffs2 0x08000000 0x00000000 0
1: data 0x18000000 0x08000000 0
active partition: nor0,0 - (protected)
0x00040000 @ 0x00000000
defaults:
mtdids
: nor0=ads5121-flash,nand0=ads5121-nand
mtdparts:
mtdparts=ads5121-flash:256k(protected),59904k(filesystem),4m(kernel),256k(device-tree),1m(u-boot);ads5121-nand:128m(jffs2),-(data)
=>
3)删除分区:
=> mtd del nand0,1
=> mtdparts
device nor0 , # parts
= 5
#:
name size offset mask_flags
0:
protected 0x00040000 0x00000000 0
1:
filesystem 0x03a80000 0x00040000 0
2:
kernel 0x00400000 0x03ac0000 0
3:
device-tree 0x00040000 0x03ec0000 0
4:
u-boot 0x00100000 0x03f00000 0
device nand0 , # parts
= 1
#:
name size offset mask_flags
0: jffs2 0x08000000 0x00000000 0
active partition: nor0,0 - (protected)
0x00040000 @ 0x00000000
defaults:
mtdids
: nor0=ads5121-flash,nand0=ads5121-nand
mtdparts: mtdparts=ads5121-flash:256k(protected),59904k(filesystem),4m(kernel),256k(device-tree),1m(u-boot);ads5121-nand:128m(jffs2),-(data)
=>
4)添加一个分区
=> mtdparts add nand0
0x18000000@0x08000000 data
=> mtdparts
device nor0 , # parts
= 5
#:
name size offset mask_flags
0:
protected 0x00040000 0x00000000 0
1:
filesystem 0x03a80000 0x00040000 0
2:
kernel 0x00400000 0x03ac0000 0
3:
device-tree 0x00040000 0x03ec0000 0
4:
u-boot 0x00100000 0x03f00000 0
device nand0 , # parts
= 2
#:
name size offset mask_flags
0: jffs2 0x08000000 0x00000000 0
1: data 0x18000000 0x08000000 0
active partition: nor0,0 - (protected)
0x00040000 @ 0x00000000
defaults:
mtdids
: nor0=ads5121-flash,nand0=ads5121-nand
mtdparts:
mtdparts=ads5121-flash:256k(protected),59904k(filesystem),4m(kernel),256k(device-tree),1m(u-boot);ads5121-nand:128m(jffs2),-(data)
=>
5)修改当前活动分区(如果要操作某个分区,就需要将其修改为当前的活动分区)
=> chpart nand0,0
partition changed to nand0,0
=> mtdparts
device nor0 , # parts
= 5
#:
name size offset mask_flags
0:
protected 0x00040000 0x00000000 0
1:
filesystem 0x03a80000 0x00040000 0
2:
kernel 0x00400000 0x03ac0000 0
3:
device-tree 0x00040000 0x03ec0000 0
4:
u-boot 0x00100000 0x03f00000 0
device nand0 , # parts
= 2
#:
name size offset mask_flags
0:
jffs2 0x08000000 0x00000000 0
1:
data 0x18000000 0x08000000 0
active
partition: nand0,0 - (jffs2) 0x08000000 @ 0x00000000
defaults:
mtdids
: nor0=ads5121-flash,nand0=ads5121-nand
mtdparts:
mtdparts=ads5121-flash:256k(protected),59904k(filesystem),4m(kernel),256k(device-tree),1m(u-boot);ads5121-nand:128m(jffs2),-(data)
=>
2 更新内核
1)下载新内核到根文件系统
Linux内核将NAND Flash设置了2个分区作为MTD设备:
[root@root /]# cat /proc/mtd
dev:
size erasesize name
mtd0: 08000000 00020000 "nand0,128M"
mtd1: 38000000 00020000 "nand0,896M"
分区0:128M,分区1:896M, 分区0是用作存放jffs2等文件系统,分区1作为其他存储用途。我们可以通过网络或者U盘等方法将需要更新的内核下载到linux的根文件系统中:
[root@root /]# ll
drwxr-xr-x 2 root root 0 Oct 23 09:14 Settings
drwxr-xr-x 2 root root 0 Nov 25 08:56 bin
drwxr-xr-x 2 root root 0 Oct 23 08:07 boot
drwxr-xr-x 9 root root
12720 Nov 26 13:41 dev
drwxr-xr-x 8 root root 0 Nov 26 13:38 etc
drwxr-xr-x 4 root root 0 Oct 26 10:03 home
drwxr-xr-x 4 root root 0 Oct 23 08:07 lib
lrwxrwxrwx 1 root root 11 Nov 25 08:56 linuxrc -> bin/busybox
drwxr-xr-x 7 root root 0 Oct 23 08:07 mnt
drwxr-xr-x 3 root root 0 Oct 23 08:07 opt
dr-xr-xr-x 37 root root 0 Jan 1 1970
proc
drwxr-xr-x 2 root root 0 Oct 23 08:07 root
drwxr-xr-x 2 root root 0 Nov 25 08:56 sbin
drwxr-xr-x 11 root root 0 Jan 1 1970
sys
drwxr-xr-x 2 root root 4096 Jan 1 1970
tmp
-rwxrwxrwx 1 root root
1702205 Nov 17 02:43 uImage_ori
-rwxr-xr-x 1 root root
1644439 Nov 26 13:41 uImage_update
drwxr-xr-x 11 root root 0 Nov 13 06:23 usr
drwxr-xr-x 11 root root 220 Oct 23 08:07 var
[root@root /]#
例如我们要更新才新内核文件为:uImage_update
2)设置激活分区
进入到U-Boot:
U-Boot 2009.03 (11月 25 2009 - 21:22:45) MPC512X
CPU:
MPC5121e rev. 2.0, Core e300c4
at 400 MHz, CSB at 200 MHz
Board: ADS5121 rev. 0x0400 (CPLD rev. 0x06)
I2C: ready
DRAM:
512 MB
FLASH: 64 MB
NAND:
1024 MiB
PCI:
Bus Dev VenId DevId Class Int
Net:
FEC ETHERNET
IDE:
Bus 0: not available
Type "run flash_nfs" to mount
root filesystem over NFS
Hit any key to stop autoboot: 0
=> mtdparts default
=> mtdparts
device nor0 , # parts
= 5
#:
name size offset mask_flags
0:
protected 0x00040000 0x00000000 0
1:
filesystem 0x03a80000 0x00040000 0
2:
kernel 0x00400000 0x03ac0000 0
3:
device-tree 0x00040000 0x03ec0000 0
4:
u-boot 0x00100000 0x03f00000 0
(注意我们的NAND
Flash分区和内核的MTD分区是保持一致的。)
device
nand0 , # parts = 2
#: name size offset mask_flags
0: jffs2 0x08000000 0x00000000 0
1: data 0x18000000 0x08000000 0
active partition: nor0,0 - (protected)
0x00040000 @ 0x00000000
defaults:
mtdids
: nor0=ads5121-flash,nand0=ads5121-nand
mtdparts:
mtdparts=ads5121-flash:256k(protected),59904k(filesystem),4m(kernel),256k(device-tree),1m(u-boot);ads5121-nand:128m(jffs2),-(data)
=> ls
Scanning JFFS2 FS: done.
修改当前的活动分区,因为我们要操作的是nand0 的第一个分区(存放有根文件系统同时包含有我们需要更新的内核uImage_update。
=> chpart nand0,0
partition changed to nand0,0
=> mtdparts
device nor0 , # parts
= 5
#:
name size offset mask_flags
0:
protected 0x00040000 0x00000000 0
1:
filesystem 0x03a80000 0x00040000 0
2:
kernel 0x00400000 0x03ac0000 0
3:
device-tree 0x00040000 0x03ec0000 0
4:
u-boot 0x00100000 0x03f00000 0
device nand0 , # parts
= 2
#:
name size offset mask_flags
0:
jffs2 0x08000000 0x00000000 0
1:
data 0x18000000 0x08000000 0
active
partition: nand0,0 - (jffs2) 0x08000000 @ 0x00000000
defaults:
mtdids
: nor0=ads5121-flash,nand0=ads5121-nand
mtdparts:
mtdparts=ads5121-flash:256k(protected),59904k(filesystem),4m(kernel),256k(device-tree),1m(u-boot);ads5121-nand:128m(jffs2),-(data)
=>
3)下载更新内核
查看NAND Flash第一分区上存放的JFFS2文件系统内容:
=> ls
Scanning JFFS2 FS:
.......................... done.
drwxr-xr-x 0 Fri Oct 23 09:14:40 2009 Settings
drwxr-xr-x 0 Fri Oct 23 08:07:46 2009 bin
drwxr-xr-x 0 Fri Oct 23 08:07:50 2009 boot
drwxr-xr-x 0 Fri Oct 23 08:08:34 2009 dev
drwxr-xr-x 0 Mon Oct 26 10:12:52 2009 etc
drwxr-xr-x 0 Mon Oct 26 09:09:47 2009 home
drwxr-xr-x 0 Fri Oct 23 08:07:49 2009 lib
lrwxrwxrwx 11 Wed Nov 25 08:56:18 2009 linuxrc
-> bin/busybox
drwxr-xr-x 0 Fri Oct 23 08:07:50 2009 mnt
drwxr-xr-x 0 Fri Oct 23 08:07:46 2009 opt
drwxr-xr-x 0 Fri Oct 23 08:07:46 2009 proc
drwxr-xr-x 0 Fri Oct 23 08:07:50 2009 root
drwxr-xr-x 0 Fri Oct 23 08:07:50 2009 sbin
drwxr-xr-x 0 Fri Oct 23 08:07:50 2009 sys
drwxr-xr-x 0 Mon Oct 26 10:17:02 2009 tmp
-rwxrwxrwx
1702205 Tue Nov 17 02:43:01 2009 uImage_ori
drwxr-xr-x 0 Fri Oct 23 08:07:49 2009 usr
drwxr-xr-x 0 Fri Oct 23 08:07:50 2009 var
-rwxr-xr-x
1644439 Thu Nov 26 13:41:38 2009 uimage
-rwxr-xr-x
1644439 Thu Nov 26 13:41:38 2009 uImage
-rwxr-xr-x
1644439 Thu Nov 26 13:41:38 2009 uImage_update
=>
=> fsload
0x400000 uImage_update
### JFFS2 loading 'uImage_update' to 0x400000
### JFFS2 load complete: 1644439 bytes
loaded to 0x400000
4)烧写新内核到nor flash
查看nor flash分区:
device nor0 , # parts
= 5
#:
name size offset mask_flags
0:
protected 0x00040000 0x00000000 0
1:
filesystem 0x03a80000 0x00040000 0
2: kernel 0x00400000 0x03ac0000 0
3:
device-tree 0x00040000 0x03ec0000 0
4:
u-boot 0x00100000 0x03f00000 0
我们将分区2作为存放内核,可以算出物理基址为:ffac0000
=> erase ffac0000 ffcfffff
......... done
Erased 9 sectors
=> cp.b 0x400000 0xffac0000 0x200000
Copy to Flash... done
5)从内存中启动新下载的内核
=> bootm 0x400000 - 0xffec0000
## Booting
kernel from Legacy Image at 00400000 ...
Image Name: Linux-2.6.24.6
Created: 2009-11-26 5:36:51 UTC
Image Type: PowerPC Linux Kernel
Image (gzip compressed)
Data Size: 1644375 Bytes = 1.6 MB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
## Flattened Device Tree blob at ffec0000
Booting using the fdt blob at 0xffec0000
Uncompressing Kernel Image ... OK
Loading Device Tree to 007fb000, end 007ffa2f ... OK
[
0.000000] Using MPC5121 ADS machine description
[
0.000000] Linux version 2.6.24.6
(root@localhost.localdomain) (gcc version 4.1.2) #12 PREEMPT Thu Nov 26
00:36:46 EST 2009
[
0.000000] MPC5121 ADS board from Freescale Semiconductor
[
0.000000] preallocate_diu_videomemory: diu_size=5242880
[
0.000000] preallocate_diu_videomemory: diu_mem=c0a00000
[
0.000000] Found MPC512x PCI host bridge at 0x0000000080008500. Firmware
bus number: 0->0
[
0.000000] Zone PFN ranges:
[
0.000000] DMA 0 -> 131072
[
0.000000] Normal 131072 -> 131072
[
0.000000] Movable zone start PFN for each node
[
0.000000] early_node_map[1] active PFN ranges
[
0.000000] 0: 0 -> 131072
[
0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048
[
0.000000] Kernel command line: root=/dev/mtdblock0 rw rootfstype=jffs2
console=ttyPSC0,115200
[
0.000000] IPIC (128 IRQ sources) at fcff7c00
[
0.000000] PID hash table entries: 2048 (order: 11, 8192 bytes)
[ 1460.288919] clocksource: timebase
mult[5000002] shift[22] registered
[ 1460.289062] Console: colour dummy device
80x25
[ 1460.289166] console [ttyPSC0] enabled
[ 1460.397027] Dentry cache hash table
entries: 65536 (order: 6, 262144 bytes)
[ 1460.406733] Inode-cache hash table
entries: 32768 (order: 5, 131072 bytes)
[ 1460.465862] Memory: 508544k/524288k
available (3276k kernel code, 15536k reserved, 148k data, 369k bss, 184k init)
[ 1460.476258] SLUB: Genslabs=9,
HWalign=32, Order=0-1, MinObjects=4, CPUs=1, Nodes=1
[ 1460.563885] Mount-cache hash table
entries: 512
[ 1460.570856] net_namespace: 64 bytes
[ 1460.576217] NET: Registered protocol
family 16
[ 1460.593330] Reserved irq 66(0x42) for
MBX
[ 1460.599847] Could not initialize clk
spdif_txclk without a calc routine
[ 1460.606549] Could not initialize clk
spdif_rxclk without a calc routine
[ 1460.613459] mapped ioctl to e1002000 and
gpioctl to e1004100
[ 1460.619119] PCI: Probing PCI hardware
[ 1460.631440] SCSI subsystem initialized
[ 1460.636450] usbcore: registered new
interface driver usbfs
[ 1460.642439] usbcore: registered new
interface driver hub
[ 1460.648065] usbcore: registered new
device driver usb
[ 1460.668033] NET: Registered protocol
family 2
[ 1460.672333] Time: timebase clocksource
has been installed.
[ 1460.716619] IP route cache hash table
entries: 16384 (order: 4, 65536 bytes)
[ 1460.725179] TCP established hash table
entries: 65536 (order: 7, 524288 bytes)
[ 1460.736154] TCP bind hash table entries:
65536 (order: 6, 262144 bytes)
[ 1460.744924] TCP: Hash tables configured
(established 65536 bind 65536)
[ 1460.751398] TCP reno registered
[ 1460.766726] JFFS2 version 2.2. (NAND) ?
2001-2006 Red Hat, Inc.
[ 1460.773027] io scheduler noop registered
[ 1460.776906] io scheduler anticipatory
registered (default)
[ 1460.782367] io scheduler deadline
registered
[ 1460.786671] io scheduler cfq registered
[ 1460.833534] Console: switching to colour
frame buffer device 128x48
[ 1460.875966] fb0: Panel0 fb device
registered successfully.
[ 1460.881944] fb1: Panel1 AOI0 fb device
registered successfully.
[ 1460.888286] fb2: Panel1 AOI1 fb device
registered successfully.
[ 1460.894657] fb3: Panel2 AOI0 fb device
registered successfully.
[ 1460.901024] fb4: Panel2 AOI1 fb device
registered successfully.
[ 1460.907066] FSL_DIU_FB: registed FB
device driver!
[ 1461.157873] Serial: MPC52xx PSC UART
driver
[ 1461.162508] 80011300.serial: ttyPSC0 at
MMIO 0x80011300 (irq = 40) is a MPC52xx PSC
[ 1461.171261] 80011400.serial: ttyPSC1 at
MMIO 0x80011400 (irq = 40) is a MPC52xx PSC
[ 1461.180919] RAMDISK driver initialized:
4 RAM disks of 16384K size 1024 blocksize
[ 1461.189583] fsl-mscan initializing
[ 1461.194575] fsl-mscan fsl-mscan.0: probe
port 0xE1062300 done, clk rate:100000000
[ 1461.203712] fsl-mscan fsl-mscan.1: probe
port 0xE1064380 done, clk rate:100000000
[ 1461.213190] eth0: fs_enet:
00:ec:00:12:00:01
[ 1461.218480] FEC MII Bus: probed
[ 1461.221656] Uniform Multi-Platform E-IDE
driver Revision: 7.00alpha2
[ 1461.227990] ide: Assuming 33MHz system
bus speed for PIO modes; override with idebus=xx
[ 1461.237336] Driver 'sd' needs updating -
please use bus_type methods
[ 1461.244449] MPC5121 MTD nand Driver 0.2
[ 1461.249116] NAND device: Manufacturer
ID: 0xad, Chip ID: 0xdc (Hynix NAND 512MiB 3,3V 8-bit)
[ 1461.257574] 2 NAND chips detected
[ 1461.263636] mpc5121r2nfc 40000000.nfc:
Using OF partition info
[ 1461.269627] Creating 2 MTD partitions on
"NAND":
[ 1461.274209] 0x00000000-0x08000000 :
"nand0,128M"
[ 1461.279780] 0x08000000-0x40000000 :
"nand0,896M"
[ 1461.287204] fsl-ehci fsl-ehci.0:
Freescale On-Chip EHCI Host Controller
[ 1461.294203] fsl-ehci fsl-ehci.0: new USB
bus registered, assigned bus number 1
[ 1461.324401] fsl-ehci fsl-ehci.0: irq 44,
io mem 0x80004000
[ 1461.340366] fsl-ehci fsl-ehci.0: USB 2.0
started, EHCI 1.00, driver 10 Dec 2004
[ 1461.349065] usb usb1: configuration #1
chosen from 1 choice
[ 1461.355003] hub 1-0:1.0: USB hub found
[ 1461.358793] hub 1-0:1.0: 1 port detected
[ 1461.465293] Initializing USB Mass
Storage driver...
[ 1461.704388] usb 1-1: new high speed USB
device using fsl-ehci and address 2
[ 1461.851809] usb 1-1: configuration #1
chosen from 1 choice
[ 1461.858825] scsi0 : SCSI emulation for
USB Mass Storage devices
[ 1461.865316] usbcore: registered new
interface driver usb-storage
[ 1461.871549] USB Mass Storage support
registered.
[ 1461.876659] mice: PS/2 mouse device
common for all mice
[ 1461.882754] mpc5121-rtc 80000a00.rtc: rtc core: registered
mpc5121-rtc as rtc0
[ 1461.890173] i2c /dev entries driver
[ 1461.900160] Freescale(R) MPC5121 DMA
Engine found, 64 channels
[ 1462.008639] fsldma: Self-test copy
successfully
[ 1462.013770] usbcore: registered new
interface driver usbhid
[ 1462.019330]
drivers/hid/usbhid/hid-core.c: v2.6:USB HID core driver
[ 1462.025844] TCP cubic registered
[ 1462.029247] NET: Registered protocol
family 1
[ 1462.033645] NET: Registered protocol
family 17
[ 1462.038040] can: controller area network
core (rev 20071116 abi 8)
[ 1462.044236] NET: Registered protocol
family 29
[ 1462.048897] can: raw protocol (rev
20071116)
[ 1462.053487] RPC: Registered udp transport
module.
[ 1462.058152] RPC: Registered tcp
transport module.
[ 1462.063233] mpc5121-rtc 80000a00.rtc: setting system clock to
2009-11-26 14:09:26 UTC (1259244566)
[ 1462.073040] JFFS2 doesn't use OOB.
[ 1472.697943] VFS: Mounted root (jffs2
filesystem).
[ 1472.702763] Freeing unused kernel
memory: 184k init
Mounting /proc and /sys
Starting the hotplug events dispatcher
udevd
Synthesizing initial hotplug events
Setting the hostname to root
Mounting filesystems
cp: write error: No space left on device
cp: write error: No space left on device
cp: write error: No space left on device
cp: write error: No space left on device
cp: write error: No space left on device
cp: write error: No space left on device
cp: write error: No space left on device
Starting syslogd and klogd
Running sysctl
Setting up networking on loopback device:
Setting up networking on eth0:
Starting inetd:
[root@root /]#
[root@root /]# ls
Settings etc mnt sbin uImage_update
bin home opt sys usr
boot lib proc tmp var
dev linuxrc root uImage_ori
从内核的打印信息可以看出我们已经成功的更新了内核。
6)从nor flash中启动新烧写的内核
U-Boot 2009.03 (11月 25 2009 - 21:22:45) MPC512X
CPU:
MPC5121e rev. 2.0, Core e300c4
at 400 MHz, CSB at 200 MHz
Board: ADS5121 rev. 0x0400 (CPLD rev. 0x06)
I2C: ready
DRAM:
512 MB
FLASH: 64 MB
NAND:
1024 MiB
PCI:
Bus Dev VenId DevId Class Int
Net:
FEC ETHERNET
IDE:
Bus 0: not available
Type "run flash_nfs" to mount
root filesystem over NFS
Hit any key to stop autoboot: 0
## Booting
kernel from Legacy Image at ffac0000 ...
Image Name: Linux-2.6.24.6
Created: 2009-11-26 5:36:51 UTC
Image Type: PowerPC Linux Kernel
Image (gzip compressed)
Data Size: 1644375 Bytes = 1.6 MB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
## Flattened Device Tree blob at ffec0000
Booting using the fdt blob at 0xffec0000
Uncompressing Kernel Image ... OK
Loading Device Tree to 007fb000, end 007ffa2f ... OK
[
0.000000] Using MPC5121 ADS machine description
[
0.000000] Linux version 2.6.24.6
(root@localhost.localdomain) (gcc version 4.1.2) #12 PREEMPT Thu Nov 26
00:36:46 EST 2009
[
0.000000] MPC5121 ADS board from Freescale Semiconductor
[
0.000000] preallocate_diu_videomemory: diu_size=5242880
[
0.000000] preallocate_diu_videomemory: diu_mem=c0a00000
[
0.000000] Found MPC512x PCI host bridge at 0x0000000080008500. Firmware
bus number: 0->0
[
0.000000] Zone PFN ranges:
[
0.000000] DMA 0 -> 131072
[
0.000000] Normal 131072 -> 131072
[
0.000000] Movable zone start PFN for each node
[
0.000000] early_node_map[1] active PFN ranges
[
0.000000] 0: 0 -> 131072
[
0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048
[
0.000000] Kernel command line: root=/dev/mtdblock0 rw rootfstype=jffs2
console=ttyPSC0,115200
[
0.000000] IPIC (128 IRQ sources) at fcff7c00
[
0.000000] PID hash table entries: 2048 (order: 11, 8192 bytes)
[
0.000010] clocksource: timebase mult[5000002] shift[22] registered
[
0.000154] Console: colour dummy device 80x25
[
0.000256] console [ttyPSC0] enabled
[
0.108108] Dentry cache hash table entries: 65536 (order: 6, 262144
bytes)
[
0.117851] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[
0.176872] Memory: 508544k/524288k available (3276k kernel code, 15536k
reserved, 148k data, 369k bss, 184k init)
[
0.187255] SLUB: Genslabs=9, HWalign=32, Order=0-1, MinObjects=4, CPUs=1,
Nodes=1
[
0.274882] Mount-cache hash table entries: 512
[
0.281868] net_namespace: 64 bytes
[
0.287198] NET: Registered protocol family 16
[
0.304306] Reserved irq 66(0x42) for MBX
[
0.310816] Could not initialize clk spdif_txclk without a calc routine
[
0.317521] Could not initialize clk spdif_rxclk without a calc routine
[
0.324434] mapped ioctl to e1002000 and gpioctl to e1004100
[
0.330093] PCI: Probing PCI hardware
[
0.342369] SCSI subsystem initialized
[
0.347365] usbcore: registered new interface driver usbfs
[
0.353359] usbcore: registered new interface driver hub
[
0.358990] usbcore: registered new device driver usb
[
0.378997] NET: Registered protocol family 2
[
0.383295] Time: timebase clocksource has been installed.
[
0.427587] IP route cache hash table entries: 16384 (order: 4, 65536
bytes)
[
0.436137] TCP established hash table entries: 65536 (order: 7, 524288
bytes)
[
0.447132] TCP bind hash table entries: 65536 (order: 6, 262144 bytes)
[
0.455888] TCP: Hash tables configured (established 65536 bind 65536)
[
0.462362] TCP reno
registered
[
0.477663] JFFS2 version 2.2. (NAND) ? 2001-2006 Red Hat, Inc.
[
0.483964] io scheduler noop registered
[
0.487844] io scheduler anticipatory registered (default)
[
0.493305] io scheduler deadline registered
[
0.497606] io scheduler cfq registered
[
0.544454] Console: switching to colour frame buffer device 128x48
[
0.586907] fb0: Panel0 fb device registered successfully.
[
0.592885] fb1: Panel1 AOI0 fb device registered successfully.
[
0.599232] fb2: Panel1 AOI1 fb device registered successfully.
[
0.605598] fb3: Panel2 AOI0 fb device registered successfully.
[
0.611961] fb4: Panel2 AOI1 fb device registered successfully.
[
0.618004] FSL_DIU_FB: registed FB device driver!
[
0.868626] Serial: MPC52xx PSC UART driver
[
0.873254] 80011300.serial: ttyPSC0 at MMIO 0x80011300 (irq = 40) is a
MPC52xx PSC
[
0.882000] 80011400.serial: ttyPSC1 at MMIO 0x80011400 (irq = 40) is a
MPC52xx PSC
[
0.891674] RAMDISK driver initialized: 4 RAM disks of 16384K size 1024
blocksize
[
0.900339] fsl-mscan initializing
[
0.905331] fsl-mscan fsl-mscan.0: probe port 0xE1062300 done, clk
rate:100000000
[
0.914468] fsl-mscan fsl-mscan.1: probe port 0xE1064380 done, clk
rate:100000000
[
0.923951] eth0: fs_enet: 00:ec:00:12:00:01
[
0.929250] FEC MII Bus: probed
[
0.932421] Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
[
0.938751] ide: Assuming 33MHz system bus speed for PIO modes; override
with idebus=xx
[
0.948123] Driver 'sd' needs updating - please use bus_type methods
[
0.955179] MPC5121 MTD nand Driver 0.2
[
0.959877] NAND device: Manufacturer ID: 0xad, Chip ID: 0xdc (Hynix NAND
512MiB 3,3V 8-bit)
[
0.968370] 2 NAND chips detected
[
0.974412] mpc5121r2nfc 40000000.nfc: Using OF partition info
[
0.980418] Creating 2 MTD partitions on "NAND":
[
0.984984] 0x00000000-0x08000000 : "nand0,128M"
[
0.990570] 0x08000000-0x40000000 : "nand0,896M"
[
0.998018] fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller
[
1.005015] fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus
number 1
[
1.035367] fsl-ehci fsl-ehci.0: irq 44, io mem 0x80004000
[
1.051326] fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00, driver 10 Dec
2004
[
1.060019] usb usb1: configuration #1 chosen from 1 choice
[
1.065956] hub 1-0:1.0: USB hub found
[
1.069738] hub 1-0:1.0: 1 port detected
[
1.176257] Initializing USB Mass Storage driver...
[
1.415352] usb 1-1: new high speed USB device using fsl-ehci and address
2
[
1.562650] usb 1-1: configuration #1 chosen from 1 choice
[
1.569648] scsi0 : SCSI emulation for USB Mass Storage devices
[
1.576156] usbcore: registered new interface driver usb-storage
[
1.582390] USB Mass Storage support registered.
[
1.587525] mice: PS/2 mouse device common for all mice
[
1.593616] mpc5121-rtc 80000a00.rtc:
rtc core: registered mpc5121-rtc as rtc0
[
1.601034] i2c /dev
entries driver
[
1.610959] Freescale(R) MPC5121 DMA Engine found, 64 channels
[
1.719596] fsldma: Self-test copy successfully
[
1.724711] usbcore: registered new interface driver usbhid
[
1.730270] drivers/hid/usbhid/hid-core.c: v2.6:USB HID core driver
[
1.736784] TCP cubic registered
[
1.740195] NET: Registered protocol family 1
[
1.744596] NET: Registered protocol family 17
[
1.748991] can: controller area network core (rev 20071116 abi 8)
[
1.755189] NET: Registered protocol family 29
[
1.759846] can: raw protocol (rev 20071116)
[
1.764433] RPC: Registered udp transport module.
[
1.769096] RPC: Registered tcp transport module.
[
1.774171] mpc5121-rtc 80000a00.rtc:
setting system clock to 2009-11-26 14:13:58 UTC (1259244838)
[
1.783976] JFFS2 doesn't use OOB.
[
12.421437] VFS: Mounted root (jffs2 filesystem).
[
12.426255] Freeing unused kernel memory: 184k init
Mounting /proc and /sys
Starting the hotplug events dispatcher
udevd
Synthesizing initial hotplug events
Setting the hostname to root
Mounting filesystems
cp: write error: No space left on device
cp: write error: No space left on device
cp: write error: No space left on device
cp: write error: No space left on device
cp: write error: No space left on device
cp: write error: No space left on device
cp: write error: No space left on device
Starting syslogd and klogd
Running sysctl
Setting up networking on loopback device:
Setting up networking on eth0:
Starting inetd:
[root@root /]# ls
Settings etc mnt sbin uImage_update
bin home opt sys usr
boot lib proc tmp var
dev
linuxrc root uImage_ori
[root@root /]#
可见下载到nor flash中的内核也是我们更新后的内核。
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/72003/showart_2151193.html |
|