Установка Ubuntu Linux на Acer Aspire One

Acer Aspire One
Неделю назад я стал обладателем нетбука Acer Aspire One.

Предлагаю вам свой опыт в установке Ubuntu Linux на этой машине.

Коротко о его достоинствах и недостатках.

Достоинства: маленькие размеры, маленький вес.

Недостатки: очень малая скорость записи на SSD-накопитель (могли поставить устройство и с лучшими характеристиками).

Установка Ubuntu Linux 8.04

Первым делом нам необходимо подключить внешний USB-DVD-привод или подготовить загрузочную флешку. Так как у меня небыло внешнего DVD-привода, то пришлось идти путем загрузочной флешки, которая была подготовлена на другой машине.

Внимание: используем дистрибутив Ubuntu Linux 8.04.1 Desktop Edition.

Итак, вставляем флешку в USB-порт, включаем нетбук и жмем F12. Выбираем загрузку с USB HDD (это наша флешка). При установке создаем swap-раздел размером в 1 Гб, все остальное под корень. Файловую систему рекомендую выбирать нежурналируемую, например, ext2. Выбор такой файловой системы увеличит быстродействие и срок жизни SSD-накопителя.

Установка с флешки будет проходить довольно долго - около 1,5 часа. Причина - низкая скорость записи на SSD-накопитель (см. выше недостатки).

Итак, система установлена, но нужно еще ее "обпилять напильником" под оптимальную работу на Acer Aspire One.

Сначала обновим систему (для этого надо воткнуть нетбук в проводную сеть):

sudo apt-get update
sudo apt-get upgrade

Перезагружаемся после установки всех обновлений.

Доставляем локализацию. Если, не ошибаюсь, после этого шага тоже надо перезагрузиться.

Переходим к установке устройств.

Беспроводная сеть

Рекомендуется сначала отключить драйвера, которые предлагает Ubuntu, но я этого не делал - у меня заработало все без этого шага. Вам рекомендую все-таки отключить их.
Для отключения идем в меню "Система" - "Администрирование" - "Hardware drivers" и в открывшемся окне снимаем галочки со всех элементов.

Откроем терминал и создадим папку для драйверов:

mkdir source
cd source

скачаем последние исходники:

wget http://snapshots.madwifi-project.org/madwifi-hal-0.10.5.6-current.tar.gz

распакуем их:

tar -xzf madwifi-hal-0.10.5.6-current.tar.gz

установим пакеты, необходимые для компиляции драйвера:

cd madwifi-hal-0.10.5.6*/
sudo apt-get install build-essential linux-headers-$(uname -r)

Все, мы готовы для сборки и установки драйвера:

make
sudo make install
sudo modprobe ath_pci

Добавим модуль в автозагрузку, дабы он поднимался каждый раз при включении системы:

gksudo gedit /etc/modules

В текст открывшегося файла добавляем строчку:

ath_pci

Откроем редактором файл /etc/default/linux-restricted-modules-common:

gksudo gedit /etc/default/linux-restricted-modules-common

Добавим в него строчку:

ath_hal

Все, мы имеем работающую беспроводную связь. Осталось только подключиться к работающей точке доступа. Все легко настраивается через аплет NetworkManager.

Если мы обновим ядро, то нам необходимо будет заново собрать wifi-драйвера. Для этого нужно открыть терминал и набрать следующие команды:

cd source/madwifi-hal-0.10.5.6-r3861-20080903
make clean
make
sudo make install
sudo modprobe ath_pci

И беспроводная сеть снова заработает.

Индикаторы беспроводной сети

Для включения индикаторов беспроводной сети необходимо открыть файл /etc/rc.local:

gksudo gedit /etc/rc.local

и добавить в него 2 строчки (над строчкой exit 0):

sysctl -w dev.wifi0.ledpin=3 sysctl -w dev.wifi0.softled=1

Сохраним файл. На всякий пожарный сделаем его исполняемым:

sudo chmod a+x /etc/rc.local

После перезагрузки индикаторы будут работать на отлично.

Веб-камера

Установим пакет luvcview:

sudo apt-get install luvcview

Проверим распознана ли наша камера:

dmesg |grep -i "uvc"

Если получили что-то вроде:

[ 29.601485] uvcvideo: Found UVC 1.00 device USB 2.0 Camera (0c45:62c0) [ 29.617301] usbcore: registered new interface driver uvcvideo

значит все отлично.

Для тестирования можем запустить:

luvcview -f yuv

Картридер

С картридером промучался больше всего. В результате удалось запустить со скрипом и некоторыми глюками (карты памяти обнаруживались только если они были вставлены в разьемы еще до загрузки Ubuntu Linux). Хотя у вас, возможно, это заработает и без этих "приколов".

