Ubuntu 8.04 on eee pc

Материал из wiki.nntc.nnov.ru
Перейти к навигации Перейти к поиску

Сетевой интерфейс не работает

Проблема: сетевой адаптер отключился. Я установил закрытый драйвер, но это не помогло: светодиод линка на роутере не загорается при включении eeePC.

Очень похоже, что проблема в состоянии электропитания адаптера, в который тот переводится при завершении работы в оригинальном дистрибутиве Xandros: замечено, что такая проблема (с пропаданием линка) наблюдается при «двойной» загрузке: всякий раз после завершения работы Xandros и загрузке в Ubuntu сетевой адаптер не функционирует.

Решение: Отсоедините eeePC и выньте из него батарею, а затем подключите её снова. Каким-то образом это «сбрасывает» что-то внутри eeePC, и это всегда восстанавливает работоспособность проводного сетевого адаптера всегда восстанавливается.

Ещё вариант: если вы хотите удалить Xandros и полностью перейти на Ubuntu - вы можете завершить последний сеанс работы в нём через «жёсткое» отключение: нажмите и удерживайте нажатой кнопку отключения питания в течение примерно 5 секунд.

Ядро ARRAY.ORG

Адам (также участник сообщества eeeusers.com) создал специальное ядро. В нём решены проблемы с Wifi, микрофоном, а также реализованы некоторые другие возможности. Установка ядра состоит из двух основных шагов:

  1.
     Прочтите: эту страницу http://array.org/ubuntu/index.html
  2.
     Следуйте этим инструкциям http://array.org/ubuntu/setup.html

Многие пользователи протестировали это ядро и остались довольны.

Вот вкратце список включенных особенностей оптимизированного ядра:

