[mdk-re] Junior: gcc not work.
Sergey Vlasov
=?iso-8859-1?q?vsu_=CE=C1_mivlgu=2Emurom=2Eru?=
Вт Июл 17 19:58:11 MSD 2001
On Tue, 17 Jul 2001 21:18:49 +0600
Igor Solovyov <is13 на inbox.ru> wrote:
> Hi!
> On Tue, 17 Jul 2001 18:39:55 +0400
> Sergey Vlasov <vsu на mivlgu.murom.ru> wrote:
>
> > Такой вариант нужен в том случае, когда есть и CD-ROM, и CD-R/RW. В
этом
>
> Да. У меня так и есть.
>
> > случае должен сначала загружаться ide-cd (с опцией ignore=hd? в
> > /etc/modules.conf, чтобы он не занял CD-R), потом ide-scsi (для
CD-R), и
> > только потом sr_mod (для работы CD-R как CD-ROM). Если ide-scsi
> > загрузить раньше ide-cd, он заберет себе все незанятые устройства, в
том
> > числе и CD-ROM, и после загрузки sr_mod получится /dev/scd0 и
/dev/scd1,
>
> Не совсем так. Вот глядите:
>
> $ ls -l /dev/cdrom
> lrwxrwxrwx 1 root root 3 Июл 18 2001 /dev/cdrom ->
hdc
> $ ls -l /dev/cdrom2
> lrwxrwxrwx 1 root root 4 Июл 18 2001 /dev/cdrom2 ->
scd0
>
> Т.е. первый (cdrom) все же кажет на hdc, а второй (резак) на scd0.
Ну вот прямо сейчас на машине имеем:
hda - QUANTUM FIREBALLlct15 15
hdc - Vendor: MITSUMI Model: CR-4804TE Rev: 2.8C (CD-RW)
hdd - Vendor: Model: ATAPI CDROM.48X Rev: 130Y (CD-ROM)
(ну вот такой безымянный CD-ROM, у него к тому же и DMA не работает)
Ядро 2.4.5-alt5-up.
Начинаем с выгрузки всего лишнего, получаем:
# lsmod
Module Size Used by
i810 61904 1
parport_pc 23440 1 (autoclean)
lp 5872 1 (autoclean)
parport 23136 1 (autoclean) [parport_pc lp]
winbond-840 11760 1 (autoclean)
ipx 14112 1 (autoclean)
ipchains 27712 0 (unused)
nls_koi8-r 3856 2 (autoclean)
nls_cp866 3856 2 (autoclean)
vfat 8496 2 (autoclean)
fat 28256 0 (autoclean) [vfat]
agpgart 21216 7
Т.е. никаких модулей, имеющих отношение к CD, нет. В /etc/modules.conf
имеется две строки по этому поводу:
alias scsi_hostadapter ide-scsi
options ide-cd ignore=hdc
Делаем modprobe sr_mod. В результате загружается дополнительно:
Module Size Used by
ide-scsi 7312 0 (autoclean)
sr_mod 12672 0 (unused)
cdrom 27168 0 [sr_mod]
Сообщения ядра после этого:
scsi0 : SCSI host adapter emulation for IDE ATAPI devices
Vendor: MITSUMI Model: CR-4804TE Rev: 2.8C
Type: CD-ROM ANSI SCSI revision: 02
Vendor: Model: ATAPI CDROM.48X Rev: 130Y
Type: CD-ROM ANSI SCSI revision: 02
Attached scsi CD-ROM sr0 at scsi0, channel 0, id 0, lun 0
Attached scsi CD-ROM sr1 at scsi0, channel 0, id 1, lun 0
sr0: scsi3-mmc drive: 24x/24x writer cd/rw xa/form2 cdda tray
Uniform CD-ROM driver Revision: 3.12
sr1: scsi3-mmc drive: 0x/24x cd/rw xa/form2 cdda tray
Убираем ide-scsi, sr_mod, cdrom - получаем опять тот же список модулей.
Теперь делаем сначала modprobe ide-cd, потом modprobe sr_mod. Получаем:
Module Size Used by
ide-scsi 7312 0 (autoclean)
sr_mod 12672 0 (unused)
ide-cd 25952 0
cdrom 27168 0 [sr_mod ide-cd]
Сообщения ядра по этому поводу:
ide-cd: ignoring drive hdc
hdd: ATAPI 24X CD-ROM drive, 128kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.12
scsi0 : SCSI host adapter emulation for IDE ATAPI devices
Vendor: MITSUMI Model: CR-4804TE Rev: 2.8C
Type: CD-ROM ANSI SCSI revision: 02
Attached scsi CD-ROM sr0 at scsi0, channel 0, id 0, lun 0
sr0: scsi3-mmc drive: 24x/24x writer cd/rw xa/form2 cdda tray
Результат налицо - ide-scsi захватывает все свободные устройства,
поэтому ide-cd надо загружать раньше него.
Кстати, еще замечание: hdparm /dev/hd? требует, чтобы был загружен
драйвер ide-* для указанного устройства, причем для CD-ROM/R/RW
автоматически загружается ide-cd. При использовании
/etc/sysconfig/harddisk/hd? это происходит раньше обработки
/etc/modules. А вот для устройства, указанного в options ide-cd
ignore=hd?, параметры установить нельзя:
# hdparm -d1 /dev/hdc
/dev/hdc: No such device or address
# dmesg
...
ide-cd: ignoring drive hdc
hdd: ATAPI 24X CD-ROM drive, 128kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.12
hdc: driver not present
Точнее, параметры установить можно, но только после загрузки ide-scsi. А
при удалении и перезагрузке ide-cd опять устанавливается using_dma=1.
Подробная информация о списке рассылки community