Не стартует rootfs с SD карты
JedaY
Пункты: 1031
Регистрация: 03.12.2009
приветствую
Неполучается загрузить rootfs с SD карточки на плате SK-AT91SAM9G45. Карта 1Гб, разбита на 2 раздела: 32Мб fat32 для ядра, остальное ext2 под файловую систему. Разделы под ubuntu-ой определяются нормально.
В ядре установлена поддержка dos разделов и ext2 файловой системы. Модуль карты mmc слинкован статически.
В топиках на похожие темы ответа не рашел..
Загрузка ядра останавливается на Waiting for root device /dev/mmcblk0p2...
Пробовал в командную строку место /dev/mmcblk0p2 ставить /dev/mmcblk0p1, результат одинаковый.
Подскажите плиз куда копать. Может надо что-то еще в ядре включить?
Вот полный лог загрузки:
Код U-Boot 2010.09 (Mar 11 2011 - 12:53:27)
DRAM: 64 MiB
## Unknown FLASH on Bank 1 - Size = 0x00000000 = 0 MB
Flash: 0 Bytes
NAND: 256 MiB
In: serial
Out: serial
Err: serial
Net: macb0
Hit any key to stop autoboot: 0
mmc: clock 150000 too low; setting CLKDIV to 255
Manufacturer ID: 41
OEM/Application ID: 3432
Product name: SD1GB
Prodt Revision: 1.0
Product Serial Number: 2109233
Manufacturing Date: 07/10
SD Card detected (RCA 2)
CSD data: 007fff32 5f5983bd f6dbdfff 96400049
CSD structure version: 1.2
MMC System Spec version: 12
Card command classes: 3bd
Read block length: 256
Supports partial reads
Write block length: 1
Does not support partial writes
Does not support group WP
Card capacity: 268435456 bytes
File format: 1/2
Write protection: permanent
mmc: Using 6291456 cycles data timeout (DTOR=0x76)
.mmc1 is available
..reading zlinux.bin
......................................................................................
......................................................................................
..........................................................................
1946960 bytes read
Booting from mmc ...
## Booting kernel from Legacy Image at 72000000 ...
Image Name: 2.6.37.2 build-004
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1946896 Bytes = 1.9 MiB
Load Address: 70008000
Entry Point: 70008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
Linux version 2.6.37.2 (user@Aspire-One-753) (gcc version 4.5.1 (Sourcery G++ Lite 2010.09-50) ) #0 Fri Mar 4 21:35:32 MSK 2011
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: Atmel AT91SAM9M10G45-EK
Memory policy: ECC disabled, Data cache writeback
Clocks: CPU 400 MHz, master 133 MHz, main 12.000 MHz
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256
Kernel command line: console=ttyS0 root=/dev/mmcblk0p1 rw rootfstype=ext2 rootwait
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: 61208k/61208k available, 4328k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
DMA : 0xffa00000 - 0xffe00000 ( 4 MB)
vmalloc : 0xc4800000 - 0xfee00000 ( 934 MB)
lowmem : 0xc0000000 - 0xc4000000 ( 64 MB)
modules : 0xbf000000 - 0xc0000000 ( 16 MB)
.init : 0xc0008000 - 0xc0024000 ( 112 kB)
.text : 0xc0024000 - 0xc0364974 (3331 kB)
.data : 0xc0366000 - 0xc0389000 ( 140 kB)
NR_IRQS:192
AT91: 160 gpio irqs in 5 banks
Console: colour dummy device 80x30
console [ttyS0] enabled
Calibrating delay loop... 199.47 BogoMIPS (lpj=997376)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
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
i2c-gpio i2c-gpio.0: using pins 52 (SDA) and 53 (SCL)
Switching to clocksource pit
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
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
msgmni has been set to 119
io scheduler noop registered (default)
atmel_usart.0: ttyS0 at MMIO 0xfeffee00 (irq = 1) is a ATMEL_SERIAL
atmel_usart.2: ttyS2 at MMIO 0xfff90000 (irq = 8) is a ATMEL_SERIAL
brd: module loaded
loop: module loaded
NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung )
Scanning device for bad blocks
Bad eraseblock 270 at 0x0000021c0000
Bad eraseblock 886 at 0x000006ec0000
Bad eraseblock 1294 at 0x00000a1c0000
Bad eraseblock 1910 at 0x00000eec0000
Creating 2 MTD partitions on "atmel_nand":
0x000000000000-0x000004000000 : "Partition 1"
0x000004000000-0x000010000000 : "Partition 2"
atmel_spi atmel_spi.0: Atmel SPI Controller at 0xfffa4000 (irq 14)
MACB_mii_bus: probed
eth0: Atmel MACB at 0xfffbc000 irq 25 (3e:36:65:ba:6f:be)
eth0: attached PHY driver [Micrel KS8001 or KS8721] (mii_bus:phy_addr=ffffffff:01, irq=-1)
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
atmel-ehci atmel-ehci: Atmel EHCI UHP HS
atmel-ehci atmel-ehci: new USB bus registered, assigned bus number 1
atmel-ehci atmel-ehci: irq 22, io mem 0x00800000
atmel-ehci atmel-ehci: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
at91_ohci at91_ohci: AT91 OHCI
at91_ohci at91_ohci: new USB bus registered, assigned bus number 2
at91_ohci at91_ohci: irq 22, io mem 0x00700000
hub 2-0:1.0: USB hub found
hub 2-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 usbserial
usbserial: USB Serial Driver core
USB Serial support registered for FTDI USB Serial Device
usbcore: registered new interface driver ftdi_sio
ftdi_sio: v1.6.0:USB FTDI Serial Converters Driver
USB Serial support registered for pl2303
usbcore: registered new interface driver pl2303
pl2303: Prolific PL2303 USB to serial adaptor driver
mice: PS/2 mouse device common for all mice
rtc-at91sam9 at91_rtt.0: rtc core: registered at91_rtt as rtc0
rtc-at91sam9 at91_rtt.0: rtc0: SET TIME!
i2c /dev entries driver
at_hdmac at_hdmac: Atmel AHB DMA Controller ( cpy slave ), 8 channels
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
TCP cubic registered
NET: Registered protocol family 17
rtc-at91sam9 at91_rtt.0: hctosys: unable to read the hardware clock
atmel_mci atmel_mci.0: Atmel MCI controller at 0xfff80000 irq 11, 1 slots
atmel_mci atmel_mci.1: Atmel MCI controller at 0xfffd0000 irq 29, 1 slots
Waiting for root device /dev/mmcblk0p1...
sasamy
Пункты: 79218
Регистрация: 14.08.2009
Судя по версии ядра и двум интерфейсам MCI ядро у вас ванильное, для mci как минимум требуется правильно указать detect_pin в arch/arm/mach-at91/board-sam9m10g45ek.c
Код
*
* MCI (SD/MMC)
*/
static struct mci_platform_data __initdata mci0_data = {
.slot[0] = {
.bus_width = 4,
/* sasamy
.detect_pin = AT91_PIN_PD10,
*/
.detect_pin = AT91_PIN_PA31,
.wp_pin = -1,
},
};
JedaY
Пункты: 1031
Регистрация: 03.12.2009
Спасибо. Заработало :)
Как-то у меня совсем вылетело с головы, что кроме в u-boot надо еще и в ядре ногу изменить.