UNPKG

arch-wiki-md-repo

Version:

All arch-wiki articles in markdown format, updated every two days.

386 lines (271 loc) 29.1 kB
Эта статья описывает установку и настройку 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'а)