| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Программирование под Unix/Linux > Написание драйвера блочного устройства |
| Автор: chetr 14.10.2006, 11:36 |
| Изучаю Linux Device Drivers. Пишу драйвер флеш диска , расположенного на PCI плате. Нужно сделать так, чтобы его можно было разбивать на разделы, располагать на нём файловую систему и т.д. Как это реализовать? Нужно ли представлять устройство как devfs? И вообще где можно почитать про devfs и devfs_fs_kernel.h? |
| Автор: MAKCim 14.10.2006, 11:42 |
| А что, в книге не написано? Хорошая книга Р. Лав "Разработка ядра Linux", но там - общие принципы и архитектура (зато есть целая глава с описанием принципов блочного ввода/вывода) |
| Автор: GrayCardinal 16.10.2006, 05:09 |
| chetr, Угу, нашло значитца вдохновение, и вы стали писать драйвер флэш диска, чисто от нефиг делать, да ? Ну-ну. ЗЫ При регистрации девайса там указывается соклько разделов будет и их размеры, это я точно помню, для 2.6.x Про devfs читать не стоит, ибо устаревший мусор. Лучше читать про udev. |
| Автор: MAKCim 16.10.2006, 16:47 | ||
Ну а что, для повышения квалификации не вредно, вещь полезная (в смысле разработка драйвера) |
| Автор: chetr 16.10.2006, 21:26 |
| Автор: MAKCim 16.10.2006, 22:19 | ||
ну я так полагаю у тебя есть блочный спец. файл для устройства. ну дык в strace должно быть что-то типа open("/dev/<твое устройство>", <flags>, <mode>); это и есть обращение к твоему драйверу |
| Автор: GrayCardinal 17.10.2006, 07:10 | ||
Ну и об чем дальше разговор ?! Хочешь потом всю жизнь бумбук курить и бабло зашибать ? Так и учись, млин. Тьфу, черт............ Опять у меня депрессняк. |
| Автор: chaos 17.10.2006, 10:35 |
| а есть у кого книга Лав Р. Разработка ядра Linux в электронном виде или может кто знает где скачать? Заранне благодарне |
| Автор: MAKCim 17.10.2006, 17:11 | ||
Что-то мне кажется что нет Попробуй google Вообще книга стоющая, однако в русском варианте уж очень много очепяток и ошибок |
| Автор: bel_nikita 17.10.2006, 17:50 |
| chetr, копай в сторону RFD (Resident Flash Disk). |
| Автор: MAKCim 18.10.2006, 22:13 |
| chaos нашел книгу на английском http://www.iakovlev.org/index.html?p=1021&m=1&l1=5 |
| Автор: chetr 26.12.2006, 19:51 |
| Разобрался, написал...теперь нужно сделать так, чтобы можно было её разбивать на разделы простым fdisk'ом. Реализовал, как сделано в hd.c. Но вот проблема...когда я вызываю mkfs /dev/myflash, то затирается MBR. Отсюда вопрос где связь между mkfs и номером minor? Как VFS понимает куда писать boot сектор? Почему я так решил, потому что если принудительно ставить условие if (minor == 1) offset+=512; то mkfs не затирает MBR. |
| Автор: bsa 26.12.2006, 21:27 |
| /dev/sda != /dev/sda1 ты же не пытаешься создавать файловую систему на /dev/sda, а делаешь ее на /dev/sda1, который является первым разделом /dev/sda |
| Автор: chetr 26.12.2006, 22:14 |
| Извините опечаточка получилась, |