Linux (Ubuntu 7.04) на ноутбуке Sony VGN-SZ330P

Author / Автор: Сергей Сацкий
Motorola
Publication date / Опубликовано: 09.04.2007
Version / Версия текста: 1.2

Обновления

9 июля 2007. Добавление о пропуске проверки состояния файловых систем.

17 июня 2007. Встроенная камера работает. Добавлена глава и сделаны обновления.

Технические характеристики

Процессор Intel Core 2 Duo T7200, 2.0GHz, 2MB L2 Cache, 667 MHz FSB
Память 2 GB DDR2
Видеокарта Гибридная видеосистема: NVIDIA GeForce Go 7400 и Intel GMA 950, разъем для подключения внешнего монитора
Жесткий диск 120 GB, 5400, G-Sensor
Оптический привод DVD+R Double Layer/DVD+-RW
Матрица 13.3'' WXGA TFT with XBRITE technology 1280x800
Звук Sony Sound Reality, микрофон
Модем V.90
Сеть 100BASE-TX Fast Ethernet
Беспроводные интерфейсы Bluetooth, WiFi 802.11a/b/g, GPRS modem
Внешние интерфейсы 2xUSB 2.0, Memory Stick, PCMCIA - Type II/Type I, Express Card, IEEE 1394, разъем VGA out
Камера Встроенная
Дополнительные клавиши S1, S2, Stamina/Speed, Wireless On/Off
Управление курсором Touchpad
Дополнительное оборудование Fingerprint sensor, TPM модуль
Карты памяти 5-1memory card adaptor, поддерживающий memory stick, memory stick pro, SD, xD-Picture Card, MMC Card

Подготовка

С ноутбуком не поставляется никаких дисков с программным обеспечением. Копия MS Windows XP Professional и все необходимые драйвера находятся на скрытом разделе на жестком диске. Размер раздела около 4 гигабайт. Sony предоставляет возможность скопировать содержимое этого раздела на DVD диски. Для этого в Windows необходимо запустить start -> all programs -> VIAO Recovery -> VIAO Recovery Tools -> Create Recovery Disks. Потребуется 2 DVD диска, при этом Sony рекомендует использовать самые высококачественные диски из имеющихся.

После изготовления копии скрытого раздела становится излишним хранить MS Windows на жестком диске и этот раздел можно удалить. После удаления раздела не будет работать функция восстановления системы по F12, однако тоже самое можно проделать и с помощью дисков.

Далее с помощью Partition Magic:

  • удаляется скрытый раздел
  • изменяется размер раздела с установленной MS Windows до ~20 гигабайт
  • раздел с установленной MS Windows перемещается к началу жесткого диска
  • создается логический раздел ~74 гигабайта FAT32

Установка