Итак, рецепт запуска картридера.

Создаем файл /etc/modprobe.d/aspireone

sudo gedit /etc/modprobe.d/aspireone

В этот файл пишем следующие строчки:

options pciehp pciehp_force=1 install sdhci for i in 2381 2382 2383 2384; do /usr/bin/setpci -d 197b:$i AE=47; done; /sbin/modprobe --ignore-install sdhci

В файл /etc/modules добавляем строчку:

pciehp

После перезагрузки карты памяти заработают.

Для энергосбережения можно еще поставить один скрипт. Скачаем его:

wget http://petaramesh.org/public/arc/projects/AcerOne_Ubuntu/jmb38x_d3e.sh

Установим права на скрипт:

sudo chmod 754 jmb38x_d3e.sh

Переместим его в более подходящее место:

sudo mv jmb38x_d3e.sh /usr/local/sbin/

или вместо mv используйте команду cp (копировать), если хотите сделать копию этого скрипта.

Теперь сделаем автоматический запуск скрипта при загрузке Ubuntu Linux. откроем файл /etc/rc.local

sudo gedit /etc/rc.local

И добавим в него следующую строчку (добавлять над строчкой exit 0):

/usr/local/sbin/jmb38x_d3e.sh &>/var/log/jmb38x_d3e.log &

После перезагрузки скрипт будет каждых 5 минут управлять питанием USB-устройств.

USB-флешки

Если вы устанавливали Ubuntu Linux с флешки, то вы столкнетесь с проблемой, что не монтируются USB-флешки. Решить ее довольно просто: достаточно открыть в редакторе файл /etc/fstab:

gksudo gedit /etc/fstab

найти строчку похожую на:

/dev/sdb /media/cdrom0 udf,iso9660 user,noauto,exec 0 0

и удалить ее или поставить перед ней символ "#" (без кавычек).

После перезагрузки монтирование флешек будет проходить без проблем.

Управление вентилятором

По умолчанию скоростью вентилятора ничто (или никто) не управляет. Результат: довольно ощутимый шум. Исправим:

Скачаем два скриптика:

wget http://aceracpi.googlecode.com/svn/trunk/acer_ec/acer_ec.pl
wget http://electronpusher.org/~rachel/acerfand

Поместим их в нужные места и дадим право на исполнение:

chmod a+x acerfand
sudo cp acer_ec.pl acerfand /usr/local/bin/

Запустим его:

sudo acerfand

Проверим, работает ли он (хотя вы сразу услышите это по исчезновению шума):

sudo tail -f /var/log/syslog

Если результатом у вас будет что-то вроде этого (у меня этой проблемы небыло):

Oct 9 02:04:36 lilput acerfand: acerfand 0.03 starting Oct 9 02:04:36 lilput acerfand: Detected bios version v0.3301 Oct 9 02:04:36 lilput acerfand: Unsupported bios version v0.3301 found. Aborting.

Значит вам надо обновить BIOS на нетбуке. Инструкции вы можете найти здесь.

Сделаем автозапуск этого скрипта: откроем файл /etc/rc.local:

gksudo gedit /etc/rc.local

И добавим в него строчку (над строчкой exit 0):

/usr/local/bin/acerfand

Создадим файл конфигурации /etc/acerfand.conf. В него напишем следующее:

INTERVAL=5 FANOFF=60 FANAUTO=70

, где INTERVAL - интервал между проверками температуры в секундах;

FANOFF - температура в градусах Цельсия ниже которой вентилятор выключается при условии, что он был включен;

FANAUTO - температура в градусах Цельсия выше которой вентилятор включается при условии, что он был выключен;

Оптимизация работы с SSD-накопителем

Изменим опцию монтирования файловой системы с "relatime" на "noatime". Откроем файл /etc/fstab:

gksudo gedit /etc/fstab

У вас должна получиться строчка вроде этой:

UUID=f0ae2c59-83d2-42e7-81c4-2e870b6b255d / ext2 noatime,errors=remount-ro 0 1

Теперь к файлам не будет дописываться время их последнего открытия, что конечно-же повысит скорость работы SSD.

Используем самый менее требовательный планировщик для доступа к диску. Для этого откроем файл /boot/grub/menu.lst:

gksudo gedit /boot/grub/menu.lst

ищем конфигурацию ядра по-умолчанию и дописываем в него опцию "elevator=noop". Должно получится что-то вроде:

title Ubuntu 8.04.1, kernel 2.6.24-19-generic root (hd0,0) kernel /boot/vmlinuz-2.6.24-19-generic root=UUID=f0ae2c59-83d2-42e7-81c4-2e870b6b255d ro quiet splash elevator=noop initrd /boot/initrd.img-2.6.24-19-generic quiet

