[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