The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Установка Linux на RoverBook (linux notebook)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: linux, notebook,  (найти похожие документы)
From: Вячеслав Калошин <[email protected]> Newsgroups: http://linuxnews.ru/docs/new/rover/notebook.txt Date: Mon, 29 Dec 2002 13:01:37 +0000 (UTC) Subject: Установка Linux на RoverBook Купил я тут со скуки (дома книжки все перечитаны, телевизора нет, жены уже нет и вообще тихо) ноутбук. Относительно дешевый ноутбук от Clevo, который успешно маскируется под отечественный Roverbook Voyager KT5. Продали мне его аж с лицензионной WinXP HE. Поглядел я на это со всех сторон и решил поставить все-таки туда линукс. Во-первых, привычнее, а во-вторых, mplayer играет кино на порядок чище и лучше (Media Player заикается и теряет кадры, хотя с какого перепугу он это делает - я так и не понял). Итак, как вы поняли, эта статья посвящена установке linux на ноутбук. То, что я взял для острастки именно ровер - не имеет значения. Те же действия я делал со всеми своими ноутами. А их прошло через мои руки штук семь, не меньше. Три тошибы, два ибм, два ровера и по одному асусу с деллом. Во, получается девять. На всех с тем или иным успехом стоял линукс. Как обычно, отмазка: Это писалось в расчете на тех людей, которые не ищут везде linuxconf и смогут если что, поправить текстовый файл без участия midnight commander и прочих штучек. БОЛЬШАЯ ОТМАЗКА: Я грохнул на этот ноут половину декабря, танцуя с бубном вокруг него. Но это не значит, что я плохо танцую ;). Это значит, что я специально наступил на все грабли, на которые можно наступить в этой области. И специально их записывал. Пользуйтесь поисковиками и пропустите кучу грабель. Вроде как начало. "Откуда есть пошла земля ноутбучная ..." Ноутбуки - это довольно хитрые машинки. С одной стороны, задачу облегчает тот факт, что у всех ноутбуков в пределах одной модели одно и то же железо, поэтому найти таких же счастливцев не составляет особого труда. Взять хотя бы сайт http://linux-laptop.net/ - на нем собрано очень много ссылок на процесс установки linux на разные ноуты. Но с другой стороны, железо, применяемое в ноутах, иногда настолько экзотично, что бесполезно к нему даже подступаться с какой-то стороны ... Как и везде, в linux на ноутбуках есть три стадии поддержки железа. Первая - это когда все и везде работает с нативной поддержкой. Вторая - это когда работает, но через обходные пути или с применением трюков. Третья - когда не работает и работать не будет. У меня в третью стадию пока попадали только IrDA чипсеты от Texas Instruments. Ладно, не будем растекаться мыслями по матрице, приступим. Вам необходимо иметь ноутбук и свой любимый дистрибутив в полном комплекте. В данном случае я использовал RedHat 7.3. Да, чуть не забыл. Не всегда вам удасться наступить на все те грабли, на которые я наступил специально, а может, удасться наступить на те грабли, на которые я не наступал еще. В общем, это было последнее предупреждение. Первый этап. "Лишь бы взлететь, а там поглядим ..." Тут я напарывался на две проблемы. Либо машина не умеет загружаться с CDROM, либо умеет, но неправильно. Первая проблема характерна для старых ноутбуков, которые просто не подозревают, что можно загрузиться с компакт-диска. Решение тривиально - делаем загрузочую дискету и загружаемся. Вторая проблема сложнее. Я один раз работал с относительно новой тошибой, которая без проблем загружалась со своих rescue дисков, но наотрез отказывалась воспринимать любой диск из серии "все в одном" или linux. Это обходится тоже довольно просто - создается раздел на диске, туда ставится виндовс (дос для разбирающихся) и рядом ложится полный дистрибутив или загрузчик. К примеру, с помощью asplinux такое обходится очень легко. На текущем ровере никаких таких проблем нет, поэтому просто выставляем в биосе загрузку с компакт-диска и загружаемся. Так как в 99% случаев конфигуратор не распознает все в ноутбуке, я ставлю дистрибутив, просто разметив диск и подгоняя его хворостиной. Если говорить грубо, то я размечаю диск так, как я хочу, говорю ставить все для девелопмента и ядра с исходниками, запрещаю графический логин и убираю всякие свистульки типа grub, asploader - lilo привычнее. Главное на этом этапе - поставить линукс на ноут так, что бы он стоял. Пусть он не видит модема, видео и всего остального - не беда. Главное, что бы он загружался и видел привод компакт-дисков. Если он что другое увидит - это будет просто в плюс. На этом этапе я сталкивался только с одной проблемой - на слабых машинах для инсталлятора не хватало памяти. Выход простой - вручную (все дистрибутивы дают на этапе инсталляции свободную консоль) создать своп и подключить его. Главное - потом не забыть запретить инсталлятору трогать его. Второй этап. "Накачивание мускулов" Этот этап одновременно самый простой и не самый простой. Вам необходимо обновить дистрибутив до современного состояния. Конечно, можно этот этап пропустить, но тогда можно напороться на ситуацию, когда пытаешься заставить работать железку, к которой драйвер лежит в обновлениях. Тут пригодится привод компакт дисков или работающий сетевой адаптер. Если есть возможность, попробуйте воткнуть в PCMCIA сетевую карточку - очень много шансов, что линукс ее подхватит на лету. В общем, не мне вас учить, как обновить свой дистрибутив до современного состояния. Итак, дистрибутив обновлен, стоит и загружается без проблем (ну или с легкой руганью на какие-нибудь ошибки в периферии). Переходим к следующему этапу: Третий этап. "Кто я? Что я? Где я?". Определяем, что в ноутбуке видит linux и как это соотносится с реальной жизнью. Здесь есть несколько подводных камней. Первый камень - linux не видит то, что есть в ноутбуке. Второй - linux видит то, чего нет. Конфликты разрешаются путем визуального осмотра ноутбука. Первичный осмотр я начинаю с команды dmesg|less в консоли. Пойдем по порядку: Linux version 2.4.18-19.7.x ([email protected]) (gcc version 2.96 20000731 (Red Hat Linux 7.3 2.96-112)) #1 Thu Dec 12 07:49:19 EST 2002 Факт. Именно на это ядро я проапгрейдил красную шляпу. 112MB LOWMEM available. Да, памяти мало, но именно столько, сколько на самом деле. Если это не так, попробуйте передать ядру через опцию mem= реальное количество. CPU: Intel(R) Celeron(R) CPU 1.70GHz stepping 03 Так, процессор определен правильно. Значит, и всякие фишки тоже на нужном месте будут. isapnp: Scanning for PnP cards... isapnp: No Plug & Play device found Это всего лишь означает, что никаких ISA карт, поддерживающих PNP, не найдено. Для данного ноутбука - это логично. Для старых - обычно звук сидит на ISA. vesafb: framebuffer at 0xf0000000, mapped to 0xc780d000, size 16384k vesafb: mode is 1024x768x16, linelength=2048, pages=4 vesafb: protected mode interface info at cbc5:0004 vesafb: scrolling: redraw vesafb: directcolor: size=0:5:6:5, shift=0:11:5:0 Console: switching to colour frame buffer device 128x48 fb0: VESA VGA frame buffer device Это я переключил вывод ядра в графику 1024x768x16 добвалением команды vga=791 при обновлении ядра и правке /etc/lilo.conf. Как видите, переход в графику завершен успешно. Визуально это выглядит, как появление пингвина в левом верхнем углу. Подробнее об этом читайте в документации на ядро. Serial driver version 5.05c (2001-07-08) with MANY_PORTS MULTIPORT SHARE_IRQ SER IAL_PCI ISAPNP enabled ttyS1 at 0x02f8 (irq = 3) is a 8250 Очень подозрительная строчка. Выходов последовательного порта у моего ноутбука нет. Будем надеяться, что это так проявил себя SIR IrDA. На другом ровере было еще лучше - там в чипсете было два полноценных порта, которые просто напросто не были разведены на плате. Линукс их видел, делал с ними все что угодно, но толку от этого было ноль ;-). PCI: Enabling device 00:02.6 (0000 -> 0001) PCI: No IRQ known for interrupt pin C of device 00:02.6. Please try using pci=bi osirq Это означает, что линукс не понял, где и на что откликается это устройство. Как мы увидим дальше, это Winmodem от SmartLink'а ... hda: TOSHIBA MK2018GAP, ATA DISK drive hdc: QSI CD-ROM SCR-242, ATAPI CD/DVD-ROM drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 ide1 at 0x170-0x177,0x376 on irq 15 hda: 39070080 sectors (20004 MB), CHS=2432/255/63, UDMA(100) ide-floppy driver 0.99.newide Ура! Линукс прекрасно распознал все шпинделя в ноутбуке и сам включил все, что полагается. usb.c: registered new driver usbdevfs usb.c: registered new driver hub usb-ohci.c: USB OHCI at membase 0xc8866000, IRQ 11 usb-ohci.c: usb-00:02.2, Silicon Integrated Systems [SiS] 7001 usb.c: new USB bus registered, assigned bus number 1 hub.c: USB hub found hub.c: 3 ports detected usb-ohci.c: USB OHCI at membase 0xc8868000, IRQ 10 usb-ohci.c: usb-00:02.3, Silicon Integrated Systems [SiS] 7001 (#2) usb.c: new USB bus registered, assigned bus number 2 hub.c: USB hub found hub.c: 3 ports detected Так. Вот еще один конфликт. Сзади у ноута всего лишь два разьема USB. Линуксу же контроллеры сказали, что у него их 6. Но это не беда. Лишние порты так и останутся фантомными и нигде не помешают. 8139too Fast Ethernet driver 0.9.25 PCI: Enabling device 00:0a.0 (0000 -> 0003) PCI: Found IRQ 11 for device 00:0a.0 divert: allocating divert_blk for eth0 eth0: RealTek RTL8139 Fast Ethernet at 0xc8885000, 00:90:f5:18:c0:26, IRQ 11 eth0: Identified 8139 chip type 'RTL-8139C' eth0: Setting 100mbps full-duplex based on auto-negotiated partner ability 45e1. Вот и сеть завелась. Благо в этом ровере стоит честный реалтек. Но и в других ноутах стоит обычно что-нибудь по умолчанию поддерживамое линуксом. По крайней мере я тут проблем не встречал. Все. На этом все закончилось. Приступаем ко второй части. То есть смотрим на устройства с другой стороны. В моем ноутбуке по определению нет ISA устройств, поэтому pnpdump я пропускаю. Кому интересно, прочитайте man isapnp - там все довольно понятно. На крайний случай попройтесь на linuxnews в разделе документация - я о конфигурировании ISA PnP карт уже писал. Поглядим, что у нас есть из PCI. Даем команду lspci [root@multnote root]# lspci 00:00.0 Host bridge: Silicon Integrated Systems [SiS]: Unknown device 0650 (rev 01) 00:01.0 PCI bridge: Silicon Integrated Systems [SiS] 5591/5592 AGP 00:02.0 ISA bridge: Silicon Integrated Systems [SiS] 85C503/5513 00:02.2 USB Controller: Silicon Integrated Systems [SiS] 7001 (rev 07) 00:02.3 USB Controller: Silicon Integrated Systems [SiS] 7001 (rev 07) 00:02.5 IDE interface: Silicon Integrated Systems [SiS] 5513 [IDE] (rev d0) 00:02.6 Modem: Silicon Integrated Systems [SiS] 56k Winmodem (Smart Link HAMR5600 compatible) (rev a0) 00:02.7 Multimedia audio controller: Silicon Integrated Systems [SiS] SiS7012 PCI Audio Accelerator (rev a0) 00:0a.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C (rev 10) 00:0b.0 FireWire (IEEE 1394): Texas Instruments TSB43AB21 IEEE-1394 Controller (PHY/Link) 1394a-2000 00:0c.0 CardBus bridge: ENE Technology Inc: Unknown device 1410 01:00.0 VGA compatible controller: Silicon Integrated Systems [SiS]: Unknown device 6325 Первым у нас идет системный чипсет. Линукс понял, что это Sis, но модель (650) не знает. Это в принципе плохо, но на реальной работе никак не сказывается. Затем следуют PCI и ISA мосты. Тут все в порядке, как и с USB и IDE контроллерами. Следующим идет модем. Система его знает, но проинициализировать не смогла (это я сужу по dmesg). В принципе не логично, но поглядим. Звук. Про звук мы знаем. Это хорошо. Попробовав на соседней консоли sndconfig, убеждаемся, что нам показывают фигу, говорят, что он отключен. Опять верно. Ибо у Sis звук вместе с модемом идет. Надо тоже пинать. Сетевая работат, это уже проверили. FireWire ... может он и работает. Но у меня нечем проверить. CardBus bridge. Как не работает ? Сую в слот pcmcia карточку и не слышу никаких писков и вообще все тихо. Первый в очередь на разборки. Видео. Аналогично. Вторая в очередь. Оглядываем ноут со всех сторон и видим, что осталось одно устройство, которое никак вроде не дало проявить себя. Это IrDA. findchip молчит как резанный. Ну что ж. FIR'а нам не видать. Есть слабая надежда на SIR, в общем, третий в очередь. Итак, после всех осмотров мы обнаружили в ноутбуке 3 нерабочих устройства. Это pcmcia слот, видео и инфакрасный порт. Разборки с PCMCIA Долго чешем репу, раздумывая с какого конца подобраться. Ведь на самом деле линукс знает не так много pcmcia контроллеров. Но ведь их не так много и в мире. Вспоминаем, что Windows ничего такого про контроллер не говорила и обзывала его стандартным контроллером PCMCIA. Это внушает надежду. Пробуем по порядку модули: i82092, i82365 и yenta_socket, не забывая выгружать их. Одновременно смотрим краем глаза в /var/log/messages. Наконец yenta_socket откликается в логах строчками, содержащими такую информацию: PCI: Enabling device 00:0c.0 (0000 -> 0002) PCI: Assigned IRQ 5 for device 00:0c.0 Yenta IRQ list 0000, PCI irq5 Socket status: 30000006 cs: IO port probe 0x0c00-0x0cff: clean. cs: IO port probe 0x0100-0x04ff: excluding 0x378-0x37f 0x480-0x48f 0x4d0-0x4d7 cs: IO port probe 0x0a00-0x0aff: clean Пока железо горячо, куем его. Правим /etc/sysconfig/pcmcia: PCMCIA=yes PCIC=yenta_socket PCIC_OPTS= CORE_OPTS= Теперь радостно суем в pcmcia слот первую попавшуюся карточку. В моем случае - это CompactFlash. Dec 21 22:26:09 localhost cardmgr[691]: initializing socket 0 Dec 21 22:26:09 localhost cardmgr[691]: socket 0: ATA/IDE Fixed Disk Dec 21 22:26:09 localhost kernel: cs: memory probe 0xa0000000-0xa0ffffff: clean. Dec 21 22:26:09 localhost cardmgr[691]: executing: 'modprobe ide-cs' Dec 21 22:26:10 localhost kernel: ide-cs: RequestIRQ: Resource in use Dec 21 22:26:11 localhost cardmgr[691]: get dev info on socket 0 failed: Resourc e temporarily unavailable Dec 21 22:36:47 localhost cardmgr[17769]: starting, version is 3.1.22 Dec 21 22:36:48 localhost cardmgr[17769]: config error, file './config.opts' lin e 8: no function bindings Dec 21 22:36:48 localhost cardmgr[17769]: open_sock(socket 0) failed: Device or resource busy Dec 21 22:36:48 localhost cardmgr[17769]: no sockets found! Dec 21 22:36:48 localhost cardmgr[17769]: exiting Ндас. Машина опознала, что в слот что-то запихали. И даже поняла, что запихали, но не смогла найти ресурсы для этого. Садимся и думаем, что могло вызвать такие коллизии. Первый и самый вероятный кандидат - это кривые двайвера. Но тут вроде не подходит, ибо все распозналось. Второй вариант - биос. Обычно они очень "умные" и дико любят играть прерываниями. Перегруаем машину, входим в биос и ставим APM вместо APIC (это запрещает некоторые хитрости с прерываниями и заодно говорит использовать более устаревшую схему управления питанием) и говорим сбросить всю конфигурацию (Reset configuration data). Машина послушно соглашается. Загружаем Linux. Смотрим на /var/log/messages и суем в слот CompactFlash. Dec 22 12:23:20 pooh cardmgr[652]: initializing socket 0 Dec 22 12:23:20 pooh cardmgr[652]: socket 0: ATA/IDE Fixed Disk Dec 22 12:23:20 pooh kernel: cs: memory probe 0xa0000000-0xa0ffffff: clean. Dec 22 12:23:20 pooh cardmgr[652]: executing: 'modprobe ide-cs' Dec 22 12:23:22 pooh kernel: hde: IBM-DMDM-10340, ATA DISK drive Dec 22 12:23:22 pooh kernel: ide2 at 0x100-0x107,0x10e on irq 5 Dec 22 12:23:22 pooh kernel: ide-floppy driver 0.99.newide Dec 22 12:23:22 pooh kernel: hde: 700560 sectors (359 MB) w/96KiB Cache, CHS=695 /16/63 Dec 22 12:23:24 pooh cardmgr[652]: executing: './ide start hde' Dec 22 12:23:24 pooh kernel: hde: hde1 Dec 22 12:23:24 pooh kernel: ide_cs: hde: Vcc = 3.3, Vpp = 0.0 Dec 22 12:23:48 pooh kernel: hde: hde1 Все опозналось правильно и подключилось прекрасно. Пробуем на других карточках. Все работает. Можно закрывать эту проблему. Разборки с видеокартой Итак, linux не знает, что за видеокарта стоит в машине. Но на то мы и люди, что бы знать, что у нас видеокарта на чипсете Sis модели 650. И довольно хорошая карта. Даже на два монитора одновременно может выводить. Но на данном этапе линукс упорно крутит своей башкой и отказывается заводить драйвера от sis. Плюем на это с высокой колокольни. Так как я заранее завел в консоли vesa framebuffer (vga=791) то решаю завести все через vesa. Второй монитор и прочие цацки будем заводить потом, если останется желание. Идем и правим /etc/X11/XF86Config-4. Находим описание драйвера и ставим там опцию Driver "vesa" (или "fbdev" для старых версий XFree). Затем ниже говорим, что у нас цветовое разрешение 16 бит на пиксел (DefaultDepth 16 в секции Screen) и разрешение 1024х768. Сохраняем все это и говорим startx. Скрипт сругается на то, что не смог найти нормального Window manager'а и будет использовать TWM (я просто грохнул всякие Gnome и KDE еще на этапе установки - у вас может быть все по другому). Смотрим на экран - да, графика появилась. Радуемся. Ибо в графике все как-то приятнее. Выходим. Графика заработала, посему закрываем этот вопрос. Разборки с IrDA. Как я говорил, c FIR мы сразу распрощались. Для очистки совести проверим - может SIR заведется ... Поглядим на первый и единственный порт. [root@multnote root]# setserial /dev/ttyS1 /dev/ttyS1, UART: unknown, Port: 0x03f8, IRQ: 4 Хмм ... линукс не понял, что там стоит, да и распределения прерываний что-то не похожи на реальные. Ладно, попробуем сказать руками. [root@multnote root]# setserial /dev/ttyS1 uart 8250 [root@multnote root]# setserial /dev/ttyS1 /dev/ttyS1, UART: 8250, Port: 0x03f8, IRQ: 4 [root@multnote root]# irattach /dev/ttyS1 В логах тут же видим: Dec 22 15:24:35 multnote irattach: tcsetattr: Input/output error Что в переводе на руский язык означает - фигу тебе, уважаемый товарисч. Пробуем 16450, 16550, 16550A, 16650, 16650V2, 16750, 16850, 16950, 16954. В общем, SIR нам тоже не светит. Опять же придеться оставить на будующее - надо будет поиграться с прерываниями и прочим. Но шансов мало. Чипы от TI линуксовое сообщество не знает, так как TI не открывает спецификаций ;-(. Вот. В принципе на этом этапе все, что можно завести сразу, завелось. Что не смогли - не завелось. В принципе, уже можно работать. Но так работать как-то неуютно - зная, что ноутбук не раскрывает всех своих возможностей. Поэтому переходим к четвертому этапу, если вы не устали. Четвертый этап. "Используй силу, Люк !! ...". Первое, что мы будем пинать - это модем. Напомню, что линукс видит его как 00:02.6 Modem: Silicon Integrated Systems [SiS] 56k Winmodem (Smart Link HAMR5600 compatible) (rev a0) Сходим на сайт http://linmodems.org/, там узнаем, что нам дорога на сайт производителя этих модемов. Немного погуляв там, я обнаруживаю файлик http://www.smlink.com/download/Linux/slmdm-2.6.16.tar.gz и утаскиваю его в каталог /usr/src. Распаковываю его tar zxvf slmdm-2.6.16.tar.gz. И читаю README. Как и просят, правлю строку в Makefile на KERNEL_INCLUDES:= /usr/src/linux-2.4.18-19.7.x/include Говорою make (вот и пригодился компилятор ;-) и смотрю, что получится. Получилось то, что и хотелось получиться - все собралось. Даже без ругани. Теперь согласно README говорим make install-amr. Все опять же выполнилось без какой-либо ругани. Это обнадеживает. Добавляю в /etc/modules.conf строчку options slmdm country=USA Так как предварительное тестирование этого модема под WinXP показало, что если поставить страну Russia, то он вместо тоновых сигналов в линию хрипит совершенно непонятные звуки. Нусс.. заведем-ка это чудо. Набираем minicom. Наблюдаем черных экран без каких-либо движений. На клавиатуру нет никаких реакций. Чешем затылок и идем править настройки. По умолчанию minicom настроен на /dev/ttyS1 и скорость 38400. Сами понимаете, что это не то, что мы ожидаем. Меняем на /dev/modem и 115200, сохраняем как настройку по умолчанию и выходим. Пускаем еще раз minicom. Вот, совсем другой коленкор. В логах видим: Dec 22 15:53:17 multnote kernel: slmdm: country set is 0xb5 (USA). Dec 22 15:53:17 multnote kernel: Smart Link AMRMO modem. Dec 22 15:53:17 multnote kernel: amrmo: probe 1039:7013 Silicon Integrated Syste ms [SiS] 56k Winmodem (Smart Link HAMR5600 compatible) : SiS630 card... Dec 22 15:53:17 multnote kernel: PCI: No IRQ known for interrupt pin C of device 00:02.6. Please try using pci=biosirq. Dec 22 15:53:17 multnote insmod: Warning: loading /lib/modules/2.4.18-19.7.x/mis c/slmdm.o will taint the kernel: non-GPL license - Smart Link Ltd. Dec 22 15:53:17 multnote insmod: See http://www.tux.org/lkml/#export-tainted f or information about tainted modules Dec 22 15:53:17 multnote insmod: Module slmdm loaded, with warnings Dec 22 15:53:17 multnote insmod: Warning: loading /lib/modules/2.4.18-19.7.x/mis c/slamrmo.o will taint the kernel: non-GPL license - Smart Link Ltd. Dec 22 15:53:17 multnote insmod: Module slamrmo loaded, with warnings В minicom вводим для проверки: ati2 Smart Link Ltd. Version 2.6.16 OK ati7 Country: USA Serial Number: 98638029 Protocol Factor: 79353128 OK Модем заработал. Теперь поглядим, как он в деле. atdt99,7346112 NO CARRIER В реальности это выглядит так: модем поднимает трубку и чего-то ждет. АТС через некоторое время начинает бибикать. Все. Что-то не так. Выходим, меняем страну на RUSSIA. Выгружаем модуль. и снова пробуем. Ситуация не изменилась. Обращаем внимание на строчку в логах: PCI: No IRQ known for interrupt pin C of device 00:02.6. Please try using pci=biosirq. Перегружаемся и на приглашение lilo вводим linux pci=biosirq Ничего не изменилось. Модем по прежнему не слышит ответа от станции. Жопа. На предыдущем ровере этот модем завелся без проблем. На всякий случай вытягиваю и собираю slmdm-2.6.16_i386.tar.gz. Никакой разницы. Иду по поисковикам и обнаруживаю, что не я один мучаюсь с этой проблемой. практически сразу нахожу ответ - надо собрать ядро с нормальными ACPI патчами и отключить APM. Ну что же ... собрать, так собрать. Заодно и ядрышко поновее поставим ... Вытаскиваю файлы: http://www.ru.kernel.org/pub/linux/kernel/v2.4/linux-2.4.20.tar.gz http://umn.dl.sourceforge.net/sourceforge/acpi/acpi-20021212-2.4.20.diff.gz Первое, как вы можете догадаться, это ядро. Второе - это патч для него. Разворачиваем ядро и патч в /usr/src tar zxvf linux-2.4.20.tar.gz gzip -d acpi-20021212-2.4.20.diff.gz ложим acpi-20021212-2.4.20.diff в linux-2.4.20 - мне так удобнее. И накладываем патч: patch -p1 < acpi-20021212-2.4.20.diff На экране пробежит куча строк, завершающаяся ................. patching file include/asm-i386/mpspec.h Hunk #1 succeeded at 220 (offset -1 lines). patching file include/asm-i386/pci.h patching file include/linux/acpi.h patching file init/main.c patching file MAINTAINERS Hunk #1 succeeded at 1609 (offset -4 lines). Все. Патч наложен. Можно компилировать ядро. make menuconfig make dep make bzImage ...... Boot sector 512 bytes. Setup is 4652 bytes. System is 798 kB make[1]: Leaving directory `/usr/src/linux-2.4.20/arch/i386/boot' make modules make modules_install Правим lilo и перегружаемся. Эффекта нет. Говорит, что нету на этой машине ACPI. Офигеваем. Включаем в Bios ACPI, перезагружаемся. Смотрим - ядро упорно утверждает, что нет ACPI. Включаем отладку, пересобираем ядро и снова смотрим. Появилось. То есть биос утверждает, что как такогово acpi на машине нет. Но зато есть кусочки от него. Ладно, нам и кусочков хватит. Видим, что на этот раз все опозналось и даже включилось. Пытаемся вставить что-нить в PCMCIA. Вис. Мертвый. Перезагружаемся, собираем драйвера для модема. При попытке поднять трубку или вообще что-то сделать с линией - Вис. (неделя эксперементов с модемом, звуком и pcmcia на разных ядрах пропущена) Наконец-то индеец "зоркий глаз" замечает на 200 раз излаженном сайте ссылку на неподдерживаемые драйвера ... Итак, драйвера надо брать из категории неподдерживаемых. То есть идем и забираем: ftp://ftp.smlink.com/Update/linux/unsupported/slmdm-2.7.7.tar.gz С ними модем больше не вешает машину и довольно шустро свиристит. atdt99w7346112 CONNECT 38666 Немного радуемся - модем заработал. Теперь пойдем пинать ногами pcmcia. Удяляем старые pcmcia-cs и выкачиваем новые http://unc.dl.sourceforge.net/sourceforge/pcmcia-cs/pcmcia-cs-3.2.3.tar.gz Разворачиваем, отвечаем на вопросы Configure и говорим make all для сборки утилит. У меня собралось все без ошибок. говорим make install для установки. Все установилось. Правим /etc/sysconfig/pcmcia и говорим /etc/init.d/pcmcia start На консоль выплюнулось: Starting PCMCIA services: cardmgr[2042]: watching 1 sockets done. В логах: Dec 27 22:01:47 pooh cardmgr[2042]: watching 1 sockets Dec 27 22:01:47 pooh kernel: cs: IO port probe 0x0c00-0x0cff: clean. Dec 27 22:01:47 pooh kernel: cs: IO port probe 0x0800-0x08ff: clean. Dec 27 22:01:47 pooh kernel: cs: IO port probe 0x0100-0x04ff: excluding 0x378-0x37f 0x480-0x48f 0x4d0-0x4d7 Dec 27 22:01:47 pooh kernel: cs: IO port probe 0x0a00-0x0aff: clean. Dec 27 22:01:47 pooh cardmgr[2043]: starting, version is 3.2.3 На всякий случай говорим sync и пытается вставить что-нить в pcmcia слот. Dec 27 22:02:59 pooh kernel: cs: memory probe 0xa0000000-0xa0ffffff: clean. Dec 27 22:02:59 pooh cardmgr[2043]: socket 0: ATA/IDE Fixed Disk Dec 27 22:03:00 pooh cardmgr[2043]: executing: 'modprobe ide-cs' Dec 27 22:03:01 pooh kernel: hde: PQI FLASH DISK, ATA DISK drive Dec 27 22:03:01 pooh kernel: ide2 at 0x100-0x107,0x10e on irq 5 Dec 27 22:03:01 pooh kernel: hde: 128000 sectors (66 MB) w/1KiB Cache, CHS=500/8/32 Dec 27 22:03:01 pooh kernel: hde: hde1 Dec 27 22:03:01 pooh kernel: ide_cs: hde: Vcc = 3.3, Vpp = 0.0 Dec 27 22:03:01 pooh cardmgr[2043]: executing: './ide start hde' Работает. Еще одна проблема снялась. Звук. Пробуем первым и самым простым путем - sndconfig. Он соглашается, что у нас SiS7012 звук, но почему-то просит для него драйвера для i810. Обидно, что я заранее не побеспокоился. Пересобираем ядро и включаем модулями этот звук. Перегружаемся, еще раз кличем sndconfig. Все в порядке: Линус рассказал, как он произносит слово Linux. Еще раз оглядываемся в логах и замечаем строчку: ttyS01 at 0x02f8 (irq = 3) is a 16550A Видимо, новое ядро поняло, что кто и куда ... тут же зовем на помощь irattach: [root@pooh root]# irattach /dev/ttyS1 1.1 Tue Nov 9 15:30:55 1999 Dag Brattli В логах: Dec 27 22:14:29 pooh kernel: IrDA: Registered device irda0 Dec 27 22:14:29 pooh /etc/hotplug/net.agent: assuming irda0 is already up Dec 27 22:14:30 pooh irattach: Starting device irda0 Dec 27 22:14:30 pooh irattach: executing: 'echo pooh > /proc/sys/net/irda/devname' По всей видимости, irda согласилось с тем, что оно будет работать в качестве SIR, то есть на скоростях до 115200. (В биосе у меня стоит напротив порта IrDA, а не FIR) Попробуем это чудо. Ложу рядом с ноутом свой iPaq 3660, включаю в нем Beam, на ноуте запускаю irdadump и смотрю. Глухо. Странно. Потом вспоминаю, что Linux просто так ничего делать не будет ;-) Включаю посылку IrDA пакетов, которые обозначают "Эй, я тут есть, кто меня видит?". echo 1 >/proc/sys/net/irda/discovery На экране появляются строчки, заканчивающиеся на : 19:26:37.648971 xid:cmd d1ff84ee > ffffffff S=6 s=* pooh hint=0400 [ Computer ] (20) Включаем снова iPaq и радостно наблюдаем на экране: 19:26:34.558967 xid:rsp d1ff84ee < 00000c20 S=6 s=4 MultikPC hint=8224 [ PDA/Palmtop IrCOMM IrOBEX ] (25) Работает! Для издевательств над сотовым - хватит. Уффф ... что у нас еще осталось неохваченным из железячных устройств? Видео, firefire, LPT и USB. С Видео сейчас будем разбираться, железок, которых можно подключить к firewire или к принтерному порту - у меня нет. Остался USB. Втыкаем в порт мышку. Dec 27 22:50:22 pooh kernel: hub.c: new USB device 00:02.2-1, assigned address 3 Dec 27 22:50:22 pooh kernel: Manufacturer: Logitech Dec 27 22:50:22 pooh kernel: Product: USB-PS/2 Optical Mouse Dec 27 22:50:22 pooh kernel: input0: Logitech USB-PS/2 Optical Mouse on usb1:3.0 Dec 27 22:50:22 pooh /sbin/hotplug: arguments (usb) env (PWD=/etc/hotplug DEVICE=/proc/bus/usb/001/003 INTERFACE=3/1/2 ACTION=add DEBUG=kernel OLDPWD=/ DEVFS=/proc/bus/usb TYPE=0/0/0 SHLVL=1 HOME=/ PATH=/bin:/sbin:/usr/sbin: /usr/bin PRODUCT=46d/c00e/1110 _=/usr/bin/env) Dec 27 22:50:22 pooh /sbin/hotplug: invoke /etc/hotplug/usb.agent () Dec 27 22:50:25 pooh /etc/hotplug/usb.agent: Setup usbmouse hid for USB product 46d/c00e/1110 Dec 27 22:50:25 pooh /etc/hotplug/usb.agent: Setup mousedev for USB product 46d/c00e/1110 Как видим, USB тоже работает. Таким образом, я могу с уверенностью сказать, что у меня работает все железо, представленное в ноутбуке, кроме видео. Но и с видео сейчас разберемся. Пятый этап. "Открой личико, гюльчитай ..." Итак, видео. Первым делом еще раз перечитываем страницу http://www.winischhofer.net На ней человек, собаку сьевший с Sis, рассказывает о своих результатах. Вы можете выжимку прочитать тут. Ну а мне пришлось перечитть все и не один раз. Итак, у нас чипсет серии 310/325. Понимаем, что sis драйвера на данном этапе не работают с vesa fb. Перекомпилируем ядро, убрав поддержку vesa fb. так же убираем драйвера DRI/DRM из ядра. В общем, оставляем все включенным, но все галочки около sis снимаем. Я заранее примирился с потерей fb консоли (не так уж много я работаю в ней) в пользу увеличения скорости работы в XFree и поддержку 2х мониторов одновременно ... Убираем vga=791 из lilo.conf и перегружаемся. Идем на страницу http://www.winischhofer.net/linuxsis630.shtml#download выкачиваем файлы http://www.winischhofer.net/sis/sis_drv.o_4.2_041102-1.tar.gz и http://www.winischhofer.net/sis/sis_dri.so_4.2 Правим по предложеному образцу XF86Config Заменяем в /usr/X11R6/lib/modules/drivers sis_drv.o на скачанный С DRI модулем в /usr/X11R6/lib/modules/dri поступаем аналогично. Запускаем командой startx. Если Иксы вываливаются, идем в /var/log/XFree86.0.log смотреть на то, что им не понравилось. У меня по умолчанию запустилось в режиме mirror. То есть на LCD и на мониторе одно и то же. Это радует - видно, что драйвер понимает, что у карты есть вторая голова. Пробуем запустить в других режимах. startx -- -layout office Ура опять. Появился большой экран, растянутый на два монитора. Это мне и надо. Подправил частоты для второго монитора. Теперь обычный запуск startx приводит к синхроному отображению на панели и мониторе одного и того же. Минус - монитор работает с частотой панели, то есть 60 Герц. А запуск startx -- -layout office приводит к раскрытию рабочего стола на оба монитора и перевод CRT монитора в режим 1027х768х100. Для меня этого более чем достаточно. Говорят, что можно и TVout выход задействовать. Верю. Но проверить не могу по банальной причине - нет телевизора (вообще) или какой-нить техники с входом SVideo. Ну вот и все. Все железо в ноутбуке работает. Теперь осталось самая обычная работа - подогнать все под себя, выкинуть лишнее и радоваться жизни. (с) 2002 Вячеслав Калошин. [email protected] http://www.nat.vu.nl/~sandro/gericom.html http://www.winischhofer.net/ ftp://ftp.smlink.com/Update/linux/unsupported/slmdm-2.7.7.tar.gz

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ RSS ]
  • 1, саша (?), 18:51, 08/01/2003 [ответить]  
  • +/
    Круто!
    Новый FTP: ftp://ftp.smlink.com/linux/unsupported
     
  • 2, screepah (?), 09:47, 14/01/2004 [ответить]  
  • +/
    да, супер
    у меня на rover'e ut6 navigator
    asplinux9 встал на ура, а с 2.4.24
    так вообще все заработало, даже smartmedia
     
  • 3, Maestro (?), 15:01, 27/04/2004 [ответить]  
  • +/
    Класс ! Спасиб за материал. После нескольких дней танцев вокруг своего iRU наконец-то завел у себя irda :)
     
  • 5, vxdfg (?), 16:51, 13/09/2012 [ответить]  
  • +/
    Аж дух перехватило от такой прозы!
     

    игнорирование участников | лог модерирования

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру