Translation(s): en

(!) ?/Discussion


Эта вики посвящена настройке Дебиана на Acer Aspire One

http://www.tommasovitale.it/images/AcerAspireOne.jpg

О странице

Эта страница предназначена для помощи при установке Debian GNU/Linux на Acer Aspire One Netbook. Также здесь представлены дополнительные материалы об установке необходимых драйверов и кое-какой оптимизации.

Перед установкой

Существует достаточно много способов установки Дебиан, один из них - для Acer Aspire One, использует флэш-накопители, воможно Вы сначала выберете как раз этот способ, так как у Асера нет своего CDROM - привода. Вам понадобится USB или SD флэшка от 256 метров и больше (хотя можно помучиться с инсталляцией бизнескард - она меньше). Этот метод описывает как сделать флэшку с файлами установки на ней, иначе говоря bootable flash drive. Если интересуют другие методы, пожалуйте на install guide. В любом случае убедитесь, что будете использовать ядро (kernel) не менее 2.6.25, чтобы там была поддержка сетевого адаптера, поскольку он нужен для сетевой установки.

Подготовка загрузочной флэшки (USB flash drive)

(if) Если у вас работает GUI или под рукой windows попробуйте unetbootin тулза скачивает образ нужного дистриба и форматит флэшку в два клика. (else) Скачайте последнюю дневную сборку Lenny (testing) boot.img.gz drive image и последний netinst ISO image. Очень ВАЖНО чтобы версия ядра в boot.img.gz и net-install ISO были одинаковы! Если они не одинаковы установщик не сможет определить оборудование и упадёт ещё до входа в шелл.

Создание USB flash boot drive

Как написано в Installation Manual : "Самый простой способ сделать флэшку - это скачать hd-media/boot.img.gz, и сделать "gunzip" чтобы извлечь 256 MiB образ из файла."

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

Во-первых сделайте бэкап данных, потом найдите нужную флэшку в устойствах, если найдёте не правильно, то ВЫ уничтожите данные на другом устройстве. Обычно нужная флэшка находится в /dev/sdz (у меня, например, картридер и там /dev/sde1), теперь нужно выполнить команду под рутом:

# zcat /path/to/boot.img.gz > /dev/sdz

После этого, смаунтить флэшку и скопировать поверх net-install ISO file

Внимание: Он пробовал такую штуку на Debian 4.0 (Etch), и оно отказалось маунтить флэшку после zcat boot.img.gz. А на Lenny всё прошло бе проблем. Советует копировать netinst ISO file именно Lenny поэтому, если такая проблема возникла, или другую систему --?OddHenriksen

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

Заметка 2: С Debian Etch он делал вот так => debian-usb-boot

Форматирование флэш-накопителя с помощью других программ

Если хотите использовать флэшку по полной с Debian net-installer, можете сначала смаунтить boot.img.gz, скопировать поверх файлов, потом пустить SYSLINUX - загрузчик с флэшки. Если флэшка уже правильно отформатирована для загрузки, то можно пропустить следующий шаг.

Можете отформатировать флэш-накопитель,чтобы сделать его загружаемым (совместимым с USb-ZIP), это потребует наличия скрипта mkdiskimage поставляемого с пакетом syslinux. Следующая таблица показывает комманды для создания правильных разделов под загрузку с флэш карты, взятых tс этого форума.

Size of drive

mkdiskimage command

1GB или меньше

# mkdiskimage -4 /dev/sdz 0 64 32

1GB < флеш-карта <= 2GB

# mkdiskimage -4 /dev/sdz 0 128 32

2GB < флеш-карта <= 8GB

# mkdiskimage -F -4 /dev/sdz 0 255 63

больше 8GB

# mkdiskimage -F -4 /dev/sdz 1 255 63
# dd if=/dev/zero of=/dev/sdz bs=1 seek=446 count=64
# echo -e ',0\n,0\n,0\n,,C,*' | sfdisk /dev/sdz
# mkdosfs /dev/sdz4

