Осваиваю разбиение флеш-памяти на MTD разделы.
Похожая тема обсуждалась здесь:
http://electronix.ru/forum/index.php?showtopic=66883но она не раскрывает мой вопрос.
Возник вопрос как правильно прописывать строку агрументов для ядра линукс.
И так, на плате есть АТ45 и NAND флешки. Хочу создать на обоих разделы MTD.
Описываются разделы в след. формате:
Цитата
* mtdparts=<mtddef>[;<mtddef]
* <mtddef> := <mtd-id>:<partdef>[,<partdef>]
* where <mtd-id> is the name from the "cat /proc/mtd" command
* <partdef> := <size>[@offset][<name>][ro][lk]
* <mtd-id> := unique name used in mapping driver/device (mtd->name)
* <size> := standard linux memsize OR "-" to denote all remaining space
* <name> := '(' NAME ')'
К примеру у меня в загрузчике строка, которая создает один раздел на всю флеш:
root=/dev/mtdblock0 mtdparts=atmel_nand:-(root) rw rootfstype=jffs2лог с загрузки:
Код
NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB 3,3V 8-bit)
Scanning device for bad blocks
Bad eraseblock 1833 at 0x00000e520000
1 cmdlinepart partitions found on MTD device atmel_nand
Creating 1 MTD partitions on "atmel_nand":
0x000000000000-0x000010000000 : "root"
Собственно вопрос по "mtd-id".
Как ядро поняло, что
Samsung NAND это
atmel_nand и надо создать раздел именно на ней?
Как объяснить ядру, что раздел лежит в "одной из" флеш?
Есть ли какие-то правила формирования этого имени?
Согласно доке, можно из
/proc/mtd взять готовое имя, но для этого надо загрузить ФС, а чтобы запустить ФС надо сформировать разделы MTD.. тема курицы и яйца.
Зараннее благодарю откликнувшимся!