Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:1
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:5
Форум » starterkit.ru » Отладочные платы » SK-AT91SAM9XXXXX-S3E
Linux kernel не может найти rootfs в Nand
TBEPDOff
Добавлено 15.12.2010 03:49 Редактировалось 15.12.2010 03:54
0
Сообщение: 1
TBEPDOff
5

Пункты: 869
Регистрация: 07.12.2010
Пол: Мужчина
Из: Украина
Перерыл форум, но не нашел ответа, кажется мне я что-то не так сделал, но не могу понять что.

Что имеется:
Плата: SK-AT91SAM9XXXXX-S3E
Проц: AT91SAM9XE512
Рабочий бутстрап
Рабочий убут
Скомпилированное билдрутом ядро
Скомпилированная билдрутом rootfs c busybox 1.17.1

карта памяти NAND:
0x20000 - Uboot
0x60000 - Linux Kernel image
0x400000 - jffs2

карта памяти RAM:
0x20008000 - Linux Kernel
0x20400000 - Linux Kernel image
0x21D00000 - Uboot


Ядро нормально распаковывается в память.
Ядро нормально стартует
Ядро находит NAND на которой лежит ROOTFS
Ядро видит 2 раздела в памяти которые я создал.
Код

2 cmdlinepart partitions found on MTD device atmel_nand
Creating 2 MTD partitions on "atmel_nand":
0x000000000000-0x000000400000 : "uboot_linux"
0x000000400000-0x000010000000 : "root"


Но при попытке поднять фс с /dev/mtdblock1 проблема:
Код

VFS: Cannot open root device "mtdblock1" or unknown-block(31,1)
Please append a correct "root=" boot option; here are the available partitions:
1f00 4096 mtdblock0 (driver?)
1f01 258048 mtdblock1 (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,1)
[<c002a254>] (unwind_backtrace+0x0/0xec) from [<c020157c>] (panic+0x4c/0x180)
[<c020157c>] (panic+0x4c/0x180) from [<c00090ac>] (mount_block_root+0x25c/0x2b4


Файловую систему взял из buildroot/output/target/
И создал образ командой
Код

mkfs.jffs2 -p -d buildroot/output/target/ -e 128KiB -n -o rootfs_jffs2.bin

приблизительно 7 МБ

строка загрузки
Код

Kernel command line: mem=64M console=ttyS0,115200 root=/dev/mtdblock1 mtdparts=atmel_nand:4M(uboot_linux)ro,-(root) rw rootfstype=jffs2


Полный лог:
Код

Starting kernel ...

Linux version 2.6.36.2 (redbog@redbog-desktop) (gcc version 4.3.5 (Buildroot 201
0.08) ) #10 Wed Dec 15 01:49:01 EET 2010
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: Atmel AT91SAM9260-EK
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: 16256
Kernel command line: mem=64M console=ttyS0,115200 root=/dev/mtdblock1 mtdparts=a
tmel_nand:4M(uboot_linux)ro,-(root) rw rootfstype=jffs2
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: 62132k/62132k available, 3404k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
DMA : 0xffc00000 - 0xffe00000 ( 2 MB)
vmalloc : 0xc4800000 - 0xfee00000 ( 934 MB)
lowmem : 0xc0000000 - 0xc4000000 ( 64 MB)
modules : 0xbf000000 - 0xc0000000 ( 16 MB)
.init : 0xc0008000 - 0xc0024000 ( 112 kB)
.text : 0xc0024000 - 0xc028b000 (2460 kB)
.data : 0xc029c000 - 0xc02b43e0 ( 97 kB)
Hierarchical RCU implementation.
Verbose stalled-CPUs detection is disabled.
NR_IRQS:192
AT91: 96 gpio irqs in 3 banks
Console: colour dummy device 80x30
console [ttyS0] enabled
Calibrating delay loop... 99.73 BogoMIPS (lpj=498688)
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
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
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
JFS: nTxBlock = 485, nTxLock = 3883
msgmni has been set to 121
io scheduler noop registered (default)
atmel_usart.0: ttyS0 at MMIO 0xfefff200 (irq = 1) is a ATMEL_SERIAL
brd: module loaded
ssc ssc.0: Atmel SSC device at 0xc4858000 (irq 14)
physmap-flash.0: failed to claim resource 0
NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB 3,3V 8-bi
t)
Scanning device for bad blocks
Bad eraseblock 390 at 0x0000030c0000
Bad eraseblock 722 at 0x000005a40000
Bad eraseblock 834 at 0x000006840000
Bad eraseblock 1103 at 0x0000089e0000
Bad eraseblock 1402 at 0x00000af40000
Bad eraseblock 1792 at 0x00000e000000
Bad eraseblock 1793 at 0x00000e020000
Bad eraseblock 1853 at 0x00000e7a0000
2 cmdlinepart partitions found on MTD device atmel_nand
Creating 2 MTD partitions on "atmel_nand":
0x000000000000-0x000000400000 : "uboot_linux"
0x000000400000-0x000010000000 : "root"
GPIO NAND driver, &#194;© 2004 Simtec Electronics
atmel_spi atmel_spi.0: Atmel SPI Controller at 0xfffc8000 (irq 12)
atmel_spi atmel_spi.1: Atmel SPI Controller at 0xfffcc000 (irq 13)
MACB_mii_bus: probed
eth0: Atmel MACB at 0xfffc4000 irq 21 (00:1f:f2:00:00:00)
eth0: attached PHY driver [Micrel KS8001 or KS8721] (mii_bus:phy_addr=ffffffff:0
1, irq=-1)
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: New USB device found, idVendor=1d6b, idProduct=0001
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: AT91 OHCI
usb usb1: Manufacturer: Linux 2.6.36.2 ohci_hcd
usb usb1: SerialNumber: at91
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
usbcore: registered new interface driver usbserial
usbserial: USB Serial Driver core
USB Serial support registered for pl2303
usbcore: registered new interface driver pl2303
pl2303: Prolific PL2303 USB to serial adaptor driver
udc: at91_udc version 3 May 2006
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!
Driver for 1-wire Dallas network protocol.
AT91SAM9 Watchdog: sorry, watchdog is disabled
at91_wdt: probe of at91_wdt failed with error -5
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
TCP cubic registered
NET: Registered protocol family 17
rtc-at91sam9 at91_rtt.0: hctosys: unable to read the hardware clock
VFS: Cannot open root device "mtdblock1" or unknown-block(31,1)
Please append a correct "root=" boot option; here are the available partitions:
1f00 4096 mtdblock0 (driver?)
1f01 258048 mtdblock1 (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,1)
[<c002a254>] (unwind_backtrace+0x0/0xec) from [<c020157c>] (panic+0x4c/0x180)
[<c020157c>] (panic+0x4c/0x180) from [<c00090ac>] (mount_block_root+0x25c/0x2b4)