Затем скопируйте содержимое boot.img.gz в директорию на заново отформатированной флэшке

 # gunzip boot.img.gz; mkdir /mnt/loopback; mount -o loop boot.img /mnt/loopback;
 # mkdir /mnt/usb; mount /dev/sdz4 /mnt/usb; mkdir /mnt/usb/debian_installer;
 # cp -r /mnt/loopback/* /mnt/usb/debian_installer
 # cp debian-XXX-netinstall.iso /mnt/usb
 # umount /mnt/usb; umount /mnt/loopback

Проинсталлируйте SYSLINUX на раздел и папки с содержимым boot.img:

 # syslinux -d debian_installer /dev/sdz4

Если вы переименуете или измените навание папки debian_installer вам потребуется запустить "syslinux" снова иначе загрузки не произойдет

Внимание: Я пробовал это на Debian 4.0 (Etch). Пакет syslinux в Etch сильно устаревший и не поддерживает параметр -d , и по приведенной инструкцции не работал. Поэтому следует убедиться, что используется современная версия syslinux. --?OddHenriksen

Установка

Перегрузите асер уан с воткнутой юсб, когда увидете приглашение на вход в биос нажмите F12 (мне пришлось войти в биос по F2 и поставить хард в самый низ в списке загрузочных устройств) выберите свой USB для загрузки, это повлечет загрузку установщика Debian с USB.

Когда выскочит меню загрузки, возможно, потребуется написать "noacpi" в строку инициализацции ядра, чтобы заработала сетевая карта (мне это не понадобилось --oeai).

После этого инсталляция должна пройти незаметно, загрузится образ net-install ISO, компоненты и продолжится процедура установки (кстати для сетевой инсталляции Вам нужен Оплаченный интернет или свой хост с ресурсами дебиан), вам нужен проводной интернет, поскольку WiFi не будет работать в установщике (брехня - у меня всё сразу нашлось, только через вифи я не пробовал насчет обнаружения точек --oeai)

Настройка

У меня при установке с флэшки unetbootin не могло найти CDROm, нужно было сказать выбрать cdrom - none, тогда спросит где находится девайс, там написать "-t vfat /dev/sd##" в зависимости от того куда встала флэшка, чтобы это узнать перейди на другой терминал alt+F2, там набрать кажется lsmod и он покажет устройства, найти свой методом исключения, можно смотреть в syslog "nano /var/log/syslog" --oeai

Почти все должно работать сразу после окончания установки. Но всё же, беспроводная карта требует дополнительного внимания; оно основано на чипсете AR5007, которому нужен новый драйвер (к слову, у меня он встал сам с последней netinst от 31 декабря 09, ядро 4.26, значит там эти дрова уже есть --oeai). Статус поддержки AR5007 отслеживается на http://madwifi-project.org/ticket/1192. Последняя версия драйвера может быть получена из источника madwifi-source пакета в Lenny или прямо из ?MadWiFi svn.

Небольшая ремарка (от странного парня Хендриксена --?OddHenriksen) о WiFi и network-manager: было замечено что network-manager неправильно работает с некоторыми драйверами ?MadWiFi (incompatible hal, возможно). Понадобится конфигурить WLAN (т.е. ESSID, WEP/WPA) ручками. wicd отлично подошел как альтернатива. Снаала удалите network-manager, потом добавьте следующее в /etc/apt/sources.list

deb http://apt.wicd.net lenny extras

Затем получите ключ:

wget -q http://apt.wicd.net/wicd.gpg -O- | sudo apt-key add -

затем обновите аптитюд, "aptitude install wicd". За доп. информацией идите сюда: http://wicd.sourceforge.net/download.php

WiFi via Module Assistant

Убедитесь что у вас non-free и contrib stanza в /etc/apt/sources.list - потому что madwifi не предназначен для СПО (свободного программного обеспечения)соглачно debian. Затем под root:

# apt-get update
# apt-get install module-assistant
# m-a prepare
# m-a auto-install madwifi

WiFi из сырцов

Убедитесь что у вас есть build-essential и соответствующие kernel headers установлены, и следуйте инструкциям по http://madwifi-project.org/wiki/UserDocs/FirstTimeHowTo, со ссылками на http://madwifi-project.org/ticket/1192.

WiFi LED

если вы собрали ?MadWifi из последних исходников, вы можете включить лампочку WIFI !!! ROFL добавив следующее

dev.wifi0.ledpin=3
dev.wifi0.softled=1

