Неделю назад я стал обладателем нетбука 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 updatesudo apt-get upgrade
Перезагружаемся после установки всех обновлений.
Доставляем локализацию. Если, не ошибаюсь, после этого шага тоже надо перезагрузиться.
Переходим к установке устройств.
Беспроводная сеть
Рекомендуется сначала отключить драйвера, которые предлагает Ubuntu, но я этого не делал – у меня заработало все без этого шага. Вам рекомендую все-таки отключить их.
Для отключения идем в меню “Система” – “Администрирование” – “Hardware drivers” и в открывшемся окне снимаем галочки со всех элементов.
Откроем терминал и создадим папку для драйверов:
mkdir sourcecd source
скачаем последние исходники:
wget http://snapshots.madwifi.org/madwifi-hal-0.10.5.6/madwifi-hal-0.10.5.6-r3861-20080903.tar.gz
распакуем их:
tar -xzvf madwifi-hal-0.10.5.6-r3861-20080903.tar.gz
установим пакеты, необходимые для компиляции драйвера:
cd madwifi-hal-0.10.5.6-r3861-20080903sudo apt-get install build-essential linux-headers-$(uname -r)
Все, мы готовы для сборки и установки драйвера:
makesudo make installsudo 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-20080903make cleanmake
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.plwget http://electronpusher.org/~rachel/acerfand
Поместим их в нужные места и дадим право на исполнение:
chmod a+x acerfandsudo 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-assistantsudo m-a updatesudo 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/ и многие другие (извините, но уже не помню).