Ядро linux-image-2.6.24-20-eeepc:

   *
     Оптимизировано для процессоров Pentium-M.
   *
     Применён патч 40-жильного UDMA для увеличения скорости ввода/вывода.
   *
     USB_PERSIST через патч от timauton (ВНИМАНИЕ! помимо ядра нужен ещё дополнительный скрипт. См. об этом в последнем разделе на странице http://array.org/ubuntu/post-install.html (по-английски)).

Пакет linux-ubuntu-modules-2.6.24-20-eeepc:

   *
     Модуль eeepc-acpi
   *
     Модуль madwifi wireless (из ветки madwifi-hal-0.10.5.6, svn r3745)
   *
     Модуль для разгона eeepc-linux (v0.2)
   *
     Модуль uvcvideo (для камеры) (svn r233)
   *
     Поправлен модуль snd_hda_intel - для верной работы микрофона на EeePC 900
   *
     Обновлён драйвер-порт Elantech touchpad (чтобы его можно было выбирать).

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

Инструкция по установке ядра от ArrayOrg

Setup the Repository

1. Install Ubuntu v8.04. Make sure your EeePC can boot into Ubuntu without the aid of a USB Stick or external CD-ROM drive. 2. Setup the Array.org repository. This will add the following line to your APT Sources list.

         deb http://www.array.org/ubuntu hardy eeepc
         wget http://www.array.org/ubuntu/array-hardy.list
         sudo mv -v array-hardy.list /etc/apt/sources.list.d/

3. Install the Array.org repository public key.

         wget http://www.array.org/ubuntu/array-apt-key.asc
         sudo apt-key add array-apt-key.asc

4. Update your local apt cache

         sudo apt-get update

Download the EeePC Kernel

1. Install the EeePC-optimized kernel.

         sudo apt-get install linux-eeepc

2. Reboot. 3. During GRUB's initialization, press ESC to open the boot options menu. The new kernel is labelled "2.6.24-21-eeepc".

If it is not at the top of the boot list, scroll down to it and hit enter.

Включение WiFi

Встроенный беспроводной адаптер Eee не работает «из коробки». Для устранения этой проблемы необходимо обновить драйвер. Откройте окно консоли (Приложения>Стандартные>Терминал) и введите следующие команды:

     sudo apt-get update
     sudo apt-get install build-essential
     wget 'http://snapshots.madwifi.org/special/madwifi-ng-r3366+ar5007.tar.gz'
     tar zxvf madwifi-ng-r3366+ar5007.tar.gz
     cd madwifi-ng-r3366+ar5007
     make clean
     make
     sudo make install
     sudo reboot

Обновления системы (в особенности новые ядра) приведут к тому, что обновлённый таким образом драйвер снова «сломается»; в этом случае просто повторите вышеуказанные действия, чтобы вновь восстановить работу wifi.

У кого ядро от ArrayOrg тому это не надо!

Корректное выключение

Ubuntu «из коробки» не умеет корректно выключать Eee. Завершение работы приводит к тому, что экран гаснет, однако питание не отключается, и для полного выключения вам нужно вынуть батарею.

Для полного корректного отключения Eee добавьте следующую строку:

    rmmod snd-hda-intel

в конец скрипта /etc/default/halt .


ubuntueeetweak

Скрипт, находящийся здесь http://www.x2on.de/eeepc/ubuntueeetweak.sh прекрасно работает и позволяет выполнить большинство задач, перечисленных в дальнейших разделах. Вы также легко можете отредактировать этот скрипт чтобы предотвратить изменения, которые вы не хотите вносить. Данный скрипт выполнит следующие настройки:

   *
     Установит меньший размер шрифтов,
   *
     Уменьшит панели инструментов (только значки),
   *
     Выключит звуки UI,
   *
     Починит кнопку выключения звука,
   *
     Разрешит полноэкранный режим нажатием <Alt>-F11,
   *
     Установит переход в ждущий режим при закрытии крышки и очистку экрана,
   *
     Позаботится о предупреждении о неисправной батарее, которое постоянно отображается при запуске,
   *
     Настроит Compiz, так чтобы окна можно было перетаскивать (удерживая <Alt>, кликните левой кнопкой на окне и тащите) за пределы верха экрана,
   *
     Установит модули ACPI (в результате чего смогут работать «горячие» клавиши),
   *
     Установит драйвер madwifi, что восстановит работоспособность встроенного wifi,
   *
     Установит окна уведомлений OSD для горячих клавиш (переключение wifi, приглушение, яркость, громкость и т.д.), и наконец
   *
     Настроит звук.
   *
     Владельцам Eee PC 900 необходимо закомментировать строки 60-62, чтобы этот скрипт не сломал звук.
   *
     Строку 51 следует отредактировать так, чтобы получилось «cd madwifi-ng-r3366+ar5007»

RiceeeyTweak

Другой скрипт: http://eee.ricey.co.uk/files/eee/RiceeeyTweak.sh, включает вышеупомянутый, а также добавляет следующие возможности:

   *
     Собирает драйвер для оверклокинга Eee,
   *
     Устанавливает модули и дравер (для оверклокинга),
   *
     Устанавливает утилиты для оверклокинга,
   *
     Уменьшает обращение к дискам, и
   *
     Устраняет проблему с завершением работы

Я не тестировал этот скрипт и ничего не могу сказать о его эффективности и работоспособности

(Спасибо http://eee.ricey.co.uk!!!)

Включение управления частотой процессора

Примечание: на основании реальных изменений энергопотребления никаких особых преимуществ во включении управления частотой процессора не отмечено. Прочтите Power consumption of the Eee PC. Если это вас не убедило, двигаемся дальше.

После установки Ubuntu не может управлять частотой процессора (впрочем, как и Xandros). Если вы держите компьютер включенным в розетку весь день, то никаких проблем с этим не; однако если вы работаете от батареи, вы можете заметить, что её хватает не на столь длительный срок, как хотелось бы. К тому же при этом она нагревается.

К счастью, это можно исправить: можно уменьшить частоту процессора, если вы, например, просто печатаете (и тем самым увеличить время работы от батареи); данная настройка также увеличивает частоту процессора, если вы запускаете какую-нибудь ресурсоёмкую задачу.

В первую очередь кликните правой кнопкой на дальшем левом углу панели вверху экрана, и запустите команду «добавить на панель». Наберите в поиске «монитор», и добавьте «Монитор изменения частоты процессора». Вы увидите сообщение об ошибке, что изменение частоты процессора не поддерживается на вашей машине (нажмите Ок), и этот апплет покажет, что ваш процессор работает на частоте 630MHz.

Запустите терминал и выполните следующее:

      sudo apt-get remove powernowd
      sudo apt-get install cpufrequtils sysfsutils
      sudo modprobe p4_clockmod

В этот момент вы можете заметить, что ваш процессор стал работать медленнее. Поздравляем! Вы только что включили управление частотой процессора! Теперь нужно написать несколько скриптов, чтобы всё это происходило автоматически:

      sudo nano /etc/sysfs.conf

…добавьте следующую строку:

      devices/system/cpu/cpu0/cpufreq/scaling_governor = ondemand

…затем откройте другой файл конфигурации:

      sudo nano /etc/modules

…и добавьте две строки:

      p4_clockmod
      cpufreq_ondemand

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

      sudo echo > /etc/acpi/ac.d/90-cpufreq.sh '#!/bin/sh'
      sudo echo >> /etc/acpi/ac.d/90-cpufreq.sh '/usr/bin/cpufreq-selector -g performance'
      sudo echo > /etc/acpi/battery.d/90-cpufreq.sh '#!/bin/sh'
      sudo echo >> /etc/acpi/battery.d/90-cpufreq.sh '/usr/bin/cpufreq-selector -g ondemand'
      sudo chmod +x /etc/acpi/ac.d/90-cpufreq.sh
      sudo chmod +x /etc/acpi/battery.d/90-cpufreq.sh

…наконец, перезагрузите машину - просто, чтобы убедиться, что всё работает, набрав в консоли

      sudo reboot

Апплет частоты процессора должен теперь сказать, что последний работает очень медленно (125MHz на моей машине), однако запуск любых интенсивных вычислительных задач вновь поднимет частоту и переключит процессор на полную скорость. Вы можете отметить, что компьютер стал менее «отзывчивым» - ему может потребоваться несколько секунд на то, чтобы решить увеличить частоту.

Вы можете задать минимальную частоту для модуля governor с помощью следующей строки в /etc/sysfs.conf:

      devices/system/cpu/cpu0/cpufreq/scaling_min_freq = 337000

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

Примечание: с загруженным модулем p4_clockmod EEEPC скажет, что он работает на частоте 900MHz - в целом это на 33% быстрее, чем на самом деле. К несчастью, это не так. Бенчмарки покажут ту же производительность, которая была без модуля, т.е. как на частоте 630 Mhz. Более детальное объяснение этому можно найти в других статьях wiki (например, Overclocking the Front Side Bus (FSB) to 100 MHz with a Linux kernel module - упомянутый выше скрипт RiceeeyTweak как раз использует этот модуль) - включая специальные модули ядра для EEE, которые помогут вам включить полноценные 900Mhz.


  • Я заметил, что включение управления частотой процессора в действительности существенно замедлил работу моего Eee (4GB Surf 701 w/2GB ram) - главное меню стало вызываться намного медленнее, а также появились артефакты в отображении графики при отрисовке значков в главном меню. Если вы хотите «разогнать» процессор, я бы порекомендовал поискать на форумах информацию о том, как это сделать через прошивку специальной версии BIOS, котороая позволит вам включить режим оптимизации по производительности (900Mhz). Если я верно понял, после включения режима 900Mhz вы можете затем прошить любую другую, новую или более стабильную версию BIOS, а изменения частоты процессора останутся даже после установки нового BIOS.

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

      sudo chmod +s /usr/bin/cpufreq-selector

… и с этого момента вы можете просто кликать мышью по апплету скорости и изменять частоту на своё усмотрение.

Горячие клавиши управления Wifi

Для включения горячих клавиш wifi добавьте

pciehp pciehp_debug=1 pciehp_force=1

в файл /etc/modules

Создайте скрипт /etc/acpi/actions/wireless-toggle.sh со следующим содержимым

#!/bin/sh
wlan_control=/proc/acpi/asus/wlan
WLANSTATE=$(cat $wlan_control)
case $WLANSTATE in 
1)	
ifconfig ath0 down
modprobe -r ath_pci
echo 0 > $wlan_control
modprobe -r pciehp
;;
0)
modprobe pciehp pciehp_force=1 pciehp_debug=1
echo 1 > $wlan_control
modprobe ath_pci
echo 0 > $wlan_control
echo 1 > $wlan_control
;;
esac