в конец /etc/sysctl.conf (or /etc/sysctl.d/madwifi.conf). Оно активируется после ребута. А можно их и сразу сделать, если исполнить команды sysctl -p (or sysctl -p /etc/sysctl.d/madwifi.conf).

Веб камера

Ещё один кусок железа, имеющий свойство не работать после установки - Веб камера, чтобы это исправить потребуется драйвер uvcvideo. Просто проверьте последнюю версию uvcvideo из svn://svn.berlios.de/linux-uvc/linux-uvc/trunk, и соберите его из исходников. (Заметь, снова, в тестовой версии дебиана всё работает).

'На 2008.11.09, ядро 2.6.26 в testing включается модулем uvcvideo и работает нормально.

Управление частотой

Управление частотой поддерживается модулем acpi-cpufreq. загрузив этот модуль вы сможете менять частоту от 800 MHz до 1.6 GHz. Этот модуль стоит включить в установку по умолчанию.

Разрешение экрана

Самый высокий видео режим поддерживаемый биосом карты - 800x600x32, чтобы получить более вменяемый фрэймбуффер для виртуальных терминалов нужно передать ядру команду "vga=8" тогда режим будет 800х600х16

Под иксами оптимальное разрешение 1024х768 (стандратное широкоэкранное соотношение, у меня на доп монитор тянет 1680х1050), по дефолту конфигурация X11 сделает шрифты слишком широкими (нормально для 1680) - нужно добавить строку в секцию "Monitor" в "/etc/X11/xorg.conf"

DisplaySize  195 113

в секцию "Device" добавить строку:

Option     "NoDDC"

Это установит раззрешение на корректные 96 DPI

Если используете KDM и видно, что настройки не дают эффекта, откройте "/etc/kde3/kdm/kdmrc", найдите там строку

Карт-ридер

Карт-ридер J-Micron. Порт с левой стороны (отмечен как расширение хранилища) существует как PCI ID 197b:2382, а мульти-ридер справа занимает PCI IDs 197b:2381, :2383 and :2384. Карт-ридер скрыт при включении и холодном ресете, и не открывается , если туда не вставить карту (несмотря на всевозможные уверения). Устройство появляется в системе когда карта включается в любой и слотов, и тогда они оба появятся.

Многие люди советуют ставить "setpci -d 197b:2381 AE=47" чтобы открыть устройство. Обычно этот метод не работает, так как если устройство не обнаружено системой, то команда завершается ошибкой.

A script to poll the card reader for power events (AC unplugged, etc.) is included on the recovery DVD shipped with the machine within the "hdc1._.tar.bz2" archive as /usr/sbin/jmb38x_d3e.sh. Данный скрипт запускается через каждые 5 минут и изменяет уровень мощности в зависимости от режима энергопотребления.

Планки памяти типа "Мемори Стик" являются причиной soft lockup в текущих тестируемых и нестабильных версиях ядер. Рекомендуется заблокировать модули для них. Debian баг 500058 был опубликован для данной проблемы.

Здесь можно найти решение http://www.nabble.com/Debian-netbook-aspire-one-td19141623.html . Чтобы изменить путь без возникновения конфликтов с module-init-tools , создайте файл /etc/modprobe.d/aspire-blacklist-memstick.conf со следующим содержимым :

blacklist jmb38x_ms
blacklist memstick

Конфигурацию udev трогать не обязательно.

Самый простой способ активации обоих слотов для чтения карт - создать файл /etc/modprobe.d/aspire-fix-sd-slots.conf со следующим содержимым:

options pciehp pciehp_force=1 pciehp_slot_with_bus=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

Модуль 'pciehp' даст слотам появиться как hotplug устройства. Как только карточка будет вставлена, строка 'install' в конфигурации modprobe настроит соответствующим образом контроллер, а затем загрузит драйвер sdhci. hal должен увидеть вставленные карточки после чего GNOME или KDE смогут автоматически смонтировать их.

Звук

Аудио в дебиан unstable должно сразу работать. Просто убедитесь что следующая строка есть на месте, автообнаружение включено и DMA position fix также включен:

options snd-hda-intel model=auto position_fix=1

