На днях нелегкая привела в мои руки бородатый ноутбук. Профессору приглянулась Убунта на новеньком нетбуке, без проблем установленая пару месяцев назад. Он решил что на его ржавом Acer 2301LC она тоже пришлась бы кстати…
Параметры чудо-техники:
$lspci
... VGA compatible controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)
... Ethernet controller: Broadcom Corporation BCM4401 100Base-T (rev 01) ...
$cat /proc/cpuinfo
... Intel(R) Celeron(R) M processor 1300MHz...
$ cat /proc/meminfo
MemTotal: 233396 kB...
HDD ~40GB
DVD/CD-RW Combo полумёртв, 3хUSB работают, потертый корпус, большая наклейка с надписью «Designed for Microsoft Windows XP», которая на нем и крутилась.
Итак, задача ясна, время ограничено, надо решать.
Первая мысль была о lubuntu-10.04.iso — давно хотел попробовать. Скачал образ, залил его на загрузочную USB-флэш с GRUB2, настроил меню, попытался загрузиться… При загрузке увидел черный экран. Наблюдал его достаточно долго, чтобы понять, что эксперимент не удался. Что ж, в дебри полезать не захотелось, решил попробовать другой дистр… runtu-office-pro-i386-CD-final.iso показала тот же черный экран вместо рабочего стола… После еще пары экспериментов станоло понятно, что без боя ноут не сдастся.
Скачал ubuntu-10.04.1-alternate-i386.iso, залил на ту же флэш, попытался установить систему, не запуская графику, в текстовом режиме. При установке система стала ругаться на невозможность смонтировать CD-ROM. Пара запросов в гугле намекнула, что на досуге неплохо бы почитать про GRUB2, но простого решения мои неопытные глаза не увидели. К счастью, под рукой оказалась лишняя флэш, которую оказалось несложно быстро и без бубна сделать загрузочной, имея нужный образ, стандартными средствами любой установленной убунты (Система -> Администрирование -> Создание загрузочного диска). Загрузился с новой boot-флэхи, выбрал установку системы без графической оболочки и в текстовом режиме. На этот раз, установка прошла гладко.
Загрузился в текстовом режиме, настроил сеть ( man interfaces), подключил репозиторий ( man sources.list). interfaces все равно придется править, но это лучше сделать однократно и навсегда — так и объясню профессору, что подключаться к сети ему лучше в одном месте, да и network-manager по умолчанию в системе не установлен. Оригинальный sources.list тоже сохранил — перед передачей профессору оставлю ему доступ к репозиториям через интернет. К счастью, для установки и настройки репка у меня имеется как на домашнем, так и на рабочем компьютере.
sudo aptitude install lxde — установил lxde и, наивный, решил что можно перезагружаться. Перезагрузился, не увидел меню grub, но зато увидел черный экран. Очевидно, что есть какой-то хоткей чтобы вызвать меню груба при загрузке, но методом тыка этот хоткей не нашелся. Уже потом прочитал, что при загрузке нужно было держать shift. Но на тот момент не знал как быть — действовал известным способом. Переустановил систему, погуглил, увидел что надо в /boot/grub/grub.cfg прописать примерно следующее содержание:
GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=10
GRUB_HIDDEN_TIMEOUT_QUIET=false
GRUB_TIMEOUT="10"
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
GRUB_GFXMODE=640x480
Подробней о конфиге можно почитать тут http://ubuntologia.ru/grub2-settings-file
затем — sudo update-grub && sudo reboot
после перезагрузки убедился, что все благоприятно с грубом и заново установил lxde. Ребут, черный экран.
Пара запусков в failsafe graphics режиме показала, что проблема сама по себе не уйдет, но хотя бы появились логи.
Запуск в recovery mode через меню груба дал возможность загрузиться в режиме netroot. Тут порадовался приятной мелочи — система по dhcp сама настроила сеть, когда-то запущенный сервер на домашней машине дал о себе вспомнить. Установил ssh и можно начинать продуктивно доставать товарищей по джаббер-конференции 🙂
В процессе тыканья всего подряд из-под рута в режиме отладки системы, периодических запусков xinit и startx обнаружил, что помимо проблем с графикой, показывает еще и глюки с клавиатурой:
$ cat /var/log/Xorg.0.log | grep -i (ee)
...
(EE) Error loading keymap /var/lib/xkb/server-B20D7FC79C7F597315E3E501AEF10E0D866E8E92.xkm
XKB: Failed to compile keymap
Keyboard initialization failed. This could be a missing or incorrect setup of xkeyboard-config.
Fatal server error:
Failed to activate core devices.
Греп репа по ключевым словам xorg inpud и evdev, поставил всё что увидел. Проблема ушла, точно не знаю в какой момент 🙂
Но черный экран остался и в failsafe и в обычном режимах. Дальше по подсказке скопировал невесть откуда появившийся xorg.conf.failsafe на место xorg.conf, в секции Device, в разделе Driver там было написано vesa. Всё это можно было найти тут https://wiki.ubuntu.com/X/Bugs/Mavericki8xxStatus
$ cat /etc/X11/xorg.conf
Section "Device"
Identifier "Configured Video Device"
Driver "intel" # для xorg.conf.failsafe тут было vesa
EndSection
Section "Monitor"
Identifier "Configured Monitor"
EndSection
Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Configured Video Device"
EndSection
И о чудо, startx впервые показал сначала мышь на черном фоне, а потом загрузился до нормального рабочего стола. Но, заставлять машину работать в штатном режиме по стандарту vesa — это нехорошо и нужно как-то поднимать драйвер intel. Хорошо, что есть товарищи, которые лучше меня владеют гуглом. Подсказали дополнения к репозиторию http://launchpad.net/~ubuntu-x-swat/+archive/x-updates , в которых имеются стабильные драйверы для видео intel
Двигаясь дальше: sudo apt-get install python-software-properties чтобы в системе появилась команда sudo add-apt-repository и добавил репозиторий: sudo add-apt-repository ppa:team-xbmc затем sudo aptitude update, затем sudo aptitude dist-upgrade. Вероятно, можно было обойтись установкой пакетов intel для видео. Потом поменял в вышеупомянутом xorg.conf vesa на intel и sudo reboot. Черного экрана нет, но система не грузится. Мигающий курсор намекнул что не всё гладко и снова режим netroot смотреть логи:
(EE) intel(0): No kernel modesetting driver detected.
(EE) Screen(s) found, but none have a usable configuration.
Это лечится:
echo 'options i915 modeset=1' | sudo tee -a /etc/modprobe.d/i915-kms.conf
Ребут, окно логина и можно настраивать систему дальше уже для пользователя.
Выводы:
1. 10.04 вполне может работать на машине с оперативной памятью <256МБ
2. На загрузочной флэшке среди прочих образов полезно иметь alternate
3. После установки кому-то Убунты, стоит опасаться, что понравится
4. Чего только не сделаешь чтобы не ставить венду
Итог:
$ uname -a
Linux laptop 2.6.32-24-generic #39-Ubuntu SMP Wed Jul 28 06:07:29 UTC 2010 i686 GNU/Linux
$ cat /etc/issue
Ubuntu 10.04.1 LTS \n \l
… и даже не уговаривайте меня это обновлять.
p.s. как очевидно, для меня еще есть много неясностей. буду рад дополнениям.
«При загрузке увидел черный экран. Наблюдал его достаточно долго, чтобы понять, что эксперимент не удался.$raquo;
В таком случае первое что надо делать — удалять параметры «quiet splash» из строчки запуска ядра. После этого система будет загружаться с выводом всех загрузочных сообщений. Иногда это просто помогает, уж не знаю точно почему. В противном случае будет понятно на чём застревает загрузка и будет более адекватная инфа о проблеме.