и сделайте его исполняемым, выполнив команду

chmod a+x /etc/acpi/actions/wireless-toggle.sh

ACPI - настройка горячих клавиш, камеры и т.д.

Для полной поддержки горячих клавиш, включения/выключения камеры и т.д. вам нужно установить модуль eeepc-acpi.

Установите его командами:

      sudo apt-get install module-assistant eeepc-acpi-source
      sudo m-a a-i eeepc-acpi
      sudo sh -c 'echo eeepc-acpi >> /etc/modules'

Эти команды скачают исходник модуля и соберут его для вашего текущего ядра. Всякий раз после обновления ядра вам нужно выполнить m-a a-i eeepc-acpi (независимо от способа обновления ядра - либо с помощью apt-get, либо с помощью dist-upgrade)


Примечание: Этот модуль уже включен в специальное ядро ARRAY.ORG, упомянутое в начале данного руководства.

Загрузка

Многие жалуются на слишком медленную загрузку системы, которая, похоже, сводится к проблеме в определении источника времени (таймера). Чтобы проверить это, прервите grub при загрузке (во время обратного отсчёта), нажав esc. Затем нажмите 'e' на пункте загрузки по умолчанию, чтобы отредактировать параметры загрузки. Переместите стрелками курсор на строку с ядром и снова нажмите 'e'. В конце строки (после параметров «quiet» и «splash»), добавьте:

     clocksource=hpet