Чтобы заставить звук работать в Lenny, Вы должны скачать пакет с исходными кодами ALSA (alsa-source_1.0.17.dfsg-2) из нестабильного (sid) репозитория, так как 1.0.16 (timer.c) некомпилируется на Lenny. После того, как Вы добавите строчку с нестабильным репозиторием в /etc/apt/sources.list Вы может продолжить сборку и установку ALSA. [no longer necessary - 1.0.17 is now in Lenny] Инструкции, приведённые ниже, взяты из Ubuntu Install guide и работают с ядром 2.6.26-1.

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

Замечание: Возможно Вам понадобиться запустить "m-a a-i alsa" дважды, чтобы успешно собрать модуль.

Добавьте необходимый модуль в /etc/modules после завершения.

 snd-hda-intel 

После перезагрузки звук должен работать. Не забудьте закомментировать нестабильные репозиторнии в файле sources.list. Смотрите Ubuntu Install guide для дополнительной настройки модуля snd-hda-intel.

Модуль snd-hda-intel, включённый в ядра версии 2.6.25 и выше, хорошо работает и без установки пакета alsa. Однако ядрах версии 2.6.26 и выше был добавлен новый модуль " snd-pcsp". Если он загружается перед модулем snd-hda-intel, то становится причиной плохого качества звучания. Если у Вас именно такая проблема, то удалите snd-pcsp или если Вам нравится надоедающее пиканье добавьте

options snd-pcsp index=2

to /etc/modprobe.d/alsa-base.conf для правильной загрузки модуля.

Если звук перестаёт работать после выхода из режима низкого энегропотребления, добавьте следующее в /etc/modprobe.d/alsa-base.conf

при выходе из спящего режима звук часто пропадает, решений много, самое простое после выхода выполнить команду

sudo alsa force-reload

или проделать то что написано здесь или здесь

Диагностика

Поскольку приведённые инструкции касаются самых последних из доступных образов net-install и USB-установщика, Вы можете столкнуться с некоторыми трудностями.

Одной из них, как показывает опыт автора, является отсутствие модуля ядра nls_utf8 на USB-образе, что не позволяет установщику смонтировать ISO-образ. Чтобы устранить данную проблему, надо взять nls_utf8 модуль из работающей системы Debian с таким же ядром, поместить его на флешку, запустить шелл из инсталлятора и загрузить модуль nls_utf8 самостоятельно перед тем как продолжать установку.

В Aspire One встроен контроллер ?RealTek RTL8101E Fast Ethernet, который использует r8169 драйвер в ядрах выше 2.6.23. Предыдущие явдра (например 2.6.18) определяют сетевую карту и Вы можете её видеть как устройство eth0, но использовать его будет нельзя. Автор использовал драйвер, поставляемый вместе с Дебиан на ядре версии 2.6.25-2-486, без всяких проблем после того, как передал ядру параметр "noacpi" во время загрузки. ( Замечу, что мне не потребовалось передавать ядру данный параметр на моём Acer One, возможно, что в этом нет необходимости). Ядру версии 2.6.25-1, который скорее всего появится в Lenny, никаких специальных параметров передавать не требуется - сетевая карта определяется и работает из коробки.

На момент написания он не определял вставленную SD карту. Однако после перезагрузки со вставленной SD картой, она определялась как /dev/mmcblk0. Это похоже на баг в железе/firmware Aspire One. (The hardware requires a script to poll it; see above.)

Ядра версии ниже 2.6.25 являются причиной остановки modprobe во время загрузки из-за чего возникает ощущение, что процесс завис. Ожидание и нажатие Ctrl-C несколько раз позволяют машине загрузиться. Загрузившись первый раз - обновите ядро.

На некоторых этапах ( например определение оборудования) может казаться, что система зависает. В этих случаях попробуйте отсоединить сетевой кабуль от ?AcerOne. С ядром 2.6.26 таких проблем обнаружено не было.

Кряк энд хак

Снижаем доступ к диску

SSD на Aspire слегка медленный ( автор зарегистрировал максимальную скорость 28.8 MB/s для чтения при использовании флага O_DIRECT и 7.0 MB/s во время записи). Следовательно Вы возможно захотите минимизировать дисковые операции ввода/вывода.

