[Hardware] DiskOnShip
Sergey Vlasov
vsu на altlinux.ru
Чт Май 26 15:16:58 MSD 2005
On Thu, May 26, 2005 at 10:04:37AM +0400, Aleksey P. Karelin wrote:
> Слабо надеюсь на ответ, но все-таки...
> Есть индустриальный компьютер MSMP3SEN. ALT Linux 2.4 Master встал на
> него почти без проблем (есть некоторые шероховатости, но это мелочи). К
> этому компьютеру имеется флеш-диск DiskOnChip 2000, на адаптере
> MSMF104-2D. Есть драйвера. (Кстати для windows они не нужны - система
> видет этот девайс как жесткий диск и покойно на него пытается
> установиться).
Win98? Там, скорее всего, работа с таким диском идёт через BIOS.
> 1. Проинсталировать linux при установленном DiskOnChip не получается
> инсталятор виснет на 1%, виснет намертво.
На 1% при загрузке ядра?
> У меня здесь одно объяснение - нехватка базовой памяти. Вместо 640 кБ,
> свободно остается 574 кБ.
Да, это вполне вероятно - одно время с DiskOnChip по этой причине не
работали ни GRUB, ни LILO (а к драйверам для Linux прилагались какие-то
альтернативные бут-блоки для самого DiskOnChip, а также патченая версия
lilo). Вроде бы в GRUB это правилось.
В принципе можно попытаться сделать загрузочную дискету с GRUB, положив на
неё ядро со стандартной дискеты для установки и скопировав параметры ядра
из конфигурации syslinux (в GRUB вроде бы можно организовать ожидание
смены дискеты для загрузки initrd).
> 2. Если установить linux без DiskOnChip на обычный винчестер, а затем
> его воткнуть, то стартовать систему можно только с помощью загрузочной
> дискеты. Подоразумеваю, что опять-таки нехватка памяти при старте
> штатным lilo на жестком диске.
На самом деле тут ещё может быть конфликт с самим DiskOnChip - возможно,
система пытается грузиться именно оттуда.
> При этом наличие девайса в компьютере никак не обозначено.
Вполне естественно - это же фактически ISA-устройство, для которого нет
нормального механизма распознавания.
В принципе в ядре уже есть драйвер для DiskOnChip, но, возможно, в ядрах
2.4.x он несколько устарел. Нужно загрузить следующие модули:
1) modprobe docprobe (этот модуль должен определить тип DiskOnChip и
загрузить соответствующий драйвер - doc2000 или doc2001);
2) modprobe nftl (этот модуль обеспечивает работу со структурами NFTL,
используемыми в DiskOnChip для эмуляции обычного блочного устройства).
Файлы устройств /dev/nftl* в стандартном пакете dev отсутствуют - их нужно
создать самостоятельно:
mknod /dev/nftla b 93 0
mknod /dev/nftla1 b 93 1
...
mknod /dev/nftla15 b 93 15
mknod /dev/nftlb b 93 16
mknod /dev/nftlb1 b 93 17
...
После этого с /dev/nftla можно будет работать как с обычным диском
(создавать на нём разделы и т.д.).
Замечание по поводу создания initrd: там нужно сначала загрузить модуль
doc2000, а после него - docprobe (поскольку механизм автозагрузки нужного
модуля, используемый в docprobe, в initrd не сработает из-за отсутствия
там modprobe, да и mkinitrd не определит необходимость добавления модуля
doc2000 в initrd автоматически).
Свободный драйвер nftl не совсем хорош - там не реализован wear leveling,
что в принципе может сократить срок службы устройства. Хотя неизвестно,
что на самом деле реализовано в закрытом драйвере от M-Systems, поскольку
исходников нет.
Теоретически можно вообще обойтись без NFTL, используя вместо этого
файловую систему jffs2; при этом придётся заменить и загрузчик - в MTD CVS
есть патчи для GRUB. http://www.linux-mtd.infradead.org/source.html
> 3. Как говорил, есть драйвера под linux. Процедура установки:
[skip]
> На пункте 2.2 я как начал - так и остановился. Даю команду:
>
> patch -p1 -d /usr/src/kernel/sources < linux-2_4-patch
Это неправильно - в /usr/src/kernel/sources лежат упакованные исходники
ядра, а патч должен применяться к распакованным исходникам.
В принципе можно создать пакет kernel-feat-drivers-diskonchip с этим
патчем, после чего собрать пакет ядра с применением этого патча. Однако
вполне вероятно, что можно собрать этот драйвер и отдельным модулем,
немного поработав напильником.
-------------- next part --------------
z'╣ЛmjшZr··э╡г+╧╤чtж╕zz-jЖ╒∙╕Еy<╘y╙i√'╤*'Ч≤)╡('jш╚y(Ё{_=o+^╟7╛rz-jЖ╒∙╕ЕyJЕ├шiЪЫb╡ш√ыb·Лk╩Зb╔ЙФj)┘╙ща╙чЩ╚miхfz{lЪm4ГNvКЩ╣}Г⌡сз╤ж°├g╖╥M4у╦╖
Подробная информация о списке рассылки Hardware