主题 : 用SD卡作根文件系统启动android成功的朋友进来看一下,谢谢 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 8615
精华: 0
发帖: 8
金钱: 80 两
威望: 40 点
贡献值: 0 点
综合积分: 16 分
注册时间: 2009-08-30
最后登录: 2009-09-07
楼主  发表于: 2009-08-31 17:56

 用SD卡作根文件系统启动android成功的朋友进来看一下,谢谢

我用u-boot替换了supervivi,然后编译uboot专用的uImage内核映像并通过u-boot的nand write命令写进OnBoard Flash,设置启动参数。到这里为止一切都很顺利,但问题就出在SD卡rootfs上,由于我用的是旧版64M的mini2440,flash太小,我就在Linux下用ext2格式化了一张2G的SD卡,将rootfs中文所有文件解压到SD卡上,但启动时发生了kernel panic

我用的启动参数是:
bootargs root=/dev/mmcblk0p1 rootfstype=ext2 console=ttySAC0,115200 mini2440=1tb


输出到串口的信息:
U-Boot 1.3.2-dirty-moko12 (Apr 16 2009 - 18:14:52)

I2C:   ready
DRAM:  64 MB
Flash:  2 MB
NAND:  Bad block table not found for chip 0
Bad block table not found for chip 0
64 MiB
Found Environment offset in OOB..
USB:   S3C2410 USB Deviced
In:    serial
Out:   serial
Err:   serial
MAC: 08:08:11:18:12:27
Hit any key to stop autoboot:  0

Loading from NAND 64MiB 3,3V 8-bit, offset 0x60000
   Image Name:   Linux-2.6.27
   Created:      2009-08-31   8:41:43 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2060356 Bytes =  2 MB
   Load Address: 30008000
   Entry Point:  30008000
## Booting kernel from Legacy Image at 32000000 ...
   Image Name:   Linux-2.6.27
   Created:      2009-08-31   8:41:43 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2060356 Bytes =  2 MB
   Load Address: 30008000
   Entry Point:  30008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux..................................................................................................................................... done, booting the kernel.
Linux version 2.6.27 (root@ADEVWorkstation) (gcc version 4.3.2 (Sourcery G++ Lite 2008q3-72) ) #2 PREEMPT Mon Aug 31 16:41:35 CST 2009
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177
Machine: FriendlyARM Mini2440 development board
Memory policy: ECC disabled, Data cache writeback
CPU S3C2440A (id 0x32440001)
MM: CPU does not support supersection mapping for 0x55000000000 at 0xf0d00000
S3C244X: core 405.000 MHz, memory 101.250 MHz, peripheral 50.625 MHz
S3C24XX Clocks, (c) 2004 Simtec Electronics
CLOCK: Slow mode (1.500 MHz), fast, MPLL on, UPLL on
CPU0: D VIVT write-back cache
CPU0: I cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
CPU0: D cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
Kernel command line: root=/dev/mmcblk0p1 rootfstype=ext2fs console=ttySAC0,115200 mini2440=1tb
irq: clearing pending status 02000000
irq: clearing subpending status 00000002
PID hash table entries: 256 (order: 8, 1024 bytes)
timer tcon=00500000, tcnt a4ca, tcfg 00000200,00000000, usec 00001e57
Console: colour dummy device 80x30
console [ttySAC0] enabled
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: 60188KB available (3896K code, 636K data, 116K init)
SLUB: Genslabs=12, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Calibrating delay loop... 201.93 BogoMIPS (lpj=504832)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
net_namespace: 288 bytes
NET: Registered protocol family 16
S3C2440: Initialising architecture
S3C2440: IRQ Support
S3C24XX DMA Driver, (c) 2003-2004,2006 Simtec Electronics
DMA channel 0 at c4800000, irq 33
DMA channel 1 at c4800040, irq 34
DMA channel 2 at c4800080, irq 35
DMA channel 3 at c48000c0, irq 36
S3C244X: Clock Support, DVS off
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: 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
NetWinder Floating Point Emulator V0.97 (double precision)
ashmem: initialized
NTFS driver 2.1.29 [Flags: R/W DEBUG].
yaffs Aug 31 2009 16:35:37 Installing.
msgmni has been set to 117
io scheduler noop registered (default)
Console: switching to colour frame buffer device 30x20
fb0: s3c2410fb frame buffer device
adc     initialized
input: buttons as /class/input/input0
buttons initialized
leds    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
brd: module loaded
loop: module loaded
nbd: registered device at major 43
logger: created 64K log 'log_main'
logger: created 256K log 'log_events'
logger: created 64K log 'log_radio'
dm9000 Ethernet Driver, V1.31
Now use the default MAC address: 08:90:90:90:90:90
eth0: dm9000e at c4804000,c4806004 IRQ 51 MAC: c3900934 (friendly-arm)
usbcore: registered new interface driver zd1211rw
usbcore: registered new interface driver zd1201
Linux video capture interface: v2.00
ovcamchip: v2.27 for Linux 2.6 : OV camera chip I2C driver
usbcore: registered new interface driver ov511
ov511: v1.64 for Linux 2.5 : ov511 USB Camera Driver
Driver 'sd' needs updating - please use bus_type methods
S3C24XX NAND Driver, (c) 2004 Simtec Electronics
s3c2440-nand s3c2440-nand: Tacls=3, 29ns Twrph0=7 69ns, Twrph1=3 29ns
NAND device: Manufacturer ID: 0xec, Chip ID: 0x76 (Samsung NAND 64MiB 3,3V 8-bit)
NAND_ECC_NONE selected by board driver. This is not recommended !!
Scanning device for bad blocks
Bad eraseblock 760 at 0x00be0000
Bad eraseblock 2625 at 0x02904000
Creating 4 MTD partitions on "NAND 64MiB 3,3V 8-bit":
0x00000000-0x00060000 : "supervivi"
0x00060000-0x00260000 : "Kernel"
0x00260000-0x40260000 : "root"
mtd: partition "root" extends beyond the end of device "NAND 64MiB 3,3V 8-bit" -- size truncated to 0x3da0000
0x00000000-0x40000000 : "nand"
mtd: partition "nand" extends beyond the end of device "NAND 64MiB 3,3V 8-bit" -- size truncated to 0x4000000
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: 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.
s3c2440-usbgadget s3c2440-usbgadget: S3C2440: increasing FIFO to 128 bytes
mice: PS/2 mouse device common for all mice
usbcore: registered new interface driver appletouch
input: s3c2410 TouchScreen as /class/input/input1
s3c2410 TouchScreen successfully loaded
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
s3c2440-i2c s3c2440-i2c: slave address 0x10
s3c2440-i2c s3c2440-i2c: bus frequency set to 98 KHz
s3c2440-i2c s3c2440-i2c: i2c-0: S3C I2C adapter
mapped channel 0 to 0
s3c2440-sdi s3c2440-sdi: powered down.
s3c2440-sdi s3c2440-sdi: initialisation done.
s3c2440-sdi s3c2440-sdi: running at 0kHz (requested: 0kHz).
s3c2440-sdi s3c2440-sdi: running at 198kHz (requested: 197kHz).
s3c2440-sdi s3c2440-sdi: running at 198kHz (requested: 197kHz).
s3c2440-sdi s3c2440-sdi: running at 198kHz (requested: 197kHz).
usbcore: registered new interface driver hiddev
s3c2440-sdi s3c2440-sdi: running at 198kHz (requested: 197kHz).
s3c2440-sdi s3c2440-sdi: running at 198kHz (requested: 197kHz).
s3c2440-sdi s3c2440-sdi: running at 198kHz (requested: 197kHz).
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver
UDA1341 audio driver initialized
failed to get memory region resouce
s3c2410-iis: probe of s3c2410-iis.0 failed with error -2
TCP cubic registered
NET: Registered protocol family 17
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
s3c2440-sdi s3c2440-sdi: running at 198kHz (requested: 197kHz).
s3c2440-sdi s3c2440-sdi: running at 16875kHz (requested: 25000kHz).
s3c2440-sdi s3c2440-sdi: running at 16875kHz (requested: 25000kHz).
mmc0: new SD card at address 8fe4
mmcblk0: mmc0:8fe4 SD02G 1931264KiB
 mmcblk0:<6>s3c2410-rtc s3c2410-rtc: setting system clock to 2009-08-31 17:56:05 UTC (1251741365)
 p1
