昨天自己移植一个uboot1.1.6到mini6410上,可以正确的烧写cramfs的文件系统。但是不支持yaffs文件系统。然后根据网上说的修改方式做了修改,参考网址:
http://blog.chinaunix.net/u2/89327/showart_1828970.html 。烧写yaffs的文件系统后提示都是坏块。各位大侠帮助分析下原因,trace如下:
Starting kernel ...
Uncompressing Linux............................................................................................................................................. done, booting the kernel.
Linux version 2.6.28.6 (root@ubuntu) (gcc version 4.2.2) #219 Wed May 12 19:08:53 PDT 2010
CPU: ARMv6-compatible processor [410fb766] revision 6 (ARMv7), cr=00c5387f
CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
Machine: SMDK6410
Memory policy: ECC disabled, Data cache writeback
CPU S3C6410 (id 0x36410101)
S3C24XX Clocks, (c) 2004 Simtec Electronics
S3C64XX: PLL settings, A=532000000, M=532000000, E=24000000
S3C64XX: HCLKx2=266000000, HCLK=133000000, PCLK=66500000
div1: 00000555
mout_apll: source is fout_apll (1), rate is 532000000
mout_epll: source is fout_epll (1), rate is 24000000
mout_mpll: source is mpll (1), rate is 532000000
mmc_bus: source is dout_mpll (1), rate is 44333333
mmc_bus: source is dout_mpll (1), rate is 44333333
mmc_bus: source is dout_mpll (1), rate is 44333333
usb-host-bus: source is mout_epll (0), rate is 24000000
uclk1: source is dout_mpll (1), rate is 66500000
spi-bus: source is mout_epll (0), rate is 24000000
spi-bus: source is mout_epll (0), rate is 24000000
audio-bus0: source is mout_epll (0), rate is 24000000
audio-bus1: source is mout_epll (0), rate is 24000000
audio-bus2: source is mout_epll (0), rate is 24000000
irda-bus: source is mout_epll (0), rate is 24000000
s3c64xx: 15728640 bytes SDRAM reserved for fimc at 0x505a3000
s3c64xx: 8388608 bytes SDRAM reserved for pp at 0x514a3000
s3c64xx: 8388608 bytes SDRAM reserved for tv at 0x51ca3000
s3c64xx: 6291456 bytes SDRAM reserved for mfc at 0x524a3000
s3c64xx: 8388608 bytes SDRAM reserved for jpeg at 0x52aa3000
s3c64xx: 8388608 bytes SDRAM reserved for cmm at 0x532a3000
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512
Kernel command line: root=/dev/mtdblock2 rootfstype=yaffs2 console=ttySAC0,115200
PID hash table entries: 512 (order: 9, 2048 bytes)
Console: colour dummy device 80x30
s3c24xx_serial_init_ports: initialising ports=4...
console [ttySAC0] enabled
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: 70784KB available (3908K code, 494K data, 272K init)
SLUB: Genslabs=12, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Calibrating delay loop... 530.84 BogoMIPS (lpj=1327104)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
net_namespace: 316 bytes
NET: Registered protocol family 16
S3C6410: Initialising architecture
S3C DMA-pl080 Controller Driver, (c) 2006-2007 Samsung Electronics
Total 32 DMA channels will be initialized.
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
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: 4, 81920 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)
yaffs May 12 2010 18:55:58 Installing.
msgmni has been set to 138
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
S3C_LCD clock got enabled :: 133.000 Mhz
LCD TYPE :: LTE480WV will be initialized
Window[0] - FB1: map_video_memory: clear ff000000:0007f800
FB1: map_video_memory: dma=57180000 cpu=ff000000 size=0007f800
Window[0] - FB2: map_video_memory: clear ff03fc00:0003fc00
FB2: map_video_memory: dma=571bfc00 cpu=ff03fc00 size=0003fc00
[DEBUG]logo_lines 34, vc->vc_bottom 34
Console: switching to colour frame buffer device 60x34
fb0: s3cfb frame buffer device
Window[1] - FB1: map_video_memory: clear ff080000:0007f800
FB1: map_video_memory: dma=57200000 cpu=ff080000 size=0007f800
Window[1] - FB2: map_video_memory: clear ff0bfc00:0003fc00
FB2: map_video_memory: dma=5723fc00 cpu=ff0bfc00 size=0003fc00
fb1: s3cfb frame buffer device
Window[2] - FB1: map_video_memory: clear ff100000:0003fc00
FB1: map_video_memory: dma=57140000 cpu=ff100000 size=0003fc00
fb2: s3cfb frame buffer device
Window[3] - FB1: map_video_memory: clear ff140000:0003fc00
FB1: map_video_memory: dma=57280000 cpu=ff140000 size=0003fc00
fb3: s3cfb frame buffer device
enter s3c6410_leds_init
leds initialized
s3c6400-uart.0: s3c2410_serial0 at MMIO 0x7f005000 (irq = 16) is a S3C6400/10
s3c6400-uart.1: s3c2410_serial1 at MMIO 0x7f005400 (irq = 20) is a S3C6400/10
s3c6400-uart.2: s3c2410_serial2 at MMIO 0x7f005800 (irq = 24) is a S3C6400/10
s3c6400-uart.3: s3c2410_serial3 at MMIO 0x7f005c00 (irq = 28) is a S3C6400/10
brd: module loaded
loop: module loaded
PPP generic driver version 2.4.2
dm9000 Ethernet Driver
eth2090023871: con201 Invalid ethernet MAC address. using default config, Please set using ifconfig
eth0: dm9000 at f7b00300,f7b00304 IRQ 108 MAC: 00:e0:4a:bc:15:e7
Linux video capture interface: v2.00
s3c-fimc: controller 0 registered successfully
s3c-fimc: controller 1 registered successfully
printk ov965x_init
s3c-fimc: info ov965x_init
S3C6400 MFC Driver, (c) 2007 Samsung Electronics
S3C6400 MFC Driver, (c) 2007 Samsung Electronics
S3C PostProcessor Driver v3.12, (c) 2009 Samsung Electronics
S3C6410 TV encoder Driver, (c) 2008 Samsung Electronics
S3C6410 TV encoder Driver init OK.
S3C6410 TV scaler Driver, (c) 2008 Samsung Electronics
S3C6410 TV scaler Driver init OK.
S3C Rotator Driver, (c) 2008 Samsung Electronics
s3c_rotator_probe called
s3c_rotator_probe success
S3C JPEG Driver, (c) 2007 Samsung Electronics
s3c_g2d_probe called
s3c_g2d_probe Success
S3C G2D Init : Done
S3C G3D Driver, (c) 2007-2009 Samsung Electronics
s3c_g3d version : 0x1050000
S3C G3D Init : Done
S3C CMM Driver, (c) 2008 Samsung Electronics
Driver 'sd' needs updating - please use bus_type methods
S3C NAND Driver, (c) 2008 Samsung Electronics
S3C NAND Driver is using software ECC.
NAND device: Manufacturer ID: 0xec, Chip ID: 0xd3 (Samsung NAND 1GiB 3,3V 8-bit)
Creating 4 MTD partitions on "NAND 1GiB 3,3V 8-bit":
0x00000000-0x00040000 : "Bootloader"
0x00040000-0x00400000 : "Kernel"
0x00400000-0x05400000 : "Rootfs"
0x05400000-0x40000000 : "File System"
Samsung SoC SPI Driver loaded for SPI-0
Max,Min-Speed [33250000, 129882]Hz
Irq=80 IOmem=[0x7f00bfff-0x7f00b000] DMA=[Rx-33, Tx-34]
Samsung SoC SPI Driver loaded for SPI-1
Max,Min-Speed [33250000, 129882]Hz
Irq=81 IOmem=[0x7f00cfff-0x7f00c000] DMA=[Rx-35, Tx-36]
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 79, io mem 0x74300000
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.
s3c-udc : S3C HS USB OTG Device Driver, (c) 2008-2009 Samsung Electronics
s3c-udc : version 15 March 2009 (DMA Mode)
mice: PS/2 mouse device common for all mice
gpio keys driver.
input: gpio-keys as /class/input/input0
S3C Touchscreen driver, (c) 2008 Samsung Electronics
S3C TouchScreen got loaded successfully : 12 bits
input: S3C TouchScreen as /class/input/input1
S3C24XX RTC, (c) 2004,2006 Simtec Electronics
s3c2410_rtc: tick irq 34, alarm irq 92
s3c2410-rtc s3c2410-rtc: rtc disabled, re-enabling
s3c2410-rtc s3c2410-rtc: rtc core: registered s3c as rtc0
i2c /dev entries driver
s3c2440-i2c s3c2440-i2c: slave address 0x10
s3c2440-i2c s3c2440-i2c: bus frequency set to 377 KHz
[OV965X]ov965x_attach_adapter.
[CAM]s3c_fimc_register_camera,cam->id=0
parent clock for camera: 266.000 MHz, divisor: 11
[CAM]RESET CAM.[CAM]Reset and init reg!1cam->client=0
[CAM]Reset and init reg!1
[CAM]Reset and init reg!3
s3c2440-i2c s3c2440-i2c: i2c-0: S3C I2C adapter
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
s3c-sdhci s3c-sdhci.0: clock source 0: hsmmc (133000000 Hz)
s3c-sdhci s3c-sdhci.0: clock source 1: hsmmc (133000000 Hz)
s3c-sdhci s3c-sdhci.0: clock source 2: mmc_bus (44333333 Hz)
[SDHCI]to add external irq as a card detect signal......
[SDHCI]if (pdata->cfg_ext_cd)......
mmc0: SDHCI controller on samsung-hsmmc [s3c-sdhci.0] using ADMA
[SDHCI]request_irq......
sdhci: card inserted.
s3c-sdhci s3c-sdhci.1: clock source 0: hsmmc (133000000 Hz)
s3c-sdhci s3c-sdhci.1: clock source 1: hsmmc (133000000 Hz)
s3c-sdhci s3c-sdhci.1: clock source 2: mmc_bus (44333333 Hz)
[SDHCI]to add external irq as a card detect signal......
mmc1: SDHCI controller on samsung-hsmmc [s3c-sdhci.1] using ADMA
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
WM9713/WM9714 SoC Audio Codec 0.15
playback: 1, capture : 1
asoc: AC97 HiFi <-> s3c64xx-ac97 mapping ok
[WM9713]Open speaker volume.
ALSA device list:
#0: SMDK6400 (WM9713)
TCP cubic registered
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
VFP support v0.3: implementor 41 architecture 1 part 20 variant b rev 5
s3c2410-rtc s3c2410-rtc: setting system clock to 2010-11-12 14:00:50 UTC (1289570450)
yaffs: dev is 32505858 name is "mtdblock2"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.2, "mtdblock2"
block 2 is bad
block 3 is bad
block 4 is bad
block 5 is bad
block 7 is bad
block 8 is bad
block 10 is bad
.....................................
....................................
block 309 is bad
block 311 is bad
block 312 is bad
block 313 is bad
block 314 is bad
block 315 is bad
block 318 is bad
block 319 is bad
block 320 is bad
yaffs_read_super: isCheckpointed 0
VFS: Mounted root (yaffs2 filesystem).
Freeing init memory: 272K
Warning: unable to open an initial console.
Kernel panic - not syncing: No init found. Try passing init= option to kernel.