arch-wiki-md-repo
Version:
All arch-wiki articles in markdown format, updated every two days.
386 lines (271 loc) • 29.1 kB
Markdown
Эта статья описывает установку и настройку 64х-битной версии Arch Linux на нетбук Samsung N150\. Согласно выводу dmidecode, эта статья также может быть полезной для моделей N210 и N220.
## Contents
* [1 Обзор комплектующих](#.D0.9E.D0.B1.D0.B7.D0.BE.D1.80_.D0.BA.D0.BE.D0.BC.D0.BF.D0.BB.D0.B5.D0.BA.D1.82.D1.83.D1.8E.D1.89.D0.B8.D1.85)
* [2 Установка](#.D0.A3.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0)
* [3 Настройка устройств](#.D0.9D.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B0_.D1.83.D1.81.D1.82.D1.80.D0.BE.D0.B9.D1.81.D1.82.D0.B2)
* [3.1 Проводная сеть (Ethernet)](#.D0.9F.D1.80.D0.BE.D0.B2.D0.BE.D0.B4.D0.BD.D0.B0.D1.8F_.D1.81.D0.B5.D1.82.D1.8C_.28Ethernet.29)
* [3.2 Беспроводная сеть (Wi-Fi)](#.D0.91.D0.B5.D1.81.D0.BF.D1.80.D0.BE.D0.B2.D0.BE.D0.B4.D0.BD.D0.B0.D1.8F_.D1.81.D0.B5.D1.82.D1.8C_.28Wi-Fi.29)
* [3.2.1 Atheros AR9285](#Atheros_AR9285)
* [3.2.2 Realtek 8192E](#Realtek_8192E)
* [3.2.3 Broadcom BCM4313 (Samsung N150+)](#Broadcom_BCM4313_.28Samsung_N150.2B.29)
* [3.3 Графика](#.D0.93.D1.80.D0.B0.D1.84.D0.B8.D0.BA.D0.B0)
* [3.3.1 Подсветка](#.D0.9F.D0.BE.D0.B4.D1.81.D0.B2.D0.B5.D1.82.D0.BA.D0.B0)
* [3.4 Звук](#.D0.97.D0.B2.D1.83.D0.BA)
* [3.5 Ждущий режим (STR/S3)](#.D0.96.D0.B4.D1.83.D1.89.D0.B8.D0.B9_.D1.80.D0.B5.D0.B6.D0.B8.D0.BC_.28STR.2FS3.29)
* [3.6 Спящий режим (hibernate)](#.D0.A1.D0.BF.D1.8F.D1.89.D0.B8.D0.B9_.D1.80.D0.B5.D0.B6.D0.B8.D0.BC_.28hibernate.29)
* [3.7 Сенсорная панель (Тачпад)](#.D0.A1.D0.B5.D0.BD.D1.81.D0.BE.D1.80.D0.BD.D0.B0.D1.8F_.D0.BF.D0.B0.D0.BD.D0.B5.D0.BB.D1.8C_.28.D0.A2.D0.B0.D1.87.D0.BF.D0.B0.D0.B4.29)
* [3.8 Управление частотой процессора](#.D0.A3.D0.BF.D1.80.D0.B0.D0.B2.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.D1.87.D0.B0.D1.81.D1.82.D0.BE.D1.82.D0.BE.D0.B9_.D0.BF.D1.80.D0.BE.D1.86.D0.B5.D1.81.D1.81.D0.BE.D1.80.D0.B0)
* [4 Клавиша Fn](#.D0.9A.D0.BB.D0.B0.D0.B2.D0.B8.D1.88.D0.B0_Fn)
* [5 Уменьшение времени загрузки](#.D0.A3.D0.BC.D0.B5.D0.BD.D1.8C.D1.88.D0.B5.D0.BD.D0.B8.D0.B5_.D0.B2.D1.80.D0.B5.D0.BC.D0.B5.D0.BD.D0.B8_.D0.B7.D0.B0.D0.B3.D1.80.D1.83.D0.B7.D0.BA.D0.B8)
# Обзор комплектующих
Нетбук Samsung N150 оснащается процессором [Intel Atom](https://en.wikipedia.org/wiki/Intel_Atom "wikipedia:Intel Atom") N450 ("Pineview") с интегрированной видеокартой [Intel GMA 3100 GPU](/index.php/Intel "Intel") и чипсетом с кодовым названием "Pine Trail". В отличие от ранних одноядерных процессоров Intel Atom серий N2xx and Z, N450 поддерживает набор инструкций x86_64\. Несмотря на то, что согласно информации DMI системная плата поддерживает до 8 Гб оперативной памяти, встроенный контроллер памяти Atom N450 может адресовать максимум 2 Гб.
Так как ввиду аппаратных ограничений для адресного пространства достаточно 32 бит, основное преимущество 64-битной версии Arch на данной модели заключается в удобстве использования пакетов AUR, собранных на более мощных 64-битных системах, принадлежащих тому же владельцу.
Поставляемые версии модели N150 (на начало марта 2010) включают "начальную" версию общеизвестной проприетарной ОС и поэтому содержат только 1 Гб памяти в виде одной планки DDR2 667Mhz SODIMM, которую можно заменить. Согласно информации DMI, нетбук содержит 2 mini PCIe слота, один из которых занят (встроенной?) беспроводной сетевой картой на базе чипа Atheros AR9285\. Другие версии этой модели могут комплектоваться (встроенным?) 3G адаптером, установленным в другой слот.
Внешние порты представляют собой 3 USB 2.0 порта, 1 VGA порт, 10/100 LAN порт (на чипе Marvell 88E8040 PCI-E), разъемы для наушников/микрофона и встроенный кардридер форматов SD/SDHC/MMC. Встроенная вебкамера с разрешением VGA (640x480) подсоединена к внутреннему USB контроллеру.
# Установка
Поскольку у нетбуков нет оптических приводов, предпочтительный способ установки - через USB флешку. В процессе первой загрузки установочного образа 2009.08, система перезагрузится после инициализации процессора. При последующих перезагрузках с тем же самым ядром подобное поведение не проявляется, тем не менее, возможна перезагрузка в процессе первой загрузки после смены/обновления ядра.
В этой статье предполагается, что для установки будет использоваться весь жесткий диск, затирая предустановленную производителем ОС и программы (включая разделы восстановления). Пока что не выяснено, какие именно разделы требуются для корректой работы программы восстановления: сохранения только первого раздела, неизвестного типа, **не** достаточно. Если вы желаете сохранить предустановленный механизм восстановления, вам следует создать набор из DVD-дисков, используя внешний DVD привод, перед установкой Arch Linux.
Во время первой установки, cfdisk будет вылетать с ошибкой из-за неправильной разметки на диске, выходящей за его границы (согласно геометрии по умолчанию для дисков в Linux). Решение - в запуске fdisk и создания новой, пустой таблицы разделов. **ВНИМАНИЕ: Эта операция уничтожит существующую таблицу разделов жесткого диска, с потерей всех данных, находящихся на нем.**
```
fdisk /dev/sda << EOF
o
w
EOF
```
После создания на диске пустой таблицы разделов, cfdisk в процессе установки будет работать правильно.
# Настройка устройств
## Проводная сеть (Ethernet)
Адаптер на чипе Marvell 88E8040 работает "из коробки" с ядром с конфигурацией "по умолчанию". При установке [networkmanager](https://www.archlinux.org/packages/?name=networkmanager), процесс загрузки может быть ускорен задержкой инициализации сети до появления графического интерфейса.
## Беспроводная сеть (Wi-Fi)
Samsung N150 поставляется с беспроводными картами на двух различных чипах: Atheros AR9285 и Realtek 8192E.
Примечание: Модель Samsung N150+ может комплектоваться беспроводной картой на чипе Broadcom BCM4313.
### Atheros AR9285
Беспроводной адаптер на этом чипе работает "из коробки", включая полную поддержку шифрования WPA2-PSK через NetworkManager. Мощность передатчика может быть изменена при установке пакета rfkill, с помощью следующего скрипта, помещенного, к примеру, в /usr/local/sbin/rftoggle
```
#!/bin/bash
blocked=`rfkill list wlan | grep "Soft blocked: yes"`
if [ -z "$blocked" ]; then
rfkill block wlan
else
rfkill unblock wlan
fi
```
### Realtek 8192E
Драйвер для RTL8192E есть в ядре Arch'а, но для драйвера необходима прошивка. Ее можно взять в пакете [linux-firmware](https://www.archlinux.org/packages/?name=linux-firmware) или собрать самостоятельно из AUR'a. Смотри также [Wireless network configuration](/index.php/Wireless_network_configuration "Wireless network configuration").
### Broadcom BCM4313 (Samsung N150+)
Samsung N150-Plus имеет встроенный адаптер BCM4313 с блютузом. С ядром новее v2.6.37 работает из коробки. Спасибо открытому драйверу brcm80211\. Модуля для этой карты в старом ядре нет, и поэтому необходимо установить сторонний драйвер. Его можно найти в AUR'e: [broadcom-wl](https://www.archlinux.org/packages/?name=broadcom-wl) Или, если вы хотите собрать его вручную: [http://www.broadcom.com/support/802.11/linux_sta.php](http://www.broadcom.com/support/802.11/linux_sta.php) Этот драйвер работает по большей части работает хорошо, за исключением того, что не может подключаться в "скрытым" сетям.
За более подробной информацией обратитесь к этой статье: [Broadcom wireless](/index.php/Broadcom_wireless#Wi-Fi_card_does_not_work_or_show_up_since_kernel_upgrade_.28brcmsmac.29 "Broadcom wireless")
## Графика
Встроенная в Atom N450 графика на базе [Intel GMA 3100 GPU](/index.php/Intel "Intel"), работает с [Kernel mode setting](/index.php/Kernel_mode_setting "Kernel mode setting") без дополнительных плясок с бубном. Ранняя инициализация KMS, похоже, незначительно ускоряет скорость загрузки и может быть включена добавлением следующей строки в /etc/mkinitcpio.conf (если подобная строчка уже существует, просто добавьте нужные модули в нее):
```
MODULES="**intel_agp i915**"
```
Запустите `mkinitcpio -p linux`, чтобы новые модули добавились в загрузочный образ.
В отличие от более ранней модели [N140](/index.php/Samsung_N140 "Samsung N140"), у модели N150 не замечено проблем с режимом энергосбережения дисплея.
Для модели Samsung 150 Plus может потребоватся утилита 915resolution. Но версия из AUR не сработает с сообщением об ошибке: `Intel chipset detected. However, 915resolution was unable to determine the chipset type. Chipset Id: a0108086`
Существует пропатченая версия для этого чипа.
Включив однажды доп. клавиши (смотри ниже), комбинация Fn+F4 будет переключать вывод изображения между только встроенным экраном, расширенным режимом и режимом дублирования изображения (clone) автоматически, когда внешний монитор подключен к VGA порту.
### Подсветка
Так же как и на других ноутбуках и нетбуках Samsung, прямое управление подсветкой через ACPI в данной модели невозможно. Вместо этого, управление подсветкой может осуществляться изменением настроек графического адаптера через PCI шину с помощью следующего скрипта. Для легкости использования дополнительных кнопок (с Fn), поместите этот скрипт в /usr/local/sbin/backlight
```
#!/bin/bash
# increase/decrease/set brightness (range 0-255)
# PCI device on which to operate
DEVICE=00:02.0
# Amount to raise/lower the backlight when called with "up" or "down"
AMOUNT=8
# Minimum backlight value reachable via "down"
MIN=1
# Default backlight level when toggling on
DEFAULT=64
#get current brightness in hex and convert to decimal
var1=`setpci -s $DEVICE F4.B`
var1d=$((0x$var1))
case "$1" in
up)
# вычислить новую яркость
var2=`echo "ibase=10; obase=16; a=($var1d+$AMOUNT); if (a<255) print a else print 255" | bc`
echo "$0: яркость увеличена с 0x$var1 до 0x$var2"
setpci -s $DEVICE F4.B=$var2
;;
down)
#calculate new brightness
var2=`echo "ibase=10; obase=16; a=($var1d-$AMOUNT);if (a>$MIN) print a else print $MIN" | bc`
echo "$0: яркость уменьшена с 0x$var1 до 0x$var2"
setpci -s $DEVICE F4.B=$var2
;;
set)
# "set" позволяет выставить яркость в 0, т.е. выключить подсветку
echo "$0: установка яркости в 0x$2"
setpci -s $DEVICE F4.B=$2
;;
toggle)
if [ $var1d -eq 0 ] ; then
echo "повышение яркости"
setpci -s $DEVICE F4.B=$DEFAULT
else
echo "уменьшение яркости"
setpci -s $DEVICE F4.B=0
fi
;;
*)
echo "использование: $0 {up|down|set <val>|toggle}"
echo "$0: текущая яркость - 0x$var1"
;;
esac
exit 0
```
## Звук
Звук на базе Intel HD Audio в этой модели работает "из коробки", разве что нужно увеличить громкость канала "speaker". Установите пакет [alsa-utils](https://www.archlinux.org/packages/?name=alsa-utils), чтобы получить скрипт, сохраняющий и восстанавливающий уровни громкости во время загрузки (Не забудьте добавить пункт "alsa" в массив DAEMONS в файле /etc/rc.conf).
Для владельцев модели N210, чтобы включить встроенный микрофон, вам нужно выполнить следующие команды:
```
# echo 0x19 0x90A70011 > /sys/class/sound/hwC0D0/user_pin_configs
# echo 1 > /sys/class/sound/hwC0D0/reconfig
```
## Ждущий режим (STR/S3)
В среде Gnome 2.28 и при установленном пакете [gnome-power-manager](https://www.archlinux.org/packages/?name=gnome-power-manager), ждущий режим работает без дополнительного вмешательства при закрытии крышки нетбука. Процесс приостановки работы занимает до 30 секунд. Выход из ждущего режима в конфигурации по умолчанию требует нажатия кнопки включения нетбука. Пробуждение из спячки при открытии крышки или нажатия кнопок на клавиатуре можно включить настройкой в BIOS'е.
При наличии беспроводной сетевой карты на чипе realtek, сеть не всегда восстанавливается при выходе из ждущего режима. Выгрузка и последующая загрузка модуля r8192e_pci решают эту проблему.
## Спящий режим (hibernate)
С ядром 2.6.36, на некоторых моделях N-серии необходимо добавить intel_idle.max_cstate=0 к параметрам загрузки ядра для корректной работы ждущего/спящего режимов.
## Сенсорная панель (Тачпад)
Тачпад Synaptics работает для однопальцевых операций и прокрутки с помощью его правого края без дополнительной настройки. При нажатии Fn+F10 BIOS автоматически включает или выключает тачпад. Чтобы отображать сообщение об этом, необходимо установить пакет [xosd](https://www.archlinux.org/packages/?name=xosd) и настроить скрипт, выводящий сообщение при нажатии Fn+F10 (смотри далее о настройке доп. клавиш). Поместите этот скрипт в /usr/local/bin/report_touchpad
```
#!/bin/bash
FONT='-adobe-helvetica-bold-*-*-*-34-*-*-*-*-*-*-*'
DELAY=1
state=Unknown
case "$1" in
on)
state="включен"
;;
off)
state="отключен"
;;
*)
echo "Использование: $0 {on|off}"
exit 2
;;
esac
osd_cat -A center -p middle -f $FONT -d $DELAY << EOF
Тачпад $state
EOF
exit 0
```
Чтобы тачпад понимал нажатия на него, самым простым решением будет установить пакеты [gsynaptics](https://www.archlinux.org/packages/?name=gsynaptics) или [gpointing-device-settings](https://aur.archlinux.org/packages/gpointing-device-settings/). Хотя согласно документам поставляемым с нетбуком, заявлена поддержка мультитача (для двухпальцевых нажатий, прокрутки двумя пальцами и т.д.), не похоже, что это работает правильно.
Для владельцев модели N220 (не тестировалось на N150, но возможно будет работать), эти параметры для включают мультитач на тачпаде (файл /etc/hal/fdi/policy/11-x11-synaptics.fdi)
```
<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
<device>
<match key="info.capabilities" contains="input.touchpad">
<merge key="input.x11_driver" type="string">synaptics</merge>
<merge key="input.x11_options.TapButton1" type="string">1</merge>
<merge key="input.x11_options.TapButton2" type="string">2</merge>
<merge key="input.x11_options.TapButton3" type="string">3</merge>
<merge key="input.x11_options.SHMConfig" type="string">true</merge>
<merge key="input.x11_options.VertEdgeScroll" type="string">false</merge>
<merge key="input.x11_options.PalmDetect" type="string">false</merge>
<merge key="input.x11_options.VerteScrollDelta" type="string">100</merge>
<merge key="input.x11_options.VertTwoFingerScroll" type="string">true</merge>
<merge key="input.x11_options.HorizTwoFingerScroll" type="string">true</merge>
<merge key="input.x11_options.EmulateTwoFingerMinZ" type="string">40</merge>
<merge key="input.x11_options.EmulateTwoFingerMinW" type="string">5</merge>
</match>
</device>
</deviceinfo>
```
## Управление частотой процессора
Чтобы включить управление частотой процессора, вам необходимо добавить несколько модулей ядра в автозагрузку в файле /etc/rc.conf:
```
MODULES=(acpi-cpufreq cpufreq-ondemand cpufreq-powersave)
```
Смена режимов использования процессора ядром между производительным (performance), автоматическим (ondemand) и энергосберегающим (powersave) может производиться с помощью следующего скрипта, установленного в /usr/local/sbin/cpufreq_toggle
```
#!/bin/bash
current=`cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor`
future=unknown
if [ "$current" == "performance" ]; then
future="ondemand"
elif [ "$current" == "ondemand" ]; then
future="powersave"
else
future="performance"
fi
echo "$future" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo "$future" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
echo "$future"
```
Для вывода сообщения о текущем режиме через сообщение на дисплее (полезно при назначении комбинации Fn+F8 на смену режимов), следующий скрипт должен быть установлен в /usr/local/bin/cpufreq_toggle_osd
```
#!/bin/bash
FONT='-adobe-helvetica-bold-*-*-*-34-*-*-*-*-*-*-*'
DELAY=1
state=`sudo /usr/local/sbin/cpufreq_toggle`
message="CPU Performance State Unknown"
if [ "$state" == "performance" ]; then
message="Режим производительности"
elif [ "$state" == "powersave" ]; then
message="Режим энергосбережения"
elif [ "$state" == "ondemand" ]; then
message="Автоматический режим"
fi
osd_cat -A center -p middle -f $FONT -d $DELAY << EOF
$message
EOF
exit 0
```
По умолчанию, система будет загружена с режимом "производительность". Чтобы включать автоматический режим в конце загрузки, добавьте следующие строки в /etc/rc.local
```
echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
```
# Клавиша Fn
Некоторые из спец. комбинаций клавиш в модели N150 работают сразу, но большинство - нет. Нестандартные сканкоды с клавиатуры передаются ядру, которое не знает, как преобразовать их в стандартные сканкоды. Что еще хуже, большинство сканкодов сообщают только о нажатии клавиши, но не о ее отпускании. Добавление следующие строчки в /etc/rc.local задействует все спец. клавиши и назначит им правильные сканкоды:
```
setkeycodes e002 227 # Fn+F4 maps to switchvidmode
setkeycodes e003 236 # Fn+F2 maps to battery
setkeycodes e004 148 # Fn+F5 maps to prog1
setkeycodes e006 238 # Fn+F9 maps to wlan
setkeycodes e008 225 # Fn+Up maps to brightnessup
setkeycodes e009 224 # Fn+Dn maps to brightnessdown
setkeycodes e031 149 # Fn+F7 maps to prog2
setkeycodes e033 202 # Fn+F8 maps to prog3
setkeycodes e077 191 # Fn+F10 maps to F21 whenever the touchpad is enabled
setkeycodes e079 192 # Fn+F10 maps to F22 whenever the touchpad is disabled
# Ensure key release events occur for all except Fn+F7, which properly reports a key release for some reason
echo 130,131,132,134,136,137,179,247,249 > /sys/devices/platform/i8042/serio0/force_release
```
To enable hotkeys to change backlight, wireless, and system performance settings, it is necessary to give regular users certain permissions via the [sudo](/index.php/Sudo_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "Sudo (Русский)") command. Run visudo as root and add the following to the Cmnd alias specifications:
```
Cmnd_Alias NETBOOK_CMDS = /usr/local/sbin/backlight, /usr/local/sbin/rftoggle, /usr/local/sbin/cpufreq_toggle
```
Затем добавьте следующую строку в конец файла:
```
%users ALL=(ALL) NOPASSWD: NETBOOK_CMDS
```
Теперь нестандартные сочетания клавиш могут быть добавлены в ДЕ посредством окна "Комбинации клавиш клавиатуры".
| Назначение | Команда | Сочетание клавиш |
| Выключить тачпад | /usr/local/bin/report_touchpad off | Нажмите Fn+F10, когда тачпад включен. |
| Включить тачпад | /usr/local/bin/report_touchpad on | Нажмите Fn+F10, когда тачпад выключен. |
| Изменение частоты процессора | /usr/local/bin/cpufreq_toggle_osd | Fn+F8 |
| Увеличить яркость подсветки | sudo /usr/local/sbin/backlight up | Fn+<ВВЕРХ> |
| Уменьшить яркость подсветки | sudo /usr/local/sbin/backlight down | Fn+<ВНИЗ> |
| Вкл/Выкл wi-fi | sudo /usr/local/sbin/rftoggle | Fn+F9 |
| Вкл/Выкл подсветку экрана | sudo /usr/local/sbin/backlight toggle | Fn+F5 |
# Уменьшение времени загрузки
Чтобы заставить нетбук загружаться максимально быстро, нам нужно уменьшить задержки и заставить демонов запускаться в фоне. Две полезные модификации загрузчика (в данном случае - grub): измените параметр "timeout" на 2 секунды, вместо 5и - по умолчанию и добавьте параметр "quiet", чтобы подавить вывод некоторых сообщений ядра (которые отнимают время). Указанные параметры можно поменять в файле /boot/grub/menu.lst
```
timeout 2
...
# (0) Arch Linux
title Arch Linux
root (hd0,0)
kernel /vmlinuz26 root=/dev/sda3 ro quiet
initrd /kernel26.img
```
Учтите, что может быть здравой идеей **не** добавлять параметр "quiet" ко второму пункту загрузчика (который используется при сбоях ядра из первого пункта), в этом случае вывод сообщений ядра поможет вам определить проблему. Впрочем, вы можете отредактировать эти параметры непосредственно при загрузке (нажать "e" на нужном пункте меню загрузчика).
Заставить демонов грузиться в фоне немного сложнее, учитывая, что один демон может зависить от одного или нескольких других. Тем не менее, можно использовать преимущество известных "задержек" в процессе загрузки (напр. запуск подсистемы X11), что позволяет некоторым демонам (таких как NetworkManager) спокойно запускаться в фоне, перед тем как они действительно понадобятся.
```
DAEMONS=(syslog-ng !network hal @networkmanager @sensors @alsa !netfs @crond)
```
С вышеуказанными настройками, графический менеджер входа в систему появляется через 37-38 секунд после "холодной" загрузки (включая задержки BIOS'а и grub'а)