Вы меня извините, но я хотел у Вас спросить, где в ядре, при его конфигурации указать расположение фс, я думал, что это нужно указать в строке Default kernel command string. Но по-видимому, либо это не так, либо я неправильно это делаю.
фс(взята с linux4sam, angstrom) на nand, а ядро (2.6.37, собственноручно собранное) на dataflash...
правильно думаете, именно там и прописывайте.
есть еще вариант, я о нем только знаю, пользовался, но сам не настраивал: это когда ядру параметры передаются из окружения Uboot
чтобы проверить себя и спросить о проблеме достаточно посмотреть в логе с какими параметрами стартовало ядро, например у меня типа вот так:
где после слова root указано где искать корневую..
так а ФС где сейчас лежит? был невнимательным - на нанде..
а нандфлеш у вас в ядре прописан?
а поддержка ФС на нанде включена?
а рутовая в каком виде - единый бинарник или архив дерева?
а как положили? эту тему тут на форуме обсуждали..
При старте ядра в Kernel command line, тоже самое, что и показывает команда printenv
bootargs=console=ttyS0,115200 root=/dev/mtdblock0 mtdparts=at91_nand:-(root) rw
rootfstype=jffs2.
Поддержка ФС на нанде должна быть включена, поскольку, если загружать эту же ФС только с "ядром производителя" она красиво стартует.
rootfs в следующем виде: Angstrom-x11-at91sam9m10-image-glibc-ipk-2009.X-stable-at91sam9m10g45ek.rootfs.jffs2
Просто записал на нанд по адресу (указанному на linux4sam ) 0x400000
Clocks: CPU 400 MHz, master 133 MHz, main 12.000 MHz byte written : 0x18c0 Bytesstop autoboot: 0ersi
-I
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512..nd : 8 --- status : 0)
-I- End of appl
-
-I- WRITE at offset: 0x167e
Kernel command line: console=ttyS0,115200 root=/dev/mtdblock0 mtdparts=at91_nandage (uncompressed)
у меня вот такое сообщение при старте ядра и ФС производителя..
упс.. упустил важный момент - в файле платы надо прописать разделы их адреса и размеры
поищите по форуму, вроде расписывали что и как
вот тут я получил положительный результат, увы подробностей не помню
там можно посмотреть примеры строки для загрузки с нанда линк
а разве то, что ядро и фс с linux4sam отлично запускаются, не говорит о том, что разделы, их адреса и размеры уже прописаны?
я добрался до следующего момента в загрузке:
....
mtd->read(0x100 bytes from 0xbf60000) returned ECC error
uncorrectable error :
mtd->read(0x100 bytes from 0xbf80000) returned ECC error
uncorrectable error :
mtd->read(0x100 bytes from 0xbfa0000) returned ECC error
uncorrectable error :
mtd->read(0x100 bytes from 0xbfc0000) returned ECC error
uncorrectable error :
mtd->read(0x100 bytes from 0xbfe0000) returned ECC error
а после:
VFS: Mounted root (jffs2 filesystem) on device 31:1.
Freeing init memory: 120K
Kernel panic - not syncing: No init found. Try passing init= option to kernel.
See Linux Documentation/init.txt for guidance.
Кто-нибудь встречался с таким или может что-то посоветовать?
Наконец-то, получилось!) Проблема была решена переходом на более раннюю версию ядра (2.6.30) и в переменную окружения bootargs явно указал следующее:
'root=/dev/mtdblock0 rw rootfstype=jffs2'
раннее в этой переменной было записано:
'root=/dev/mtdblock1 rw rootfstype=jffs2'
При загрузке системы несколько предупреждений появляются следующего вида:
WARNING: Couldn't open directory /lib/modules/2.6.30_my_RDM: No such file or directory
и
FATAL: Could not open /lib/modules/2.6.30_my_RDM/modules.dep.temp for writing: Nor -22(irq = 1) is a ATMEL_SERIALdress, using random0x302cd
bio: create slab <bi
o such file or directoryl_usart.2: tt
Насколько я понимаю, это из-за того, что фс с linux4sam, а ядро, собранное мной; и, по-видимому, ядро на которое была рассчитана данная фс было модульным, а мое-монолитное. Тогда эти предупреждения нестрашны, или я неправильно думаю?