размер и смещение известны.
static struct mtd_info *ezx_mymtd; // L18 flash mtd device
static struct map_info *bulverde_map;
static struct mtd_partition extra_partitions[] = {
{ offset: 0x02601000, size: 0x19fffec, name: "R/W RootFS" },
};
#define NB_OF(x) (sizeof(x)/sizeof(x[0]))
static int __init init_rwflash(void) {
int ret;
struct mtd_part *part0 = PART(get_mtd_device(NULL, 0)); // get first mtd partition
ezx_mymtd = part0->master; // from partition get master mtd device
bulverde_map = ezx_mymtd->priv;
printk(KERN_INFO "RW Flash loaded\n");
// add extra r/w partitions
ret = add_mtd_partitions(ezx_mymtd, extra_partitions, NB_OF(extra_partitions));
if(ret == 0) {
printk(KERN_INFO "RW Flash: Added extra_partitions.\n");
} else {
printk(KERN_INFO "RW Flash: Error during partition add. add_mtd_partitions returned %d\n", ret);
}
}
гружу. в /proc/mtd что нужно появляется:
mtd14: 019ff000 00020000 "R/W RootFS"
создаю устройства:
mknod /dev/mtd14 c 90 28
mknod /dev/mtdblock14 b 31 14
на чтение устройство работает - фс оттуда монтируется.
но flash_unlock - отваливается. вот выхлоп strace:
open("/dev/mtd14", O_RDWR) = -1 EACCES (Permission denied)
write(2, "Could not open mtd device: /dev/"..., 38Could not open mtd device: /dev/mtd14
) = 38
где зарыта собака?

Ответ на:
комментарий
от tailgunner


Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Драйвер для биореактора под Linux 2.6 (2005)
- Форум mmap из ядра в приложение. (2011)
- Форум Чтение заголовка ФС USB в загружаемом модуле ядра (2025)
- Форум Перехват системных вызовов в модуле ядра [Ubuntu] (2018)
- Форум PCI driver (2020)
- Форум Производительность AF_PACKET RAW и AF_INET SOCK_STREAM сокетов в ядре. (2010)
- Форум Переслать полученный пакет (2012)
- Форум по следам «проблемы с es8336» (2023)
- Форум поток ядра созданный kthread_create() не может создать или открыть файл используя filp_open() (2020)
- Форум Драйвер чтения и записи (2013)