Если Вы используете файловую систему ext3, Вы можете добавить опции "noatime" и "nodiratime" в файл /etc/fstab. Данное действие приведёт к отключению временной метки для файлов, но зато заметно снизить количество операций ввода/вывода. Ещё один трюк - смонтировать /var/cache, /var/lock, /var/log, /var/run, /var/mail, /var/spool, /var/lock, /var/tmp, and /tmp на один или более ramdisks (какбе в память). Вот как это делается:

  1. Добавить эти строки в /etc/fstab:

none /tmp tmpfs defaults 0 0
  1. Создать директорию /var/volatile
  2. Смонтировать /var/volatile как tmpfs том следующей командой "mount -t tmpfs none /var/volatile"
  3. Переместить /var/cache/apt в /var/apt. Таким образом /var/apt не будет поглощать RAM по мере разрастания из-за установки ПО
  4. Переместите директории cache, lock, log, run, mail, spool, и lock в /var/volatile.
  5. Symlink those directories in /var/volatile to their counterparts in /var. Now any I/O ops to files in these directories will happen on the ramdisk mounted on /var/volatile transparently.
  6. Необязательно: поместите в скрипт /etc/rcS.d/S36setup-volatile.sh:

#!/bin/sh
error() {
  echo $1; exit 1
}
echo "Setting up /var/volatile..."
mount -t tmpfs none /var/volatile || error "Could not mount /var/volatile!!!"
for i in cache local lock log mail run spool; do mkdir -p /var/volatile/$i
done
ln -s /var/apt /var/volatile/cache/apt
exit 0
  1. Наслаждаемся ускорением системы!

ВНИМАНИЕ: Использование этого метода не позволило установить некоторые программы. dpkg выдает segmentation faults при попытке установить пакеты, которые общаются с /var/*, notably cups. Также это убивает память, если использовать pbuilder размещенный по дефолту в /var/cache/pbuilder. В общем будьте с этим осторожнее: --Daniel Moerner (dmoerner)

Альтернативой этим сложным изменениям, также перемещающим /var/run и /var/lock в оперативную память, будет просто редактирование /etc/default/rcS и иззменение слежующих строк:

RAMRUN=no
RAMLOCK=no

на:

RAMRUN=yes
RAMLOCK=yes

Упреждаем файрфокс от загрузки фоновом режиме

Firefox подгружает страницы по ссылкам, которые Вы, возможно, как он думает, захотите кликнуть. С одной стороны это может ускорить сёрфинг, но на самом деле просто ззамедляет файрфокс и нетбук. Наберите ' about:config ' в адресной строке, затем установите' network.prefetch-next ' на ' false '

Ускорение графического движка

Использование следующего метода ускоряет производительность compiz вдвое. добавьте в секцию Device в /etc/x11/xorg.conf

       Driver "intel"
        Option "AccelMethod" "exa"
        Option "MigrationHeuristic" "greedy"

а это в /etc/profile

export INTEL_BATCH=1

Тихий вентилятор

ВАЖНО: acerfand тестировался на версии биоса выше 3305

'ТАКЖЕ ВАЖНО: Предупреждаем что использование acerfand не рекомендуетсяd. итаем 501137 и ждём лучшего решения в будущем!

Обычно по умолчанию Aspire One неправильно управляет скоростью кулера, что приводит к повышенному шуму. Решение:

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

 sudo acerfand

 sudo gedit /etc/rc.local

Вставьте нижеприведённую строчку перед exit 0 снизу:

Кулер не полностью отключён. Как только температура достигнет 60ºC, он заработает. Согласно Интел, Атом может работать вплоть до 99ºC.

Необязательно: Инструкции выше работают, но если вы хотите установить другую температуру:

INTERVAL=5
FANOFF=60
FANAUTO=70

Это значения по умолчанию, если файла /etc/acerfand.conf не существует.

INTERVAL is the polling interval in seconds

FANOFF температура при которой (или ниже) кулер автоматически отключается (температура задаётся в градусах Цельсия) FANAUTO температура выше которой кулер автоматически включается (задаётся в градусах Цельсия)

Другие дистрибутивы

Где купить

http://market.yandex.ru/model.xml?hid=91013&modelid=2476945