Нажмите Enter, затем нажмите 'b' для продолжения загрузки. Это может ускорить загрузку примерно на 40 секунд (при установке системы на SSD).

Чтобы сделать эти изменения постоянными, после загрузки системы отредактируйте файл /boot/grub/menu.lst (потребуются права рута, либо sudo). Найдите строку:

     # defoptions=quiet splash

и исправьте её, чтобы получилось вот так:

     # defoptions=quiet splash clocksource=hpet

(Примечание: defoptions изменяет лишь параметры ядра для загрузки по умолчанию, оставляя всё остальное без изменений. Если вы хотите внести эти изменения для всех остальных пунктов загрузки, включая режим восстановления, используйте вместо этого параметр kopt, который находится несколькими разделами выше defoptions.)

Сохраните menu.lst и выйдите из редактора, затем из консоли выполните

     sudo update-grub

Чтобы ваши новые настройки вступили в силу, перезагрузитесь.

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

Чтобы задействовать клавиши управления звуком и wifi создайте новый файл /etc/acpi/eeepc-hotkeys.sh и вставьте в него следующий текст:

#!/bin/sh
code=$3
case $code in
#Fn+F2 -- enable/disable wifi
0000001[01])
/etc/acpi/actions/wireless-toggle.sh
;;
# Fn+F7 -- mute/unmute speakers
00000013)
acpi_fakekey 113
;;
# Fn+F8 -- decrease volume
00000014)
acpi_fakekey 114
;;
# Fn+F9 -- increase volume
00000015)
acpi_fakekey 115
;;
esac