[<c00090ac>] (mount_block_root+0x25c/0x2b4) from [<c00092d4>] (prepare_namespace
+0x164/0x1c8)
[<c00092d4>] (prepare_namespace+0x164/0x1c8) from [<c00085f8>] (kernel_init+0x10
c/0x150)
[<c00085f8>] (kernel_init+0x10c/0x150) from [<c0025e64>] (kernel_thread_exit+0x0
/0x8)
Спуститься к концу Подняться к началу
Персональная информация
Strijar
Добавлено 15.12.2010 10:21 Сообщение: 2
Strijar
Ранг
5

Группа: Клиенты
Пункты: 1618
Регистрация: 21.04.2009
Пол: Мужчина
У меня такое лечилось полным стиранием NAND и записью по чистому
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 15.12.2010 12:41 Сообщение: 3
sasamy
4.71

Пункты: 83540
Регистрация: 14.08.2009
Цитата
Linux version 2.6.36.2


В 2.6.35 ядрах в подсистеме mtdblock есть баг, помоему его до сих пор не починили нормально. Я находил патчи в рассылке, радостные отклики что все работает но мне эти патчи не помогли - я просто отключил mtdblock в ядре - в моем случае для работы ubifs оно не нужно.
Спуститься к концу Подняться к началу
Персональная информация
TBEPDOff
Добавлено 15.12.2010 14:13 Редактировалось 15.12.2010 14:22 Сообщение: 4
TBEPDOff
5

Пункты: 869
Регистрация: 07.12.2010
Пол: Мужчина
Из: Украина
Strijar, Полное стирание делал, не помогло
sasamy, Спасибо, попробую более старое ядро собрать.
Может у кого еще есть варианты?
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 15.12.2010 15:24 Редактировалось 15.12.2010 15:24 Сообщение: 5
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Может у кого еще есть варианты?

Код
mkfs.jffs2 -p -d buildroot/output/target/ -e 128KiB -n -o rootfs_jffs2.bin