Включение этой опции позволит использовать планировщик доступа к диску, который работает по методу FIFO, что приведет к уменьшению количества обращений к диску.

Уберем лишние логи

На нашей переносной машине вести логи более чем неразумно. Во первых - занимают место, которого и так мало, второе - в 99% они нам не нужны. Логично, что убрав их мы получим выигрыш в уменьшении количества обращений к диску.

Откроем файл /etc/fstab:

gksudo gedit /etc/fstab
tmpfs      /var/log/apt    tmpfs        defaults           0    0
tmpfs      /var/log        tmpfs        defaults           0    0
tmpfs      /tmp            tmpfs        defaults           0    0
tmpfs      /var/tmp        tmpfs        defaults           0    0

Если логи случайно станут нужны, то поставив в этом файле перед каждой из приведенных строчек символ "#" и перезагрузившись мы снова сможем нормально их использовать.

Внимание: Отключение логов может привести к тому, что некоторые программы будут вести себя странно при попытке доступа к логам. Хотя у меня еще такой ситуации небыло.

Настройка звука

Сначала пересоберем ALSA. Просто выполните эти команды:

sudo apt-get install module-assistant
sudo m-a update
sudo m-a prepare
sudo m-a a-i alsa
sudo alsa force-unload
sudo depmod -ae
sudo modprobe snd-hda-intel

Откроем файл /etc/modules:

gksudo gedit /etc/modules

и добавим в него:

snd-hda-intel

Дальше мы должны сделать выбор из двух вариантов:

  • Внутренний микрофон останется нерабочим (подключенный через разъем будет работать), но звук будет работать после засыпания-восстановления нетбука.
  • Внутренний микрофон будет работать, но не будет звука после засыпания-восстановления нетбука (я выбрал этот вариант).

Для первого варианта открываем файл /etc/modprobe.d/alsa-base:

gksudo gedit /etc/modprobe.d/alsa-base

и пишем в него:

options snd-hda-intel model=toshiba

Для второго варианта в тот-же файл пишем:

options snd-hda-intel model=auto

Если не работает (у меня не заработал звук при просмотре фильма, хотя при старте системы начальный звук был проигран), то пробуем:

options snd-hda-intel model=acer

Перезагружаемся, чтобы услышать звук. Если у вас к звуку примешиваются лишние шумы (у меня такое было), то правим файл /etc/modprobe.d/blacklist и добавляем в него строчку:

blacklist snd_pcsp

После перезагрузки этот "звуковой глюк" должен исчезнуть.

Увеличиваем скорость загрузки

Откроем файл /etc/init.d/rc:

ищем в нем строчку:

CONCURRENCY=none

и заменим ее на:

CONCURRENCY=shell

Уменьшаем энергопотребление

Откроем файл /etc/rc.local и добавим в него следующие строки:

# Economize the SSD
sysctl -w vm.swappiness=1               # Strongly discourage swapping
sysctl -w vm.vfs_cache_pressure=50      # Don't shrink the inode cache aggressively

# As in the rc.last.ctrl of Linpus
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo ondemand > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
cat /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate_max > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate

echo 1500 > /proc/sys/vm/dirty_writeback_centisecs
echo 20 > /proc/sys/vm/dirty_ratio
echo 10 > /proc/sys/vm/dirty_background_ratio

echo 1 > /sys/devices/system/cpu/sched_smt_power_savings
echo 10 > /sys/module/snd_hda_intel/parameters/power_save
echo 5 > /proc/sys/vm/laptop_mode

#Decrease power usage of USB while idle
[ -L /sys/bus/usb/devices/1-5/power/level ] && echo auto > /sys/bus/usb/devices/1-5/power/level
[ -L /sys/bus/usb/devices/5-5/power/level ] && echo auto > /sys/bus/usb/devices/5-5/power/level

Настраиваем Firefox

Установите тему Classic Compact - она позволит сэкономить место на экране и будет выглядеть на нетбуке гораздо симпатичнее.

По желанию можете установить плагин AutoHideStatusBar, который будет автоматически скрывать строку статуса, когда в ней не будет необходимости.

Уберем кэш Firefox-а в каталог /tmp (место нам все-еще дорого). Для этого наберите в строке адреса "about:config", потом нажмите правую кнопку "мышки" и добавьте новый строковой параметр "browser.cache.disk.parent_directory". Присвойте ему значение "/tmp/firefox" (все без кавычек).

Установка Ubuntu Linux 8.10

Установка Ubuntu Linux 8.10 будет описана после выхода финальной версии.

Источники: при написании статьи использовались такие материалы: https://help.ubuntu.com/community/AspireOne, http://eee-pc.ru/wiki/ и многие другие (извините, но уже не помню).