[Devel] Загрузка тестовой графической станции

Evgeny Sinelnikov sin на altlinux.ru
Пн Авг 15 12:29:59 MSD 2011


Здравствуйте,

пишу, чтобы не забыть. На графической станции, пришедшей на замену,
были проблемы с загрузкой - система висла на стадии инициализации
compact flash. Флешка там определялась как hda, а не hdb.

Сначала странным выглядел вывод:
 ide_generic: I/O resource 0x1F0-0x1F7 not free.
хотя он есть во всех загрузках контроллеров.

Избавиться от этого загрузить удалось убрав старые IDE-драйвера из initrd:
# mkinitrd --omit-ide-modules
при этом загрузился новый стек драйверов и все устройства стали
называться /dev/sdX
Тормоза при загрузке остались...

Мы, с этой проблемой оказались не одиноки:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/285595
http://www.linuxquestions.org/questions/linux-kernel-70/compact-flash-dma-doesnt-work-and-i-cant-disable-it-734489/

Вот эти опции используются для отключения DMA на отдельных каналах в
старых IDE драйверах, и типах устройств на новых LIBATA драйверах :
	ide-core.nodma=	[HW] (E)IDE subsystem
			Format: =0.0 to prevent dma on hda, =0.1 hdb =1.0 hdc
			.vlb_clock .pci_clock .noflush .noprobe .nowerr .cdrom
			.chs .ignore_cable are additional options
			See Documentation/ide/ide.txt.


	libata.dma=	[LIBATA] DMA control
			libata.dma=0	  Disable all PATA and SATA DMA
			libata.dma=1	  PATA and SATA Disk DMA only
			libata.dma=2	  ATAPI (CDROM) DMA only
			libata.dma=4	  Compact Flash DMA only
			Combinations also work, so libata.dma=3 enables DMA
			for disks and CDROMs, but not CFs.


Избавиться от замедления удалось с помощью опции 'libata.dma=3':
image="/boot/vmlinuz-2.6.27-asu-def-alt16.3.M50P.4.Build2"
        initrd="/boot/initrd-2.6.27-asu-def-alt16.3.M50P.4.Build2.tmp.noide.img"
        label="GUI-2627-tmp-noide-nodma"
        root="LABEL=rootfs"
        append="libata.dma=3"
        read-only
        optional

При этом, оказалось, что и старый вариант драйверов дработает на
тестовой станции, если указывать опцию 'ide-core.nodma=0.0':
image="/boot/vmlinuz-2.6.27-asu-def-alt16.3.M50P.4.Build2"
        initrd="/boot/initrd-2.6.27-asu-def-alt16.3.M50P.4.Build2.img"
        label="GUI-2627-nodma"
        root="LABEL=rootfs"
        append="ide-core.nodma=0.0"
        read-only
        optional

Вот так выглядит инициализация на граф станции со старыми IDE
драйверами и отключенным DMA для /dev/hda:

[    1.202960] ide: disallowing DMA for hda
[    1.206039]     ide0: BM-DMA at 0xf000-0xf007
[    1.209094]     ide1: BM-DMA at 0xf008-0xf00f
[    1.212148] Probing IDE interface ide0...
[    1.500121] hda: Fastwel Group Ltd. MIC23005 512MB, ATA DISK drive
[    1.836030] hda: host max PIO4 wanted PIO255(auto-tune) selected PIO4
[    1.836120] hda: host max PIO4 wanted PIO255(auto-tune) selected PIO4
[    1.836190] Probing IDE interface ide1...
[    2.124121] hdc: ST940813AM, ATA DISK drive
[    2.796024] hdc: host max PIO4 wanted PIO255(auto-tune) selected PIO4
[    2.797412] hdc: host side 80-wire cable detection failed, limiting
max speed to UDMA33
[    2.800837] hdc: UDMA/33 mode selected
[    2.804852] ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
[    2.809105] ide1 at 0x170-0x177,0x376 on irq 15
[    2.894581] hda: max request size: 128KiB
[    2.898054] hda: 1023120 sectors (523 MB) w/0KiB Cache, CHS=1015/16/63
[    2.912005] hda: cache flushes supported
[    2.915507]  hda: hda1
[    2.920198] hdc: max request size: 512KiB
[    2.928064] hdc: 78140160 sectors (40007 MB) w/8192KiB Cache,
CHS=16383/255/63
[    2.931805] hdc: cache flushes supported
[    2.935439]  hdc:<6>ide_generic: please use "probe_mask=0x3f"
module parameter for probing all legacy ISA IDE ports
[    2.945269] ide_generic: I/O resource 0x1F0-0x1F7 not free.
[    2.949247] ide_generic: I/O resource 0x170-0x177 not free.
[    2.953144]  hdc1 hdc2 < hdc5 hdc6 >
[    3.045705] SCSI subsystem initialized
[    3.236722] Driver 'sd' needs updating - please use bus_type methods
[    3.248652] No dock devices found.
[    3.271632] libata version 3.00 loaded.


-- 
Sin (Sinelnikov Evgeny)


Подробная информация о списке рассылки Devel