На момент установки была доступна версия Ubuntu 7.04 beta. Установочный диск взят с сайта Ubuntu (http://www.ubuntu.com). В процессе установки выбран ручной способ разбиения диска. Для Linux выделено ~20 гигабайт и ~3.5 гигабайта выделено под swap раздел. Окончательно таблица разбиения диска выглядит так:

root@swift-laptop:~# fdisk /dev/sda

The number of cylinders for this disk is set to 14593.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/sda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2551       11475    71690062+   f  W95 Ext'd (LBA)
/dev/sda2   *           1        2550    20482843+   7  HPFS/NTFS
/dev/sda3           11476       14107    21141540   83  Linux
/dev/sda4           14108       14593     3903795   82  Linux swap / Solaris
/dev/sda5            2551       11475    71690031    b  W95 FAT32

Partition table entries are not in disk order

Работающее оборудование

Оборудование Описание
WiFi Адаптер заработал сразу после установки.Единственное, что я сделал - это отключение протокола IPv6. Субъективно загрузка web страниц стала быстрее.
Видео Обе карты заработали сразу после установки. Для правильной работы каждая карта требует своего файла настроек xorg.conf. Описание того, как сделать загрузку автоматической, приведено ниже в отдельной главе. Работа с внешним монитором не проверялась. Менеджер обновлений предлагал обновить драйвера для видеокарты nVidia, что и было следано. Разница до и после обновления не замечена.
Touchpad Заработал сразу после установки. Мне не понравилась чувствительность, поэтому были сделаны изменения в xorg.conf в соответствующей секции.
DVD привод Заработал сразу после установки.
USB Заработал сразу после установки. USB 2.0 Flash drive емкостью 2 Гб заработал сразу.
Bluetooth Заработал сразу после установки. Проверен на Bluetooth мыши Genius Navigator 900.
Express card Заработал сразу после установки. SD карта емкостью 1 Гб прочитана сразу через memory card adapter, входящий в комплект поставки.
PCMCIA Заработал сразу после установки. Проверен на плате неизвестного производителя с двумя USB 2.0 портами.
Камера Заработала после установки драйвера. Подробнее описано в отдельной главе.

lspci

initrd

Поставляемый с Ubuntu файл initrd имеет размер около 6 мегабайт. Его можно сделать существенно меньше. Для этого можно распаковать существующий initrd, внести необходимые изменения, запаковать снова и, если необходимо, сделать изменения в файле конфигурации загрузчика grub.

Копирование и распаковка текущего initrd.img:

root@swift-laptop:~# mkdir /home/swift/tmp
root@swift-laptop:~# cd /home/swift/tmp
root@swift-laptop:/home/swift/tmp# gzip -dc < /boot/initrd.img... | cpio -i

Теперь можно производить необходимые изменения. Например, можно удалить ненужные модули.

Подготовка нового initrd.img:

root@swift-laptop:/home/swift/tmp# find . | cpio --quiet --dereference -o -H newc | \
  gzip -9 > /boot/myinitrd.img

Теперь для проверки нового myinitrd.img в файле настроек загрузчика grub (/boot/grub/menu.lst) добавляем еще одну запись с указанием нового myinitrd.img и перезагружаемся.

Xorg.conf

В зависимости от режима работы stamina или speed требуется различный файл настроек xorg. Решить эту проблему можно следующим образом.

Создаем файл /etc/init.d/xorg.conf:

#!/bin/bash

VIDEO=`/usr/bin/lspci | grep -c nVidia`

if [ "" = 1 ]; then
    rm -rf /etc/X11/xorg.conf
    ln -s /etc/X11/xorg.conf.speed /etc/X11/xorg.conf
else
    rm -rf /etc/X11/xorg.conf
    ln -s /etc/X11/xorg.conf.stamina /etc/X11/xorg.conf
fi

Меняем права на исполняемые:

root@swift-laptop:/etc/init.d# ll xorg.conf 
-rwxr-xr-x 1 root root 259 Apr 21 20:26 xorg.conf

И в /etc/rc2.d создаем символическую ссылку на него:

root@swift-laptop:/etc/rc2.d# ll S12xorg.conf 
lrwxrwxrwx 1 root root 21 Apr 22 15:12 S12xorg.conf -> /etc/init.d/xorg.conf

Теперь в /etc/X11 копируем два файла: xorg.conf.stamina для встроенной в чипсет видеокарты и xorg.conf.speed для дискретной видеокарты.

В момент старта будет подключен нужный файл конфигурации. Для смены карты, как и в случае MS Windows потребуется перезагрузка компьютера.

В файлах конфигурации X Window сделаны изменения настроек touchpad для более комфортной работы. Переключатель раскладки клавиатуры настроен на Ctrl + Shift. Индикация русской раскладки клавиатуры настроена на светодиод Caps Lock.

Bluetooth мышь

Проверялся на мыши Genius Navigator 900. Описание необходимых настроек приводятся здесь "постфактум", сначала было все сделано, а описывается спустя некоторое время. Поэтому, возможно, что-то упущено или не совсем точно.

Необходимо иметь установленный пакет bluez-utils.

Далее необходимо запустить сканирование доступных Bluetooth устройств:

swift@swift-laptop:~$ hcitool scan
Scanning ...
        00:16:38:E2:70:5E       Genius Bluetooth Mouse

Перед сканированием надо нажать на кнопку connect на мышке. Важным здесь является MAC адрес устройства.

Теперь в конец файла /etc/bluetooth/hcid.conf необходимо добавить описание устройства с нужным MAC адресом:

device 00:16:38:E2:70:5E {
    name "Navigator 900"
}

Теперь необходимо отредактировать файл /etc/default.bluetooth так, чтобы там были такие строки:

# start bluetooth on boot?
# compatibility note: If this variable is not found bluetooth will
# start
BLUETOOTH_ENABLED=1

############ HIDD
#
# To have Bluetooth mouse and keyboard support, get the
# Linux 2.6.6 patch or better from bluez.org, and set
# HIDD_ENABLED to 1.
HIDD_ENABLED=1
HIDD_OPTIONS="--connect 00:16:38:E2:70:5E --master --server"

После перезагрузки мышь автоматически 'подхватывается' системой.

Горячие клавиши

Клавиша Функция в MS Windows Linux
Fn+F1 Переключение между режимами работы беспроводных модулей. Ничего не происходит.
Fn+F2 Отключение звука. Работает сразу
Fn+F3 Уменьшение громкости. Работает сразу
Fn+F4 Увеличение громкости. Работает сразу
Fn+F5 Уменьшение яркости подсветки. Работает сразу
Fn+F6 Увеличение яркости подсветки. Работает сразу
Fn+F7 Переключение режима работы внешнего монитора. Ничего не происходит. Возможно, вернусь к этому, когда появится внешний монитор.
Fn+F10 Режим 'увеличительного стекла'. Ничего не происходит. Однако, я не вижу смысла в этой функции.
Fn+F12 Переключение в режим сна Работает сразу. Однако если перевести ноутбук в режим сна когда он работает от сети, затем отключить от сети и загрузить Linux, то происходит зависание после пары минут работы. Без отключения то сети работает без ошибок.
S1 Программируемая клавиша Ничего не происходит.
S2 Программируемая клавиша Ничего не происходит.
Stamina/Speed Переключение видеокарты. Для вступления в силу новых настроек требуется перезагрузка. Ничего не происходит.
Wireless On/Off Отключение/подключение модулей беспроводной связи. Работает сразу.
Закрытие крышки Переключение в режим сна Блокирует сессию.

Камера

Для работы камеры необходимо скомпилировать и установить драйвер. Драйвер можно скачать по ссылке: http://lsb.blogdns.net/ry5u870/. Я устанавливал версию 0.10.0. Шаги установки подробно описаны в инструкции к драйверу.

Чтобы модуль поддержки камеры загружался в момент старта Linux необходимо в файл /etc/modules добавить строчку:

r5u870

Появляется устройство /dev/video0. Проверить работу камеры можно, например, с помощью xawtv:

swift@swift-laptop:~$ xawtv -device /dev/video0

после чего появляется окошко вида:

Ненужные модули и другие мелочи

Сразу после установки изменена ссылка /bin/sh. По умолчанию она указывает не на привычный bash, а на упрощенный интерпретатор команд. Поэтому сделано следующее:

root@swift-laptop:~# cd /bin
root@swift-laptop:/bin# rm -rf sh
root@swift-laptop:/bin# ln -s bash sh
root@swift-laptop:/bin# cd

Ненужные мне сервисы и модули были отключены. В частности был отключен avahi с его надоедливыми сообщениями, сервис поддержки принтеров HP и т.д

Отключен протокол IPv6. Перестал грузиться модуль ipv6.

Процедура загрузки модулей acpi приблизительно такова. В момент старта в файле настроек сервиса acpi указано, что надо попытаться загрузить все модули, скомпилированные с ядром для подсистемы acpi. Из-за этого в файле протокола загрузки ядра появляются сообщения о загрузке лишних модулей, вроде поддержки ноутбуков IBM. А в некоторых случаях модули успешно грузятся, например asus_acpi.ko. Чтобы избежать этого, можно просто удалить модули из соответствующего подкаталога. У меня осталось следующие модули:

root@swift-laptop:/lib/modules/2.6.20-15-generic/kernel/drivers/acpi# ll
total 196
-rw-r--r-- 1 root root  8020 Apr 15 12:07 ac.ko
-rw-r--r-- 1 root root 13768 Apr 15 12:07 battery.ko
-rw-r--r-- 1 root root 11488 Apr 15 12:07 button.ko
-rw-r--r-- 1 root root  7004 Apr 15 12:07 container.ko
-rw-r--r-- 1 root root 13128 Apr 15 12:07 dock.ko
-rw-r--r-- 1 root root  7552 Apr 15 12:07 fan.ko
-rw-r--r-- 1 root root 15012 Apr 15 12:07 hotkey.ko
-rw-r--r-- 1 root root  7956 Apr 15 12:07 i2c_ec.ko
-rw-r--r-- 1 root root 38796 Apr 15 12:07 processor.ko
-rw-r--r-- 1 root root 19832 Apr 15 12:07 sbs.ko
-rw-r--r-- 1 root root 18452 Apr 15 12:07 thermal.ko
-rw-r--r-- 1 root root 21068 Apr 15 12:07 video.ko

Существенное время в момент старта системы занимает проверка состояния файловых систем. На моем ноутбуке самый большой раздел отведен под FAT32, который предназначен, в основном, для хранения файлов MS Windows. Проверку этого раздела можно отключить на момент запуска Linux. Для проверки состояния файловых систем используется утилита fsck, запущенная с ключом -A. Этот ключ заставляет утилиту просматривать файл /etc/fstab и проверять все системы за исключением тех, которые имеют значение 0 в поле pass. Поэтому для отключения проверки достаточно поставить 0 в нужном месте. Например, мой файл /etc/fstab выглядит так (UUID сокращены):

# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc               /proc         proc    defaults                           0  0
# /dev/sda3
UUID=a5aeda75-00d7 /             ext2    defaults,errors=remount-ro         0  1
# /dev/sda2
UUID=DA58A66258A63 /media/sda2   ntfs    defaults,nls=utf8,umask=007,gid=46 0  0
# /dev/sda5
UUID=461D-67D9     /media/sda5   vfat    defaults,utf8,umask=007,gid=46     0  0
# /dev/sda4
UUID=730c32a0-e959 none          swap    sw                                 0  0
/dev/scd0      /media/cdrom0 udf,iso9660 user,noauto                        0  0

Неработающее или неопробованное оборудование

Оборудование Описание
Звук Не работает. Интересный эффект: в момент загрузки X Window звук есть - проигрывается приветственное сообщение, однако после старта X Window звук пропадает - не работает ни одно приложение, использующее устройства ввода/вывода звука.
Микрофон Не работает. Причины, видимо, те же, что и для звука вообще.
Выход на наушники. Не пробовал. Скорее всего, не работает по тем же причинам, что и звук вообще.
Сканер отпечатков пальцев Не работает, и не будет работать. По информации от производителя сканера Sony попросила все функции работы с устройством оснастить неким кодом безопасности, который никому не сообщает.
IEEE 1394 Не пробовал.
Сеть Ethernet Не пробовал. Модуль успешно загружается.
Внешний монитор Не пробовал.
Модем Не пробовал.
GPRS модем Не пробовал.
Memory stick Не пробовал.
TPM Не пробовал. Модуль поддержки успешно загружается.


Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.

Разрешается копирование и распространение этой статьи любым способом без внесения изменений, при условии, что это разрешение сохраняется.
Last Updated: August 19, 2007
Linux On Laptops