Сделайте этот скрипт исполняемым с помощью

    chmod a+x /etc/acpi/eeepc-hotkeys.sh

Измените /etc/acpi/events/hotkey на

    event=hotkey ATKD
    action=/etc/acpi/eeepc-hotkeys.sh %e

В дистрибутиве Ubuntu 8.04 Final нет файла горячих клавиш! Создайте его.

Перезагрузитесь - и клавиши управления громкостью должны заработать (однако, для этого нужна ещё поддержка ACPI).

Открытие evolution при включении адаптера питания

Для того чтобы исправить эту оплошность необходимо удалить файл /etc/acpi/events/asus-mail командой

     rm /etc/acpi/events/asus-mail

Освобождаем место: сжатие раздела /usr

Сжав папку /usr вы можете освободить около 1Гб места на диске. Основная идея состоит в том, чтобы сжать содержимое папки с помощью squashfs. Однако система на squashfs работает в режиме только-чтение. Поэтому поверх неё необходимо разместить другую файловую систему, например, unionfs или aufs - чтобы иметь возможность сохранять изменения.

1. Устанавливаем пару пакетов:

 sudo apt-get install squashfs-tools aufs-tools

2. Создаём папку, где будет лежать сжатый образ файловой системы и оверлей:

 sudo mkdir -p /usrsquash/overlay

3. Сжимаем файловую систему:

 sudo mksquashfs /usr /usrsquash/usr.sqfs

4. Добавляем эти строки в файл /etc/modules:

 aufs
 squashfs
 loop

5. Добавляем эти строки в файл /etc/fstab:

 /usrsquash/usr.sqfs /usr squashfs ro,loop,nodev 0 0
 aufs /usr aufs nodev,noatime,dirs=/usrsquash/overlay=rw:/usr=ro 0 0

6. Переключаемся на runlevel 1:

 sudo init 1

(Ubuntu спросит вас, что делать - выберите запуск root-шелла)

7. Переименовываем старую папку /usr и создаём новую пустую папку для точки монтирования:

 mv /usr /usr.old
 mkdir /usr

8. Проверяем, работает ли новая (сжатая) конфигурация. Наберите:

 mount -a

Если в результате этого вы увидите сообщения об ошибках, а папка /usr окажется пустой, то вам нужно исправить fstab, либо отменить все внесённые изменения ДО перезагрузки.

9. Переключаемся снова в многопользовательский режим:

 init 3

… или просто перезагрузите компьютер:

 reboot

Всё в порядке? В таком случае вы можете удалить папку /usr.old чтобы освободить занятое ею место.

Когда в процессе установки приложений / обновлений папка /usrsquash/overlay станет занимать достаточно много (на ваш взгляд) места вы можете обновить сжатый образ.

Для этого создайте «свежий» образ командой

 sudo mksquashfs /usr /usrsquash/usr1.sqfs

Затем перейдите в runlevel 1:

 sudo init 1

Там замените старый образ новым, а затем очистите папку /usrsquash/overlay

 cd /usrsquash
 mv usr1.sqfs usr.sqfs
 rm -R overlay/*

и переключаемся снова в пользовательский режим (init 3)

Примечание: последовательность команд обновления можно оформить в виде скрипта и запускать его в runlevel 1.

Источник: http://po-ru.com/diary/linux-liposuction-or-xubuntu-in-under-a-gig-on-the-eee-pc/

Вопрос: Как можно пересжать? Не лучше ли, и в чём, если сжать всю файловую систему целиком? Не лучше ли воспользоваться cloop + aufs (и если лучше, то в чём именно)?

Примечание: Сжатый раздел с папкой /usr отлично работает на пару с шифрованным корневым разделом (смотри выше; сжатый образ это часть корневой файловой системы, а потому также является зашифрованным).