у меня плата AT91sam9260!у меня ядро находится в нанд,
КФС монтируется с /dev/sda1. Так вот проблема в том что у меня не понимает таблицу разделов SD карты разбивал карту в Debian утилитой fdisk в дебиане подключалась к компу через карт ридер все видит все открывает все хорошо. создал 2 раздела один в формате ext2 2й ext3
вот лог загрузки системы
# RomBOOT
>Run ...
U-Boot 2010.03 (Apr 21 2010 - 18:56:06)
DRAM: 32 MB
NAND: 256 MiB
DataFlash:AT45DB321
Nb pages: 8192
Page Size: 528
Size= 4325376 bytes
Logical address: 0xC0000000
Area 0: C0000000 to C00041FF (RO) Bootstrap
Area 1: C0004200 to C00083FF Environment
Area 2: C0008400 to C0041FFF (RO) U-Boot
Area 3: C0042000 to C0251FFF Kernel
Area 4: C0252000 to C041FFFF FS
In: serial
Out: serial
Err: serial
Net: macb0
macb0: PHY present at 1
macb0: Starting autonegotiation...
macb0: Autonegotiation timed out (status=0x7849)
macb0: link down (status: 0x7849)
Hit any key to stop autoboot: 0
NAND read: device 0 offset 0x60000, size 0x780000
7864320 bytes read: OK
## Booting kernel from Legacy Image at 20400000 ...
Image Name: Linux Kernel Image
Image Type: ARM Linux Kernel Image (gzip compressed)
Data Size: 1689855 Bytes = 1.6 MB
Load Address: 20008000
Entry Point: 20008000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
Starting kernel ...
Linux version 2.6.28 (root@vm) (gcc version 4.2.0 20070413 (prerelease) (CodeSourcery Sourcery G++ Lite 2007q1-10)) #53 Mon Jun 24 09:15:59 MSD 2013
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: Starterkit.ru SK-AT91SAM9XXXXX-SIMXXX
Memory policy: ECC disabled, Data cache writeback
Clocks: CPU 200 MHz, master 100 MHz, main 12.000 MHz
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 8128
Kernel command line: console=ttyS0,115200 root=/dev/sda1 rootwait
AT91: 96 gpio irqs in 3 banks
PID hash table entries: 128 (order: 7, 512 bytes)
Console: colour dummy device 80x30
console [ttyS0] enabled
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Memory: 32MB = 32MB total
Memory: 28952KB available (3140K code, 230K data, 116K init)
Calibrating delay loop... 99.73 BogoMIPS (lpj=498688)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
net_namespace: 288 bytes
NET: Registered protocol family 16
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: 1024 (order: 1, 8192 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 1024 bind 1024)
TCP reno registered
NET: Registered protocol family 1
NetWinder Floating Point Emulator V0.97 (double precision)
JFFS2 version 2.2. (NAND) (SUMMARY) б╘ 2001-2006 Red Hat, Inc.
yaffs Mar 27 2010 12:35:28 Installing.
msgmni has been set to 56
io scheduler noop registered (default)
atmel_usart.0: ttyS0 at MMIO 0xfefff200 (irq = 1) is a ATMEL_SERIAL
atmel_usart.1: ttyS1 at MMIO 0xfffb0000 (irq = 6) is a ATMEL_SERIAL
atmel_usart.2: ttyS2 at MMIO 0xfffb8000 (irq = 8) is a ATMEL_SERIAL
brd: module loaded
loop: module loaded
ssc ssc.0: Atmel SSC device at 0xc2878000 (irq 14)
MACB_mii_bus: probed
eth0: Atmel MACB at 0xfffc4000 irq 21 (00:1f:f2:00:00:00)
eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=ffffffff:01, irq=-1)
Driver 'sd' needs updating - please use bus_type methods
NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB 3,3V 8-bit)
Scanning device for bad blocks
Bad eraseblock 87 at 0x00ae0000
Bad eraseblock 163 at 0x01460000
Bad eraseblock 261 at 0x020a0000
Bad eraseblock 688 at 0x05600000
Bad eraseblock 719 at 0x059e0000
Bad eraseblock 1080 at 0x08700000
Creating 2 MTD partitions on "atmel_nand":
0x00000000-0x00800000 : "Partition 1"
0x00800000-0x10000000 : "Partition 2"
atmel_spi atmel_spi.1: Atmel SPI Controller at 0xfffcc000 (irq 13)
usbmon: debugfs is not available
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 1
at91_ohci at91_ohci: irq 20, io mem 0x00500000
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.
udc: at91_udc version 3 May 2006
mice: PS/2 mouse device common for all mice
i2c /dev entries driver
i2c-gpio i2c-gpio: using pins 55 (SDA) and 56 (SCL)
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver
Advanced Linux Sound Architecture Driver Version 1.0.18rc3.
tlv320aic23b spi1.0: tlv320aic23b: supported bitrate is 47348 (66 divider)
mmc0: host does not support reading read-only switch. assuming write-enable.
mmc0: new SD card at address 0007
mmcblk0: mmc0:0007 SD02G 1.84 GiB
mmcblk0:<7>mmc0: starting CMD18 arg 00000000 flags 000000b5
ALSA device list:
#0: AT91SAM9260 external CODEC on irq 14
TCP cubic registered
NET: Registered protocol family 17
unknown partition table
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
Waiting for root device /dev/sda1...
usb 1-1: new full speed USB device using at91_ohci and address 2
usb 1-1: configuration #1 chosen from 1 choice
scsi0 : SCSI emulation for USB Mass Storage devices
scsi 0:0:0:0: Direct-Access Generic STORAGE DEVICE 0902 PQ: 0 ANSI: 6
sd 0:0:0:0: [sda] 3887104 512-byte hardware sectors: (1.99 GB/1.85 GiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] 3887104 512-byte hardware sectors: (1.99 GB/1.85 GiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Assuming drive cache: write through
sda:<7>usb-storage: queuecommand called
sda1
sd 0:0:0:0: [sda] Attached SCSI removable disk
EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended
VFS: Mounted root (ext2 filesystem).
Freeing init memory: 116K
yaffs: dev is 32505857 name is "mtdblock1"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 31.1, "mtdblock1"
yaffs: auto selecting yaffs2
block 24 is bad
block 100 is bad
block 198 is bad
block 625 is bad
block 656 is bad
block 1017 is bad
yaffs_read_super: isCheckpointed 0
tlv320aic23b: playback bitrate is 47348 (66 divider)
и в /dev/ появляется только mmcblk0 и все, а разделов нету(помогите пожалуйста)
я же сказал что я через карт ридер ее разбивал она у меня определилась не как mmcblk0 а как sda и fdisk я ее разбивал
и разделы все видел fdisk и появлялась sda1 и sda2
вы невнимательно прочитали или неправильно обрисовали проблему
как я понимаю, вы на компе сунули карточку в ридер и там ее разбили на разделы
на плате карточка детектится, но разделов нет..
отсюда повторю встречный вопрос:
что на плате пишет fdisk /dev/mmcblk0
- попробуйте отформатировать эту карту в виндюках и подмонтировать к плате - если все пойдет - проблема в конфиге ядра, если нет, то:
- попробуйте поискать карту с меньшей емкостью и разбить ее под ext2/3 одним разделом
у вас карта физически детектится, значит проблема где-то в логических нестыковках..
update fdisk есть в опциях билдрута. если корневая на debian, то apt-get install util-linux
взять карточку, сунуть в ридер, который в комп и виндах отформатировать карточку в стандартный FAT32
то же самое можно сделать в фотоаппарате или телефоне..
суть операции получить заведомо исправную разбивку карточки..
возможно у вас пишется какой-то "мусор" в таблицу разбивки флешки и ядро ее не понимает, отсюда и жалоба в логе о неизвестной таблице разделов..
# sfdisk /dev/mmcblk0
Che mmcblk0:ckin<7>mmc0: starting CMD18 arg 00000000 flags 000000b5
g that no-one is using this disk right now ...
unknown partition table
OK
Disk /dev/mmcblk0: 60448 cylinders, 4 heads, 16 sectors/track
Old situation:
No partitions found
Input in the following format; absent fields get a default value.
<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>
Usually you only need to specify <start> and <size> (and perhaps <type>).
сделал все по дефолтам
/dev/mmcblk0p1 :
/dev/mmcblk0p1 0+ 60447 60448- 1934335+ 83 Linux
/dev/mmcblk0p2 :
/dev/mmcblk0p2 0 - 0 0 0 Empty
/dev/mmcblk0p3 :
/dev/mmcblk0p3 0 - 0 0 0 Empty
/dev/mmcblk0p4 :
/dev/mmcblk0p4 0 - 0 0 0 Empty
New situation:
Units = cylinders of 32768 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start End #cyls #blocks Id System
/dev/mmcblk0p1 0+ 60447 60448- 1934335+ 83 Linux
/dev/mmcblk0p2 0 - 0 0 0 Empty
/dev/mmcblk0p3 0 - 0 0 0 Empty
/dev/mmcblk0p4 0 - 0 0 0 Empty
Warning: no primary partition is marked bootable (active)
This does not matter for LILO, but the DOS MBR will not boot this disk.
Do you want to write this to disk? [ynq] y
Successfully wrote the new partition table
If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)
не, я понимаю, мы не ищем легких путей..
в третий и последний раз повторюсь:
для линукса - fdisk, не sfdisk, не cfdisk, а чисто fdisk /dev/mmcblk0
сначала все стираем, потом создаем праймари партицию во всю флешку и выходим с записью
для виндюков - карту в картридер и в комп, виндюкам говорим "отформатировать"
после этого карта ДОЛЖНА увидеться, если нет, то в помойку..