Когда я покупал себе ASUS Eee PC, я совершенно не думал о том, какую операционную систему установлю на нем - однозначно это будет Ubuntu Linux. Во-первых, потому, что Ubuntu у меня стоит и дома и на работе, во-вторых, потому, что и дома и на работе у меня есть локальное зеркало репозитория Ubuntu, а в-третьих просто потому, что данный дистрибутив меня всем устраивает.
После покупки я сразу же полез в Интернет в поисках различных HowTo по установке Ubuntu 8.04 на Eee PC. Результат меня несколько удивил. Несмотря на огромный ажиотаж вокруг Eee PC, этих самых HowTo в сети не так уж и много + большинство из них нацелены на Ubuntu 7.10 и предлагают запустить некий скрипт, который заменит системные конфигурационные файлы своими, заточенными под Eee PC.
На эти скрипты я даже и смотреть не стал, т. к. они предназначены для Ubuntu 7.10, и их запуск на Ubuntu 8.04 может привести к нехорошим последствиям. Поэтому во время поиска необходимой информации в сети я обращал внимание только на те статьи, в которых описывается, как можно настроить Ubuntu под Eee PC "своими руками". Найти такой HowTo, в котором содержались бы ответы на все встающие передо мной вопросы, мне не удалось, поэтому я решил систематизировать собранную мной информацию и слить ее в одну статью. Сейчас моя система уже настроена, поэтому я постараюсь вспомнить все действия, которые я производил над ней, дабы все заработало так, как мне хочется. Надеюсь, я ничего не упущу. :)
Установка
Для установки нам понадобится загрузочный диск с Ubuntu 8.04 и флэшка на 1 Гб или более.
Перед использованием флэшки не забудьте скопировать с нее все важные данные.
# Делаем образ диска dd if=/dev/cdrom of=ubuntu.iso # Устанавливаем пакет syslinux sudo apt-get install syslinux # Скачиваем скрипт, который запишет ISO-образ на флэшку wget http://kiwilinux.org/public/isotostick.sh # Делаем этот скрипт исполняемым sudo chmod a+x isotostick.sh # Далее предполагается, что /dev/sdX1 - файл устройства вашей флешки. # Форматируем флэшку sudo mkfs.vfat -F 32 -n ubuntu /dev/sdX1 # Делаем раздел загрузочным sudo parted /dev/sdX set 1 boot on # Запускаем скачанный скрипт sudo ./isotostick.sh cd.iso /dev/sdX1 # Делаем флэшку загрузочной sudo syslinux /dev/sdX1
Все, теперь можно грузиться с этой флэшки как с диска и устанавливать Ubuntu на Eee PC. Для этого во время загрузки Eee PC нажмите F2, чтобы зайти в BIOS и там на вкладке Boot сделайте соответствующие настройки, чтобы загрузка происходила с флэш карты.
Загрузка
Чтобы увеличить скорость загрузки операционной системы, в /boot/grub/menu.lst замените строку
# defoptions=quiet splashна
# defoptions=quiet splash clocksource=hpetи запустите
sudo update-grubТеперь время загрузки операционной системы должно сократиться примерно на 40 секунд.
Выключение
После установки первое, что бросается в глаза - это то, что Ubuntu не хочет выключаться. :) По команде halt запускается процесс остановки системы, останавливаются работающие службы, экран гаснет, но компьютер не выключается.
Чтобы исправить это, открываем /etc/init.d/halt и добавляем строку "modprobe -r snd-hda-intel" в тело функции do_stop, как показано ниже:
.... do_stop () { modprobe -r snd-hda-intel if [ "$INIT_HALT" = "" ] ....
Звук
Добавьте в файл /etc/modprobe.d/snd-hda-intel (если файл не существует, то создайте его) строку
options snd-hda-intel model=3stack-dig
Поддержка горячих клавиш Fn+F[1-9]
Устанавливаем исходные файлы и компилируем из них модуль:
sudo apt-get install module-assistant eeepc-acpi-source sudo m-a a-i eeepc-acpi sudo sh -c 'echo eeepc-acpi >> /etc/modules'
Если в будущем вы обновите ядро, то вам придется выполнить команду
sudo m-a a-i eeepc-acpiкоторая соберет модуль заново для нового ядра.
У меня заработали не все клавиши. Кнопка засыпания и кнопки увеличения/уменьшения яркости дисплея работают отлично. Про настройку кнопки включения/выключения Wi-Fi я расскажу ниже. Кнопки выключения/уменьшения/увеличения громкости звука не заработали, когда я пытался настроить их по тем HowTo, которые мне попались. Копать глубже в этом направлении я не стал, т. к. лично мне на Eee PC звук не нужен (я его вообще выключил в BIOS'е). Поэтому решение данной проблемы я оставляю вам. :) Если кто напишет в комментариях, как их настроить - буду благодарен, может быть, потом пригодится.
Динамическое изменение частоты процессора
Сразу скажу, что, читая обсуждения на форумах по поводу уменьшения частоты процессора в целях экономии энергии, я часто встречал мнения людей, утверждающих, что сэкономить много времени автономной работы не удастся - максимум 10-15 минут. Сам я никаких тестов не делал, но уменьшение частоты у себя все-таки настроил - может быть хотя бы по-меньше греться будет, да и эти 15 минут тоже не лишние...
Также стоит отметить, что хотя производитель и заявляет, что частота процессора составляет 900 Мгц, на самом деле он работает на частоте 630 Мгц. Судя по отзывам, даже если вы поднимите частоту до 900 Мгц, то прироста производительности вы не получите - для этого необходимо разгонять шину, чем я не стал заниматься - для меня время автономной работы имеет гораздо большее значение.
Итак...
Устанавливаем необходимый нам пакет, позволяющий менять частоту процессора на лету:
sudo apt-get install cpufrequtilsи добавляем в /etc/rc.local следующие строки:
# Включаем динамическое изменение частоты процессора modprobe p4-clockmod modprobe cpufreq-ondemand # Включаем плавное изменение частоты процессора в зависимости # от нагрузки в диапазоне от 112 Мгц до 675 Мгц. Новое значение # частоты будет вычисляться каждые 500 мсек. echo 112500 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq echo 675000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq powernowd -m 1 -p 500Если в процессе работы скорость реакции приложений вас не будет устраивать, то можно повысить минимальную частоту процессора (список доступных частот можно посмотреть в /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies) или уменьшить значение опции -p утилиты powernowd.
Wi-Fi
Компилируем и устанавливаем необходимый модуль:
sudo apt-get install build-essential wget 'http://snapshots.madwifi.org/special/madwifi-nr-r3366+ar5007.tar.gz' tar zxvf madwifi-nr-r3366+ar5007.tar.gz cd madwifi-nr-r3366+ar5007 make clean make sudo make install sudo rebootЕсли в будущем вы будете обновлять ядро, то необходимо будет заново скомпилировать и установить модуль.
Создаем файл /etc/acpi/actions/wireless-toggle.sh со следующими строками:
#!/bin/sh # main wifi toggle script (loads/unloads modules) . /usr/share/acpi-support/key-constants # The sequence here *may* be important. # (It seems to fail intermittently if you deviate.) unload_modules() { rmmod wlan_scan_sta rmmod wlan_tkip rmmod wlan_wep rmmod wlan_ccmp rmmod wlan_acl rmmod ath_pci sleep 1 rmmod ath_rate_atheros rmmod ath_hal rmmod wlan rmmod ath_dfs } # At least this one's straightforward. load_modules() { modprobe ath_pci } wifi_on() { # Force PCI Express Hotplug to reinit rmmod pciehp sleep 1 # pciehp_force may be unnecessary; Xandros did it. modprobe pciehp pciehp_force=1 sleep 1 # Switch on the hardware echo 1 >/proc/acpi/asus/wlan sleep 1 load_modules } wifi_off() { unload_modules echo 0 >/proc/acpi/asus/wlan } case $1 in on) acpi_fakekey $KEY_PROG1 wifi_on ;; off) acpi_fakekey $KEY_PROG2 wifi_off ;; toggle) STAT=`cat /proc/acpi/asus/wlan` if [ "$STAT" = "1" ]; then wifi_off; else wifi_on; fi ;; esac
Также создаем файл /etc/acpi/eeepc-hotkeys.sh:
#!/bin/sh code=$3 case $code in # Fn+F2 - enable/disable wifi 00000010) /etc/acpi/actions/wireless-toggle.sh on ;; 00000011) /etc/acpi/actions/wireless-toggle.sh off ;; esac
Делаем эти файлы исполняемыми:
sudo chmod a+x /etc/acpi/actions/wireless-toggle.sh sudo chmod a+x /etc/acpi/eeepc-hotkeys.sh
И создаем файл /etc/acpi/events/hotkey, в который записываем:
event=hotkey ATKD action=/etc/acpi/eeepc-hotkeys.sh %e
Все, теперь Wi-Fi и кнопка его включения/выключения должны работать. В принципе, для подключения к Wi-Fi точке вы можете использовать графические утилиты, но лично мне гораздо удобнее набрать пару слов в консоли, чем щелкать по множеству кнопок. Поэтому:
# Устанавливаем пакет для работы с WPA шифрованием sudo apt-get install wpasupplicant
Создаем файл /etc/wpa_supplicant/wpa_supplicant.conf следующего содержания:
ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=0 ap_scan=1 fast_reauth=1 eapol_version=1 network={ ssid="ROUTER_ID" psk="PASSWORD" priority=5 }где ROUTER_ID - имя точки доступа, а PASSWORD - пароль для доступа к ней.
Добавляем в /etc/network/interfaces строки:
iface ath0 inet dhcp wpa-driver wext wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Все, теперь для подключения к точке доступа необходимо выполнить команду
sudo ifup ath0
Если вы используете Wi-Fi точку с открытым доступом, то устанавливать wpasupplicant и создавать файл /etc/wpa_supplicant/wpa_supplicant.conf не нужно - достаточно только добавить в /etc/network/interfaces строки
iface ath0 inet dhcp pre-up ifconfig ath0 up pre-up iwconfig ath0 essid "ROUTER_ID"
Разорвать уже установленное соединение можно командой
sudo ifdown ath0
В принципе, можно прописать команды ifup/ifdown в скрипт /etc/acpi/actions/wireless-toggle.sh, чтобы при нажатии на кнопку включения/выключения Wi-Fi автоматически происходило подключение к Wi-Fi точке.
Экономим электроэнергию
Чтобы посмотреть, какие приложения/сервисы заставляют процессор чаще всего переходить из спящего состояния в рабочее, а следовательно, увеличивать расход электроэнергии, воспользуйтесь утилитой powertop.
У меня самыми активными оказались Wi-Fi, USB и Ethernet. Поэтому я добавил в /etc/rc.local следующие строки, которые отключают на этапе загрузки все эти интерфейсы:
# Отключаем Ethernet /sbin/ifconfig eth0 down # Отключаем USB rmmod ehci-hcd rmmod uhci-hcd # Отключаем Wi-Fi /sbin/ifconfig ath0 down
Включаю я их только тогда, когда они мне нужны. Включается они следующими командами:
# Ethernet sudo ifup eth0 # USB sudo modprobe ehci-hcd sudo modprobe uhci-hcd # Wi-Fi sudo ifup ath0
Если нет желания набирать каждый раз все эти команды в консоли, то можно поставить программу Eee PC sm-Control, написанную товарищем Serge_RUS, которая позволяет производить те же действия через графический интерфейс.
SD/SDHC карты
Пока что мне вполне хватает встроенного SSD диска, и покупать дополнительную флэш память я к своему Eee PC не думаю. Но, читая различные HowTo и форумы, я заметил, что у многих возникают проблемы с некоторыми картами памяти. Т. к. у меня пока такой проблемы нет, я не особо интересовался, какие карты лучше покупать и как бороться с проблемами, если они вдруг возникнут. В конце статьи я привел пару ссылок на эту тему, если она для вас актуальна.
Увеличение срока службы SSD
Чтобы уменьшить количество операций записи на SSD, добавьте в /etc/fstab следующие строки, чтобы все временные файлы и логи писались в оперативную память:
tmpfs /tmp tmpfs defaults,noatime,nodiratime 0 0 tmpfs /var/tmp tmpfs defaults,noatime,nodiratime 0 0 tmpfs /var/log tmpfs defaults,noatime,nodiratime 0 0
Внимание! Если вы используете программы, которые создают временные файлы очень большого размера в /tmp, то первую строку добавлять не стоит во избежании нехватки оперативной памяти при создании таких файлов.
В параметрах монтирования раздела SSD диска укажите опции noatime и nodiratime. Т. е. если раздел у вас монтируется строкой
UUID=79d788c4-a8fb-4f03-92c2-e90d4c26b51b / ext2 defaults,errors=remount-ro 0 1то замените ее на
UUID=79d788c4-a8fb-4f03-92c2-e90d4c26b51b / ext2 defaults,noatime,nodiratime,errors=remount-ro 0 1Включение этих опций запрещает обновление времени последнего доступа каждый раз, когда вы обращаетесь к какому-либо файлу или папке на этом разделе.
Если вы не пользуетесь командой locate, то можете удалить (или просто поставить exit 0 после строки #!/bin/sh) файл /etc/cron.daily/mlocate. Этот скрипт запускается каждый день и обновляет базу locate, содержащую пути всех файлов в системе (очень удобно использовать locate, если необходимо быстро найти какой-нибудь файл по имени - каманда find работает значительно медленнее, т. к. использует не готовую базу данных, а каждый раз просматривает все дерево каталогов). Если же вы пользуетесь locate'ом, то можно переместить /etc/cron.daily/mlocate в /etc/cron.weekly/, чтобы база обновлялясь раз в неделю.
Также, чтобы уменьшить количество операций записи на SSD, отключаем все логи (имхо, на карманном ноутбуке они не нужны):
sudo apt-get remove klogd sysklogd logrotate
Экономим место на SSD
Установите пакет localepurge. Он запросит у вас список локалей, которые вам нужны, и удалит все остальные. localepurge также будет автоматически запускаться при каждом запуске apt.
Запустите Synaptic, зайдите в меню Settings->Preferences, перейдите на вкладку Columns and Fonts и поставьте флажок напротив поля Installed Size. Теперь в списке пакетов появится еще одна колонка - Size. Если пакет установлен, то в этой колонке будет отображен размер, который занимают файлы данного пакета. Отсортируйте список пакетов по этой колонке и удаляйте все ненужные пакеты, которые занимают много места.
Компактная тема
Чтобы увеличить количество полезной информации, отображаемой на относительно небольшом экране Eee PC, рекомендую вам установить компактную тему для GTK - Human Compact.
Чтение книг
Для чтения книг могу порекомендовать FBReader.
Ссылки по теме
DebianEeePC/HowTo/Wifi
Ubuntu 8.04 (Hardy Heron) on the Asus Eee PC
(Un)supported Hardware
Проблемы с SDHC и их решение
Установка Ubuntu на Eee PC
Установка и настройка Ubuntu
22 комментария:
Очень интересный и подробный обзор! Спасибо :-)
Круто! Очень подробно и хорошо написано. Может кросспост на хабрахабр?
Спасибо за отзывы. Рад, что не зря старался. :)
A.I., а почему бы и нет... Сделал кросспост.
А почему не попробывать готовые решения?
http://www.eeebuntu.org/
Анонимный, ну хотя бы потому, что эти решения рассчитаны на среднестатистического пользователя, а, следовательно, их настройки не оптимальны. Например, судя по скриншотам, eeebuntu разгоняет процессор до 900 Мгц, что явно уменьшит время автономной работы. В итоге после установки такого специализированного дистрибутива придется искать в интернете HowTo на тему "как отключить такую-то функцию в дистрибутиве XXX" - думаю, таких HowTo будет гораздо меньше. :)
К тому же, насколько я понимаю, значительная часть нововведений в таких дистрибутивах приходится на графические утилиты для установленной по умолчанию среды окружения (в eeebuntu это Gnome). Я же предпочитаю графическим средам оконный менеджер IceWM, поэтому в итоге, например, Wi-Fi мне все равно придется настраивать руками.
Да и в конце концов не так уж и много надо сделать для адаптации Ubuntu под Eee PC, чтобы стоило ставить другой дистрибутив и получать от него дополнительные баги. Тут же, если я чего и делаю, то делаю собственными руками, и если что-нибудь сломается, буду хотя бы примерно представлять, кого винить...
Имхо. :)
Ненавязчиво попрошу указать автора этой программы для off/on оборудования на Eee PC... ;)
Анонимный, ммм... Ни сайта, ни автора мне найти не удалось - единственное упоминание есть в исходных текстах программы - псевдоним Serge_RUS и email адрес.
Псевдоним я указал. Email адрес не стал указывать, дабы не добавить автору проблем со спамом. Если Вы - Serge_RUS и одобряете выкладывание вашего email'a в открытом виде, то приведу и его.
Дельная статья. Но дизайн очень неудобный. Или он тоже для eeePC рассчитан?
> Дизайн очень неудобный. Или он тоже для eeePC рассчитан?
Анонимный, дизайн чего? Блога? Это стандартный Blogger'овский шаблон. Если вы про ширину - то мне тоже не очень нравится, что он такой узкий. Но, как правило, для Blogger'а существуют 2 вида шаблонов: узкие и "резиновые", которые растягиваются на весь экран. Я бы себе давно поставил "резиновый", если бы не один, на мой взгляд, довольно существенный недостаток - как правило, в "резиновых" шаблонах все поля делаются "резиновыми", т. е. задаются в процентах, хотя, на мой взгляд, такие элементы как колонки по бокам стоит делать фиксированной ширины, т. к., например, на моем широкоэкранном мониторе они растягиваются до слишком больших размеров и портят весь дизайн.
Самому же писать свой шаблон или дорабатывать чужой ну уж очень не хочется. :) Хотя, может быть, и правда стоит задуматься о смене шаблона, чтобы не отпугивать читателей. :)
Спасибо большое за отзыв!
(Я-Другой Анонимный:)
Наоборот, очень хорошо что
блог узкий - меньше режет глаза.
Будет еще лучше, если и
по высоте ограничить (то есть
выводить текст в маленьком окне,
которое прокручивать).
Кстати справа фон приятный зеленый.
Да и статья интересная, хотя
я и не линуксоид.
Да, сколько людей, столько и мнений. :)
Насчет прокрутки - довольно интересная идея, но я бы не рискнул такое делать. Сегодня на сайтах редко встретишь подобное, а что-то непривычное человеком зачастую сразу же воспринимается, как неудобное.
Спасибо за отзыв!
Прекрасная статья, спасибо
Я как раз хотела попробовать убунту. Вот на http://osnavigator.narod.ru нашла подробный материал по установка на виртуальную машину и на жесткий диск, а теперь вот еще и на ASUS Eee PC.
Я его собиралась покупать.
Надо попробовать
спасибо большое очень помог материал, тока вчера приобрел сей девайс и думал буду мучаться настраивать. еще раз спасибо хороший материал
когда редактирую файл
You do not have the permissions necessary to save the file. Please check that you typed the location correctly and try again.
какие права ? что значит не там ?
Анонимный, для редактирования системных файлов необходимо иметь привилегии пользователя root. Откройте файл командой
sudo gedit filename
sudo даст gedit'у привилегии пользователя root, и вы сможете сохранить файл.
Wi-fi
cd madwifi-nr-r3366+ar5007
дает результат
bash: cd: madwifi-nr-r3366+ar5007: No such file or directory
какая директория имелась ввиду?
+
chmod a+x /etc/acpi/actions/wireless-toggle.sh
chmod: changing permissions of `/etc/acpi/actions/wireless-toggle.sh': Operation not permitted
chmod a+x /etc/acpi/eeepc-hotkeys.sh
chmod: changing permissions of `/etc/acpi/eeepc-hotkeys.sh': Operation not permitted
что делать ?
> какая директория имелась ввиду?
Та, которая появляется в результате распаковки архива madwifi-nr-r3366+ar5007.tar.gz с Wi-Fi модулем командой tar zxvf madwifi-nr-r3366+ar5007.tar.gz. Проблема у вас возникла потому, что данный модуль больше не доступен по адресу http://snapshots.madwifi.org/special/madwifi-nr-r3366+ar5007.tar.gz, но вы можете скачать его тут: http://ifolder.ru/6966234.
> chmod a+x /etc/acpi/actions/wireless-toggle.sh
> chmod: changing permissions of `/etc/acpi/actions/wireless-toggle.sh': Operation not permitted
>
> chmod a+x /etc/acpi/eeepc-hotkeys.sh
> chmod: changing permissions of `/etc/acpi/eeepc-hotkeys.sh': Operation not permitted
Вам опять не хватает привилегий для выполнения команд. Запустите их через sudo:
sudo chmod a+x /etc/acpi/actions/wireless-toggle.sh
sudo chmod a+x /etc/acpi/eeepc-hotkeys.sh
Присоединяюсь к благодарностям! отличный и простой для восприятия материал! Являясь новичком Linux системах нашел все что мне на данный момент было необходимо! еще раз спасибо!
Хорошая статья. Аффтару огромное человеческое спасибо =)
спасибо огромное...так обрадовалась когда нашла статью...тк не грузится с флешки....асус думает и не пускает линукс утанавливаться....проработаю по советам...спасиб ещё раз!!!
Добрый день!
Отличная инструкция! Большое спасибо!
Не могли бы вы поделится нынешним местоположением архива madwifi-nr-r3366+ar5007.tar.gz ?
На ifolder он более не доступен.
Заранее большое спасибо!
У меня его давно уже нет. Да и, честно говоря, думаю, что с современной версией Ubuntu в большинстве шагов, описанных в данной статье, нет необходимости - практически все уже, наверняка, работает из коробки.
Отправить комментарий