вот с этого места поподробнее, чем и как заливали во флеш?
попробуйте загрузиться с SD/USB и дать команду
mount /dev/mtdblock1 /mnt/ -t jffs2 а потом ls -l /mnt/, содержимое вывода сюда.
наткнулся на интересные грабли, озвучу после вашего лога.
проделал все вышеописанное, ничего не форматировал, строка для ядра (2.6.32.8)
Kernel command line: mem=64M console=ttyS0,115200 rw root=/dev/mtdblock1 rootfstype=jffs2
вырезки из лога:
Код
Creating 2 MTD partitions on "atmel_nand":
0x000000000000-0x000000400000 : "Part1"
0x000000400000-0x000010000000 : "Part2"
JFFS2: Block at 0x02000000 is bad
JFFS2: Block at 0x02560000 is bad
JFFS2: Block at 0x04d60000 is bad
JFFS2: Block at 0x068c0000 is bad
JFFS2: Block at 0x08ee0000 is bad
JFFS2: Block at 0x08f60000 is bad
JFFS2: Block at 0x0b240000 is bad
JFFS2: Block at 0x0b640000 is bad
JFFS2: Block at 0x0b920000 is bad
JFFS2: Block at 0x0ca00000 is bad
JFFS2: Block at 0x0d400000 is bad
JFFS2: Block at 0x0e660000 is bad
JFFS2: Block at 0x0ec80000 is bad
VFS: Mounted root (jffs2 filesystem) on device 31:1.
devtmpfs: mounted
Freeing init memory: 128K
Populating /dev using udev: done
Welcome to the Erik's uClibc development environment running on the AT91SAM9260EK
at91sam9260dfc login: root
Password:
[root@at91sam9260dfc ~]# df -h
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 258048 36500 221548 14% /
tmpfs 29984 0 29984 0% /tmp
[root@at91sam9260dfc ~]# ls /
bin/ linuxrc@
bin.tar.gz mnt/
bini opt/
boot/ proc/
config/ root/
dev/ sbin/
etc/ sys/
home/ tmp/
i2c-tools_3.0.1.orig.tar.gz usr/
lib/ var/
[root@at91sam9260dfc ~]# touch /
[root@at91sam9260dfc ~]#

рутовую взял из того что подвернулось под руку..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
TBEPDOff
Добавлено 08.01.2011 01:00 Сообщение: 6
TBEPDOff
5

Пункты: 869
Регистрация: 07.12.2010
Пол: Мужчина
Из: Украина
Приветствую.
Долго меня небыло :(

jffs2 таки получилось поставить в нанд. Вот только она загружается единожды.

Затем, после перезагрузки, либо убут либо ядро не загружается. Убут просто не стартует, ядро ругается на контрольную сумму, думаю при старте происходят какие-то изменения в нанд флеш, в итоге портятся данные.

Пробовал считать поврежденное ядро самбой. В итоге нельзя было считать. только небольшая часть, дальше сообщение об ошибке, что невозможно считать.

EXT2 запустить получилось на нанде. После перезагрузки все норм. Но иногда при работе вылетает в панику. После перезагрузки система становится только для чтения. Любые попытки изменить содержимое, приводят к сообщению что система только для чтения.
Спуститься к концу Подняться к началу
Персональная информация
klon4uk
Добавлено 02.10.2012 09:49 Сообщение: 7
klon4uk
5

Пункты: 5960
Регистрация: 20.06.2012
решили как нибудь проблему ? а то такая же фигня ...
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 02.10.2012 11:15 Редактировалось 02.10.2012 11:18 Сообщение: 8
sasamy
4.71

Пункты: 83540
Регистрация: 14.08.2009
Цитата

решили как нибудь проблему ?


Неужели у вас нет руководства к плате ?
Спуститься к концу Подняться к началу
Персональная информация
klon4uk
Добавлено 02.10.2012 12:09 Сообщение: 9
klon4uk
5

Пункты: 5960
Регистрация: 20.06.2012
а чем мне может помочь руководство если пытаюсь подсунуть rootfs то он мне что то нехорошее с nandом делает, 1 раз нормально загружаеться а вот потом как то не хочет...
хмм пойду перечитаю руководство ...
хотя сомневаюсь что там будет решение...
Спуститься к концу Подняться к началу
Персональная информация
lexx666
Добавлено 04.10.2012 15:16 Редактировалось 04.10.2012 15:16 Сообщение: 10
lexx666
3.83

Пункты: 11780
Регистрация: 28.07.2011
Пол: Мужчина
Из: Барнаул
Скиньте руководство куда-нибудь, а то сайте в открытом доступе его нет.
Плату не покупал, не юзал, но чем смогу помогу.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » SK-AT91SAM9XXXXX-S3E