VFS: Cannot open root device "mmcblk0p1" or unknown-block(179,1)
Please append a correct "root=" boot option; here are the available partitions:
1f00        384 mtdblock0 (driver?)
1f01       2048 mtdblock1 (driver?)
1f02      63104 mtdblock2 (driver?)
1f03      65536 mtdblock3 (driver?)
b300    1931264 mmcblk0 driver: mmcblk
  b301    1931232 mmcblk0p1
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,1)


麻烦用过SD卡作root的朋友看看是怎么回事,谢谢。
我用fsck检查了sd卡没有发现问题,是不是内核中没有加入ext2fs支持?
级别: 新手上路
UID: 8351
精华: 0
发帖: 12
金钱: 115 两
威望: 56 点
贡献值: 0 点
综合积分: 24 分
注册时间: 2009-08-20
最后登录: 2017-09-13
1楼  发表于: 2009-08-31 19:17
亲爱的LZ 能不能将你修改过的u-boot上传,给大家参考参考~
级别: 新手上路
UID: 5858
精华: 0
发帖: 8
金钱: 80 两
威望: 40 点
贡献值: 0 点
综合积分: 16 分
注册时间: 2009-05-11
最后登录: 2009-10-08
2楼  发表于: 2009-08-31 19:24
怎么改的,是要在BOOT里初始化MMC驱动,和FTL合并,再从MMC中选择根文件系统启动?
级别: 新手上路
UID: 3989
精华: 0
发帖: 20
金钱: 185 两
威望: 88 点
贡献值: 0 点
综合积分: 40 分
注册时间: 2009-02-19
最后登录: 2017-09-13
3楼  发表于: 2009-08-31 20:29
root=/dev/mmcblk0p2
改这个参数呢??
级别: 新手上路
UID: 8615
精华: 0
发帖: 8
金钱: 80 两
威望: 40 点
贡献值: 0 点
综合积分: 16 分
注册时间: 2009-08-30
最后登录: 2009-09-07
4楼  发表于: 2009-09-02 18:35
汗,原来不支持EXT2,现在终于改好了
级别: 新手上路
UID: 8615
精华: 0
发帖: 8
金钱: 80 两
威望: 40 点
贡献值: 0 点
综合积分: 16 分
注册时间: 2009-08-30
最后登录: 2009-09-07
5楼  发表于: 2009-09-02 18:37
引用第1楼kingzhuy于2009-08-31 19:17发表的  :
亲爱的LZ 能不能将你修改过的u-boot上传,给大家参考参考~


U-BOOT我没有去改,这里有一个能用的U-BOOT,是Mini2440 GPE项目中分离出来的,支持JFFS2
http://www.aiothome.com/bbs/read.php?tid=2909
级别: 新手上路
UID: 8725
精华: 0
发帖: 5
金钱: 50 两
威望: 25 点
贡献值: 0 点
综合积分: 10 分
注册时间: 2009-09-04
最后登录: 2009-11-12
6楼  发表于: 2009-09-14 11:13
mepix,您好,能把你用SD卡启动的详细过程说一下吗?谢谢!