https://wiki.archlinux.org/api.php?action=feedcontributions&user=Mainframe&feedformat=atomArchWiki - User contributions [en]2024-03-29T05:56:07ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=Mdev&diff=203100Mdev2012-05-28T11:13:11Z<p>Mainframe: Undo revision 203082 by Frony0 (talk)</p>
<hr />
<div>The aim of this page is to document how to replace udev in Linux with mdev, thus allowing a separate /usr partition, without an initramfs. The auther uses Gentoo Linux with Icewm as the WM. The instructions here should be applicable to other distros, assuming you can make the necessary changes.<br />
==Will mdev work on my system?==<br />
I run a simple Gentoo install, using ICEWM, and no "desktop environment". An xorg.conf is not required on my system. Note that a "desktop environment" is not required to run Abiword, Firefox, Gimp, Gnumeric, etc. However, "Koffice apps" like Kmail seem to pull in most of KDE as a dependancy. In general, if you use KDE or lvm2, you may have problems, and may not be able to get by with mdev. One beta tester reports getting close with lvm2, but it's not there yet. <br />
<br />
There is one more sanity check that Gentoo users can run to check for udev dependancy. I don't think this can be duplicated in other distros.<br />
<br />
===Sanity check===<br />
To ''/etc/portage/package.mask/mdev'', add the line<br />
{{File|/etc/portage/package.mask/mdev|Mask away udev|<pre>sys-fs/udev</pre>}}<br />
<br />
Execute the two commands:<br />
{{RootCmd|euse -D udev}}<br />
{{RootCmd|emerge -pvuDN world}}<br />
If the only errors you get are for not being able to re-install udev as required by virtual/dev-manager, you can proceed to the next stage. Otherwise, {{Package|sys-fs/udev}} might be an hard dependency of some package you requested.<br />
<br />
==Software requiring extra steps==<br />
===GNOME 2===<br />
GNOME version 2 has been made to work under mdev.<br />
# Rebuild xorg-server without udev support<br />
#* In Gentoo, build with '''emerge xorg-server'''<br />
#* If you're running a different distro, use your package manager.<br />
# Configure the keyboard and mouse explicitly in ''/etc/X11/xorg.conf'' (or wherever else you keep your ''xorg.conf'').<br />
#* Edit the two '''InputDevice''' sections to look like this. The critical lines are noted.<br />
{{File|/etc/X11/xorg.conf|Explicit input device configuration|<pre><br />
<pre> Section "InputDevice"<br />
Identifier "Keyboard0"<br />
Driver "evdev" # Critical<br />
Option "Device" "/dev/input/event3" # Also critical<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "Mouse0"<br />
Driver "evdev" # Critical<br />
Option "Protocol" "auto"<br />
Option "Device" "/dev/input/event4" # Also critical<br />
Option "ZAxisMapping" "4 5 6 7"<br />
EndSection</pre>}}<br />
<br />
===ATI/AMD binary blobs===<br />
Some ATI/AMD Radeon cards require binary blobs. The Gentoo radeon-ucode ebuild pulls down all the binary blobs available at [http://people.freedesktop.org/~ag5f/radeon_ucode/ http://people.freedesktop.org/~ag5f/radeon_ucode/] to support many different models.<br />
<br />
If I leave the binary blobs in the library directory, the kernel needs udev to figure out which one of the many binary blobs to load. If I remove all the other binary blobs, leaving only the correct one in the library directory, it loads automatically.<br />
==Warning / Disclaimer==<br />
''Proceed only if the above stages don't reveal any udev dependencies.'' Furthermore:<br />
* This is a beta.<br />
* Use a spare test machine or a VM.<br />
* If you don't follow the instructions correctly, the result may be an unbootable Linux.<br />
* Even if you do follow the instructions correctly, the result may be an unbootable Linux.<br />
==Replacing udev with mdev==<br />
===Setting up your kernel for devtmpfs===<br />
Set up your kernel to support and automount a devtmpfs filesystem at ''/dev''. If you prefer to edit ''.config'' directly, set <tt>CONFIG_DEVTMPFS=y</tt> and <tt>CONFIG_DEVTMPFS_MOUNT=y</tt>.<br />
<br />
If you prefer '''make menuconfig''', the route is as shown below. Note that the "Automount devtmpfs..." option won't appear until you enable the "Maintain a devtmpfs..." option.<br />
<br />
{{Kernel|Setting devtmpfs|<pre><br />
Device Drivers ---><br />
Generic Driver Options ---><br />
[*] Maintain a devtmpfs filesystem to mount at /dev<br />
[*] Automount devtmpfs at /dev, after the kernel mounted the rootfs</pre>}}<br />
<br />
Once you've made the changes, rebuild the kernel. Do '''NOT''' reboot yet.<br />
<br />
===Emerging busybox===<br />
For our circumstance, you will need the <tt>mdev</tt> USE flag set for busybox. The <tt>static</tt> USE flag is probably also a good idea. In the ''/etc/portage/package.use/mdev'' file, add the line<br />
{{File|/etc/portage/package.use/mdev||<pre>sys-apps/busybox static mdev</pre>}}<br />
Now, you may run '''emerge sys-apps/busybox'''.<br />
If you're using a distro other than Gentoo, or building Busybox manually, do whatever necessary in your situation to enable the mdev option.<br />
<br />
===Creating /sbin/linuxrc===<br />
You will need ''/sbin/linuxrc'' to contain at least<br />
<br />
{{File|/sbin/linuxrc|Custom busybox based linuxrc|<pre><br />
<pre>#!/bin/busybox ash<br />
mount -t proc proc /proc<br />
mount -t sysfs sysfs /sys<br />
exec /sbin/init</pre>}}<br />
<br />
This should be enough for most users. If you have an unusual setup, you may need to place additional steps in your ''/sbin/linuxrc''. Remember to run '''chmod 744 /sbin/linuxrc''' to make the file executable.<br />
<br />
===Configure the bootloader===<br />
Append <tt>init=/sbin/linuxrc</tt> to your kernel command line. If you use lilo, remember to re-run lilo to implement the changes. If you use a different bootloader, apply any necessary equivalent steps.<br />
===Replace the udev service===<br />
Remove udev from the services list, replacing it with mdev:<br />
{{RootCmd|rc-update del udev sysinit }}<br />
{{RootCmd|rc-update add mdev sysinit }}<br />
<br />
===Reboot===<br />
Reboot to your new kernel. You should now be running without using udev.<br />
===Cleanup===<br />
Remove udev from your system by running '''emerge --unmerge sys-fs/udev'''.<br />
In the ''/etc/portage/package.mask'', append the line sys-fs/udev''. Create ''/etc/portage/package.mask'' if it doesn't already exist.<br />
<br />
You should now have a completely udev-free machine.<br />
<br />
<br />
==Setting up a USB printer running under CUPS==<br />
===Make 'find' available at early boot-time===<br />
{{RootCmd|cd /bin }}<br />
{{RootCmd|ln -s /bin/busybox find }}<br />
===Rebuild the kernel===<br />
For libusb (and hence CUPS) to see the USB ports, set <tt>CONFIG_USB_DEVICE_CLASS=y</tt> and <tt>CONFIG_USB_DEVICEFS=y</tt> in your kernel configuration. You will also need to enable <tt>CONFIG_USB_PRINTER</tt>, despite the injunction in the cups-1.5.2 ebuild to disable it. If you use '''make menuconfig''', these items are found here:<br />
{{Kernel|Enabling generation of USB devices at boot time|<pre><br />
Device Drivers ---><br />
[*] Support for Host-side USB<br />
[*] USB device filesystem [DEPRECATED]<br />
[*] USB device class-devices [DEPRECATED]<br />
[*] USB Printer support</pre>}}<br />
(Don't worry about the "DEPRECATED"s.)<br />
===Configure the new kernel into your bootloader and reboot into it===<br />
===Verify the presence of the new device nodes===<br />
You should see a hierarchy of device nodes under '''/dev/bus/usb/'''. If you switch on your printer, you will probably see a node for it at '''/dev/lp0'''. You should be able to run <tt>lsusb</tt> successfully, and this should display your printer's details.<br />
===Configure your printer in CUPS===<br />
You should now be able to configure CUPS in the [http://www.gentoo.org/doc/en/printing-howto.xml usual way]. CUPS should find your printer, and will give it a URI something like '''parallel:/dev/lp0'''.<br />
<br />
<br />
==Notes==<br />
This set of instructions was originally written by Walt Dnes and hosted at [http://www.waltdnes.org/mdev/ http://www.waltdnes.org/mdev/]. It was imported to the Gentoo wiki with some editing by [[User:Short Circuit|Michael Mol]] per discussion on the gentoo-user mailing list.<br />
<br />
* mdev unlike udev does not support auto-modules loading thus you will need to use /etc/conf.d/modules and put there all the modules like you used to load (nvidia, wl etc.). Also, /etc/conf.d/modules have own _args variables as it does not support /etc/modprobe.d. You may need to move your configuration there.<br />
* mdev -s does not create /dev/mapper nodes. You may need to manualy create them or use 'dmsetup mknodes' from lvm2 (good idea is to add it after mdev -s in init script).<br />
* you should use mouse and kbd drivers for xorg inputs. evdev need udev to be built. Mousedrv (mouse) may conflict with synaptics driver, when both are loaded, non of them really work. (bug?)<br />
<br />
[[Category:Core system]]</div>Mainframehttps://wiki.archlinux.org/index.php?title=Archiso_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)&diff=145608Archiso (Русский)2011-06-11T08:53:38Z<p>Mainframe: исправлена ссылка</p>
<hr />
<div>[[Category:Live_Arch_systems_(Русский)]]<br />
[[Category:Русские HowTo]]<br />
{{i18n|Archiso}}<br />
== Что это? ==<br />
'''Archiso''' - набор bash скриптов, предназначенных для создания полностью функциональных Live-CD/DVD и Live-USB на базе Arch Linux. Это довольно гибкий инструмент, который может быть использован как для создания дисков восстановления или установочных, так и для специализированных live-CD/DVD/USB систем.<br />
Центр Archiso - '''mkarchiso'''. Для получения подробного описания всех его опций достаточно вызвать его без параметров, так что здесь будет описанно только создание live диска своими руками.<br />
<br />
Благодаря последним изменениям Archiso создаёт ISO образы, пригодные как для записи на диск, так и на флеш носитель.<br />
<br />
== Установка Archiso ==<br />
<br />
Archiso можно поставить двумя способами:<br />
<br />
*Через [http://aur.archlinux.org/packages.php?ID=25996 AUR ] (рекомендуется использовать [http://wiki.archlinux.org/index.php/Yaourt_(Русский) yaourt])(рекомендуется)<br />
*Самостоятельно поставить из Git:<br />
$ git clone git://projects.archlinux.org/archiso.git<br />
$ cd archiso/archiso<br />
$ sudo make install<br />
$ sudo pacman -S mkinitcpio cdrkit squashfs-tools devtools syslinux mkinitcpio-nfs-utils nbd<br />
<br />
{{Note| Сейчас Archiso, содержащийся в [[Official_Repositories|extra]], устарел и не соответствует данной статье.}}<br />
<br />
== Конфигурация создаваемой системы ==<br />
<br />
=== Makefile ===<br />
Первым делом создаём отдельную директорию для работы и переходим в неё.<br />
$ mkdir myarch && cd myarch<br />
Далее создаём Makefile и прописываем (или обдуманно копипастим от сюда) туда нижеследующие инструкции.<br />
$ vim Makefile<br />
Ниже вы найдёте пример Makefile.<br />
{{Warning | Все отступы в файле делать табуляцией. На пробелы будет ругаться.}}<br />
<br />
{{Warning | В ранних версиях работала команда "mkinitcpio -c mkinitcpio.conf..." так или иначе (возможно, ввиду последних обновлений) теперь, если скрипт не может найти конфиг-файл, указывайте к последнему полный путь в mkinitcpio.conf, иначе вы можете получить пустой initcpio на выходе, из-за чего полученная система не будет загружаться (VFS error, kernel panic)}}<br />
<br />
<code><br />
#### Редактируйте данный файл для модифицирования конечной системы.<br />
# Рабочая директория для построения системы.<br />
'''WORKDIR=work'''<br />
# Список устанавливаемых приложений, either space separated in a string or line separated in a file. Может включать группы.<br />
'''PACKAGES="$(shell cat packages.list) syslinux"'''<br />
# Имя дистрибутива. Не зависит от/не определяет целевую архитектуру.<br />
'''NAME=myarch'''<br />
# Версия дистрибутива.<br />
'''VER=1.00'''<br />
# Версия ядра.<br />
'''KVER=2.6.32-ARCH'''<br />
# Архитектура.<br />
'''ARCH?=$(shell uname -m)'''<br />
# Директория, в которой находился пользователь, запустивший скрипт<br />
'''PWD:=$(shell pwd)'''<br />
# Полное (финальное) имя образа.<br />
'''FULLNAME="$(PWD)"/$(NAME)-$(VER)-$(ARCH)'''<br />
<br />
# Умолчальная инструкция make'у, для компиляции всего(?) (оригинал:"Default make instruction to build everything.")<br />
'''all: myarch'''<br />
<br />
# Запуск ''base-fs'' перед сборкой финального ISO образа.<br />
'''myarch: base-fs'''<br />
'''mkarchiso -p syslinux iso "$(WORKDIR)" "$(FULLNAME)".iso'''<br />
<br />
# Основное правило для процесса создания файловой системы образа. Приложения отрабатывают слева на право.<br />
# Тоесть, сначала ''root-image'' в конце - ''syslinux''.<br />
'''base-fs: root-image boot-files initcpio overlay iso-mounts syslinux'''<br />
<br />
# ''root-image'' всегда запускается первым. <br />
# Скачивание и установка приложений в ''$WORKDIR''.<br />
'''root-image: "$(WORKDIR)"/root-image/.arch-chroot'''<br />
'''"$(WORKDIR)"/root-image/.arch-chroot:'''<br />
'''root-image:'''<br />
'''mkarchiso -p $(PACKAGES) create "$(WORKDIR)"'''<br />
<br />
# Правило для создания /boot<br />
'''boot-files: root-image'''<br />
'''cp -r "$(WORKDIR)"/root-image/boot "$(WORKDIR)"/iso/'''<br />
'''cp -r boot-files/* "$(WORKDIR)"/iso/boot/'''<br />
<br />
# Правило для образов initcpio<br />
'''initcpio: "$(WORKDIR)"/iso/boot/myarch.img'''<br />
'''"$(WORKDIR)"/iso/boot/myarch.img: mkinitcpio.conf "$(WORKDIR)"/root-image/.arch-chroot'''<br />
'''mkdir -p "$(WORKDIR)"/iso/boot'''<br />
'''mkinitcpio -c ./mkinitcpio.conf -b "$(WORKDIR)"/root-image -k $(KVER) -g $@'''<br />
<br />
# Подробнее см.: [[#overlay|Overlay]]<br />
'''overlay:'''<br />
'''mkdir -p "$(WORKDIR)"/overlay/etc/pacman.d'''<br />
'''cp -r overlay "$(WORKDIR)"/'''<br />
'''wget -O "$(WORKDIR)"/overlay/etc/pacman.d/mirrorlist http://www.archlinux.org/mirrorlist/all/'''<br />
'''sed -i "s/#Server/Server/g" "$(WORKDIR)"/overlay/etc/pacman.d/mirrorlist'''<br />
<br />
# Правило для создания isomounts.'''<br />
'''iso-mounts: "$(WORKDIR)"/isomounts'''<br />
'''"$(WORKDIR)"/isomounts: isomounts root-image'''<br />
'''sed "s|@ARCH@|$(ARCH)|g" isomounts > $@'''<br />
<br />
# Исполняется перед генерацией финального образа.<br />
'''syslinux: root-image'''<br />
'''mkdir -p $(WORKDIR)/iso/boot/isolinux'''<br />
'''cp $(WORKDIR)/root-image/usr/lib/syslinux/*.c32 $(WORKDIR)/iso/boot/isolinux/'''<br />
'''cp $(WORKDIR)/root-image/usr/lib/syslinux/isolinux.bin $(WORKDIR)/iso/boot/isolinux/'''<br />
<br />
# При вызове "make clean" отчищает систему от вчего, созданного в процессе создания образа.<br />
'''clean:'''<br />
'''rm -rf "$(WORKDIR)" "$(FULLNAME)".img "$(FULLNAME)".iso'''<br />
<br />
.PHONY: all myarch<br />
.PHONY: base-fs<br />
.PHONY: root-image boot-files initcpio overlay iso-mounts<br />
.PHONY: syslinux<br />
.PHONY: clean<br />
<br />
Тоесть, при исполнении "make myarch" из под рута,происходит следующее:<br />
*'''root-image''' скачивает и устанавливает выбранные приложения в ''$WORKDIR''<br />
*'''boot-files''' готовит загрузочные файлы и копирует загрузочные скрипты<br />
*'''initcpio''' работает с ''initcpio''<br />
*'''overlay''' копирует файлы, перекрывающие базовую конфигурацию в ''root-image'' в ''$WORKDIR'' <br />
*'''iso-mounts''' немного уличной магии с применением sed, чтобы AUFS знала, куда ей монтироваться при загрузке<br />
*'''syslinux''' копирует загрузчик<br />
*'''myarch''' создаёт конечный образ, пригодный для записи на CD/DVD/флешку.<br />
</code><br />
<br />
Одного Makefile будет недостаточно, так что нужно будет создать файлы, описанные ниже.<br />
<br />
=== mkinitcpio.conf ===<br />
<br />
''initcpio'' необходим для создания системы,способной загружаться с CD/DVD/USB.<br />
<br />
Создайте mkinitcpio.conf:<br />
$ vim mkinitcpio.conf<br />
Обычно он содержит следующую информацию:<br />
HOOKS="base udev archiso pata scsi sata usb fw filesystems usbinput"<br />
<br />
Благодаря этому ваша система сможет загружаться с CD/DVD или USB. Стоит отметить, что автоопределение железа и прочее настраивается не здесь.<br />
<br />
=== packages.list ===<br />
<br />
Вам так-же понадобится список приложений, устанавливаемых на вашу live-систему. Как минимум вам понадобятся '''base''' и '''kernel26''', но, вы вольны дополнять список приложениями на ваше усмотрение.<br />
<br />
{{Note|'''mkarchiso''' использует ''/etc/pacman.conf'' из основной системы. Если вы раскоментировали [testing], то приложения из него тоже будут использованы при создании образа.Если вы хотите использовать другой ''pacman.conf'', вы можете создать его в папке проекта и использовать командой '''mkarchiso -C pacman.conf'''Для использования выделенного ''pacman.conf''нужно добавить '''-C pacman.conf''' во все вызовы '''mkarchiso''' в Makefile.}}<br />
$ vim packages.list<br />
В список устанавливаемых пакетов будет разумно вставить, как минимум, следующее:<br />
aufs2<br />
aufs2-util<br />
base<br />
bash<br />
coreutils<br />
cpio<br />
dhcpcd<br />
dnsutils<br />
file<br />
fuse<br />
kernel26<br />
syslinux<br />
nano<br />
<br />
Этот список должен дать вам минимальную рабочую систему. Но не забывайте, что в ней не будет драйверов свыше включённых в ядро (видео, вай-фай, специализированные - их нужно будет добавить в список).<br />
<br />
{{Tip|Вы так-же можете создать '''[[custom local repository]]''' для подготовки пакетов. Просто поставьте ваш локальный репозитарий на первую позицию в используемом '''pacman.conf'''.}}<br />
<br />
=== isomounts ===<br />
<br />
Вам понадобится файл, содержащий информацию о файловых системах, монтируемых при загрузке системы.<br />
$ vim isomounts<br />
Пример ''isomounts'':<br />
# archiso isomounts file<br />
# img - location of image/directory to mount relative to addons directory<br />
# arch - architecture of this image<br />
# mount point - absolute location on the post-initrd root<br />
# type - either 'bind' or 'squashfs' for now<br />
# syntax: <img> <arch> <mount point> <type><br />
# ORDER MATTERS! Files take top-down precedence. Be careful<br />
overlay.sqfs @ARCH@ / squashfs<br />
root-image.sqfs @ARCH@ / squashfs<br />
<br />
<br />
{{warning| В конце файла должна быть пустая строка (EOF) иначе ждите, что система упадёт в kernel panic!}}<br />
<br />
=== boot-files ===<br />
<br />
Вам нужно будет добавить директорию "boot-files" и поддиректорию "isolinux/" содержащую "isolinux.cfg".<br />
<br />
{{warning|Ввиду последних изменений поддержка [[grub]] в Archiso была отменена. Пожалуйста, не используйте grub. Взамен, вы можете использовать isolinux из syslinux'а, при этом вы получите образ, который может быть записан не только на диск, но и на флэшку.}}<br />
<br />
==== Использование isolinux ====<br />
Использовать ''isolinux'' просто:<br />
$ mkdir -p boot-files/isolinux/<br />
$ vim boot-files/isolinux/isolinux.cfg<br />
<br />
Образец:<br />
prompt 1<br />
timeout 0<br />
display myarch.msg<br />
DEFAULT myarch<br />
<br />
LABEL myarch<br />
KERNEL /boot/vmlinuz26<br />
APPEND initrd=/boot/myarch.img archisolabel=XXX tmpfs_size=75% locale=en_US.UTF-8<br />
<br />
LABEL memtest86+<br />
KERNEL /boot/memtest86+-2.10.bin<br />
<br />
Возможно, вы захотите отображать сообщение над меню загрузки:<br />
$ vim boot-files/isolinux/myarch.msg<br />
<br />
Это может быть любое сообщение в ASCII:<br />
<br />
HI GENTLEMEN LOL<br />
WELCOME TO MY DISTRO<br />
I HOPE U ENJOY MAKE UR TIME<br />
HA-HA-HA<br />
(ПРЕВЕД ДЖЕНТЕЛЬМЕНЫ Ы<br />
ДОБРО ПОЖАЛОВАТЬ В МОЙ ДИСТРИБУТИВЧЕГ<br />
НАДЕЮСЬ, ВАМ ПОНРАВИТСЯ ВРЕМЯ, КОТОРОЕ ВЫ НА НЕГО ПОТРАТИТЕ<br />
ГЫ-ГЫ-ГЫ)<br />
Обратите внимание, что вам нужно будет где-нибудь достать memtest*.bin потому как в "поставку по умолчанию" он не входит. Если вы не хотите его использовать - закоментируйте.<br />
<br />
Благодаря модульной структуре isolinux вы можете использовать большое колличество аддонов, потому что все *.c32 файлы скопированны и доступны вам. Подробней можете посмотреть [http://syslinux.zytor.com/wiki/index.php/SYSLINUX официальный сайт syslinux] и [http://projects.archlinux.org/archiso.git/tree/configs/syslinux-iso/boot-files archiso git-репозитарий]. Использование вышеперечисленных аддонов позволяет создавать красивые и сложные меню. Подробнее см. [http://syslinux.zytor.com/wiki/index.php/Comboot/menu.c32 тут].<br />
<br />
=== overlay ===<br />
'''overlay''' предназначен для включения в дистрибутив бинарных репозитариев, конфигов, отличающихся от умолчальных и прочего. ''mkarchiso'' требует помещения всех файлов, предназначенных для оверлея, в одну директорию. Оверлей будет наложен на систему во время загрузки используя ''AUFS''. Структура папки, содержащей файлы оверлея, должна повторять корневую систему.<br />
<br />
Все файлы и директории, не существующие в оригинальной системе, но существующие в оверлее, будут созданы.<br />
Все файлы и директории существующие в оригинальной системе и в оверлее, будут перезаписаны оверлеем.<br />
<br />
Создаём ''overlay'':<br />
$ mkdir overlay && cd overlay/<br />
<br />
Это было легко, теперь надо наполнить оверлей полезняшками. Несколько примеров: <br />
<br />
'''''Note:''' Важно, чтобы всем файлам в оверлее были назначены правильные права доступа.Поэтому все изменения в директории оврелея рекомендуется производить из под рута.''<br />
<br />
==== Добавление fstab ====<br />
Если нужно добавить '''fstab''':<br />
$ mkdir etc<br />
$ vim etc/fstab<br />
<br />
aufs / aufs noauto 0 0<br />
none /dev/pts devpts defaults 0 0<br />
none /dev/shm tmpfs defaults 0 0<br />
<br />
==== Добавление пользователя ====<br />
<br />
===== Вручную =====<br />
Так или иначе, но вам понядобятся пользователи в вашей live-системе. Есть много способов их добавления.Один из - скопировать файлы, для этого требуемые из корневой системы, и привести их в вид, удовлетворяющий вашим требованиям:<br />
<br />
$ cp /etc/group etc/group<br />
$ cp /etc/passwd etc/passwd<br />
$ cp /etc/shadow etc/shadow<br />
<br />
'''''Note:''' Не оставляёте зашифрованный пароль passwd или shadow файле! Пароль находится на второй позиции (после первого ':').''<br />
<br />
Пример безпарольного пользователя: <br />
root::99999::::::<br />
<br />
Так-же не забудьте создать домашнюю папку для пользователя (не забудьте изменить домашнюю папку в ''passwd''). Для создания домашней папки во время загрузки и добавления туда /etc/skel пользовательской папки можно использовать rc.local. Если про /etc/skel в слышите впервые, вам, и правда, следует об этом прочесть.<br />
$ vim etc/rc.local<br />
mkdir /home/archie && chown archie:archie /home/archie<br />
su -c "cp -r /etc/skel/.[a-zA-Z0-9]* /home/archie/" archie<br />
<br />
===== Используя useradd =====<br />
Другим способом добавления пользователя является использование ''etc/rc.local'' для создания пользователя при загрузке:<br />
$ vim etc/rc.local<br />
<br />
useradd -u 1000 -g users -G storage,floppy,optical,audio,video,network,games,wheel,disk -d /home/archie archie<br />
<br />
Это создаст пользователя и домашнюю директорию для него.<br />
<br />
==== Добавление чего-либо в домашнюю директорию пользователя при загрузке ====<br />
Возможно, вы захотите добавить какие-то файлы кофигурации для пользователя live-системы.<br />
<br />
Вам нужно будет создать следующую директорию, и поместить желаемое туда:<br />
$ mkdir etc/skel<br />
<br />
Для примера:<br />
$ vim etc/skel/.bashrc <br />
<br />
alias ls='ls --color=auto'<br />
PS1='[\u@\h \W]\$ '<br />
<br />
Описание всего, что можно сделать таким образом, значительно выходит за рамки данной статьи.<br />
<br />
'''''Note:''' Не пытайтесь использовать оверлей для прямого изменения /home/user/, это вызовет ошибки в правах доступа! Используйте /etc/skel/.''<br />
<br />
==== Закрытие темы оверлея ====<br />
Некоторые темы, не рассмотренные в данной статье (потому как рассмотрены в вики):<br />
*Конфигурация ''inittab'' для старта Х во время загрузки<br />
*Конфигурация ''hosts''<br />
*Конфигурация ''rc.conf''<br />
*Конфигурация ''sudoers''<br />
*Конфигурация ''rc.local''<br />
*Добавление большего колличества полезняшек etc/skel<br />
*Добавление большего колличества графического оформления<br />
*Добавление разнообраных бинарников в opt/<br />
<br />
== Генерация образа ==<br />
После всего времени, потраченного на конфигурацию, осталась самая приятная часть: Создание образа.<br />
<br />
Это легко: Из под рута (это важно!) выполните следующую команду в директории вашего проекта (там, где лежит ''Makefile''):<br />
$ make all<br />
На выходе вы получите .iso, готовый для записи на CD/DVD или USB: <br />
dd if=my-image.iso of=/dev/some-usb-drive bs=8M<br />
<br />
{{Note| Если на флеш носителе более одного раздела, не забудьте присвоить метку разделу, содержащему live-систему. Иначе с него будет невозможно загрузиться.}}<br />
{{warning|Осторожней с <tt>dd</tt>! Если вы используете его не на том устройстве, данные будет практически невозможно восстановить. Используйте с осторожностью.}}<br />
<br />
== Links ==<br />
[http://projects.archlinux.org/?p=archiso.git;a=summary Archiso project page]<br />
<br />
[[Arch Based Distributions (Active)]]</div>Mainframehttps://wiki.archlinux.org/index.php?title=CUPS_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)&diff=141798CUPS (Русский)2011-05-17T11:55:32Z<p>Mainframe: исправлены опечатки</p>
<hr />
<div>[[Category:Принтеры]]<br />
{{i18n|CUPS}}<br />
<br />
= Введение =<br />
<br />
== Что такое CUPS? ==<br />
<br />
Прямо с сайта CUPS : "Common UNIX Printing System ("CUPS", общая UNIX система печати) - это кроссплатформенное решение для печати для всех UNIX систем. Оно основано на "Internet Printing Protocol" (IPP, интернет-протокол печати) и предоставляет полный спектр возможностей для печати для большинства Postscript и растровых принтеров. CUPS распространяется под GNU GPL..." Хотя существуют другие пакеты печати, такие как LPRNG, CUPS более популярен и довольно прост в использовании. Это система печати по умолчанию как в Arch Linux, так и во многих других Linux дистрибутивах.<br />
<br />
== Устранение неисправностей в системе CUPS и её компонентах ==<br />
<br />
Наилучший способ борьбы с неисправностями - это выставить 'LogLevel' в файле '/etc/cups/cupsd.conf' в:<br />
<pre><br />
LogLevel debug2<br />
</pre><br />
А потом смотреть вывод из файл '/var/log/cups/error_log' так:<br />
<pre><br />
tail -n 100 -f /var/log/cups/error_log<br />
</pre><br />
Символы слева от вывода означают следующее:<br />
<pre><br />
D = Debug (отладка)<br />
E = Error (ошибка)<br />
I = Information (информация)<br />
</pre><br />
Эти файлы также могут быть полезны:<br />
<pre><br />
/var/log/cups/page_log 'каждый раз при успешной печати, пишет новую запись'<br />
/var/log/cups/access_log 'записывает всю активность на cupsd http1.1 сервере'<br />
</pre><br />
<br />
Конечно, важно знать, как работает CUPS, если вы хотите решить ваши проблемы. Вот краткая информация об этом:<br />
<br />
# Приложение посылает .ps файл (PostScript, язык-скрипт, который описывает, как выглядит страница) в систему CUPS, когда вы жмёте 'печать' (99% приложений делают так).<br />
# CUPS смотрит на PPD файл (файл описания принтера) и находит, какие фильтры ему нужно использовать, чтобы преобразовать .ps файл в файл, который понимает ваш принтер (например, PJL,PCL). Обычно ему требуется ghostscript.<br />
# GhostScript принимает ввод и решает, какие фильтры ему использовать, потом применяет их и преобразовывает .ps файл в формат, который понимает принтер.<br />
# Затем файл передается бэкенду. Например, если у вас принтер подключен к usb порту, то используется usb бэкенд<br />
<br />
Напечатайте документ и смотрите 'error_log', чтобы получить более детализированную картину процесса печати.<br />
<br />
= Установка CUPS =<br />
<br />
== Пакеты ==<br />
<br />
Вам наверняка потребуются CUPS и Ghostscript:<br />
# pacman -S cups ghostscript<br />
<br />
* <b>cups</b> - собственно пакет CUPS<br />
* <b>ghostscript</b> - интерпретатор для языка Postscript<br />
<br />
<br />
Некоторые из пакетов с драйверами для принтеров, зависит от используемого вами принтера. Если неуверены, установите gutenprint.<br />
<br />
* <b>gutenprint</b> - Набор высококачественных драйверов для Canon, Epson, Lexmark, Sony, Olympus и PCL printers для использования с Ghostscript, CUPS, Foomatic и Gimp.<br />
* <b>foomatic</b>, <b>foomatic-db</b>, <b>foomatic-db-engine</b>, <b>foomatic-db-ppd</b> и <b>foomatic-filters</b> - Foomatic - это система под управлением базы данных для интеграции открытых драйверов для принтера с обычными спулерами под Unix<br />
* Установка <b>foomatic-filters</b> должна разрешить ваши проблемы, если error.log от CUPS сообщает: "stopped with status 22!"<br />
* <b>hplip</b> - драйвер для струйных принтеров HP для Linux. Предоставляет поддержку для моделей DeskJet, OfficeJet, Photosmart, Business Inkjet и некоторых LaserJet.<br />
* <b>splix</b> - драйвер для принтеров Samsung для Linux. <br />
* <b>cups-pdf</b> - Хороший пакет, который позволяет настроить виртуальный PDF принтер, который будет создавать PDF из всего, что будет послано на принтер.<br />
<br />
<br />
Если ваша система подключена к сетевому принтеру с использованием samba протокола или система является сервером печати для Windows клиентов:<br />
# pacman -S samba<br />
<br />
== Загрузка PPD для принтера ==<br />
<br />
В зависимости от вашего принтера этот пункт является необязательным и может быть пропущен, так как CUPS в стандартной установке уже содержит несколько PPD (Postscript Printer Description, postscript описание принтера) файлов. Более того, пакеты <i>foomatic-filters</i>, <i>gimp-print</i> и <i>hplip</i> уже включают в себя некоторое количество PPD файлов, которые автоматически определяются CUPS.<br />
<br />
<br />
Вот объяснение того, что такое PPD файл с сайта Linux Printing: "Для каждого PostScript принтера производитель предоставляет PPD файл, который содержит всю особенную для принтера информацию об этой модели: основные возможности принтера (цветной он или нет, шрифты, уровень PostScript и т. д.) и особенно настройки, которые может изменять пользователь, такие как размер бумаги, разрешение печати и т. д."<br />
<br />
<br />
*Для того чтобы получить PPD файл для вашего принтера, зайдите на http://www.linuxprinting.org/printer_list.cgi и выберите производителя и модель вашего принтера.<br />
<br />
<br />
*Теперь вам следует скопировать файл в каталог cups, чтобы он обнаружил этот файл. Если вы находитесь в каталоге, где лежит скаченный вами PPD файл, то вы можете использовать следующую команду:<br />
<br />
<pre><br />
# cp your_printer.ppd /usr/share/cups/model/<br />
</pre><br />
<br />
<br />
Если вы не можете найти ваш принтер на вебсайте, то, возможно, захотите попробовать похожие модели или общие драйвера для принтера. Немного погуглите или спросите производителя (удачи вам во всём этом...).<br />
<br />
= Настройка CUPS =<br />
<br />
== Опции ==<br />
<br />
Итак, после того как у вас появился установленный CUPS, у вас есть множество способов его настройки. Вы всегда можете использовать старую добрую командную строку. You can always use the tried and true command line. Также некоторые DE, такие как Gnome и KDE, предоставляют удобные программы, которые могут вам помочь в управлении принтерами. Однако, для того чтобы сделать этот процесс максимально доступным обыкновенному пользователю, мы будем использовать web-интерфейс, предоставляемый CUPS.<br />
<br />
Пожалуйста, обратите внимание, что если вы хотите подключиться к сетевому принтеру, а не к подключённому локально, то, возможно, вы захотите вначале просмотреть секцию разделения принтеров. Разделение с Linux на Linux довольно просто и требует небольшой настройки. Разделение с Windows на Linux и наоборот может потребовать каких-то более серьёзных настроек, но так же относительно просто.<br />
<br />
== Модули ядра ==<br />
<br />
Прежде чем вы сможете использовать веб-интерфейс CUPS, вам необходимо установить требуемые модули ядра. Далее следуют шаги, взятые из руководства по установке принтера в Gentoo. <br />
=== USB принтеры ===<br />
Если вы хотите использовать USB принтер с ядром 2.6.x, загрузите модуль usblp:<br />
<br />
<pre><br />
# modprobe usblp<br />
</pre><br />
<br />
Если же у вас ядро 2.4.х, то подключите модуль принтер:<br />
<br />
<pre><br />
# modprobe printer<br />
</pre><br />
<br />
Обратите внимание, что приведённые команды подразумевают, что вы используете ядра от Arch Linux. Если вы запускаете самосборное ядро, то, возможно, вам потребуется вначале это:<br />
<br />
<pre><br />
# modprobe usbcore<br />
</pre><br />
<br />
После того как вы подключили указанные модули, включите ваш принтер и проверьте, обнаружило ли его ядро с помощью следующей команды:<br />
<br />
<pre><br />
# tail /var/log/messages.log<br />
</pre><br />
<br />
или<br />
<br />
<pre><br />
# dmesg<br />
</pre><br />
<br />
<br />
Вы должны увидеть что-нибудь типа:<br />
<br />
<pre><br />
Feb 19 20:17:11 kernel: printer.c: usblp0: USB Bidirectional<br />
printer dev 2 if 0 alt 0 proto 2 vid 0x04E8 pid 0x300E<br />
Feb 19 20:17:11 kernel: usb.c: usblp driver claimed interface cfef3920<br />
Feb 19 20:17:11 kernel: printer.c: v0.13: USB Printer Device Class driver<br />
</pre><br />
<br />
'''Внимание.''' В связи с обновлением CUPS до 1.4, более не используется модуль ядра usblp. Принтер определяется как-то (?) через hal. Чтобы использовать usb принтер, необходимо выгрузить модуль usblp<br />
<pre><br />
#rmmod usblp<br />
</pre><br />
и внести изменения в Ваш /etc/rc.conf чтобы модуль не стартовал при запуске<br />
<pre><br />
MODULES=(!usblp)<br />
</pre><br />
<br />
=== Принтеры с параллельным портом ===<br />
Если вы желаете использовать принтер с параллельным портом, настройка в общем-то такая же. Пользователи ядер 2.6.x должны вначале ввести:<br />
<br />
<pre><br />
# modprobe lp<br />
</pre><br />
<br />
Далее как для ядер 2.4.x, так и для 2.6.x следует написать:<br />
<br />
<pre><br />
# modprobe parport<br />
# modprobe parport_pc<br />
</pre><br />
<br />
Теперь вы можете проверить, обнаружен ли принтер:<br />
# tail /var/log/messages.log<br />
Вы должны увидеть что-нибудь типа:<br />
<br />
<pre><br />
# lp0: using parport0 (polling).<br />
</pre><br />
<br />
=== Принтеры с параллельным портом HP (hplip) ===<br />
{{Note|Действия проводились для настройки HP LaserJet 6L}}<br />
Если HP принтер подключен через параллельный порт, то потребуется пересобрать пакет '''hplip''' с опцией '''--enable-pp-build'''.<br />
Для этого устанавливаем и обновляем ABS:<br />
<pre><br />
# pacman -S abs<br />
# abs<br />
</pre><br />
Копируем необходимые файлы для сборки<br />
<pre><br />
# cp -r /var/abs/extra/hplip /tmp<br />
</pre><br />
Правим файл {{Filename|/tmp/hplip/PKGBUILD}} и добавляем опцию '''--enable-pp-build''' для '''./configure''':<br />
<pre><br />
[...]<br />
./configure --prefix=/usr \<br />
--enable-qt4 \<br />
--enable-pp-build \<br />
--enable-foomatic-rip-hplip-install \<br />
--enable-foomatic-ppd-install \<br />
--enable-hpcups-install \<br />
--enable-cups-drv-install \<br />
--enable-hpijs-install \<br />
--enable-foomatic-drv-install \<br />
--enable-udev-acl-rules<br />
[...]<br />
</pre><br />
Собираем и ставим пакет:<br />
<pre><br />
cd /tmp/hplip<br />
makepkg -s<br />
pacman -U hplip-3.10.6-1-i686.pkg.tar.xz<br />
</pre><br />
Далее принтер настраивается обычным путем через web-интерфейс '''CUPS''' [http://localhost:631 http://localhost:631].<br />
<br />
Если принтер правильно настроен для работы с '''hplip''', то строка подключения в '''CUPS''' будет начинаться с '''hp:'''<br />
<pre><br />
hp:/par/HP_LaserJet_6L?device=/dev/parport0<br />
</pre><br />
<br />
=== Автозагрузка ===<br />
Возможно, вы захотите, чтобы система загружала соответствующий модуль при старте системы. Для этого откройте в вашем текстовом редакторе файл <code>/etc/rc.conf</code> и добавьте нужный модуль в строку <i>MODULES=()</i>. Например, так:<br />
<br />
<pre><br />
MODULES=(!usbserial scsi_mod sd_mod snd-ymfpci snd-pcm-oss lp parport parport_pc ide-scsi)<br />
</pre><br />
<br />
== Демон CUPS ==<br />
<br />
После установки соответствующих модулей ядра, вы готовы к запуску демона CUPS. Для этого просто запустите:<br />
<br />
<pre><br />
# /etc/rc.d/cups start<br />
</pre><br />
<br />
Если вы хотите, чтобы CUPS загружался каждый раз при включении компьютера, добавьте cups в список DAEMONS=() в файле <i>/etc/rc.conf</i>. Если у вас принтер HP, то проверьте, что hplip загружается перед cups.<br />
<br />
== Web-интерфейс и средства управления ==<br />
<br />
После того как запущен демон, доступен для настройки web-интерфейс. Откройте ваш браузер и зайдите на:<br />
<br />
<i>http://localhost:631</i><br />
<br />
либо установите "Gnome Cups Manager" - графический фронтенд для Gnome (подробнее [http://wiki.archlinux.org/index.php/CUPS#Alternative_CUPS_Interfaces Alternative CUPS Interfaces])<br />
<br />
Теперь всё, что вам нужно сделать - это следовать различным мастерам для добавления вашего принтера. Например, для установки Samsung ML-1250, следует нажать на <i>Manage Printers</i>, а потом на <i>Add Printer</i>. Появился запрос об имени пользователя и пароле. Войдите как root. Далее введите ml1250 в качестве имени принтера, My Room как location и Samsung ML-1250 как description. Потом вам будет предложено выбрать устройство. Поскольку этот принтер является USB устройством, надо выбрать <i>USB Printer #1</i>. Имя принтера должно появиться после надписи <i>USB Printer #1</i>, обратите на это внимание. Далее просто выберите подходящий драйвеп и установка будет завершена.<br />
<br />
После завершения установки, проверьте ваши настройки, нажав на кнопку Print Test Page (Печать тестовой страницы).<br />
<br />
= Разделение принтера =<br />
<br />
== с Linux-клиента на Linux-сервер ==<br />
<br />
После того как вы настроили CUPS на вашем Linux сервере печати, разделить принтера с другой Linux системой довольно легко. Есть несколько возможностей для этого, а здесь будет описана лишь ручная настройка. На сервере (тот, который управляет и подсоединён к принтеру) просто откройте файл <i>/etc/cups/cupsd.conf</i> и разрешите доступ к серверу, изменив строчки с тэгом Location. Например:<br />
<br />
<pre><br />
<Location /><br />
Order Deny,Allow<br />
Deny From All<br />
Allow From 127.0.0.1<br />
Allow From 10.0.0.*<br />
</Location><br />
</pre><br />
<br />
Добавьте IP адреса компьютера клиента в строчке Allow From client_ip_address. После того как вы внесли исправления, перезапустите CUPS, выполнив:<br />
<br />
<pre><br />
# /etc/rc.d/cups restart<br />
</pre><br />
<br />
На стороне клиента откройте <i>/etc/cups/client.conf</i> и измените опцию ServerName в соответствии с IP адресом или именем сервера. Например, сервер называется beast и имеет запись в файле hosts. Итак, в вашем файле <i>client.conf</i>, просто отредактируйте строчку так:<br />
<br />
<pre><br />
ServerName beast<br />
</pre><br />
<br />
Потом запустите следующую команду для обновления клиента:<br />
<br />
<pre><br />
# lpq<br />
</pre><br />
<br />
Вы увидите что-то вроде:<br />
<br />
<pre><br />
ml1250 is ready<br />
no entries<br />
</pre><br />
<br />
Есть другие возможности для настройки, включая автоматическую, которые подробно описаны на http://localhost:631/sam.html#CLIENT_SETUP (эта ссылка доступна с вашего сервера печати).<br />
<br />
когда вас спросят о логине и пароле, войдите как root, потом проследуйте инструкциям с http://www.digitalhermit.com/linux/printing/<br />
если это TCP/IP принтер, использующий Jetdirect.<br />
<br />
Вот и всё, что касается Linux на Linux разделения принтера.<br />
<br />
==Linux to Windows==<br />
<br />
Если вы присоединены к Windows print server (или любому другому серверу печати, совместимому с Samba), вы можете пропустить раздел о модулях ядра. Все, что вам нужно сделать - запустить CUPS демон и заполнить веб-интерфейс как указано в разделах 3.3 и 3.4. Перед этим нужно активировать Samba CUPS backend. Это можно сделать следующей командой:<br />
<br />
<pre><br />
# ln -s `which smbspool` /usr/lib/cups/backend/smb<br />
</pre><br />
<br />
Обратите внимание, что символ ` ( нижний регистр ~ на стандартной US раскладке) не '. После этого необходимо перезапустить CUPS используя команду, описанную разделом выше. Затем просто зайдите в CUPS веб интерфейс и нажмите "Добавить новый принтер". В выпадающем списке для этого устройства должна быть доступной опция "Windows Printer Via Samba". Чтобы обозначить расположение этого принтера, вводим:<br />
<br />
<pre><br />
smb://username:password@hostname/printer_name<br />
</pre><br />
<br />
То же самое без пароля:<br />
<br />
<pre><br />
smb://username@hostname/printer_name<br />
</pre><br />
<br />
На компьютере с Windows этому пользователю должен быть разрешён доступ к принтеру. Выбирайте нужный драйвер и на этом всё. Если компьютер входит в домен, имя пользователя также должно его включать: <br />
smb://username:password@domain/hostname/printer_name<br />
<br />
Примечание: если в вашей сети много принтеров, для обозначения предпочитаемого принтера используйте опцию "lpoptions -d your_desired_default_printer_name".<br />
<br />
== с Windows-клиента на Linux-сервер ==<br />
<br />
Иногда необходимо разрешить Windows компьютеру подключаться к вашему. Есть несколько способов реализации, здесь будет описан способ, использующий Samba. Для того чтобы сделать это, вам следует отредактировать ваш файл <i>/etc/samba/smb.conf</i> для разрешения доступа к принтеру. Ваш smb.conf может выглядеть примерно так:<br />
<br />
<pre><br />
[global]<br />
workgroup = Heroes<br />
server string = Arch Linux Print Server<br />
security = user<br />
<br />
[printers]<br />
comment = All Printers<br />
path = /var/spool/samba<br />
browseable = yes<br />
# to allow user 'guest account' to print.<br />
guest ok = no<br />
writable = no<br />
printable = yes<br />
create mode = 0700<br />
write list = @adm root neocephas<br />
</pre><br />
<br />
Этого должно быть достаточно для разделения вашего принтера, но, возможно, вы захотите добавить собственный раздел для принтера:<br />
<br />
<pre><br />
[ML1250]<br />
comment = Samsung ML-1250 Laser Printer<br />
printer=ml1250<br />
path = /var/spool/samba<br />
printing = cups<br />
printable = yes<br />
printer admin = @admin root neocephas<br />
user client driver = yes<br />
# to allow user 'guest account' to print.<br />
guest ok = no<br />
writable = no<br />
write list = @adm root neocephas<br />
valid users = @adm root neocephas<br />
</pre><br />
<br />
Обратите внимание, что в приведённых настройках сделано так, что каждый пользователь должен иметь существующую учётную запись для доступа к принтеру. Для того чтобы сделать принтер общим, установите guest ok в yes, у удалите строчку valid users. Для того чтобы добавить учётные записи, вам нужно установить обычную учётную запись в Linux и потом пароль для Samba на сервере. Например:<br />
<br />
<pre><br />
# useradd neocephas<br />
# smbpasswd -a neocephas<br />
</pre><br />
<br />
После настройки учётных записей для пользователей вам нужно будет настроить каталог спулинга для samba:<br />
<br />
<pre><br />
# mkdir /var/spool/samba<br />
# chmod 777 /var/spool/samba<br />
</pre><br />
<br />
Следующие файлы, которые предстоит отредактировать - это /etc/cups/mime.convs и /etc/cups/mime.types:<br />
<br />
mime.convs:<br />
<pre><br />
# Эта строчка находится ближе к концу файла. Раскомментируйте её.<br />
application/octet-stream application/vnd.cups-raw 0 -<br />
</pre><br />
<br />
mime.types:<br />
<pre><br />
# Опять где-то ближе к концу файла.<br />
application/octet-stream<br />
</pre><br />
<br />
Изменения в mime.convs и mime.types необходимы для того чтобы CUPS мог печатать документы Microsoft Office. Многим людям это требуется.<br />
<br />
После того необходимо перезапустить демон Samba:<br />
<br />
<pre><br />
# /etc/rc.d/samba restart<br />
</pre><br />
<br />
Конечно, существует множество настроек и улучшений, которые могут быть сделаны при настройке Samba сервера печати, поэтому вы можете обратиться к документации CUPS и Samba за дальнейшими подробностями. Файл <i>smb.conf.example</i> также содержит несколько хороших примеров, на которые, возможно, вы захотите посмотреть.<br />
<br />
== Windows 2000- и Windows XP-клиенты на Linux-сервер ==<br />
<br />
Для последних версий Windows существует другой путь подсоединения к вашему Linux серверу печати, используюющий непосредственно протокол CUPS. Клиент Windows должен использовать Windows 2000 или Windows XP. Удостоверьтесь, что вы разрешили клиентам доступ к серверу печати, отредактировав секцию location, как указано в разделе 4.1.<br />
<br />
На компьютере с Windows, зайдите в Панель Управления -> Принтеры и выберите "Добавить новый принтер". Потом выберите опцию задавания URL. В поле для url введите нахождение вашего принтера:<br />
<br />
<i>http://host_ip_address:631/printers/printer_name</i><br />
<br />
где host_ip_address - это IP адрес вашего Linux сервера, а printer_name - это имя принтера, к которому вы подключаетесь. После этого установите драйвера для принтера на компьютер с Windows. Если вы настроите сервер CUPS так, чтобы он использовал свои собственные драйвера для принтера, то вы можете выбрать общий postscript принтер на Windows клиенте. Вы можете проверить ваши настройки, попробовав напечатать тестовую страницу.<br />
<br />
== с остальных на Linux, с Linux на остальные ==<br />
<br />
Подробная информация о взаимодействии CUPS с другими серверами печати может быть найдена в мануале по CUPS, например, на http://localhost:631/sam.html#PRINTING_OTHER<br />
<br />
=Приложение=<br />
<br />
==CUPS альтернативные интерфейсы==<br />
<br />
Если вы пользуетесь GNOME, вы можете конфингурировать ваш принтер с помощью system-config-printer-gnome.<br />
pacman -S system-config-printer-gnome<br />
Пользователи KDE могут изменять настройки из "Control Center" (kcontrol). <br />
Чтобы получить больше информации, рекомендуем обратиться к документации к вашему рабочему окружению (DE).<br />
<br />
Также существует gtklp. Находится в репозитории "extra"<br />
pacman -S gtklp<br />
<br />
==Виртуальный принтер PDF==<br />
<br />
Существует прекрасный пакет (ftp://ftp.archlinux.org/incoming) CUPS-PDF. Этот пакет позволяет настроить виртуальный принтер, который будет генерировать PDF файлы из отправленного на печать, на него. For example, I wrote this document in AbiWord and then printed it to the Virtual Printer which generated a pdf in my <i>/var/spool/cups-pdf/neocephas</i> folder. Obviously, this package is not necessary, but it can be quite useful. After downloading the package from the ftp server and installing it, you can set it up as you would for any other printer in the web interface. Select Virtual PDF Printer as the device and choose Postscript -> Postscript Color Printer for the drivers.<br />
<br />
==Внешние ресурсы==<br />
<br />
Список вебсайтов, которые могут быть вам полезны:<br />
<br />
* <b>Official CUPS documentation on your computer</b> http://localhost:631/documentation.html<br />
* <b>Official CUPS Website</b> - http://www.cups.org/<br />
* <b>Linux Printing</b> - http://www.linuxprinting.org/<br />
* <b>Tips and Suggestions on common CUPS problems</b> - http://home.nyc.rr.com/computertaijutsu/cups.html<br />
* <b>Gentoo's Printing Guide</b> - http://www.gentoo.org/doc/en/printing-howto.xml<br />
* <b>Arch Linux User Forums</b> - http://bbs.archlinux.org/<br />
<br />
==Особые случаи==<br />
<br />
Дальнейшее описание посвящено специфическим проблемам и их решениям. Если вы сталкивались с какой-либо ''необычной'' работой принтера, пожалуйста, поместите решение проблемы здесь.<br />
<br />
===Печать не работает/прерывается на принтерах HP Deskjet 700===<br />
<br />
Проблема решается установкой фильтра pnm2ppa для принтеров HP Deskjet 700 series. Без этого задания на печать будут отменяться системой. [[Arch Build System (Русский)| PKGBUILD]] для pnm2ppa можно найти здесь: [http://aur.archlinux.org/index.php?setlang=ru AUR].<br />
<br />
===Заставить работать HP LaserJet 1010===<br />
Мне для этого пришлось самому собрать ghostscript, потому что gs ESP в репозитории был версии 7.07 и имел некоторые ошибки, исправленные в ESP 8.15.1. Я никогда не пользовался пакетом 'foomatic' из репозитория. Я думаю что этот пакет устарел.<br />
<pre><br />
$ pacman -Qs cups a2ps psutils foo ghost<br />
local/cups 1.1.23-3<br />
The CUPS Printing System<br />
local/a2ps 4.13b-3<br />
a2ps is an Any to PostScript filter<br />
local/psutils p17-3<br />
A set of postscript utilities.<br />
local/foomatic-db 3.0.2-1<br />
Foomatic is a system for using free software printer drivers with common<br />
spoolers on Unix<br />
local/foomatic-db-engine 3.0.2-1<br />
Foomatic is a system for using free software printer drivers with common<br />
spoolers on Unix<br />
local/foomatic-db-ppd 3.0.2-1<br />
Foomatic is a system for using free software printer drivers with common<br />
spoolers on Unix<br />
local/foomatic-filters 3.0.2-1<br />
Foomatic is a system for using free software printer drivers with common<br />
spoolers on Unix<br />
local/espgs 8.15.1-1<br />
ESP Ghostscript<br />
</pre><br />
Также я был вынужден выставить LogLevel в /etc/cups/cupsd.conf в debug2 для того чтобы обнаружить отсутствие некоторых шрифтов "Nimbus". Затем я переименовал их и положил туда, куда мне подсказывал лог. Тут нужно привести хитрый способ поиска в google, [http://www.google.com/search?q=n019003l+filetype%3Apfb например] т.к. шрифты являются проприетарными (уверен что в windows это по умолчанию). В любом случае, после скачивания шрифтов (около 7) и помещения их в правильную директорию печать заработала.<br />
<br />
До этого я получал ошибки описанные [http://linuxprinting.org/show_printer.cgi?recnum=HP-LaserJet_1010 здесь]: 'Unsupport PCL' и т.п...<br />
<br />
Уверен что это работало бы и с gs ESP 7.07 (в репозитории) если бы у меня раньше хватило ума включить DebugLevel2 :-/<br />
<br />
''Обновление:'' да, это работает... может быть эта информация окажется полезной для кого-либо ещё... извините за неудобства.<br />
<br />
===Заставить работать HP LaserJet 1020 (1018 и похожие)===<br />
После множества попыток связанных с hplib и gutenprint я наконец нашёл решение как заставить мой HP Laserjet 1020 печатать. <br />
<br />
Первым делом вам надо уставить cups и ghostscript. Затем пройдите по ссылке <br />
http://www.linuxprinting.org/show_printer.cgi?recnum=HP-LaserJet_1020 на страницу драйверов печати http://foo2zjs.rkkda.com/ и следуйте интрукциям по установке. Залогиньтесь как root. После скачивания и распаковки архива переместитесь в распакованную директорию foo2zjs. Теперь вы можете делать всё по оригинальной инструкции по установке, лишь с небольшой модификацией для изменения userid пользователя для печати:<br />
<pre><br />
$ make<br />
$ ./getweb 1020<br />
</pre><br />
Откройте ''Makefile''<br />
<pre>$ nano Makefile</pre><br />
найдите там строку<br />
<pre># LPuid=-olp</pre><br />
и модифицируйте её таки образом:<br />
<pre># LPuid=-oroot</pre><br />
дальше выполняйте сборку<br />
<pre><br />
$ make install<br />
$ make install-hotplug<br />
$ make cups<br />
</pre><br />
Сейчас в этих действиях нет необходимости. Теперь строка '''LPuid=-oroot''' стоит по умолчанию.<br />
<br />
Вы также можете взять пакет foo2zjs из [http://aur.archlinux.org/index.php?setlang=ru AUR] и модифицировать [[Arch Build System (Русский)| PKGBUILD]]: измените строку<br />
<pre>./getweb all</pre><br />
на<br />
<pre>./getweb 1020</pre><br />
(или, если устанавливаете другой принтер, измените эту строку на что, что вам нужно).<br />
<br />
Последним шагом является добавление и конфигурирование принтера в CUPS manager. Принтер должен определиться автоматически. Это отлично работает для root'а и всех ползователей. Когда ОС загружается, принтер инициализируется и сигнализирует о том, что он работает.<br />
Так же строку<br />
<pre>./getweb 1020</pre><br />
можно изменять на необходимые 1018 (для работы принтера Hewlett-Packard 1018) и т.д.<br />
<pre>./getweb 1018</pre><br />
Список поддерживаемы моделей тут: http://foo2zjs.rkkda.com/<br />
<br />
====HPLIP====<br />
<br />
Больше нет необходимости устанавливать драйвер foo2zjs для работы принтера HP LJ 1018/1020, поскольку в последних версиях hplip он работает "из коробки". Вам следует установить hplip, gnomesu или gksu, qt и pyqt4, после чего запустить <br />
<pre>sudo hp-setup</pre><br />
CUPS-сервер должен быть запущен. Мастер установки hplip автоматически установит ваш принтер. После следует установить плагин к принтеру. Для этого запустить от пользователя программу hp-toolbox и выберите "install required plugin". Плагин автоматически загрузится с сайта производителя.<br />
Никаких дополнительных действий (вроде внесения usblp и MODULES_BLACKLIST) выполнять не надо.<br />
<br />
===Выполнение сервисных операций на принтерах Epson===<br />
====Escputil====<br />
<br />
Здесь объясняется как выполнить некоторые вспомогательные операции, такие как очистка и проверка сопел на принтерах Epson. Для этого мы будем использовать утилиту escputil, которая входит в состав пакета gutenprint.<br />
<br />
Man-страница этой утилиты ("man escputil") содержит очень полезную информацию, но не включает в себя необходимых сведений о том как идентифицировать ваш принтер. Для этого могут быть использованы два параметра. Первый из них --printer; он принимает имя принтера, которое вы использовали при его конфигурировании. Другой &mdash --raw-device. Эта опция примаетпуть к устройству. Если ваш принтер подключен к последовательному порту, то устройство будет выглядеть примерно как "/dev/lp0". Если же ваш принтер подключен к USB, по устройство будет "/dev/usb/lp0". Если у вас более одного принтера они будут иметь имена файлов устройств "lp1", "lp2" и т.д.<br />
<br />
* очистка печатающей головки:<br />
<pre>escputil -u --clean-head</pre><br />
<br />
* проверка сопел:<br />
<pre>escputil -u --nozzle-check</pre><br />
<br />
Если вам необходимо произвести операцию, которая требует двухстороннего общения с принтером вы должны использовать спецификацию "--raw-device", а ваш пользователь должен состоять в группе "lp" или быть root'ом.<br />
<br />
* получение внутреннего имени принтера:<br />
<br />
sudo escputil --raw-device=/dev/usb/lp0 --identify<br />
<br />
* получение уровня чернил:<br />
<br />
sudo escputil --raw-device=/dev/usb/lp0 --ink-level<br />
<br />
====Mtink====<br />
<br />
Это монитор состояния принтера, который позволяет получить количество оставшихся чернил, печатать тестовые страницы, сбрасывать принтер и очищать сопла. Он использует интуитивный графический интерфейс пользователя. Пакет можно скачать [http://aur.archlinux.org/packages.php?id=476 отсюда].<br />
<br />
==Другие источники драйверов для принтеров==<br />
<br />
На ''http://www.turboprint.de/english.html'' есть действительно хорошие драйверы для многих моделей принтеров, которые до сих пор ещё не поддерживаются в Linux (особенно Canon i*). Единственная проблема в том, что отпечатки высокого качества либо с логотипом turboprint или за них необходимо заплатить... Эти драйверы не Open-Source.<br />
<br />
=Решение проблем=<br />
==В результате обновления==<br />
<br />
После обновления вы можете увидеть ошибку такого вида:<br />
/usr/sbin/cupsd: error while loading shared libraries: libgnutls.so.13: cannot open shared object file: No such file or directory<br />
<br />
Это значит, что вам надо обновить gnutls:<br />
<br />
Pacman -S gnutls<br />
<br />
Вдобавок, в /etc/cups будет лежать файл с названием cupsd.conf.pacnew. Переименуйте его в cupsd.conf.<br />
<br />
[[Category:Русский]]</div>Mainframehttps://wiki.archlinux.org/index.php?title=Samsung_N150_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)&diff=126787Samsung N150 (Русский)2011-01-03T06:39:21Z<p>Mainframe: синхронизировано с английской версией страницы.</p>
<hr />
<div>[[Category:Samsung (Русский)]]<br />
{{i18n|Samsung N150}}<br />
Эта статья описывает установку и настройку 64х-битной версии Arch Linux на нетбук Samsung N150. Согласно выводу dmidecode, эта статья также может быть полезной для моделей N210 и N220.<br />
<br />
=Обзор комплектующих=<br />
<br />
Нетбук Samsung N150 оснащается процессором [[Wikipedia:Intel Atom|Intel Atom]] N450 ("Pineview") с интегрированной видеокартой [[Intel|Intel GMA 3100 GPU]] и чипсетом с кодовым названием "Pine Trail". В отличие от ранних одноядерных процессоров Intel Atom серий N2xx and Z, N450 поддерживает набор инструкций x86_64. Несмотря на то, что согласно информации DMI системная плата поддерживает до 8 Гб оперативной памяти, встроенный контроллер памяти Atom N450 может адресовать максимум 2 Гб. <br />
<br />
Так как ввиду аппаратных ограничений для адресного пространства достаточно 32 бит, основное преимущество 64-битной версии Arch на данной модели заключается в удобстве использования пакетов AUR, собранных на более мощных 64-битных системах, принадлежащих тому же владельцу.<br />
<br />
Поставляемые версии модели N150 (на начало марта 2010) включают "начальную" версию общеизвестной проприетарной ОС и поэтому содержат только 1 Гб памяти в виде одной планки DDR2 667Mhz SODIMM, которую можно заменить. Согласно информации DMI, нетбук содержит 2 mini PCIe слота, один из которых занят (встроенной?) беспроводной сетевой картой на базе чипа Atheros AR9285. Другие версии этой модели могут комплектоваться (встроенным?) 3G адаптером, установленным в другой слот.<br />
<br />
Внешние порты представляют собой 3 USB 2.0 порта, 1 VGA порт, 10/100 LAN порт (на чипе Marvell 88E8040 PCI-E), разъемы для наушников/микрофона и встроенный кардридер форматов SD/SDHC/MMC. Встроенная вебкамера с разрешением VGA (640x480) подсоединена к внутреннему USB контроллеру.<br />
<br />
=Установка=<br />
<br />
Поскольку у нетбуков нет оптических приводов, предпочтительный способ установки - через USB флешку. В процессе первой загрузки установочного образа 2009.08, система перезагрузится после инициализации процессора. При последующих перезагрузках с тем же самым ядром подобное поведение не проявляется, тем не менее, возможна перезагрузка в процессе первой загрузки после смены/обновления ядра.<br />
<br />
В этой статье предполагается, что для установки будет использоваться весь жесткий диск, затирая предустановленную производителем ОС и программы (включая разделы восстановления). Пока что не выяснено, какие именно разделы требуются для корректой работы программы восстановления: сохранения только первого раздела, неизвестного типа, '''не''' достаточно. Если вы желаете сохранить предустановленный механизм восстановления, вам следует создать набор из DVD-дисков, используя внешний DVD привод, перед установкой Arch Linux.<br />
<br />
Во время первой установки, cfdisk будет вылетать с ошибкой из-за неправильной разметки на диске, выходящей за его границы (согласно геометрии по умолчанию для дисков в Linux). Решение - в запуске fdisk и создания новой, пустой таблицы разделов. '''ВНИМАНИЕ: Эта операция уничтожит существующую таблицу разделов жесткого диска, с потерей всех данных, находящихся на нем.'''<br />
<br />
<pre><br />
fdisk /dev/sda << EOF<br />
o<br />
w<br />
EOF<br />
</pre><br />
<br />
После создания на диске пустой таблицы разделов, cfdisk в процессе установки будет работать правильно.<br />
<br />
=Настройка устройств=<br />
<br />
== Проводная сеть (Ethernet) ==<br />
<br />
Адаптер на чипе Marvell 88E8040 работает "из коробки" с ядром с конфигурацией "по умолчанию". При установке {{Package Official|NetworkManager}}, процесс загрузки может быть ускорен задержкой инициализации сети до появления графического интерфейса.<br />
<br />
== Беспроводная сеть (Wi-Fi) ==<br />
<br />
Samsung N150 поставляется с беспроводными картами на двух различных чипах: Atheros AR9285 и Realtek 8192E.<br />
<br />
Примечание: Модель Samsung N150+ может комплектоваться беспроводной картой на чипе Broadcom BCM4313.<br />
<br />
=== Atheros AR9285 ===<br />
Беспроводной адаптер на этом чипе работает "из коробки", включая полную поддержку шифрования WPA2-PSK через NetworkManager. Мощность передатчика может быть изменена при установке пакета {{Package Official|rfkill}}, с помощью следующего скрипта, помещенного, к примеру, в /usr/local/sbin/rftoggle<br />
<pre><br />
#!/bin/bash<br />
<br />
blocked=`rfkill list wlan | grep "Soft blocked: yes"`<br />
<br />
if [ -z "$blocked" ]; then<br />
rfkill block wlan<br />
else<br />
rfkill unblock wlan<br />
fi<br />
</pre><br />
<br />
=== Realtek 8192E ===<br />
Драйвер для RTL8192E есть в ядре Arch'а, но для драйвера необходима прошивка. Ее можно взять в пакете {{Package Official|linux-firmware}} или собрать самостоятельно из AUR'a. Смотри также [[Wireless_Setup]].<br />
<br />
=== Broadcom BCM4313 (Samsung N150+) ===<br />
Модуля для этой карты в ядре нет, и поэтому необходимо установить сторонний драйвер.<br />
Его можно найти в AUR'e: [http://aur.archlinux.org/packages.php?ID=19514 broadcom-wl]<br />
Или, если вы хотите собрать его вручную: [http://www.broadcom.com/support/802.11/linux_sta.php http://www.broadcom.com/support/802.11/linux_sta.php]<br />
Этот драйвер работает по большей части работает хорошо, за исключением того, что не может подключаться в "скрытым" сетям.<br />
<br />
== Графика ==<br />
<br />
Встроенная в Atom N450 графика на базе [[Intel|Intel GMA 3100 GPU]], работает с [[KMS|Kernel Mode Setting]] без дополнительных плясок с бубном. Ранняя инициализация KMS, похоже, незначительно ускоряет скорость загрузки и может быть включена добавлением следующей строки в /etc/mkinitcpio.conf (если подобная строчка уже существует, просто добавьте нужные модули в нее):<br />
<code><br />
MODULES="'''intel_agp i915'''"<br />
</code><br />
<br />
Запустите {{Codeline|mkinitcpio -p kernel26}}, чтобы новые модули добавились в загрузочный образ.<br />
<br />
В отличие от более ранней модели [[Samsung N140|N140]], у модели N150 не замечено проблем с режимом энергосбережения дисплея. <br />
<br />
Включив однажды доп. клавиши (смотри ниже), комбинация Fn+F4 будет переключать вывод изображения между только встроенным экраном, расширенным режимом и режимом дублирования изображения (clone) автоматически, когда внешний монитор подключен к VGA порту. <br />
<br />
=== Подсветка ===<br />
<br />
Так же как и на других ноутбуках и нетбуках Samsung, прямое управление подсветкой через ACPI в данной модели невозможно. Вместо этого, управление подсветкой может осуществляться изменением настроек графического адаптера через PCI шину с помощью следующего скрипта. Для легкости использования дополнительных кнопок (с Fn), поместите этот скрипт в /usr/local/sbin/backlight<br />
<br />
<pre><br />
#!/bin/bash<br />
# increase/decrease/set brightness (range 0-255)<br />
<br />
# PCI device on which to operate<br />
DEVICE=00:02.0<br />
<br />
# Amount to raise/lower the backlight when called with "up" or "down"<br />
AMOUNT=8<br />
<br />
# Minimum backlight value reachable via "down"<br />
MIN=1<br />
<br />
# Default backlight level when toggling on<br />
DEFAULT=64<br />
<br />
#get current brightness in hex and convert to decimal<br />
var1=`setpci -s $DEVICE F4.B`<br />
var1d=$((0x$var1))<br />
case "$1" in<br />
up)<br />
# вычислить новую яркость<br />
var2=`echo "ibase=10; obase=16; a=($var1d+$AMOUNT); if (a<255) print a else print 255" | bc`<br />
echo "$0: яркость увеличена с 0x$var1 до 0x$var2"<br />
setpci -s $DEVICE F4.B=$var2<br />
;;<br />
down)<br />
#calculate new brightness<br />
var2=`echo "ibase=10; obase=16; a=($var1d-$AMOUNT);if (a>$MIN) print a else print $MIN" | bc`<br />
echo "$0: яркость уменьшена с 0x$var1 до 0x$var2"<br />
setpci -s $DEVICE F4.B=$var2<br />
;;<br />
set)<br />
# "set" позволяет выставить яркость в 0, т.е. выключить подсветку<br />
echo "$0: установка яркости в 0x$2"<br />
setpci -s $DEVICE F4.B=$2<br />
;;<br />
toggle)<br />
if [ $var1d -eq 0 ] ; then<br />
echo "повышение яркости"<br />
setpci -s $DEVICE F4.B=$DEFAULT<br />
else<br />
echo "уменьшение яркости"<br />
setpci -s $DEVICE F4.B=0<br />
fi<br />
;;<br />
*)<br />
echo "использование: $0 {up|down|set <val>|toggle}"<br />
echo "$0: текущая яркость - 0x$var1"<br />
;;<br />
esac<br />
exit 0<br />
</pre><br />
<br />
== Звук ==<br />
<br />
Звук на базе Intel HD Audio в этой модели работает "из коробки", разве что нужно увеличить громкость канала "speaker". Установите пакет {{Package Official|alsa-utils}}, чтобы получить скрипт, сохраняющий и восстанавливающий уровни громкости во время загрузки (Не забудьте добавить пункт "alsa" в массив DAEMONS в файле /etc/rc.conf).<br />
<br />
Для владельцев модели N210, чтобы включить встроенный микрофон, вам нужно выполнить следующие команды:<br />
<pre><br />
# echo 0x19 0x90A70011 > /sys/class/sound/hwC0D0/user_pin_configs<br />
# echo 1 > /sys/class/sound/hwC0D0/reconfig<br />
</pre><br />
<br />
== Ждущий режим (STR/S3) ==<br />
<br />
В среде Gnome 2.28 и при установленном пакете {{Package Official|gnome-power-manager}}, ждущий режим работает без дополнительного вмешательства при закрытии крышки нетбука. Процесс приостановки работы занимает до 30 секунд. Выход из ждущего режима в конфигурации по умолчанию требует нажатия кнопки включения нетбука. Пробуждение из спячки при открытии крышки или нажатия кнопок на клавиатуре можно включить настройкой в BIOS'е.<br />
<br />
При наличии беспроводной сетевой карты на чипе realtek, сеть не всегда восстанавливается при выходе из ждущего режима. Выгрузка и последующая загрузка модуля r8192e_pci решают эту проблему. Также, это может быть автоматически настроено при помощи пакета [[Pm-utils]].<br />
<br />
== Спящий режим (hibernate) ==<br />
<br />
Спящий режим с использованием [[pm-utils]] все еще не работает корректно. В процессе запуска из спящего режима появляются ошибки заголовков ELF, связанные с glibc, успешно предотвращающие запуск новых программ (включая /sbin/shutdown). Более того, даже если эта проблема будет устранена, процесс восстановления из раздела подкачки занимает немного больше времени, чем "холодный" запуск системы.<br />
<br />
С ядром 2.6.36, на некоторых моделях N-серии необходимо добавить intel_idle.max_cstate=0 к параметрам загрузки ядра для корректной работы ждущего/спящего режимов.<br />
<br />
== Сенсорная панель (Тачпад) ==<br />
<br />
Тачпад Synaptics работает для однопальцевых операций и прокрутки с помощью его правого края без дополнительной настройки. При нажатии Fn+F10 BIOS автоматически включает или выключает тачпад. Чтобы отображать сообщение об этом, необходимо установить пакет {{Package Official|xosd}} и настроить скрипт, выводящий сообщение при нажатии Fn+F10 (смотри далее о настройке доп. клавиш). Поместите этот скрипт в /usr/local/bin/report_touchpad<br />
<br />
<pre><br />
#!/bin/bash<br />
<br />
FONT='-adobe-helvetica-bold-*-*-*-34-*-*-*-*-*-*-*'<br />
DELAY=1<br />
state=Unknown<br />
<br />
case "$1" in<br />
on)<br />
state="включен"<br />
;;<br />
off)<br />
state="отключен"<br />
;;<br />
*)<br />
echo "Использование: $0 {on|off}"<br />
exit 2<br />
;;<br />
esac<br />
<br />
osd_cat -A center -p middle -f $FONT -d $DELAY << EOF<br />
Тачпад $state<br />
EOF<br />
<br />
exit 0<br />
</pre><br />
<br />
Чтобы тачпад понимал нажатия на него, самым простым решением будет установить пакеты {{Package Official|gsynaptics}} или {{Package AUR|gpointing-device-settings}}. Хотя согласно документам поставляемым с нетбуком, заявлена поддержка мультитача (для двухпальцевых нажатий, прокрутки двумя пальцами и т.д.), не похоже, что это работает правильно.<br />
<br />
Для владельцев модели N220 (не тестировалось на N150, но возможно будет работать), эти параметры для включают мультитач на тачпаде (файл /etc/hal/fdi/policy/11-x11-synaptics.fdi)<br />
<br />
<pre><br />
<?xml version="1.0" encoding="ISO-8859-1"?><br />
<deviceinfo version="0.2"><br />
<device><br />
<match key="info.capabilities" contains="input.touchpad"><br />
<merge key="input.x11_driver" type="string">synaptics</merge><br />
<merge key="input.x11_options.TapButton1" type="string">1</merge><br />
<merge key="input.x11_options.TapButton2" type="string">2</merge><br />
<merge key="input.x11_options.TapButton3" type="string">3</merge><br />
<merge key="input.x11_options.SHMConfig" type="string">true</merge><br />
<merge key="input.x11_options.VertEdgeScroll" type="string">false</merge><br />
<merge key="input.x11_options.PalmDetect" type="string">false</merge><br />
<merge key="input.x11_options.VerteScrollDelta" type="string">100</merge><br />
<merge key="input.x11_options.VertTwoFingerScroll" type="string">true</merge><br />
<merge key="input.x11_options.HorizTwoFingerScroll" type="string">true</merge><br />
<merge key="input.x11_options.EmulateTwoFingerMinZ" type="string">40</merge><br />
<merge key="input.x11_options.EmulateTwoFingerMinW" type="string">5</merge><br />
</match><br />
</device><br />
</deviceinfo><br />
</pre><br />
<br />
== Управление частотой процессора ==<br />
<br />
Чтобы включить управление частотой процессора, вам необходимо добавить несколько модулей ядра в автозагрузку в файле /etc/rc.conf:<br />
<br />
<pre><br />
MODULES=(acpi-cpufreq cpufreq-ondemand cpufreq-powersave)<br />
</pre><br />
<br />
Смена режимов использования процессора ядром между производительным (performance), автоматическим (ondemand) и энергосберегающим (powersave) может производиться с помощью следующего скрипта, установленного в /usr/local/sbin/cpufreq_toggle<br />
<br />
<pre><br />
#!/bin/bash<br />
<br />
current=`cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor`<br />
future=unknown<br />
<br />
if [ "$current" == "performance" ]; then<br />
future="ondemand"<br />
elif [ "$current" == "ondemand" ]; then<br />
future="powersave"<br />
else<br />
future="performance"<br />
fi<br />
<br />
echo "$future" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor<br />
echo "$future" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor<br />
<br />
echo "$future"<br />
</pre><br />
<br />
Для вывода сообщения о текущем режиме через сообщение на дисплее (полезно при назначении комбинации Fn+F8 на смену режимов), следующий скрипт должен быть установлен в /usr/local/bin/cpufreq_toggle_osd<br />
<br />
<pre><br />
#!/bin/bash<br />
<br />
FONT='-adobe-helvetica-bold-*-*-*-34-*-*-*-*-*-*-*'<br />
DELAY=1<br />
<br />
state=`sudo /usr/local/sbin/cpufreq_toggle`<br />
message="CPU Performance State Unknown"<br />
<br />
if [ "$state" == "performance" ]; then<br />
message="Режим производительности"<br />
elif [ "$state" == "powersave" ]; then<br />
message="Режим энергосбережения"<br />
elif [ "$state" == "ondemand" ]; then<br />
message="Автоматический режим"<br />
fi<br />
<br />
osd_cat -A center -p middle -f $FONT -d $DELAY << EOF<br />
$message<br />
EOF<br />
<br />
exit 0<br />
</pre><br />
<br />
По умолчанию, система будет загружена с режимом "производительность". Чтобы включать автоматический режим в конце загрузки, добавьте следующие строки в /etc/rc.local<br />
<br />
<pre><br />
echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor<br />
echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor<br />
</pre><br />
<br />
= Клавиша Fn =<br />
<br />
Некоторые из спец. комбинаций клавиш в модели N150 работают сразу, но большинство - нет. Нестандартные сканкоды с клавиатуры передаются ядру, которое не знает, как преобразовать их в стандартные сканкоды. Что еще хуже, большинство сканкодов сообщают только о нажатии клавиши, но не о ее отпускании. Добавление следующие строчки в /etc/rc.local задействует все спец. клавиши и назначит им правильные сканкоды:<br />
<br />
<pre><br />
setkeycodes e002 227 # Fn+F4 maps to switchvidmode<br />
setkeycodes e003 236 # Fn+F2 maps to battery<br />
setkeycodes e004 148 # Fn+F5 maps to prog1<br />
setkeycodes e006 238 # Fn+F9 maps to wlan<br />
setkeycodes e008 225 # Fn+Up maps to brightnessup<br />
setkeycodes e009 224 # Fn+Dn maps to brightnessdown<br />
setkeycodes e031 149 # Fn+F7 maps to prog2<br />
setkeycodes e033 202 # Fn+F8 maps to prog3<br />
setkeycodes e077 191 # Fn+F10 maps to F21 whenever the touchpad is enabled<br />
setkeycodes e079 192 # Fn+F10 maps to F22 whenever the touchpad is disabled<br />
<br />
# Ensure key release events occur for all except Fn+F7, which properly reports a key release for some reason<br />
echo 130,131,132,134,136,137,179,247,249 > /sys/devices/platform/i8042/serio0/force_release<br />
</pre><br />
<br />
To enable hotkeys to change backlight, wireless, and system performance settings, it is necessary to give regular users certain permissions via the [[sudo]] command. Run visudo as root and add the following to the Cmnd alias specifications:<br />
<br />
<pre><br />
Cmnd_Alias NETBOOK_CMDS = /usr/local/sbin/backlight, /usr/local/sbin/rftoggle, /usr/local/sbin/cpufreq_toggle<br />
</pre><br />
<br />
Затем добавьте следующую строку в конец файла:<br />
<br />
<pre><br />
%users ALL=(ALL) NOPASSWD: NETBOOK_CMDS<br />
</pre><br />
<br />
Теперь нестандартные сочетания клавиш могут быть добавлены в ДЕ посредством окна "Комбинации клавиш клавиатуры".<br />
<br />
{| border="1"<br />
! Назначение<br />
! Команда<br />
! Сочетание клавиш<br />
|-<br />
| Выключить тачпад<br />
| /usr/local/bin/report_touchpad off<br />
| Нажмите Fn+F10, когда тачпад включен.<br />
|-<br />
| Включить тачпад<br />
| /usr/local/bin/report_touchpad on<br />
| Нажмите Fn+F10, когда тачпад выключен.<br />
|-<br />
| Изменение частоты процессора<br />
| /usr/local/bin/cpufreq_toggle_osd<br />
| Fn+F8<br />
|-<br />
| Увеличить яркость подсветки<br />
| sudo /usr/local/sbin/backlight up<br />
| Fn+<ВВЕРХ><br />
|-<br />
| Уменьшить яркость подсветки<br />
| sudo /usr/local/sbin/backlight down<br />
| Fn+<ВНИЗ><br />
|-<br />
| Вкл/Выкл wi-fi<br />
| sudo /usr/local/sbin/rftoggle<br />
| Fn+F9<br />
|-<br />
| Вкл/Выкл подсветку экрана<br />
| sudo /usr/local/sbin/backlight toggle<br />
| Fn+F5<br />
|}<br />
<br />
= Уменьшение времени загрузки =<br />
<br />
Чтобы заставить нетбук загружаться максимально быстро, нам нужно уменьшить задержки и заставить демонов запускаться в фоне.<br />
Две полезные модификации загрузчика (в данном случае - grub): измените параметр "timeout" на 2 секунды, вместо 5и - по умолчанию и добавьте параметр "quiet", чтобы подавить вывод некоторых сообщений ядра (которые отнимают время). Указанные параметры можно поменять в файле /boot/grub/menu.lst<br />
<br />
<pre><br />
timeout 2<br />
...<br />
# (0) Arch Linux<br />
title Arch Linux<br />
root (hd0,0)<br />
kernel /vmlinuz26 root=/dev/sda3 ro quiet<br />
initrd /kernel26.img<br />
</pre><br />
<br />
Учтите, что может быть здравой идеей '''не''' добавлять параметр "quiet" ко второму пункту загрузчика (который используется при сбоях ядра из первого пункта), в этом случае вывод сообщений ядра поможет вам определить проблему. Впрочем, вы можете отредактировать эти параметры непосредственно при загрузке (нажать "e" на нужном пункте меню загрузчика).<br />
<br />
Заставить демонов грузиться в фоне немного сложнее, учитывая, что один демон может зависить от одного или нескольких других. Тем не менее, можно использовать преимущество известных "задержек" в процессе загрузки (напр. запуск подсистемы X11), что позволяет некоторым демонам (таких как NetworkManager) спокойно запускаться в фоне, перед тем как они действительно понадобятся.<br />
<br />
<pre><br />
DAEMONS=(syslog-ng !network hal @networkmanager @sensors @alsa !netfs @crond)<br />
</pre><br />
<br />
С вышеуказанными настройками, графический менеджер входа в систему появляется через 37-38 секунд после "холодной" загрузки (включая задержки BIOS'а и grub'а)</div>Mainframehttps://wiki.archlinux.org/index.php?title=Samsung_N150_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)&diff=125422Samsung N150 (Русский)2010-12-16T11:53:49Z<p>Mainframe: синхронизировано с английской версией страницы.</p>
<hr />
<div>[[Category:Samsung (Русский)]]<br />
{{i18n|Samsung N150}}<br />
Эта статья описывает установку и настройку 64х-битной версии Arch Linux на нетбук Samsung N150. Согласно выводу dmidecode, эта статья также может быть полезной для моделей N210 и N220.<br />
<br />
=Обзор комплектующих=<br />
<br />
Нетбук Samsung N150 оснащается процессором [[Wikipedia:Intel Atom|Intel Atom]] N450 ("Pineview") с интегрированной видеокартой [[Intel|Intel GMA 3100 GPU]] и чипсетом с кодовым названием "Pine Trail". В отличие от ранних одноядерных процессоров Intel Atom серий N2xx and Z, N450 поддерживает набор инструкций x86_64. Несмотря на то, что согласно информации DMI системная плата поддерживает до 8 Гб оперативной памяти, встроенный контроллер памяти Atom N450 может адресовать максимум 2 Гб. <br />
<br />
Так как ввиду аппаратных ограничений для адресного пространства достаточно 32 бит, основное преимущество 64-битной версии Arch на данной модели заключается в удобстве использования пакетов AUR, собранных на более мощных 64-битных системах, принадлежащих тому же владельцу.<br />
<br />
Поставляемые версии модели N150 (на начало марта 2010) включают "начальную" версию общеизвестной проприетарной ОС и поэтому содержат только 1 Гб памяти в виде одной планки DDR2 667Mhz SODIMM, которую можно заменить. Согласно информации DMI, нетбук содержит 2 mini PCIe слота, один из которых занят (встроенной?) беспроводной сетевой картой на базе чипа Atheros AR9285. Другие версии этой модели могут комплектоваться (встроенным?) 3G адаптером, установленным в другой слот.<br />
<br />
Внешние порты представляют собой 3 USB 2.0 порта, 1 VGA порт, 10/100 LAN порт (на чипе Marvell 88E8040 PCI-E), разъемы для наушников/микрофона и встроенный кардридер форматов SD/SDHC/MMC. Встроенная вебкамера с разрешением VGA (640x480) подсоединена к внутреннему USB контроллеру.<br />
<br />
=Установка=<br />
<br />
Поскольку у нетбуков нет оптических приводов, предпочтительный способ установки - через USB флешку. В процессе первой загрузки установочного образа 2009.08, система перезагрузится после инициализации процессора. При последующих перезагрузках с тем же самым ядром подобное поведение не проявляется, тем не менее, возможна перезагрузка в процессе первой загрузки после смены/обновления ядра.<br />
<br />
В этой статье предполагается, что для установки будет использоваться весь жесткий диск, затирая предустановленную производителем ОС и программы (включая разделы восстановления). Пока что не выяснено, какие именно разделы требуются для корректой работы программы восстановления: сохранения только первого раздела, неизвестного типа, '''не''' достаточно. Если вы желаете сохранить предустановленный механизм восстановления, вам следует создать набор из DVD-дисков, используя внешний DVD привод, перед установкой Arch Linux.<br />
<br />
Во время первой установки, cfdisk будет вылетать с ошибкой из-за неправильной разметки на диске, выходящей за его границы (согласно геометрии по умолчанию для дисков в Linux). Решение - в запуске fdisk и создания новой, пустой таблицы разделов. '''ВНИМАНИЕ: Эта операция уничтожит существующую таблицу разделов жесткого диска, с потерей всех данных, находящихся на нем.'''<br />
<br />
<pre><br />
fdisk /dev/sda << EOF<br />
o<br />
w<br />
EOF<br />
</pre><br />
<br />
После создания на диске пустой таблицы разделов, cfdisk в процессе установки будет работать правильно.<br />
<br />
=Настройка устройств=<br />
<br />
== Проводная сеть (Ethernet) ==<br />
<br />
Адаптер на чипе Marvell 88E8040 работает "из коробки" с ядром с конфигурацией "по умолчанию". При установке {{Package Official|NetworkManager}}, процесс загрузки может быть ускорен задержкой инициализации сети до появления графического интерфейса.<br />
<br />
== Беспроводная сеть (Wi-Fi) ==<br />
<br />
Samsung N150 поставляется с беспроводными картами на двух различных чипах: Atheros AR9285 и Realtek 8192E.<br />
<br />
Примечание: Модель Samsung N150+ может комплектоваться беспроводной картой на чипе Broadcom BCM4313.<br />
<br />
=== Atheros AR9285 ===<br />
Беспроводной адаптер на этом чипе работает "из коробки", включая полную поддержку шифрования WPA2-PSK через NetworkManager. Мощность передатчика может быть изменена при установке пакета {{Package Official|rfkill}}, с помощью следующего скрипта, помещенного, к примеру, в /usr/local/sbin/rftoggle<br />
<pre><br />
#!/bin/bash<br />
<br />
blocked=`rfkill list wlan | grep "Soft blocked: yes"`<br />
<br />
if [ -z "$blocked" ]; then<br />
rfkill block wlan<br />
else<br />
rfkill unblock wlan<br />
fi<br />
</pre><br />
<br />
=== Realtek 8192E ===<br />
Драйвер для RTL8192E есть в ядре Arch'а, но для драйвера необходима прошивка. Ее можно взять в пакете {{Package Official|linux-firmware}} или собрать самостоятельно из AUR'a. Смотри также [[Wireless_Setup]].<br />
<br />
=== Broadcom BCM4313 (Samsung N150+) ===<br />
Модуля для этой карты в ядре нет, и поэтому необходимо установить сторонний драйвер.<br />
Его можно найти в AUR'e: [http://aur.archlinux.org/packages.php?ID=19514 broadcom-wl]<br />
Или, если вы хотите собрать его вручную: [http://www.broadcom.com/support/802.11/linux_sta.php http://www.broadcom.com/support/802.11/linux_sta.php]<br />
Этот драйвер работает по большей части работает хорошо, за исключением того, что не может подключаться в "скрытым" сетям.<br />
<br />
== Графика ==<br />
<br />
Встроенная в Atom N450 графика на базе [[Intel|Intel GMA 3100 GPU]], работает с [[KMS|Kernel Mode Setting]] без дополнительных плясок с бубном. Ранняя инициализация KMS, похоже, незначительно ускоряет скорость загрузки и может быть включена добавлением следующей строки в /etc/mkinitcpio.conf (если подобная строчка уже существует, просто добавьте нужные модули в нее):<br />
<code><br />
MODULES="'''intel_agp i915'''"<br />
</code><br />
<br />
Запустите {{Codeline|mkinitcpio -p kernel26}}, чтобы новые модули добавились в загрузочный образ.<br />
<br />
В отличие от более ранней модели [[Samsung N140|N140]], у модели N150 не замечено проблем с режимом энергосбережения дисплея. <br />
<br />
Включив однажды доп. клавиши (смотри ниже), комбинация Fn+F4 будет переключать вывод изображения между только встроенным экраном, расширенным режимом и режимом дублирования изображения (clone) автоматически, когда внешний монитор подключен к VGA порту. <br />
<br />
=== Подсветка ===<br />
<br />
Так же как и на других ноутбуках и нетбуках Samsung, прямое управление подсветкой через ACPI в данной модели невозможно. Вместо этого, управление подсветкой может осуществляться изменением настроек графического адаптера через PCI шину с помощью следующего скрипта. Для легкости использования дополнительных кнопок (с Fn), поместите этот скрипт в /usr/local/sbin/backlight<br />
<br />
<pre><br />
#!/bin/bash<br />
# increase/decrease/set brightness (range 0-255)<br />
<br />
# PCI device on which to operate<br />
DEVICE=00:02.0<br />
<br />
# Amount to raise/lower the backlight when called with "up" or "down"<br />
AMOUNT=8<br />
<br />
# Minimum backlight value reachable via "down"<br />
MIN=1<br />
<br />
# Default backlight level when toggling on<br />
DEFAULT=64<br />
<br />
#get current brightness in hex and convert to decimal<br />
var1=`setpci -s $DEVICE F4.B`<br />
var1d=$((0x$var1))<br />
case "$1" in<br />
up)<br />
# вычислить новую яркость<br />
var2=`echo "ibase=10; obase=16; a=($var1d+$AMOUNT); if (a<255) print a else print 255" | bc`<br />
echo "$0: яркость увеличена с 0x$var1 до 0x$var2"<br />
setpci -s $DEVICE F4.B=$var2<br />
;;<br />
down)<br />
#calculate new brightness<br />
var2=`echo "ibase=10; obase=16; a=($var1d-$AMOUNT);if (a>$MIN) print a else print $MIN" | bc`<br />
echo "$0: яркость уменьшена с 0x$var1 до 0x$var2"<br />
setpci -s $DEVICE F4.B=$var2<br />
;;<br />
set)<br />
# "set" позволяет выставить яркость в 0, т.е. выключить подсветку<br />
echo "$0: установка яркости в 0x$2"<br />
setpci -s $DEVICE F4.B=$2<br />
;;<br />
toggle)<br />
if [ $var1d -eq 0 ] ; then<br />
echo "повышение яркости"<br />
setpci -s $DEVICE F4.B=$DEFAULT<br />
else<br />
echo "уменьшение яркости"<br />
setpci -s $DEVICE F4.B=0<br />
fi<br />
;;<br />
*)<br />
echo "использование: $0 {up|down|set <val>|toggle}"<br />
echo "$0: текущая яркость - 0x$var1"<br />
;;<br />
esac<br />
exit 0<br />
</pre><br />
<br />
== Звук ==<br />
<br />
Звук на базе Intel HD Audio в этой модели работает "из коробки", разве что нужно увеличить громкость канала "speaker". Установите пакет {{Package Official|alsa-utils}}, чтобы получить скрипт, сохраняющий и восстанавливающий уровни громкости во время загрузки (Не забудьте добавить пункт "alsa" в массив DAEMONS в файле /etc/rc.conf).<br />
<br />
Для владельцев модели N210, чтобы включить встроенный микрофон, вам нужно выполнить следующие команды:<br />
<pre><br />
# echo 0x19 0x90A70011 > /sys/class/sound/hwC0D0/user_pin_configs<br />
# echo 1 > /sys/class/sound/hwC0D0/reconfig<br />
</pre><br />
<br />
== Ждущий режим (STR/S3) ==<br />
<br />
В среде Gnome 2.28 и при установленном пакете {{Package Official|gnome-power-manager}}, ждущий режим работает без дополнительного вмешательства при закрытии крышки нетбука. Процесс приостановки работы занимает до 30 секунд. Выход из ждущего режима в конфигурации по умолчанию требует нажатия кнопки включения нетбука. Пробуждение из спячки при открытии крышки или нажатия кнопок на клавиатуре можно включить настройкой в BIOS'е.<br />
<br />
При наличии беспроводной сетевой карты на чипе realtek, сеть не всегда восстанавливается при выходе из ждущего режима. Выгрузка и последующая загрузка модуля r8192e_pci решают эту проблему. Также, это может быть автоматически настроено при помощи пакета [[Pm-utils]].<br />
<br />
== Спящий режим (hibernate) ==<br />
<br />
Спящий режим с использованием [[pm-utils]] все еще не работает корректно. В процессе запуска из спящего режима появляются ошибки заголовков ELF, связанные с glibc, успешно предотвращающие запуск новых программ (включая /sbin/shutdown). Более того, даже если эта проблема будет устранена, процесс восстановления из раздела подкачки занимает немного больше времени, чем "холодный" запуск системы.<br />
<br />
== Сенсорная панель (Тачпад) ==<br />
<br />
Тачпад Synaptics работает для однопальцевых операций и прокрутки с помощью его правого края без дополнительной настройки. При нажатии Fn+F10 BIOS автоматически включает или выключает тачпад. Чтобы отображать сообщение об этом, необходимо установить пакет {{Package Official|xosd}} и настроить скрипт, выводящий сообщение при нажатии Fn+F10 (смотри далее о настройке доп. клавиш). Поместите этот скрипт в /usr/local/bin/report_touchpad<br />
<br />
<pre><br />
#!/bin/bash<br />
<br />
FONT='-adobe-helvetica-bold-*-*-*-34-*-*-*-*-*-*-*'<br />
DELAY=1<br />
state=Unknown<br />
<br />
case "$1" in<br />
on)<br />
state="включен"<br />
;;<br />
off)<br />
state="отключен"<br />
;;<br />
*)<br />
echo "Использование: $0 {on|off}"<br />
exit 2<br />
;;<br />
esac<br />
<br />
osd_cat -A center -p middle -f $FONT -d $DELAY << EOF<br />
Тачпад $state<br />
EOF<br />
<br />
exit 0<br />
</pre><br />
<br />
Чтобы тачпад понимал нажатия на него, самым простым решением будет установить пакеты {{Package Official|gsynaptics}} или {{Package AUR|gpointing-device-settings}}. Хотя согласно документам поставляемым с нетбуком, заявлена поддержка мультитача (для двухпальцевых нажатий, прокрутки двумя пальцами и т.д.), не похоже, что это работает правильно.<br />
<br />
Для владельцев модели N220 (не тестировалось на N150, но возможно будет работать), эти параметры для включают мультитач на тачпаде (файл /etc/hal/fdi/policy/11-x11-synaptics.fdi)<br />
<br />
<pre><br />
<?xml version="1.0" encoding="ISO-8859-1"?><br />
<deviceinfo version="0.2"><br />
<device><br />
<match key="info.capabilities" contains="input.touchpad"><br />
<merge key="input.x11_driver" type="string">synaptics</merge><br />
<merge key="input.x11_options.TapButton1" type="string">1</merge><br />
<merge key="input.x11_options.TapButton2" type="string">2</merge><br />
<merge key="input.x11_options.TapButton3" type="string">3</merge><br />
<merge key="input.x11_options.SHMConfig" type="string">true</merge><br />
<merge key="input.x11_options.VertEdgeScroll" type="string">false</merge><br />
<merge key="input.x11_options.PalmDetect" type="string">false</merge><br />
<merge key="input.x11_options.VerteScrollDelta" type="string">100</merge><br />
<merge key="input.x11_options.VertTwoFingerScroll" type="string">true</merge><br />
<merge key="input.x11_options.HorizTwoFingerScroll" type="string">true</merge><br />
<merge key="input.x11_options.EmulateTwoFingerMinZ" type="string">40</merge><br />
<merge key="input.x11_options.EmulateTwoFingerMinW" type="string">5</merge><br />
</match><br />
</device><br />
</deviceinfo><br />
</pre><br />
<br />
== Управление частотой процессора ==<br />
<br />
Чтобы включить управление частотой процессора, вам необходимо добавить несколько модулей ядра в автозагрузку в файле /etc/rc.conf:<br />
<br />
<pre><br />
MODULES=(acpi-cpufreq cpufreq-ondemand cpufreq-powersave)<br />
</pre><br />
<br />
Смена режимов использования процессора ядром между производительным (performance), автоматическим (ondemand) и энергосберегающим (powersave) может производиться с помощью следующего скрипта, установленного в /usr/local/sbin/cpufreq_toggle<br />
<br />
<pre><br />
#!/bin/bash<br />
<br />
current=`cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor`<br />
future=unknown<br />
<br />
if [ "$current" == "performance" ]; then<br />
future="ondemand"<br />
elif [ "$current" == "ondemand" ]; then<br />
future="powersave"<br />
else<br />
future="performance"<br />
fi<br />
<br />
echo "$future" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor<br />
echo "$future" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor<br />
<br />
echo "$future"<br />
</pre><br />
<br />
Для вывода сообщения о текущем режиме через сообщение на дисплее (полезно при назначении комбинации Fn+F8 на смену режимов), следующий скрипт должен быть установлен в /usr/local/bin/cpufreq_toggle_osd<br />
<br />
<pre><br />
#!/bin/bash<br />
<br />
FONT='-adobe-helvetica-bold-*-*-*-34-*-*-*-*-*-*-*'<br />
DELAY=1<br />
<br />
state=`sudo /usr/local/sbin/cpufreq_toggle`<br />
message="CPU Performance State Unknown"<br />
<br />
if [ "$state" == "performance" ]; then<br />
message="Режим производительности"<br />
elif [ "$state" == "powersave" ]; then<br />
message="Режим энергосбережения"<br />
elif [ "$state" == "ondemand" ]; then<br />
message="Автоматический режим"<br />
fi<br />
<br />
osd_cat -A center -p middle -f $FONT -d $DELAY << EOF<br />
$message<br />
EOF<br />
<br />
exit 0<br />
</pre><br />
<br />
По умолчанию, система будет загружена с режимом "производительность". Чтобы включать автоматический режим в конце загрузки, добавьте следующие строки в /etc/rc.local<br />
<br />
<pre><br />
echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor<br />
echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor<br />
</pre><br />
<br />
= Клавиша Fn =<br />
<br />
Некоторые из спец. комбинаций клавиш в модели N150 работают сразу, но большинство - нет. Нестандартные сканкоды с клавиатуры передаются ядру, которое не знает, как преобразовать их в стандартные сканкоды. Что еще хуже, большинство сканкодов сообщают только о нажатии клавиши, но не о ее отпускании. Добавление следующие строчки в /etc/rc.local задействует все спец. клавиши и назначит им правильные сканкоды:<br />
<br />
<pre><br />
setkeycodes e002 227 # Fn+F4 maps to switchvidmode<br />
setkeycodes e003 236 # Fn+F2 maps to battery<br />
setkeycodes e004 148 # Fn+F5 maps to prog1<br />
setkeycodes e006 238 # Fn+F9 maps to wlan<br />
setkeycodes e008 225 # Fn+Up maps to brightnessup<br />
setkeycodes e009 224 # Fn+Dn maps to brightnessdown<br />
setkeycodes e031 149 # Fn+F7 maps to prog2<br />
setkeycodes e033 202 # Fn+F8 maps to prog3<br />
setkeycodes e077 191 # Fn+F10 maps to F21 whenever the touchpad is enabled<br />
setkeycodes e079 192 # Fn+F10 maps to F22 whenever the touchpad is disabled<br />
<br />
# Ensure key release events occur for all except Fn+F7, which properly reports a key release for some reason<br />
echo 130,131,132,134,136,137,179,247,249 > /sys/devices/platform/i8042/serio0/force_release<br />
</pre><br />
<br />
To enable hotkeys to change backlight, wireless, and system performance settings, it is necessary to give regular users certain permissions via the [[sudo]] command. Run visudo as root and add the following to the Cmnd alias specifications:<br />
<br />
<pre><br />
Cmnd_Alias NETBOOK_CMDS = /usr/local/sbin/backlight, /usr/local/sbin/rftoggle, /usr/local/sbin/cpufreq_toggle<br />
</pre><br />
<br />
Затем добавьте следующую строку в конец файла:<br />
<br />
<pre><br />
%users ALL=(ALL) NOPASSWD: NETBOOK_CMDS<br />
</pre><br />
<br />
Теперь нестандартные сочетания клавиш могут быть добавлены в ДЕ посредством окна "Комбинации клавиш клавиатуры".<br />
<br />
{| border="1"<br />
! Назначение<br />
! Команда<br />
! Сочетание клавиш<br />
|-<br />
| Выключить тачпад<br />
| /usr/local/bin/report_touchpad off<br />
| Нажмите Fn+F10, когда тачпад включен.<br />
|-<br />
| Включить тачпад<br />
| /usr/local/bin/report_touchpad on<br />
| Нажмите Fn+F10, когда тачпад выключен.<br />
|-<br />
| Изменение частоты процессора<br />
| /usr/local/bin/cpufreq_toggle_osd<br />
| Fn+F8<br />
|-<br />
| Увеличить яркость подсветки<br />
| sudo /usr/local/sbin/backlight up<br />
| Fn+<ВВЕРХ><br />
|-<br />
| Уменьшить яркость подсветки<br />
| sudo /usr/local/sbin/backlight down<br />
| Fn+<ВНИЗ><br />
|-<br />
| Вкл/Выкл wi-fi<br />
| sudo /usr/local/sbin/rftoggle<br />
| Fn+F9<br />
|-<br />
| Вкл/Выкл подсветку экрана<br />
| sudo /usr/local/sbin/backlight toggle<br />
| Fn+F5<br />
|}<br />
<br />
= Уменьшение времени загрузки =<br />
<br />
Чтобы заставить нетбук загружаться максимально быстро, нам нужно уменьшить задержки и заставить демонов запускаться в фоне.<br />
Две полезные модификации загрузчика (в данном случае - grub): измените параметр "timeout" на 2 секунды, вместо 5и - по умолчанию и добавьте параметр "quiet", чтобы подавить вывод некоторых сообщений ядра (которые отнимают время). Указанные параметры можно поменять в файле /boot/grub/menu.lst<br />
<br />
<pre><br />
timeout 2<br />
...<br />
# (0) Arch Linux<br />
title Arch Linux<br />
root (hd0,0)<br />
kernel /vmlinuz26 root=/dev/sda3 ro quiet<br />
initrd /kernel26.img<br />
</pre><br />
<br />
Учтите, что может быть здравой идеей '''не''' добавлять параметр "quiet" ко второму пункту загрузчика (который используется при сбоях ядра из первого пункта), в этом случае вывод сообщений ядра поможет вам определить проблему. Впрочем, вы можете отредактировать эти параметры непосредственно при загрузке (нажать "e" на нужном пункте меню загрузчика).<br />
<br />
Заставить демонов грузиться в фоне немного сложнее, учитывая, что один демон может зависить от одного или нескольких других. Тем не менее, можно использовать преимущество известных "задержек" в процессе загрузки (напр. запуск подсистемы X11), что позволяет некоторым демонам (таких как NetworkManager) спокойно запускаться в фоне, перед тем как они действительно понадобятся.<br />
<br />
<pre><br />
DAEMONS=(syslog-ng !network hal @networkmanager @sensors @alsa !netfs @crond)<br />
</pre><br />
<br />
С вышеуказанными настройками, графический менеджер входа в систему появляется через 37-38 секунд после "холодной" загрузки (включая задержки BIOS'а и grub'а)</div>Mainframehttps://wiki.archlinux.org/index.php?title=Archiso_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)&diff=118886Archiso (Русский)2010-10-09T10:15:53Z<p>Mainframe: поправлена пара очипяток и допереведен один абзац.</p>
<hr />
<div>[[Category:Live_Arch_systems_(Русский)]]<br />
[[Category:Русские HowTo]]<br />
{{i18n|Archiso}}<br />
== Что это? ==<br />
'''Archiso''' - набор bash скриптов, предназначенных для создания полностью функциональных Live-CD/DVD и Live-USB на базе Arch Linux. Это довольно гибкий инструмент, который может быть использован как для создания дисков восстановления или установочных, так и для специализированных live-CD/DVD/USB систем.<br />
Центр Archiso - '''mkarchiso'''. Для получения подробного описания всех его опций достаточно вызвать его без параметров, так что здесь будет описанно только создание live диска своими руками.<br />
<br />
Благодаря последним изменениям Archiso создаёт ISO образы, пригодные как для записи на диск, так и на флеш носитель.<br />
<br />
== Установка Archiso ==<br />
<br />
Archiso можно поставить двумя способами:<br />
<br />
*Через [http://aur.archlinux.org/packages.php?ID=25996 AUR ] (рекомендуется использовать [http://wiki.archlinux.org/index.php/Yaourt_(Русский) yaourt])(рекомендуется)<br />
*Самостоятельно поставить из Git:<br />
$ git clone git://projects.archlinux.org/archiso.git<br />
$ cd archiso/archiso<br />
$ sudo make install<br />
$ sudo pacman -S mkinitcpio cdrkit squashfs-tools devtools syslinux mkinitcpio-nfs-utils nbd<br />
<br />
{{Note| Сейчас Archiso, содержащийся в [[Official_Repositories|extra]], устарел и не соответствует данной статье.}}<br />
<br />
== Конфигурация создаваемой системы ==<br />
<br />
=== Makefile ===<br />
Первым делом создаём отдельную директорию для работы и переходим в неё.<br />
$ mkdir myarch && cd myarch<br />
Далее создаём Makefile и прописываем (или обдуманно копипастим от сюда) туда нижеследующие инструкции.<br />
$ vim Makefile<br />
Ниже вы найдёте пример Makefile.<br />
{{Warning | Все отступы в файле делать табуляцией. На пробелы будет ругаться.}}<br />
<br />
{{Warning | В ранних версиях работала команда "mkinitcpio -c mkinitcpio.conf..." так или иначе (возможно, ввиду последних обновлений) теперь, если скрипт не может найти конфиг-файл, указывайте к последнему полный путь в mkinitcpio.conf, иначе вы можете получить пустой initcpio на выходе, из-за чего полученная система не будет загружаться (VFS error, kernel panic)}}<br />
<br />
<code><br />
#### Редактируйте данный файл для модифицирования конечной системы.<br />
# Рабочая директория для построения системы.<br />
'''WORKDIR=work'''<br />
# Список устанавливаемых приложений, either space separated in a string or line separated in a file. Может включать группы.<br />
'''PACKAGES="$(shell cat packages.list) syslinux"'''<br />
# Имя дистрибутива. Не зависит от/не определяет целевую архитектуру.<br />
'''NAME=myarch'''<br />
# Версия дистрибутива.<br />
'''VER=1.00'''<br />
# Версия ядра.<br />
'''KVER=2.6.32-ARCH'''<br />
# Архитектура.<br />
'''ARCH?=$(shell uname -m)'''<br />
# Директория, в которой находился пользователь, запустивший скрипт<br />
'''PWD:=$(shell pwd)'''<br />
# Полное (финальное) имя образа.<br />
'''FULLNAME="$(PWD)"/$(NAME)-$(VER)-$(ARCH)'''<br />
<br />
# Умолчальная инструкция make'у, для компиляции всего(?) (оригинал:"Default make instruction to build everything.")<br />
'''all: myarch'''<br />
<br />
# Запуск ''base-fs'' перед сборкой финального ISO образа.<br />
'''myarch: base-fs'''<br />
'''mkarchiso -p syslinux iso "$(WORKDIR)" "$(FULLNAME)".iso'''<br />
<br />
# Основное правило для процесса создания файловой системы образа. Приложения отрабатывают слева на право.<br />
# Тоесть, сначала ''root-image'' в конце - ''syslinux''.<br />
'''base-fs: root-image boot-files initcpio overlay iso-mounts syslinux'''<br />
<br />
# ''root-image'' всегда запускается первым. <br />
# Скачивание и установка приложений в ''$WORKDIR''.<br />
'''root-image: "$(WORKDIR)"/root-image/.arch-chroot'''<br />
'''"$(WORKDIR)"/root-image/.arch-chroot:'''<br />
'''root-image:'''<br />
'''mkarchiso -p $(PACKAGES) create "$(WORKDIR)"'''<br />
<br />
# Правило для создания /boot<br />
'''boot-files: root-image'''<br />
'''cp -r "$(WORKDIR)"/root-image/boot "$(WORKDIR)"/iso/'''<br />
'''cp -r boot-files/* "$(WORKDIR)"/iso/boot/'''<br />
<br />
# Правило для образов initcpio<br />
'''initcpio: "$(WORKDIR)"/iso/boot/myarch.img'''<br />
'''"$(WORKDIR)"/iso/boot/myarch.img: mkinitcpio.conf "$(WORKDIR)"/root-image/.arch-chroot'''<br />
'''mkdir -p "$(WORKDIR)"/iso/boot'''<br />
'''mkinitcpio -c ./mkinitcpio.conf -b "$(WORKDIR)"/root-image -k $(KVER) -g $@'''<br />
<br />
# Подробнее см.: [[#overlay|Overlay]]<br />
'''overlay:'''<br />
'''mkdir -p "$(WORKDIR)"/overlay/etc/pacman.d'''<br />
'''cp -r overlay "$(WORKDIR)"/'''<br />
'''wget -O "$(WORKDIR)"/overlay/etc/pacman.d/mirrorlist http://www.archlinux.org/mirrorlist/$(ARCH)/all/'''<br />
'''sed -i "s/#Server/Server/g" "$(WORKDIR)"/overlay/etc/pacman.d/mirrorlist'''<br />
<br />
# Правило для создания isomounts.'''<br />
'''iso-mounts: "$(WORKDIR)"/isomounts'''<br />
'''"$(WORKDIR)"/isomounts: isomounts root-image'''<br />
'''sed "s|@ARCH@|$(ARCH)|g" isomounts > $@'''<br />
<br />
# Исполняется перед генерацией финального образа.<br />
'''syslinux: root-image'''<br />
'''mkdir -p $(WORKDIR)/iso/boot/isolinux'''<br />
'''cp $(WORKDIR)/root-image/usr/lib/syslinux/*.c32 $(WORKDIR)/iso/boot/isolinux/'''<br />
'''cp $(WORKDIR)/root-image/usr/lib/syslinux/isolinux.bin $(WORKDIR)/iso/boot/isolinux/'''<br />
<br />
# При вызове "make clean" отчищает систему от вчего, созданного в процессе создания образа.<br />
'''clean:'''<br />
'''rm -rf "$(WORKDIR)" "$(FULLNAME)".img "$(FULLNAME)".iso'''<br />
<br />
.PHONY: all myarch<br />
.PHONY: base-fs<br />
.PHONY: root-image boot-files initcpio overlay iso-mounts<br />
.PHONY: syslinux<br />
.PHONY: clean<br />
<br />
Тоесть, при исполнении "make myarch" из под рута,происходит следующее:<br />
*'''root-image''' скачивает и устанавливает выбранные приложения в ''$WORKDIR''<br />
*'''boot-files''' готовит загрузочные файлы и копирует загрузочные скрипты<br />
*'''initcpio''' работает с ''initcpio''<br />
*'''overlay''' копирует файлы, перекрывающие базовую конфигурацию в ''root-image'' в ''$WORKDIR'' <br />
*'''iso-mounts''' немного уличной магии с применением sed, чтобы AUFS знала, куда ей монтироваться при загрузке<br />
*'''syslinux''' копирует загрузчик<br />
*'''myarch''' создаёт конечный образ, пригодный для записи на CD/DVD/флешку.<br />
</code><br />
<br />
Одного Makefile будет недостаточно, так что нужно будет создать файлы, описанные ниже.<br />
<br />
=== mkinitcpio.conf ===<br />
<br />
''initcpio'' необходим для создания системы,способной загружаться с CD/DVD/USB.<br />
<br />
Создайте mkinitcpio.conf:<br />
$ vim mkinitcpio.conf<br />
Обычно он содержит следующую информацию:<br />
HOOKS="base udev archiso pata scsi sata usb fw filesystems usbinput"<br />
<br />
Благодаря этому ваша система сможет загружаться с CD/DVD или USB. Стоит отметить, что автоопределение железа и прочее настраивается не здесь.<br />
<br />
=== packages.list ===<br />
<br />
Вам так-же понадобится список приложений, устанавливаемых на вашу live-систему. Как минимум вам понадобятся '''base''' и '''kernel26''', но, вы вольны дополнять список приложениями на ваше усмотрение.<br />
<br />
{{Note|'''mkarchiso''' использует ''/etc/pacman.conf'' из основной системы. Если вы раскоментировали [testing], то приложения из него тоже будут использованы при создании образа.Если вы хотите использовать другой ''pacman.conf'', вы можете создать его в папке проекта и использовать командой '''mkarchiso -C pacman.conf'''Для использования выделенного ''pacman.conf''нужно добавить '''-C pacman.conf''' во все вызовы '''mkarchiso''' в Makefile.}}<br />
$ vim packages.list<br />
В список устанавливаемых пакетов будет разумно вставить, как минимум, следующее:<br />
aufs2<br />
aufs2-util<br />
base<br />
bash<br />
coreutils<br />
cpio<br />
dhcpcd<br />
dnsutils<br />
file<br />
fuse<br />
kernel26<br />
syslinux<br />
nano<br />
<br />
Этот список должен дать вам минимальную рабочую систему. Но не забывайте, что в ней не будет драйверов свыше включённых в ядро (видео, вай-фай, специализированные - их нужно будет добавить в список).<br />
<br />
{{Tip|Вы так-же можете создать '''[[custom local repository]]''' для подготовки пакетов. Просто поставьте ваш локальный репозитарий на первую позицию в используемом '''pacman.conf'''.}}<br />
<br />
=== isomounts ===<br />
<br />
Вам понадобится файл, содержащий информацию о файловых системах, монтируемых при загрузке системы.<br />
$ vim isomounts<br />
Пример ''isomounts'':<br />
# archiso isomounts file<br />
# img - location of image/directory to mount relative to addons directory<br />
# arch - architecture of this image<br />
# mount point - absolute location on the post-initrd root<br />
# type - either 'bind' or 'squashfs' for now<br />
# syntax: <img> <arch> <mount point> <type><br />
# ORDER MATTERS! Files take top-down precedence. Be careful<br />
overlay.sqfs @ARCH@ / squashfs<br />
root-image.sqfs @ARCH@ / squashfs<br />
<br />
<br />
{{warning| В конце файла должна быть пустая строка (EOF) иначе ждите, что система упадёт в kernel panic!}}<br />
<br />
=== boot-files ===<br />
<br />
Вам нужно будет добавить директорию "boot-files" и поддиректорию "isolinux/" содержащую "isolinux.cfg".<br />
<br />
{{warning|Ввиду последних изменений поддержка [[grub]] в Archiso была отменена. Пожалуйста, не используйте grub. Взамен, вы можете использовать isolinux из syslinux'а, при этом вы получите образ, который может быть записан не только на диск, но и на флэшку.}}<br />
<br />
==== Использование isolinux ====<br />
Использовать ''isolinux'' просто:<br />
$ mkdir -p boot-files/isolinux/<br />
$ vim boot-files/isolinux/isolinux.cfg<br />
<br />
Образец:<br />
prompt 1<br />
timeout 0<br />
display myarch.msg<br />
DEFAULT myarch<br />
<br />
LABEL myarch<br />
KERNEL /boot/vmlinuz26<br />
APPEND initrd=/boot/myarch.img archisolabel=XXX tmpfs_size=75% locale=en_US.UTF-8<br />
<br />
LABEL memtest86+<br />
KERNEL /boot/memtest86+-2.10.bin<br />
<br />
Возможно, вы захотите отображать сообщение над меню загрузки:<br />
$ vim boot-files/isolinux/myarch.msg<br />
<br />
Это может быть любое сообщение в ASCII:<br />
<br />
HI GENTLEMEN LOL<br />
WELCOME TO MY DISTRO<br />
I HOPE U ENJOY MAKE UR TIME<br />
HA-HA-HA<br />
(ПРЕВЕД ДЖЕНТЕЛЬМЕНЫ Ы<br />
ДОБРО ПОЖАЛОВАТЬ В МОЙ ДИСТРИБУТИВЧЕГ<br />
НАДЕЮСЬ, ВАМ ПОНРАВИТСЯ ВРЕМЯ, КОТОРОЕ ВЫ НА НЕГО ПОТРАТИТЕ<br />
ГЫ-ГЫ-ГЫ)<br />
Обратите внимание, что вам нужно будет где-нибудь достать memtest*.bin потому как в "поставку по умолчанию" он не входит. Если вы не хотите его использовать - закоментируйте.<br />
<br />
Благодаря модульной структуре isolinux вы можете использовать большое колличество аддонов, потому что все *.c32 файлы скопированны и доступны вам. Подробней можете посмотреть [http://syslinux.zytor.com/wiki/index.php/SYSLINUX официальный сайт syslinux] и [http://projects.archlinux.org/archiso.git/tree/configs/syslinux-iso/boot-files archiso git-репозитарий]. Использование вышеперечисленных аддонов позволяет создавать красивые и сложные меню. Подробнее см. [http://syslinux.zytor.com/wiki/index.php/Comboot/menu.c32 тут].<br />
<br />
=== overlay ===<br />
'''overlay''' предназначен для включения в дистрибутив бинарных репозитариев, конфигов, отличающихся от умолчальных и прочего. ''mkarchiso'' требует помещения всех файлов, предназначенных для оверлея, в одну директорию. Оверлей будет наложен на систему во время загрузки используя ''AUFS''. Структура папки, содержащей файлы оверлея, должна повторять корневую систему.<br />
<br />
Все файлы и директории, не существующие в оригинальной системе, но существующие в оверлее, будут созданы.<br />
Все файлы и директории существующие в оригинальной системе и в оверлее, будут перезаписаны оверлеем.<br />
<br />
Создаём ''overlay'':<br />
$ mkdir overlay && cd overlay/<br />
<br />
Это было легко, теперь надо наполнить оверлей полезняшками. Несколько примеров: <br />
<br />
'''''Note:''' Важно, чтобы всем файлам в оверлее были назначены правильные права доступа.Поэтому все изменения в директории оврелея рекомендуется производить из под рута.''<br />
<br />
==== Добавление fstab ====<br />
Если нужно добавить '''fstab''':<br />
$ mkdir etc<br />
$ vim etc/fstab<br />
<br />
aufs / aufs noauto 0 0<br />
none /dev/pts devpts defaults 0 0<br />
none /dev/shm tmpfs defaults 0 0<br />
<br />
==== Добавление пользователя ====<br />
<br />
===== Вручную =====<br />
Так или иначе, но вам понядобятся пользователи в вашей live-системе. Есть много способов их добавления.Один из - скопировать файлы, для этого требуемые из корневой системы, и привести их в вид, удовлетворяющий вашим требованиям:<br />
<br />
$ cp /etc/group etc/group<br />
$ cp /etc/passwd etc/passwd<br />
$ cp /etc/shadow etc/shadow<br />
<br />
'''''Note:''' Не оставляёте зашифрованный пароль passwd или shadow файле! Пароль находится на второй позиции (после первого ':').''<br />
<br />
Пример безпарольного пользователя: <br />
root::99999::::::<br />
<br />
Так-же не забудьте создать домашнюю папку для пользователя (не забудьте изменить домашнюю папку в ''passwd''). Для создания домашней папки во время загрузки и добавления туда /etc/skel пользовательской папки можно использовать rc.local. Если про /etc/skel в слышите впервые, вам, и правда, следует об этом прочесть.<br />
$ vim etc/rc.local<br />
mkdir /home/archie && chown archie:archie /home/archie<br />
su -c "cp -r /etc/skel/.[a-zA-Z0-9]* /home/archie/" archie<br />
<br />
===== Используя useradd =====<br />
Другим способом добавления пользователя является использование ''etc/rc.local'' для создания пользователя при загрузке:<br />
$ vim etc/rc.local<br />
<br />
useradd -u 1000 -g users -G storage,floppy,optical,audio,video,network,games,wheel,disk -d /home/archie archie<br />
<br />
Это создаст пользователя и домашнюю директорию для него.<br />
<br />
==== Добавление чего-либо в домашнюю директорию пользователя при загрузке ====<br />
Возможно, вы захотите добавить какие-то файлы кофигурации для пользователя live-системы.<br />
<br />
Вам нужно будет создать следующую директорию, и поместить желаемое туда:<br />
$ mkdir etc/skel<br />
<br />
Для примера:<br />
$ vim etc/skel/.bashrc <br />
<br />
alias ls='ls --color=auto'<br />
PS1='[\u@\h \W]\$ '<br />
<br />
Описание всего, что можно сделать таким образом, значительно выходит за рамки данной статьи.<br />
<br />
'''''Note:''' Не пытайтесь использовать оверлей для прямого изменения /home/user/, это вызовет ошибки в правах доступа! Используйте /etc/skel/.''<br />
<br />
==== Закрытие темы оверлея ====<br />
Некоторые темы, не рассмотренные в данной статье (потому как рассмотрены в вики):<br />
*Конфигурация ''inittab'' для старта Х во время загрузки<br />
*Конфигурация ''hosts''<br />
*Конфигурация ''rc.conf''<br />
*Конфигурация ''sudoers''<br />
*Конфигурация ''rc.local''<br />
*Добавление большего колличества полезняшек etc/skel<br />
*Добавление большего колличества графического оформления<br />
*Добавление разнообраных бинарников в opt/<br />
<br />
== Генерация образа ==<br />
После всего времени, потраченного на конфигурацию, осталась самая приятная часть: Создание образа.<br />
<br />
Это легко: Из под рута (это важно!) выполните следующую команду в директории вашего проекта (там, где лежит ''Makefile''):<br />
$ make all<br />
На выходе вы получите .iso, готовый для записи на CD/DVD или USB: <br />
dd if=my-image.iso of=/dev/some-usb-drive bs=8M<br />
<br />
{{Note| Если на флеш носителе более одного раздела, не забудьте присвоить метку разделу, содержащему live-систему. Иначе с него будет не возможно загрузиться.}}<br />
{{warning|Осторожней с <tt>dd</tt>! Если вы используете его на не том устройстве, данные будет практически не возможно восстановить. Используйте с осторожностью.}}<br />
<br />
== Links ==<br />
[http://projects.archlinux.org/?p=archiso.git;a=summary Archiso project page]</div>Mainframehttps://wiki.archlinux.org/index.php?title=Samsung_N150_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)&diff=116454Samsung N150 (Русский)2010-09-05T11:06:26Z<p>Mainframe: синхронизировано с английской версией страницы.</p>
<hr />
<div>[[Category:Samsung (Русский)]]<br />
{{i18n|Samsung N150}}<br />
Эта статья описывает установку и настройку 64х-битной версии Arch Linux на нетбук Samsung N150. Согласно выводу dmidecode, эта статья также может быть полезной для моделей N210 и N220.<br />
<br />
=Обзор комплектующих=<br />
<br />
Нетбук Samsung N150 оснащается процессором [[Wikipedia:Intel Atom|Intel Atom]] N450 ("Pineview") с интегрированной видеокартой [[Intel|Intel GMA 3100 GPU]] и чипсетом с кодовым названием "Pine Trail". В отличие от ранних одноядерных процессоров Intel Atom серий N2xx and Z, N450 поддерживает набор инструкций x86_64. Несмотря на то, что согласно информации DMI системная плата поддерживает до 8 Гб оперативной памяти, встроенный контроллер памяти Atom N450 может адресовать максимум 2 Гб. <br />
<br />
Since the hardware is limited to a 32-bit address space, the primary benefit to running the 64-bit version of Arch on this system is to take advantage of AUR packages built on more powerful 64-bit systems belonging to the same owner.<br />
<br />
Поставляемые версии модели N150 (на начало марта 2010) включают "начальную" версию общеизвестной проприетарной ОС и поэтому содержат только 1 Гб памяти в виде одной планки DDR2 667Mhz SODIMM, которую можно заменить. Согласно информации DMI, нетбук содержит 2 mini PCIe слота, один из которых занят (встроенной?) беспроводной сетевой картой на базе чипа Atheros AR9285. Другие версии этой модели могут комплектоваться (встроенным?) 3G адаптером, установленным в другой слот.<br />
<br />
Внешние порты представляют собой 3 USB 2.0 порта, 1 VGA порт, 10/100 LAN порт (на чипе Marvell 88E8040 PCI-E), разъемы для наушников/микрофона и встроенный кардридер форматов SD/SDHC/MMC. Встроенная вебкамера с разрешением VGA (640x480) подсоединена к внутреннему USB контроллеру.<br />
<br />
=Установка=<br />
<br />
Поскольку у нетбуков нет оптических приводов, предпочтительный способ установки - через USB флешку. В процессе первой загрузки установочного образа 2009.08, система перезагрузится после инициализации процессора. При последующих перезагрузках с тем же самым ядром подобное поведение не проявляется, тем не менее, возможна перезагрузка в процессе первой загрузки после смены/обновления ядра.<br />
<br />
В этой статье предполагается, что для установки будет использоваться весь жесткий диск, затирая предустановленную производителем ОС и программы (включая разделы восстановления). Пока что не выяснено, какие именно разделы требуются для корректой работы программы восстановления: сохранения только первого раздела, неизвестного типа, '''не''' достаточно. Если вы желаете сохранить предустановленный механизм восстановления, вам следует создать набор из DVD-дисков, используя внешний DVD привод, перед установкой Arch Linux.<br />
<br />
Во время первой установки, cfdisk будет вылетать с ошибкой из-за неправильной разметки на диске, выходящей за его границы (согласно геометрии по умолчанию для дисков в Linux). Решение - в запуске fdisk и создания новой, пустой таблицы разделов. '''ВНИМАНИЕ: Эта операция уничтожит существующую таблицу разделов жесткого диска, с потерей всех данных, находящихся на нем.'''<br />
<br />
<pre><br />
fdisk /dev/sda << EOF<br />
o<br />
w<br />
EOF<br />
</pre><br />
<br />
После создания на диске пустой таблицы разделов, cfdisk в процессе установки будет работать правильно.<br />
<br />
=Настройка устройств=<br />
<br />
== Проводная сеть (Ethernet) ==<br />
<br />
Адаптер на чипе Marvell 88E8040 работает "из коробки" с ядром с конфигурацией "по умолчанию". При установке {{Package Official|NetworkManager}}, процесс загрузки может быть ускорен задержкой инициализации сети до появления графического интерфейса.<br />
<br />
== Беспроводная сеть (Wi-Fi) ==<br />
<br />
Samsung N150 поставляется с беспроводными картами на двух различных чипах: Atheros AR9285 и Realtek 8192E.<br />
<br />
Примечание: Модель Samsung N150+ может комплектоваться беспроводной картой на чипе Broadcom BCM4313.<br />
<br />
=== Atheros AR9285 ===<br />
Беспроводной адаптер на этом чипе работает "из коробки", включая полную поддержку шифрования WPA2-PSK через NetworkManager. Мощность передатчика может быть изменена при установке пакета {{Package Official|rfkill}}, с помощью следующего скрипта, помещенного, к примеру, в /usr/local/sbin/rftoggle<br />
<pre><br />
#!/bin/bash<br />
<br />
blocked=`rfkill list wlan | grep "Soft blocked: yes"`<br />
<br />
if [ -z "$blocked" ]; then<br />
rfkill block wlan<br />
else<br />
rfkill unblock wlan<br />
fi<br />
</pre><br />
<br />
=== Realtek 8192E ===<br />
Драйвер для RTL8192E есть в ядре Arch'а, но для драйвера необходима прошивка. Ее можно взять в пакете {{Package Official|linux-firmware}} или собрать самостоятельно из AUR'a. Смотри также [[Wireless_Setup]].<br />
<br />
=== Broadcom BCM4313 (Samsung N150+) ===<br />
Модуля для этой карты в ядре нет, и поэтому необходимо установить сторонний драйвер.<br />
Его можно найти в AUR'e: [http://aur.archlinux.org/packages.php?ID=19514 broadcom-wl]<br />
Или, если вы хотите собрать его вручную: [http://www.broadcom.com/support/802.11/linux_sta.php http://www.broadcom.com/support/802.11/linux_sta.php]<br />
Этот драйвер работает по большей части работает хорошо, за исключением того, что не может подключаться в "скрытым" сетям.<br />
<br />
== Графика ==<br />
<br />
Встроенная в Atom N450 графика на базе [[Intel|Intel GMA 3100 GPU]], работает с [[KMS|Kernel Mode Setting]] без дополнительных плясок с бубном. Ранняя инициализация KMS, похоже, незначительно ускоряет скорость загрузки и может быть включена добавлением следующей строки в /etc/mkinitcpio.conf (если подобная строчка уже существует, просто добавьте нужные модули в нее):<br />
<code><br />
MODULES="'''intel_agp i915'''"<br />
</code><br />
<br />
Запустите {{Codeline|mkinitcpio -p kernel26}}, чтобы новые модули добавились в загрузочный образ.<br />
<br />
В отличие от более ранней модели [[Samsung N140|N140]], у модели N150 не замечено проблем с режимом энергосбережения дисплея. <br />
<br />
Включив однажды доп. клавиши (смотри ниже), комбинация Fn+F4 будет переключать вывод изображения между только встроенным экраном, расширенным режимом и режимом дублирования изображения (clone) автоматически, когда внешний монитор подключен к VGA порту. <br />
<br />
=== Подсветка ===<br />
<br />
Так же как и на других ноутбуках и нетбуках Samsung, прямое управление подсветкой через ACPI в данной модели невозможно. Вместо этого, управление подсветкой может осуществляться изменением настроек графического адаптера через PCI шину с помощью следующего скрипта. Для легкости использования дополнительных кнопок (с Fn), поместите этот скрипт в /usr/local/sbin/backlight<br />
<br />
<pre><br />
#!/bin/bash<br />
# increase/decrease/set brightness (range 0-255)<br />
<br />
# PCI device on which to operate<br />
DEVICE=00:02.0<br />
<br />
# Amount to raise/lower the backlight when called with "up" or "down"<br />
AMOUNT=8<br />
<br />
# Minimum backlight value reachable via "down"<br />
MIN=1<br />
<br />
# Default backlight level when toggling on<br />
DEFAULT=64<br />
<br />
#get current brightness in hex and convert to decimal<br />
var1=`setpci -s $DEVICE F4.B`<br />
var1d=$((0x$var1))<br />
case "$1" in<br />
up)<br />
# вычислить новую яркость<br />
var2=`echo "ibase=10; obase=16; a=($var1d+$AMOUNT); if (a<255) print a else print 255" | bc`<br />
echo "$0: яркость увеличена с 0x$var1 до 0x$var2"<br />
setpci -s $DEVICE F4.B=$var2<br />
;;<br />
down)<br />
#calculate new brightness<br />
var2=`echo "ibase=10; obase=16; a=($var1d-$AMOUNT);if (a>$MIN) print a else print $MIN" | bc`<br />
echo "$0: яркость уменьшена с 0x$var1 до 0x$var2"<br />
setpci -s $DEVICE F4.B=$var2<br />
;;<br />
set)<br />
# "set" позволяет выставить яркость в 0, т.е. выключить подсветку<br />
echo "$0: установка яркости в 0x$2"<br />
setpci -s $DEVICE F4.B=$2<br />
;;<br />
toggle)<br />
if [ $var1d -eq 0 ] ; then<br />
echo "повышение яркости"<br />
setpci -s $DEVICE F4.B=$DEFAULT<br />
else<br />
echo "уменьшение яркости"<br />
setpci -s $DEVICE F4.B=0<br />
fi<br />
;;<br />
*)<br />
echo "использование: $0 {up|down|set <val>|toggle}"<br />
echo "$0: текущая яркость - 0x$var1"<br />
;;<br />
esac<br />
exit 0<br />
</pre><br />
<br />
== Звук ==<br />
<br />
Звук на базе Intel HD Audio в этой модели работает "из коробки", разве что нужно увеличить громкость канала "speaker". Установите пакет {{Package Official|alsa-utils}}, чтобы получить скрипт, сохраняющий и восстанавливающий уровни громкости во время загрузки (Не забудьте добавить пункт "alsa" в массив DAEMONS в файле /etc/rc.conf).<br />
<br />
Для владельцев модели N210, чтобы включить встроенный микрофон, вам нужно выполнить следующие команды:<br />
<pre><br />
# echo 0x19 0x90A70011 > /sys/class/sound/hwC0D0/user_pin_configs<br />
# echo 1 > /sys/class/sound/hwC0D0/reconfig<br />
</pre><br />
<br />
== Ждущий режим (STR/S3) ==<br />
<br />
В среде Gnome 2.28 и при установленном пакете {{Package Official|gnome-power-manager}}, ждущий режим работает без дополнительного вмешательства при закрытии крышки нетбука. Процесс приостановки работы занимает до 30 секунд. Выход из ждущего режима в конфигурации по умолчанию требует нажатия кнопки включения нетбука. Пробуждение из спячки при открытии крышки или нажатия кнопок на клавиатуре можно включить настройкой в BIOS'е.<br />
<br />
== Спящий режим (hibernate) ==<br />
<br />
Спящий режим с использованием [[pm-utils]] все еще не работает корректно. В процессе запуска из спящего режима появляются ошибки заголовков ELF, связанные с glibc, успешно предотвращающие запуск новых программ (включая /sbin/shutdown). Более того, даже если эта проблема будет устранена, процесс восстановления из раздела подкачки занимает немного больше времени, чем "холодный" запуск системы.<br />
<br />
== Сенсорная панель (Тачпад) ==<br />
<br />
Тачпад Synaptics работает для однопальцевых операций и прокрутки с помощью его правого края без дополнительной настройки. При нажатии Fn+F10 BIOS автоматически включает или выключает тачпад. Чтобы отображать сообщение об этом, необходимо установить пакет {{Package Official|xosd}} и настроить скрипт, выводящий сообщение при нажатии Fn+F10 (смотри далее о настройке доп. клавиш). Поместите этот скрипт в /usr/local/bin/report_touchpad<br />
<br />
<pre><br />
#!/bin/bash<br />
<br />
FONT='-adobe-helvetica-bold-*-*-*-34-*-*-*-*-*-*-*'<br />
DELAY=1<br />
state=Unknown<br />
<br />
case "$1" in<br />
on)<br />
state="включен"<br />
;;<br />
off)<br />
state="отключен"<br />
;;<br />
*)<br />
echo "Использование: $0 {on|off}"<br />
exit 2<br />
;;<br />
esac<br />
<br />
osd_cat -A center -p middle -f $FONT -d $DELAY << EOF<br />
Тачпад $state<br />
EOF<br />
<br />
exit 0<br />
</pre><br />
<br />
Чтобы тачпад понимал нажатия на него, самым простым решением будет установить пакеты {{Package Official|gsynaptics}} или {{Package AUR|gpointing-device-settings}}. Хотя согласно документам поставляемым с нетбуком, заявлена поддержка мультитача (для двухпальцевых нажатий, прокрутки двумя пальцами и т.д.), не похоже, что это работает правильно.<br />
<br />
Для владельцев модели N220 (не тестировалось на N150, но возможно будет работать), эти параметры для включают мультитач на тачпаде (файл /etc/hal/fdi/policy/11-x11-synaptics.fdi)<br />
<br />
<pre><br />
<?xml version="1.0" encoding="ISO-8859-1"?><br />
<deviceinfo version="0.2"><br />
<device><br />
<match key="info.capabilities" contains="input.touchpad"><br />
<merge key="input.x11_driver" type="string">synaptics</merge><br />
<merge key="input.x11_options.TapButton1" type="string">1</merge><br />
<merge key="input.x11_options.TapButton2" type="string">2</merge><br />
<merge key="input.x11_options.TapButton3" type="string">3</merge><br />
<merge key="input.x11_options.SHMConfig" type="string">true</merge><br />
<merge key="input.x11_options.VertEdgeScroll" type="string">false</merge><br />
<merge key="input.x11_options.PalmDetect" type="string">false</merge><br />
<merge key="input.x11_options.VerteScrollDelta" type="string">100</merge><br />
<merge key="input.x11_options.VertTwoFingerScroll" type="string">true</merge><br />
<merge key="input.x11_options.HorizTwoFingerScroll" type="string">true</merge><br />
<merge key="input.x11_options.EmulateTwoFingerMinZ" type="string">40</merge><br />
<merge key="input.x11_options.EmulateTwoFingerMinW" type="string">5</merge><br />
</match><br />
</device><br />
</deviceinfo><br />
</pre><br />
<br />
== Управление частотой процессора ==<br />
<br />
Чтобы включить управление частотой процессора, вам необходимо добавить несколько модулей ядра в автозагрузку в файле /etc/rc.conf:<br />
<br />
<pre><br />
MODULES=(acpi-cpufreq cpufreq-ondemand cpufreq-powersave)<br />
</pre><br />
<br />
Смена режимов использования процессора ядром между производительным (performance), автоматическим (ondemand) и энергосберегающим (powersave) может производиться с помощью следующего скрипта, установленного в /usr/local/sbin/cpufreq_toggle<br />
<br />
<pre><br />
#!/bin/bash<br />
<br />
current=`cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor`<br />
future=unknown<br />
<br />
if [ "$current" == "performance" ]; then<br />
future="ondemand"<br />
elif [ "$current" == "ondemand" ]; then<br />
future="powersave"<br />
else<br />
future="performance"<br />
fi<br />
<br />
echo "$future" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor<br />
echo "$future" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor<br />
<br />
echo "$future"<br />
</pre><br />
<br />
Для вывода сообщения о текущем режиме через сообщение на дисплее (полезно при назначении комбинации Fn+F8 на смену режимов), следующий скрипт должен быть установлен в /usr/local/bin/cpufreq_toggle_osd<br />
<br />
<pre><br />
#!/bin/bash<br />
<br />
FONT='-adobe-helvetica-bold-*-*-*-34-*-*-*-*-*-*-*'<br />
DELAY=1<br />
<br />
state=`sudo /usr/local/sbin/cpufreq_toggle`<br />
message="CPU Performance State Unknown"<br />
<br />
if [ "$state" == "performance" ]; then<br />
message="Режим производительности"<br />
elif [ "$state" == "powersave" ]; then<br />
message="Режим энергосбережения"<br />
elif [ "$state" == "ondemand" ]; then<br />
message="Автоматический режим"<br />
fi<br />
<br />
osd_cat -A center -p middle -f $FONT -d $DELAY << EOF<br />
$message<br />
EOF<br />
<br />
exit 0<br />
</pre><br />
<br />
По умолчанию, система будет загружена с режимом "производительность". Чтобы включать автоматический режим в конце загрузки, добавьте следующие строки в /etc/rc.local<br />
<br />
<pre><br />
echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor<br />
echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor<br />
</pre><br />
<br />
= Клавиша Fn =<br />
<br />
Некоторые из спец. комбинаций клавиш в модели N150 работают сразу, но большинство - нет. Нестандартные сканкоды с клавиатуры передаются ядру, которое не знает, как преобразовать их в стандартные сканкоды. Что еще хуже, большинство сканкодов сообщают только о нажатии клавиши, но не о ее отпускании. Добавление следующие строчки в /etc/rc.local задействует все спец. клавиши и назначит им правильные сканкоды:<br />
<br />
<pre><br />
setkeycodes e002 227 # Fn+F4 maps to switchvidmode<br />
setkeycodes e003 236 # Fn+F2 maps to battery<br />
setkeycodes e004 148 # Fn+F5 maps to prog1<br />
setkeycodes e006 238 # Fn+F9 maps to wlan<br />
setkeycodes e008 225 # Fn+Up maps to brightnessup<br />
setkeycodes e009 224 # Fn+Dn maps to brightnessdown<br />
setkeycodes e031 149 # Fn+F7 maps to prog2<br />
setkeycodes e033 202 # Fn+F8 maps to prog3<br />
setkeycodes e077 191 # Fn+F10 maps to F21 whenever the touchpad is enabled<br />
setkeycodes e079 192 # Fn+F10 maps to F22 whenever the touchpad is disabled<br />
<br />
# Ensure key release events occur for all except Fn+F7, which properly reports a key release for some reason<br />
echo 130,131,132,134,136,137,179,247,249 > /sys/devices/platform/i8042/serio0/force_release<br />
</pre><br />
<br />
To enable hotkeys to change backlight, wireless, and system performance settings, it is necessary to give regular users certain permissions via the [[sudo]] command. Run visudo as root and add the following to the Cmnd alias specifications:<br />
<br />
<pre><br />
Cmnd_Alias NETBOOK_CMDS = /usr/local/sbin/backlight, /usr/local/sbin/rftoggle, /usr/local/sbin/cpufreq_toggle<br />
</pre><br />
<br />
Затем добавьте следующую строку в конец файла:<br />
<br />
<pre><br />
%users ALL=(ALL) NOPASSWD: NETBOOK_CMDS<br />
</pre><br />
<br />
Теперь нестандартные сочетания клавиш могут быть добавлены в ДЕ посредством окна "Комбинации клавиш клавиатуры".<br />
<br />
{| border="1"<br />
! Назначение<br />
! Команда<br />
! Сочетание клавиш<br />
|-<br />
| Выключить тачпад<br />
| /usr/local/bin/report_touchpad off<br />
| Нажмите Fn+F10, когда тачпад включен.<br />
|-<br />
| Включить тачпад<br />
| /usr/local/bin/report_touchpad on<br />
| Нажмите Fn+F10, когда тачпад выключен.<br />
|-<br />
| Изменение частоты процессора<br />
| /usr/local/bin/cpufreq_toggle_osd<br />
| Fn+F8<br />
|-<br />
| Увеличить яркость подсветки<br />
| sudo /usr/local/sbin/backlight up<br />
| Fn+<ВВЕРХ><br />
|-<br />
| Уменьшить яркость подсветки<br />
| sudo /usr/local/sbin/backlight down<br />
| Fn+<ВНИЗ><br />
|-<br />
| Вкл/Выкл wi-fi<br />
| sudo /usr/local/sbin/rftoggle<br />
| Fn+F9<br />
|-<br />
| Вкл/Выкл подсветку экрана<br />
| sudo /usr/local/sbin/backlight toggle<br />
| Fn+F5<br />
|}<br />
<br />
= Уменьшение времени загрузки =<br />
<br />
Чтобы заставить нетбук загружаться максимально быстро, нам нужно уменьшить задержки и заставить демонов запускаться в фоне.<br />
Две полезные модификации загрузчика (в данном случае - grub): измените параметр "timeout" на 2 секунды, вместо 5и - по умолчанию и добавьте параметр "quiet", чтобы подавить вывод некоторых сообщений ядра (которые отнимают время). Указанные параметры можно поменять в файле /boot/grub/menu.lst<br />
<br />
<pre><br />
timeout 2<br />
...<br />
# (0) Arch Linux<br />
title Arch Linux<br />
root (hd0,0)<br />
kernel /vmlinuz26 root=/dev/sda3 ro quiet<br />
initrd /kernel26.img<br />
</pre><br />
<br />
Учтите, что может быть здравой идеей '''не''' добавлять параметр "quiet" ко второму пункту загрузчика (который используется при сбоях ядра из первого пункта), в этом случае вывод сообщений ядра поможет вам определить проблему. Впрочем, вы можете отредактировать эти параметры непосредственно при загрузке (нажать "e" на нужном пункте меню загрузчика).<br />
<br />
Заставить демонов грузиться в фоне немного сложнее, учитывая, что один демон может зависить от одного или нескольких других. Тем не менее, можно использовать преимущество известных "задержек" в процессе загрузки (напр. запуск подсистемы X11), что позволяет некоторым демонам (таких как NetworkManager) спокойно запускаться в фоне, перед тем как они действительно понадобятся.<br />
<br />
<pre><br />
DAEMONS=(syslog-ng !network hal @networkmanager @sensors @alsa !netfs @crond)<br />
</pre><br />
<br />
С вышеуказанными настройками, графический менеджер входа в систему появляется через 37-38 секунд после "холодной" загрузки (включая задержки BIOS'а и grub'а)</div>Mainframehttps://wiki.archlinux.org/index.php?title=Samsung_N150_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)&diff=116410Samsung N150 (Русский)2010-09-04T20:28:24Z<p>Mainframe: синхронизировано с английской версией страницы.</p>
<hr />
<div>[[Category:Samsung (Русский)]]<br />
{{i18n|Samsung N150}}<br />
Эта статья описывает установку и настройку 64х-битной версии Arch Linux на нетбук Samsung N150. Согласно выводу dmidecode, эта статья также может быть полезной для моделей N210 и N220.<br />
<br />
=Обзор комплектующих=<br />
<br />
Нетбук Samsung N150 оснащается процессором [[Wikipedia:Intel Atom|Intel Atom]] N450 ("Pineview") с интегрированной видеокартой [[Intel|Intel GMA 3100 GPU]] и чипсетом с кодовым названием "Pine Trail". В отличие от ранних одноядерных процессоров Intel Atom серий N2xx and Z, N450 поддерживает набор инструкций x86_64. Несмотря на то, что согласно информации DMI системная плата поддерживает до 8 Гб оперативной памяти, встроенный контроллер памяти Atom N450 может адресовать максимум 2 Гб. <br />
<br />
Since the hardware is limited to a 32-bit address space, the primary benefit to running the 64-bit version of Arch on this system is to take advantage of AUR packages built on more powerful 64-bit systems belonging to the same owner.<br />
<br />
Поставляемые версии модели N150 (на начало марта 2010) включают "начальную" версию общеизвестной проприетарной ОС и поэтому содержат только 1 Гб памяти в виде одной планки DDR2 667Mhz SODIMM, которую можно заменить. Согласно информации DMI, нетбук содержит 2 mini PCIe слота, один из которых занят (встроенной?) беспроводной сетевой картой на базе чипа Atheros AR9285. Другие версии этой модели могут комплектоваться (встроенным?) 3G адаптером, установленным в другой слот.<br />
<br />
Внешние порты представляют собой 3 USB 2.0 порта, 1 VGA порт, 10/100 LAN порт (на чипе Marvell 88E8040 PCI-E), разъемы для наушников/микрофона и встроенный кардридер форматов SD/SDHC/MMC. Встроенная вебкамера с разрешением VGA (640x480) подсоединена к внутреннему USB контроллеру.<br />
<br />
=Установка=<br />
<br />
Поскольку у нетбуков нет оптических приводов, предпочтительный способ установки - через USB флешку. В процессе первой загрузки установочного образа 2009.08, система перезагрузится после инициализации процессора. При последующих перезагрузках с тем же самым ядром подобное поведение не проявляется, тем не менее, возможна перезагрузка в процессе первой загрузки после смены/обновления ядра.<br />
<br />
В этой статье предполагается, что для установки будет использоваться весь жесткий диск, затирая предустановленную производителем ОС и программы (включая разделы восстановления). Пока что не выяснено, какие именно разделы требуются для корректой работы программы восстановления: сохранения только первого раздела, неизвестного типа, '''не''' достаточно. Если вы желаете сохранить предустановленный механизм восстановления, вам следует создать набор из DVD-дисков, используя внешний DVD привод, перед установкой Arch Linux.<br />
<br />
Во время первой установки, cfdisk будет вылетать с ошибкой из-за неправильной разметки на диске, выходящей за его границы (согласно геометрии по умолчанию для дисков в Linux). Решение - в запуске fdisk и создания новой, пустой таблицы разделов. '''ВНИМАНИЕ: Эта операция уничтожит существующую таблицу разделов жесткого диска, с потерей всех данных, находящихся на нем.'''<br />
<br />
<pre><br />
fdisk /dev/sda << EOF<br />
o<br />
w<br />
EOF<br />
</pre><br />
<br />
После создания на диске пустой таблицы разделов, cfdisk в процессе установки будет работать правильно.<br />
<br />
=Настройка устройств=<br />
<br />
== Проводная сеть (Ethernet) ==<br />
<br />
Адаптер на чипе Marvell 88E8040 работает "из коробки" с ядром с конфигурацией "по умолчанию". При установке {{Package Official|NetworkManager}}, процесс загрузки может быть ускорен задержкой инициализации сети до появления графического интерфейса.<br />
<br />
== Беспроводная сеть (Wi-Fi) ==<br />
<br />
Samsung N150 поставляется с беспроводными картами на двух различных чипах: Atheros AR9285 и Realtek 8192E.<br />
<br />
Примечание: Модель Samsung N150+ может комплектоваться беспроводной картой на чипе Broadcom BCM4313.<br />
<br />
=== Atheros AR9285 ===<br />
Беспроводной адаптер на этом чипе работает "из коробки", включая полную поддержку шифрования WPA2-PSK через NetworkManager. Мощность передатчика может быть изменена при установке пакета {{Package Official|rfkill}}, с помощью следующего скрипта, помещенного, к примеру, в /usr/local/sbin/rftoggle<br />
<pre><br />
#!/bin/bash<br />
<br />
blocked=`rfkill list wlan | grep "Soft blocked: yes"`<br />
<br />
if [ -z "$blocked" ]; then<br />
rfkill block wlan<br />
else<br />
rfkill unblock wlan<br />
fi<br />
</pre><br />
<br />
=== Realtek 8192E ===<br />
Драйвер для RTL8192E есть в ядре Arch'а, но для драйвера необходима прошивка. Ее можно взять в пакете {{Package Official|linux-firmware}} или собрать самостоятельно из AUR'a. Смотри также [[Wireless_Setup]].<br />
<br />
=== Broadcom BCM4313 (Samsung N150+) ===<br />
Модуля для этой карты в ядре нет, и поэтому необходимо установить сторонний драйвер.<br />
Его можно найти в AUR'e: [http://aur.archlinux.org/packages.php?ID=19514 broadcom-wl]<br />
Или, если вы хотите собрать его вручную: [http://www.broadcom.com/support/802.11/linux_sta.php http://www.broadcom.com/support/802.11/linux_sta.php]<br />
Этот драйвер работает по большей части работает хорошо, за исключением того, что не может подключаться в "скрытым" сетям.<br />
<br />
== Графика ==<br />
<br />
Встроенная в Atom N450 графика на базе [[Intel|Intel GMA 3100 GPU]], работает с [[KMS|Kernel Mode Setting]] без дополнительных плясок с бубном. Ранняя инициализация KMS, похоже, незначительно ускоряет скорость загрузки и может быть включена добавлением следующей строки в /etc/mkinitcpio.conf (если подобная строчка уже существует, просто добавьте нужные модули в нее):<br />
<code><br />
MODULES="'''intel_agp i915'''"<br />
</code><br />
<br />
Запустите {{Codeline|mkinitcpio -p kernel26}}, чтобы новые модули добавились в загрузочный образ.<br />
<br />
В отличие от более ранней модели [[Samsung N140|N140]], у модели N150 не замечено проблем с режимом энергосбережения дисплея. <br />
<br />
Включив однажды доп. клавиши (смотри ниже), комбинация Fn+F4 будет переключать вывод изображения между только встроенным экраном, расширенным режимом и режимом дублирования изображения (clone) автоматически, когда внешний монитор подключен к VGA порту. <br />
<br />
=== Подсветка ===<br />
<br />
Так же как и на других ноутбуках и нетбуках Samsung, прямое управление подсветкой через ACPI в данной модели невозможно. Вместо этого, управление подсветкой может осуществляться изменением настроек графического адаптера через PCI шину с помощью следующего скрипта. Для легкости использования дополнительных кнопок (с Fn), поместите этот скрипт в /usr/local/sbin/backlight<br />
<br />
<pre><br />
#!/bin/bash<br />
# increase/decrease/set brightness (range 0-255)<br />
<br />
# PCI device on which to operate<br />
DEVICE=00:02.0<br />
<br />
# Amount to raise/lower the backlight when called with "up" or "down"<br />
AMOUNT=8<br />
<br />
# Minimum backlight value reachable via "down"<br />
MIN=1<br />
<br />
# Default backlight level when toggling on<br />
DEFAULT=64<br />
<br />
#get current brightness in hex and convert to decimal<br />
var1=`setpci -s $DEVICE F4.B`<br />
var1d=$((0x$var1))<br />
case "$1" in<br />
up)<br />
# вычислить новую яркость<br />
var2=`echo "ibase=10; obase=16; a=($var1d+$AMOUNT); if (a<255) print a else print 255" | bc`<br />
echo "$0: яркость увеличена с 0x$var1 до 0x$var2"<br />
setpci -s $DEVICE F4.B=$var2<br />
;;<br />
down)<br />
#calculate new brightness<br />
var2=`echo "ibase=10; obase=16; a=($var1d-$AMOUNT);if (a>$MIN) print a else print $MIN" | bc`<br />
echo "$0: яркость уменьшена с 0x$var1 до 0x$var2"<br />
setpci -s $DEVICE F4.B=$var2<br />
;;<br />
set)<br />
# "set" позволяет выставить яркость в 0, т.е. выключить подсветку<br />
echo "$0: установка яркости в 0x$2"<br />
setpci -s $DEVICE F4.B=$2<br />
;;<br />
toggle)<br />
if [ $var1d -eq 0 ] ; then<br />
echo "повышение яркости"<br />
setpci -s $DEVICE F4.B=$DEFAULT<br />
else<br />
echo "уменьшение яркости"<br />
setpci -s $DEVICE F4.B=0<br />
fi<br />
;;<br />
*)<br />
echo "использование: $0 {up|down|set <val>|toggle}"<br />
echo "$0: текущая яркость - 0x$var1"<br />
;;<br />
esac<br />
exit 0<br />
</pre><br />
<br />
== Звук ==<br />
<br />
Звук на базе Intel HD Audio в этой модели работает "из коробки", разве что нужно увеличить громкость канала "speaker". Установите пакет {{Package Official|alsa-utils}}, чтобы получить скрипт, сохраняющий и восстанавливающий уровни громкости во время загрузки (Не забудьте добавить пункт "alsa" в массив DAEMONS в файле /etc/rc.conf).<br />
<br />
== Ждущий режим (STR/S3) ==<br />
<br />
В среде Gnome 2.28 и при установленном пакете {{Package Official|gnome-power-manager}}, ждущий режим работает без дополнительного вмешательства при закрытии крышки нетбука. Процесс приостановки работы занимает до 30 секунд. Выход из ждущего режима в конфигурации по умолчанию требует нажатия кнопки включения нетбука. Пробуждение из спячки при открытии крышки или нажатия кнопок на клавиатуре можно включить настройкой в BIOS'е.<br />
<br />
== Спящий режим (hibernate) ==<br />
<br />
Спящий режим с использованием [[pm-utils]] все еще не работает корректно. В процессе запуска из спящего режима появляются ошибки заголовков ELF, связанные с glibc, успешно предотвращающие запуск новых программ (включая /sbin/shutdown). Более того, даже если эта проблема будет устранена, процесс восстановления из раздела подкачки занимает немного больше времени, чем "холодный" запуск системы.<br />
<br />
== Сенсорная панель (Тачпад) ==<br />
<br />
Тачпад Synaptics работает для однопальцевых операций и прокрутки с помощью его правого края без дополнительной настройки. При нажатии Fn+F10 BIOS автоматически включает или выключает тачпад. Чтобы отображать сообщение об этом, необходимо установить пакет {{Package Official|xosd}} и настроить скрипт, выводящий сообщение при нажатии Fn+F10 (смотри далее о настройке доп. клавиш). Поместите этот скрипт в /usr/local/bin/report_touchpad<br />
<br />
<pre><br />
#!/bin/bash<br />
<br />
FONT='-adobe-helvetica-bold-*-*-*-34-*-*-*-*-*-*-*'<br />
DELAY=1<br />
state=Unknown<br />
<br />
case "$1" in<br />
on)<br />
state="включен"<br />
;;<br />
off)<br />
state="отключен"<br />
;;<br />
*)<br />
echo "Использование: $0 {on|off}"<br />
exit 2<br />
;;<br />
esac<br />
<br />
osd_cat -A center -p middle -f $FONT -d $DELAY << EOF<br />
Тачпад $state<br />
EOF<br />
<br />
exit 0<br />
</pre><br />
<br />
Чтобы тачпад понимал нажатия на него, самым простым решением будет установить пакеты {{Package Official|gsynaptics}} или {{Package AUR|gpointing-device-settings}}. Хотя согласно документам поставляемым с нетбуком, заявлена поддержка мультитача (для двухпальцевых нажатий, прокрутки двумя пальцами и т.д.), не похоже, что это работает правильно.<br />
<br />
Для владельцев модели N220 (не тестировалось на N150, но возможно будет работать), эти параметры для включают мультитач на тачпаде (файл /etc/hal/fdi/policy/11-x11-synaptics.fdi)<br />
<br />
<pre><br />
<?xml version="1.0" encoding="ISO-8859-1"?><br />
<deviceinfo version="0.2"><br />
<device><br />
<match key="info.capabilities" contains="input.touchpad"><br />
<merge key="input.x11_driver" type="string">synaptics</merge><br />
<merge key="input.x11_options.TapButton1" type="string">1</merge><br />
<merge key="input.x11_options.TapButton2" type="string">2</merge><br />
<merge key="input.x11_options.TapButton3" type="string">3</merge><br />
<merge key="input.x11_options.SHMConfig" type="string">true</merge><br />
<merge key="input.x11_options.VertEdgeScroll" type="string">false</merge><br />
<merge key="input.x11_options.PalmDetect" type="string">false</merge><br />
<merge key="input.x11_options.VerteScrollDelta" type="string">100</merge><br />
<merge key="input.x11_options.VertTwoFingerScroll" type="string">true</merge><br />
<merge key="input.x11_options.HorizTwoFingerScroll" type="string">true</merge><br />
<merge key="input.x11_options.EmulateTwoFingerMinZ" type="string">40</merge><br />
<merge key="input.x11_options.EmulateTwoFingerMinW" type="string">5</merge><br />
</match><br />
</device><br />
</deviceinfo><br />
</pre><br />
<br />
== Управление частотой процессора ==<br />
<br />
Чтобы включить управление частотой процессора, вам необходимо добавить несколько модулей ядра в автозагрузку в файле /etc/rc.conf:<br />
<br />
<pre><br />
MODULES=(acpi-cpufreq cpufreq-ondemand cpufreq-powersave)<br />
</pre><br />
<br />
Смена режимов использования процессора ядром между производительным (performance), автоматическим (ondemand) и энергосберегающим (powersave) может производиться с помощью следующего скрипта, установленного в /usr/local/sbin/cpufreq_toggle<br />
<br />
<pre><br />
#!/bin/bash<br />
<br />
current=`cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor`<br />
future=unknown<br />
<br />
if [ "$current" == "performance" ]; then<br />
future="ondemand"<br />
elif [ "$current" == "ondemand" ]; then<br />
future="powersave"<br />
else<br />
future="performance"<br />
fi<br />
<br />
echo "$future" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor<br />
echo "$future" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor<br />
<br />
echo "$future"<br />
</pre><br />
<br />
Для вывода сообщения о текущем режиме через сообщение на дисплее (полезно при назначении комбинации Fn+F8 на смену режимов), следующий скрипт должен быть установлен в /usr/local/bin/cpufreq_toggle_osd<br />
<br />
<pre><br />
#!/bin/bash<br />
<br />
FONT='-adobe-helvetica-bold-*-*-*-34-*-*-*-*-*-*-*'<br />
DELAY=1<br />
<br />
state=`sudo /usr/local/sbin/cpufreq_toggle`<br />
message="CPU Performance State Unknown"<br />
<br />
if [ "$state" == "performance" ]; then<br />
message="Режим производительности"<br />
elif [ "$state" == "powersave" ]; then<br />
message="Режим энергосбережения"<br />
elif [ "$state" == "ondemand" ]; then<br />
message="Автоматический режим"<br />
fi<br />
<br />
osd_cat -A center -p middle -f $FONT -d $DELAY << EOF<br />
$message<br />
EOF<br />
<br />
exit 0<br />
</pre><br />
<br />
По умолчанию, система будет загружена с режимом "производительность". Чтобы включать автоматический режим в конце загрузки, добавьте следующие строки в /etc/rc.local<br />
<br />
<pre><br />
echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor<br />
echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor<br />
</pre><br />
<br />
= Клавиша Fn =<br />
<br />
Некоторые из спец. комбинаций клавиш в модели N150 работают сразу, но большинство - нет. Нестандартные сканкоды с клавиатуры передаются ядру, которое не знает, как преобразовать их в стандартные сканкоды. Что еще хуже, большинство сканкодов сообщают только о нажатии клавиши, но не о ее отпускании. Добавление следующие строчки в /etc/rc.local задействует все спец. клавиши и назначит им правильные сканкоды:<br />
<br />
<pre><br />
setkeycodes e002 227 # Fn+F4 maps to switchvidmode<br />
setkeycodes e003 236 # Fn+F2 maps to battery<br />
setkeycodes e004 148 # Fn+F5 maps to prog1<br />
setkeycodes e006 238 # Fn+F9 maps to wlan<br />
setkeycodes e008 225 # Fn+Up maps to brightnessup<br />
setkeycodes e009 224 # Fn+Dn maps to brightnessdown<br />
setkeycodes e031 149 # Fn+F7 maps to prog2<br />
setkeycodes e033 202 # Fn+F8 maps to prog3<br />
setkeycodes e077 191 # Fn+F10 maps to F21 whenever the touchpad is enabled<br />
setkeycodes e079 192 # Fn+F10 maps to F22 whenever the touchpad is disabled<br />
<br />
# Ensure key release events occur for all except Fn+F7, which properly reports a key release for some reason<br />
echo 130,131,132,134,136,137,179,247,249 > /sys/devices/platform/i8042/serio0/force_release<br />
</pre><br />
<br />
To enable hotkeys to change backlight, wireless, and system performance settings, it is necessary to give regular users certain permissions via the [[sudo]] command. Run visudo as root and add the following to the Cmnd alias specifications:<br />
<br />
<pre><br />
Cmnd_Alias NETBOOK_CMDS = /usr/local/sbin/backlight, /usr/local/sbin/rftoggle, /usr/local/sbin/cpufreq_toggle<br />
</pre><br />
<br />
Затем добавьте следующую строку в конец файла:<br />
<br />
<pre><br />
%users ALL=(ALL) NOPASSWD: NETBOOK_CMDS<br />
</pre><br />
<br />
Теперь нестандартные сочетания клавиш могут быть добавлены в ДЕ посредством окна "Комбинации клавиш клавиатуры".<br />
<br />
{| border="1"<br />
! Назначение<br />
! Команда<br />
! Сочетание клавиш<br />
|-<br />
| Выключить тачпад<br />
| /usr/local/bin/report_touchpad off<br />
| Нажмите Fn+F10, когда тачпад включен.<br />
|-<br />
| Включить тачпад<br />
| /usr/local/bin/report_touchpad on<br />
| Нажмите Fn+F10, когда тачпад выключен.<br />
|-<br />
| Изменение частоты процессора<br />
| /usr/local/bin/cpufreq_toggle_osd<br />
| Fn+F8<br />
|-<br />
| Увеличить яркость подсветки<br />
| sudo /usr/local/sbin/backlight up<br />
| Fn+<ВВЕРХ><br />
|-<br />
| Уменьшить яркость подсветки<br />
| sudo /usr/local/sbin/backlight down<br />
| Fn+<ВНИЗ><br />
|-<br />
| Вкл/Выкл wi-fi<br />
| sudo /usr/local/sbin/rftoggle<br />
| Fn+F9<br />
|-<br />
| Вкл/Выкл подсветку экрана<br />
| sudo /usr/local/sbin/backlight toggle<br />
| Fn+F5<br />
|}<br />
<br />
= Уменьшение времени загрузки =<br />
<br />
Чтобы заставить нетбук загружаться максимально быстро, нам нужно уменьшить задержки и заставить демонов запускаться в фоне.<br />
Две полезные модификации загрузчика (в данном случае - grub): измените параметр "timeout" на 2 секунды, вместо 5и - по умолчанию и добавьте параметр "quiet", чтобы подавить вывод некоторых сообщений ядра (которые отнимают время). Указанные параметры можно поменять в файле /boot/grub/menu.lst<br />
<br />
<pre><br />
timeout 2<br />
...<br />
# (0) Arch Linux<br />
title Arch Linux<br />
root (hd0,0)<br />
kernel /vmlinuz26 root=/dev/sda3 ro quiet<br />
initrd /kernel26.img<br />
</pre><br />
<br />
Учтите, что может быть здравой идеей '''не''' добавлять параметр "quiet" ко второму пункту загрузчика (который используется при сбоях ядра из первого пункта), в этом случае вывод сообщений ядра поможет вам определить проблему. Впрочем, вы можете отредактировать эти параметры непосредственно при загрузке (нажать "e" на нужном пункте меню загрузчика).<br />
<br />
Заставить демонов грузиться в фоне немного сложнее, учитывая, что один демон может зависить от одного или нескольких других. Тем не менее, можно использовать преимущество известных "задержек" в процессе загрузки (напр. запуск подсистемы X11), что позволяет некоторым демонам (таких как NetworkManager) спокойно запускаться в фоне, перед тем как они действительно понадобятся.<br />
<br />
<pre><br />
DAEMONS=(syslog-ng !network hal @networkmanager @sensors @alsa !netfs @crond)<br />
</pre><br />
<br />
С вышеуказанными настройками, графический менеджер входа в систему появляется через 37-38 секунд после "холодной" загрузки (включая задержки BIOS'а и grub'а)</div>Mainframehttps://wiki.archlinux.org/index.php?title=Samsung_N150_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)&diff=115973Samsung N150 (Русский)2010-08-30T12:47:51Z<p>Mainframe: синхронизировано с английской версией страницы.</p>
<hr />
<div>[[Category:Samsung (Русский)]]<br />
{{i18n|Samsung N150}}<br />
Эта статья описывает установку и настройку 64х-битной версии Arch Linux на нетбук Samsung N150. Согласно выводу dmidecode, эта статья также может быть полезной для моделей N210 и N220.<br />
<br />
=Обзор комплектующих=<br />
<br />
Нетбук Samsung N150 оснащается процессором [[Wikipedia:Intel Atom|Intel Atom]] N450 ("Pineview") с интегрированной видеокартой [[Intel|Intel GMA 3100 GPU]] и чипсетом с кодовым названием "Pine Trail". В отличие от ранних одноядерных процессоров Intel Atom серий N2xx and Z, N450 поддерживает набор инструкций x86_64. Несмотря на то, что согласно информации DMI системная плата поддерживает до 8 Гб оперативной памяти, встроенный контроллер памяти Atom N450 может адресовать максимум 2 Гб. <br />
<br />
Since the hardware is limited to a 32-bit address space, the primary benefit to running the 64-bit version of Arch on this system is to take advantage of AUR packages built on more powerful 64-bit systems belonging to the same owner.<br />
<br />
Поставляемые версии модели N150 (на начало марта 2010) включают "начальную" версию общеизвестной проприетарной ОС и поэтому содержат только 1 Гб памяти в виде одной планки DDR2 667Mhz SODIMM, которую можно заменить. Согласно информации DMI, нетбук содержит 2 mini PCIe слота, один из которых занят (встроенной?) беспроводной сетевой картой на базе чипа Atheros AR9285. Другие версии этой модели могут комплектоваться (встроенным?) 3G адаптером, установленным в другой слот.<br />
<br />
Внешние порты представляют собой 3 USB 2.0 порта, 1 VGA порт, 10/100 LAN порт (на чипе Marvell 88E8040 PCI-E), разъемы для наушников/микрофона и встроенный кардридер форматов SD/SDHC/MMC. Встроенная вебкамера с разрешением VGA (640x480) подсоединена к внутреннему USB контроллеру.<br />
<br />
=Установка=<br />
<br />
Поскольку у нетбуков нет оптических приводов, предпочтительный способ установки - через USB флешку. В процессе первой загрузки установочного образа 2009.08, система перезагрузится после инициализации процессора. При последующих перезагрузках с тем же самым ядром подобное поведение не проявляется, тем не менее, возможна перезагрузка в процессе первой загрузки после смены/обновления ядра.<br />
<br />
В этой статье предполагается, что для установки будет использоваться весь жесткий диск, затирая предустановленную производителем ОС и программы (включая разделы восстановления). Пока что не выяснено, какие именно разделы требуются для корректой работы программы восстановления: сохранения только первого раздела, неизвестного типа, '''не''' достаточно. Если вы желаете сохранить предустановленный механизм восстановления, вам следует создать набор из DVD-дисков, используя внешний DVD привод, перед установкой Arch Linux.<br />
<br />
Во время первой установки, cfdisk будет вылетать с ошибкой из-за неправильной разметки на диске, выходящей за его границы (согласно геометрии по умолчанию для дисков в Linux). Решение - в запуске fdisk и создания новой, пустой таблицы разделов. '''ВНИМАНИЕ: Эта операция уничтожит существующую таблицу разделов жесткого диска, с потерей всех данных, находящихся на нем.'''<br />
<br />
<pre><br />
fdisk /dev/sda << EOF<br />
o<br />
w<br />
EOF<br />
</pre><br />
<br />
После создания на диске пустой таблицы разделов, cfdisk в процессе установки будет работать правильно.<br />
<br />
=Настройка устройств=<br />
<br />
== Проводная сеть (Ethernet) ==<br />
<br />
Адаптер на чипе Marvell 88E8040 работает "из коробки" с ядром с конфигурацией "по умолчанию". При установке {{Package Official|NetworkManager}}, процесс загрузки может быть ускорен задержкой инициализации сети до появления графического интерфейса.<br />
<br />
== Беспроводная сеть (Wi-Fi) ==<br />
<br />
Samsung N150 поставляется с беспроводными картами на двух различных чипах: Atheros AR9285 и Realtek 8192E.<br />
<br />
=== Atheros AR9285 ===<br />
Беспроводной адаптер на этом чипе работает "из коробки", включая полную поддержку шифрования WPA2-PSK через NetworkManager. Мощность передатчика может быть изменена при установке пакета {{Package Official|rfkill}}, с помощью следующего скрипта, помещенного, к примеру, в /usr/local/sbin/rftoggle<br />
<pre><br />
#!/bin/bash<br />
<br />
blocked=`rfkill list wlan | grep "Soft blocked: yes"`<br />
<br />
if [ -z "$blocked" ]; then<br />
rfkill block wlan<br />
else<br />
rfkill unblock wlan<br />
fi<br />
</pre><br />
<br />
=== Realtek 8192E ===<br />
Драйвер для RTL8192E есть в ядре Arch'а, но для драйвера необходима прошивка. Ее можно взять в пакете {{Package Official|linux-firmware}} или собрать самостоятельно из AUR'a. Смотри также [[Wireless_Setup]].<br />
<br />
== Графика ==<br />
<br />
Встроенная в Atom N450 графика на базе [[Intel|Intel GMA 3100 GPU]], работает с [[KMS|Kernel Mode Setting]] без дополнительных плясок с бубном. Ранняя инициализация KMS, похоже, незначительно ускоряет скорость загрузки и может быть включена добавлением следующей строки в /etc/mkinitcpio.conf (если подобная строчка уже существует, просто добавьте нужные модули в нее):<br />
<code><br />
MODULES="'''intel_agp i915'''"<br />
</code><br />
<br />
Запустите {{Codeline|mkinitcpio -p kernel26}}, чтобы новые модули добавились в загрузочный образ.<br />
<br />
В отличие от более ранней модели [[Samsung N140|N140]], у модели N150 не замечено проблем с режимом энергосбережения дисплея. <br />
<br />
Включив однажды доп. клавиши (смотри ниже), комбинация Fn+F4 будет переключать вывод изображения между только встроенным экраном, расширенным режимом и режимом дублирования изображения (clone) автоматически, когда внешний монитор подключен к VGA порту. <br />
<br />
=== Подсветка ===<br />
<br />
Так же как и на других ноутбуках и нетбуках Samsung, прямое управление подсветкой через ACPI в данной модели невозможно. Вместо этого, управление подсветкой может осуществляться изменением настроек графического адаптера через PCI шину с помощью следующего скрипта. Для легкости использования дополнительных кнопок (с Fn), поместите этот скрипт в /usr/local/sbin/backlight<br />
<br />
<pre><br />
#!/bin/bash<br />
# increase/decrease/set brightness (range 0-255)<br />
<br />
# PCI device on which to operate<br />
DEVICE=00:02.0<br />
<br />
# Amount to raise/lower the backlight when called with "up" or "down"<br />
AMOUNT=8<br />
<br />
# Minimum backlight value reachable via "down"<br />
MIN=1<br />
<br />
# Default backlight level when toggling on<br />
DEFAULT=64<br />
<br />
#get current brightness in hex and convert to decimal<br />
var1=`setpci -s $DEVICE F4.B`<br />
var1d=$((0x$var1))<br />
case "$1" in<br />
up)<br />
# вычислить новую яркость<br />
var2=`echo "ibase=10; obase=16; a=($var1d+$AMOUNT); if (a<255) print a else print 255" | bc`<br />
echo "$0: яркость увеличена с 0x$var1 до 0x$var2"<br />
setpci -s $DEVICE F4.B=$var2<br />
;;<br />
down)<br />
#calculate new brightness<br />
var2=`echo "ibase=10; obase=16; a=($var1d-$AMOUNT);if (a>$MIN) print a else print $MIN" | bc`<br />
echo "$0: яркость уменьшена с 0x$var1 до 0x$var2"<br />
setpci -s $DEVICE F4.B=$var2<br />
;;<br />
set)<br />
# "set" позволяет выставить яркость в 0, т.е. выключить подсветку<br />
echo "$0: установка яркости в 0x$2"<br />
setpci -s $DEVICE F4.B=$2<br />
;;<br />
toggle)<br />
if [ $var1d -eq 0 ] ; then<br />
echo "повышение яркости"<br />
setpci -s $DEVICE F4.B=$DEFAULT<br />
else<br />
echo "уменьшение яркости"<br />
setpci -s $DEVICE F4.B=0<br />
fi<br />
;;<br />
*)<br />
echo "использование: $0 {up|down|set <val>|toggle}"<br />
echo "$0: текущая яркость - 0x$var1"<br />
;;<br />
esac<br />
exit 0<br />
</pre><br />
<br />
== Звук ==<br />
<br />
Звук на базе Intel HD Audio в этой модели работает "из коробки", разве что нужно увеличить громкость канала "speaker". Установите пакет {{Package Official|alsa-utils}}, чтобы получить скрипт, сохраняющий и восстанавливающий уровни громкости во время загрузки (Не забудьте добавить пункт "alsa" в массив DAEMONS в файле /etc/rc.conf).<br />
<br />
== Ждущий режим (STR/S3) ==<br />
<br />
В среде Gnome 2.28 и при установленном пакете {{Package Official|gnome-power-manager}}, ждущий режим работает без дополнительного вмешательства при закрытии крышки нетбука. Процесс приостановки работы занимает до 30 секунд. Выход из ждущего режима в конфигурации по умолчанию требует нажатия кнопки включения нетбука. Пробуждение из спячки при открытии крышки или нажатия кнопок на клавиатуре можно включить настройкой в BIOS'е.<br />
<br />
== Спящий режим (hibernate) ==<br />
<br />
Спящий режим с использованием [[pm-utils]] все еще не работает корректно. В процессе запуска из спящего режима появляются ошибки заголовков ELF, связанные с glibc, успешно предотвращающие запуск новых программ (включая /sbin/shutdown). Более того, даже если эта проблема будет устранена, процесс восстановления из раздела подкачки занимает немного больше времени, чем "холодный" запуск системы.<br />
<br />
== Сенсорная панель (Тачпад) ==<br />
<br />
Тачпад Synaptics работает для однопальцевых операций и прокрутки с помощью его правого края без дополнительной настройки. При нажатии Fn+F10 BIOS автоматически включает или выключает тачпад. Чтобы отображать сообщение об этом, необходимо установить пакет {{Package Official|xosd}} и настроить скрипт, выводящий сообщение при нажатии Fn+F10 (смотри далее о настройке доп. клавиш). Поместите этот скрипт в /usr/local/bin/report_touchpad<br />
<br />
<pre><br />
#!/bin/bash<br />
<br />
FONT='-adobe-helvetica-bold-*-*-*-34-*-*-*-*-*-*-*'<br />
DELAY=1<br />
state=Unknown<br />
<br />
case "$1" in<br />
on)<br />
state="включен"<br />
;;<br />
off)<br />
state="отключен"<br />
;;<br />
*)<br />
echo "Использование: $0 {on|off}"<br />
exit 2<br />
;;<br />
esac<br />
<br />
osd_cat -A center -p middle -f $FONT -d $DELAY << EOF<br />
Тачпад $state<br />
EOF<br />
<br />
exit 0<br />
</pre><br />
<br />
Чтобы тачпад понимал нажатия на него, самым простым решением будет установить пакеты {{Package Official|gsynaptics}} или {{Package AUR|gpointing-device-settings}}. Хотя согласно документам поставляемым с нетбуком, заявлена поддержка мультитача (для двухпальцевых нажатий, прокрутки двумя пальцами и т.д.), не похоже, что это работает правильно.<br />
<br />
Для владельцев модели N220 (не тестировалось на N150, но возможно будет работать), эти параметры для включают мультитач на тачпаде (файл /etc/hal/fdi/policy/11-x11-synaptics.fdi)<br />
<br />
<pre><br />
<?xml version="1.0" encoding="ISO-8859-1"?><br />
<deviceinfo version="0.2"><br />
<device><br />
<match key="info.capabilities" contains="input.touchpad"><br />
<merge key="input.x11_driver" type="string">synaptics</merge><br />
<merge key="input.x11_options.TapButton1" type="string">1</merge><br />
<merge key="input.x11_options.TapButton2" type="string">2</merge><br />
<merge key="input.x11_options.TapButton3" type="string">3</merge><br />
<merge key="input.x11_options.SHMConfig" type="string">true</merge><br />
<merge key="input.x11_options.VertEdgeScroll" type="string">false</merge><br />
<merge key="input.x11_options.PalmDetect" type="string">false</merge><br />
<merge key="input.x11_options.VerteScrollDelta" type="string">100</merge><br />
<merge key="input.x11_options.VertTwoFingerScroll" type="string">true</merge><br />
<merge key="input.x11_options.HorizTwoFingerScroll" type="string">true</merge><br />
<merge key="input.x11_options.EmulateTwoFingerMinZ" type="string">40</merge><br />
<merge key="input.x11_options.EmulateTwoFingerMinW" type="string">5</merge><br />
</match><br />
</device><br />
</deviceinfo><br />
</pre><br />
<br />
== Управление частотой процессора ==<br />
<br />
Чтобы включить управление частотой процессора, вам необходимо добавить несколько модулей ядра в автозагрузку в файле /etc/rc.conf:<br />
<br />
<pre><br />
MODULES=(acpi-cpufreq cpufreq-ondemand cpufreq-powersave)<br />
</pre><br />
<br />
Смена режимов использования процессора ядром между производительным (performance), автоматическим (ondemand) и энергосберегающим (powersave) может производиться с помощью следующего скрипта, установленного в /usr/local/sbin/cpufreq_toggle<br />
<br />
<pre><br />
#!/bin/bash<br />
<br />
current=`cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor`<br />
future=unknown<br />
<br />
if [ "$current" == "performance" ]; then<br />
future="ondemand"<br />
elif [ "$current" == "ondemand" ]; then<br />
future="powersave"<br />
else<br />
future="performance"<br />
fi<br />
<br />
echo "$future" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor<br />
echo "$future" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor<br />
<br />
echo "$future"<br />
</pre><br />
<br />
Для вывода сообщения о текущем режиме через сообщение на дисплее (полезно при назначении комбинации Fn+F8 на смену режимов), следующий скрипт должен быть установлен в /usr/local/bin/cpufreq_toggle_osd<br />
<br />
<pre><br />
#!/bin/bash<br />
<br />
FONT='-adobe-helvetica-bold-*-*-*-34-*-*-*-*-*-*-*'<br />
DELAY=1<br />
<br />
state=`sudo /usr/local/sbin/cpufreq_toggle`<br />
message="CPU Performance State Unknown"<br />
<br />
if [ "$state" == "performance" ]; then<br />
message="Режим производительности"<br />
elif [ "$state" == "powersave" ]; then<br />
message="Режим энергосбережения"<br />
elif [ "$state" == "ondemand" ]; then<br />
message="Автоматический режим"<br />
fi<br />
<br />
osd_cat -A center -p middle -f $FONT -d $DELAY << EOF<br />
$message<br />
EOF<br />
<br />
exit 0<br />
</pre><br />
<br />
По умолчанию, система будет загружена с режимом "производительность". Чтобы включать автоматический режим в конце загрузки, добавьте следующие строки в /etc/rc.local<br />
<br />
<pre><br />
echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor<br />
echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor<br />
</pre><br />
<br />
= Клавиша Fn =<br />
<br />
Некоторые из спец. комбинаций клавиш в модели N150 работают сразу, но большинство - нет. Нестандартные сканкоды с клавиатуры передаются ядру, которое не знает, как преобразовать их в стандартные сканкоды. Что еще хуже, большинство сканкодов сообщают только о нажатии клавиши, но не о ее отпускании. Добавление следующие строчки в /etc/rc.local задействует все спец. клавиши и назначит им правильные сканкоды:<br />
<br />
<pre><br />
setkeycodes e002 227 # Fn+F4 maps to switchvidmode<br />
setkeycodes e003 236 # Fn+F2 maps to battery<br />
setkeycodes e004 148 # Fn+F5 maps to prog1<br />
setkeycodes e006 238 # Fn+F9 maps to wlan<br />
setkeycodes e008 225 # Fn+Up maps to brightnessup<br />
setkeycodes e009 224 # Fn+Dn maps to brightnessdown<br />
setkeycodes e031 149 # Fn+F7 maps to prog2<br />
setkeycodes e033 202 # Fn+F8 maps to prog3<br />
setkeycodes e077 191 # Fn+F10 maps to F21 whenever the touchpad is enabled<br />
setkeycodes e079 192 # Fn+F10 maps to F22 whenever the touchpad is disabled<br />
<br />
# Ensure key release events occur for all except Fn+F7, which properly reports a key release for some reason<br />
echo 130,131,132,134,136,137,179,247,249 > /sys/devices/platform/i8042/serio0/force_release<br />
</pre><br />
<br />
To enable hotkeys to change backlight, wireless, and system performance settings, it is necessary to give regular users certain permissions via the [[sudo]] command. Run visudo as root and add the following to the Cmnd alias specifications:<br />
<br />
<pre><br />
Cmnd_Alias NETBOOK_CMDS = /usr/local/sbin/backlight, /usr/local/sbin/rftoggle, /usr/local/sbin/cpufreq_toggle<br />
</pre><br />
<br />
Затем добавьте следующую строку в конец файла:<br />
<br />
<pre><br />
%users ALL=(ALL) NOPASSWD: NETBOOK_CMDS<br />
</pre><br />
<br />
Теперь нестандартные сочетания клавиш могут быть добавлены в ДЕ посредством окна "Комбинации клавиш клавиатуры".<br />
<br />
{| border="1"<br />
! Назначение<br />
! Команда<br />
! Сочетание клавиш<br />
|-<br />
| Выключить тачпад<br />
| /usr/local/bin/report_touchpad off<br />
| Нажмите Fn+F10, когда тачпад включен.<br />
|-<br />
| Включить тачпад<br />
| /usr/local/bin/report_touchpad on<br />
| Нажмите Fn+F10, когда тачпад выключен.<br />
|-<br />
| Изменение частоты процессора<br />
| /usr/local/bin/cpufreq_toggle_osd<br />
| Fn+F8<br />
|-<br />
| Увеличить яркость подсветки<br />
| sudo /usr/local/sbin/backlight up<br />
| Fn+<ВВЕРХ><br />
|-<br />
| Уменьшить яркость подсветки<br />
| sudo /usr/local/sbin/backlight down<br />
| Fn+<ВНИЗ><br />
|-<br />
| Вкл/Выкл wi-fi<br />
| sudo /usr/local/sbin/rftoggle<br />
| Fn+F9<br />
|-<br />
| Вкл/Выкл подсветку экрана<br />
| sudo /usr/local/sbin/backlight toggle<br />
| Fn+F5<br />
|}<br />
<br />
= Уменьшение времени загрузки =<br />
<br />
Чтобы заставить нетбук загружаться максимально быстро, нам нужно уменьшить задержки и заставить демонов запускаться в фоне.<br />
Две полезные модификации загрузчика (в данном случае - grub): измените параметр "timeout" на 2 секунды, вместо 5и - по умолчанию и добавьте параметр "quiet", чтобы подавить вывод некоторых сообщений ядра (которые отнимают время). Указанные параметры можно поменять в файле /boot/grub/menu.lst<br />
<br />
<pre><br />
timeout 2<br />
...<br />
# (0) Arch Linux<br />
title Arch Linux<br />
root (hd0,0)<br />
kernel /vmlinuz26 root=/dev/sda3 ro quiet<br />
initrd /kernel26.img<br />
</pre><br />
<br />
Учтите, что может быть здравой идеей '''не''' добавлять параметр "quiet" ко второму пункту загрузчика (который используется при сбоях ядра из первого пункта), в этом случае вывод сообщений ядра поможет вам определить проблему. Впрочем, вы можете отредактировать эти параметры непосредственно при загрузке (нажать "e" на нужном пункте меню загрузчика).<br />
<br />
Заставить демонов грузиться в фоне немного сложнее, учитывая, что один демон может зависить от одного или нескольких других. Тем не менее, можно использовать преимущество известных "задержек" в процессе загрузки (напр. запуск подсистемы X11), что позволяет некоторым демонам (таких как NetworkManager) спокойно запускаться в фоне, перед тем как они действительно понадобятся.<br />
<br />
<pre><br />
DAEMONS=(syslog-ng !network hal @networkmanager @sensors @alsa !netfs @crond)<br />
</pre><br />
<br />
С вышеуказанными настройками, графический менеджер входа в систему появляется через 37-38 секунд после "холодной" загрузки (включая задержки BIOS'а и grub'а)</div>Mainframehttps://wiki.archlinux.org/index.php?title=Bluetooth_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)&diff=108561Bluetooth (Русский)2010-06-12T08:41:06Z<p>Mainframe: </p>
<hr />
<div>[[Category:Русский]]<br />
{{i18n|Bluetooth}}<br />
<br />
== Установка ==<br />
Чтобы использовать блютус, вам необходимо установить пакет [http://www.bluez.org bluez]:<br />
# pacman -S bluez<br />
<br />
После установки пакета необходимо запустить демоны dbus и bluetooth:<br />
# /etc/rc.d/dbus start<br />
# /etc/rc.d/bluetooth start<br />
<br />
Демон dbus важнее демона bluetooth и это поэтому должен запускаться '''раньше'''. Если по какой-то причине демон bluetooth был запущен раньше демона dbus, то его необходимо перезапустить:<br />
<br />
# /etc/rc.d/bluetooth restart<br />
<br />
Чтобы демон bluetooth запускался при загрузке, добавьте его в строку демонов в файле [[rc.conf]] (после dbus):<br />
DAEMONS=(... bluetooth)<br />
<br />
== Графические надстройки ==<br />
<br />
Следующие пакеты предоставляют графический интерфейс для изменения настроек Bluetooth.<br />
<br />
=== Blueman ===<br />
<br />
[http://blueman-project.org Blueman] - полнофункциональный менеджер Bluetooth, написанный на GTK и, поэтому, рекомендуемый для сред [[GNOME]] и [[Xfce]]. Установка через pacman:<br />
# pacman -S blueman<br />
<br />
Убедитесь, что демон ''bluetooth'' запущен как описано выше и затем запустите ''blueman-applet''. Чтобы апплет запускался автоматически при входе, добавьте запуск ''blueman-applet'' в ''Система -> Параметры -> Запускаемые приложения'' (GNOME) или ''Меню Xfce -> Настройки -> Session and Startup'' (Xfce).<br />
<br />
=== gnome-bluetooth ===<br />
<br />
[http://live.gnome.org/GnomeBluetooth gnome-bluetooth] это форк старого пакета ''bluez-gnome'', ориентированный на интеграцию со средой GNOME. Для начала, установите пакет командой:<br />
# pacman -S gnome-bluetooth<br />
<br />
Невероятно, но команда ''bluetooth-applet'' запускает апплет Bluetooth. Теперь вы можете настраивать устройства Bluetooth и пересылать файлы правым кликом на иконке в трее. Для запуска апплета при входе в систему, добавьте его в ''Система -> Параметры -> Запускаемые приложения''.<br />
<br />
Как добавить пункт "отправить по bluetooth" в меню свойств файла Thunar'а, смотрите здесь: http://thunar.xfce.org/pwiki/documentation/sendto_menu</div>Mainframehttps://wiki.archlinux.org/index.php?title=Samsung_N150_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)&diff=107982Samsung N150 (Русский)2010-06-05T14:52:25Z<p>Mainframe: </p>
<hr />
<div>[[Category:Samsung (Русский)]]<br />
{{i18n|Samsung N150}}<br />
Эта статья описывает установку и настройку 64х-битной версии Arch Linux на нетбук Samsung N150. Согласно выводу dmidecode, эта статья также может быть полезной для моделей N210 и N220.<br />
<br />
=Обзор комплектующих=<br />
<br />
Нетбук Samsung N150 оснащается процессором [[Wikipedia:Intel Atom|Intel Atom]] N450 ("Pineview") с интегрированной видеокартой [[Intel|Intel GMA 3100 GPU]] и чипсетом с кодовым названием "Pine Trail". В отличие от ранних одноядерных процессоров Intel Atom серий N2xx and Z, N450 поддерживает набор инструкций x86_64. Несмотря на то, что согласно информации DMI системная плата поддерживает до 8 Гб оперативной памяти, встроенный контроллер памяти Atom N450 может адресовать максимум 2 Гб. <br />
<br />
Since the hardware is limited to a 32-bit address space, the primary benefit to running the 64-bit version of Arch on this system is to take advantage of AUR packages built on more powerful 64-bit systems belonging to the same owner.<br />
<br />
Поставляемые версии модели N150 (на начало марта 2010) включают "начальную" версию общеизвестной проприетарной ОС и поэтому содержат только 1 Гб памяти в виде одной планки DDR2 667Mhz SODIMM, которую можно заменить. Согласно информации DMI, нетбук содержит 2 mini PCIe слота, один из которых занят (встроенной?) беспроводной сетевой картой на базе чипа Atheros AR9285. Другие версии этой модели могут комплектоваться (встроенным?) 3G адаптером, установленным в другой слот.<br />
<br />
Внешние порты представляют собой 3 USB 2.0 порта, 1 VGA порт, 10/100 LAN порт (на чипе Marvell 88E8040 PCI-E), разъемы для наушников/микрофона и встроенный кардридер форматов SD/SDHC/MMC. Встроенная вебкамера с разрешением VGA (640x480) подсоединена к внутреннему USB контроллеру.<br />
<br />
=Установка=<br />
<br />
Поскольку у нетбуков нет оптических приводов, предпочтительный способ установки - через USB флешку. В процессе первой загрузки установочного образа 2009.08, система перезагрузится после инициализации процессора. При последующих перезагрузках с тем же самым ядром подобное поведение не проявляется, тем не менее, возможна перезагрузка в процессе первой загрузки после смены/обновления ядра.<br />
<br />
В этой статье предполагается, что для установки будет использоваться весь жесткий диск, затирая предустановленную производителем ОС и программы (включая разделы восстановления). Пока что не выяснено, какие именно разделы требуются для корректой работы программы восстановления: сохранения только первого раздела, неизвестного типа, '''не''' достаточно. Если вы желаете сохранить предустановленный механизм восстановления, вам следует создать набор из DVD-дисков, используя внешний DVD привод, перед установкой Arch Linux.<br />
<br />
Во время первой установки, cfdisk будет вылетать с ошибкой из-за неправильной разметки на диске, выходящей за его границы (согласно геометрии по умолчанию для дисков в Linux). Решение - в запуске fdisk и создания новой, пустой таблицы разделов. '''ВНИМАНИЕ: Эта операция уничтожит существующую таблицу разделов жесткого диска, с потерей всех данных, находящихся на нем.'''<br />
<br />
<pre><br />
fdisk /dev/sda << EOF<br />
o<br />
w<br />
EOF<br />
</pre><br />
<br />
После создания на диске пустой таблицы разделов, cfdisk в процессе установки будет работать правильно.<br />
<br />
=Настройка устройств=<br />
<br />
== Проводная сеть (Ethernet) ==<br />
<br />
Адаптер на чипе Marvell 88E8040 работает "из коробки" с ядром с конфигурацией "по умолчанию". При установке {{Package Official|NetworkManager}}, процесс загрузки может быть ускорен задержкой инициализации сети до появления графического интерфейса.<br />
<br />
== Беспроводная сеть (Wi-Fi) ==<br />
<br />
<br />
Беспроводной адаптер на чипе Atheros AR9285 также работает "из коробки", включая полную поддержку шифрования WPA2-PSK через NetworkManager. Мощность передатчика может быть изменена при установке пакета {{Package Official|rfkill}}, с помощью следующего скрипта, помещенного, к примеру, в /usr/local/sbin/rftoggle<br />
<br />
<pre><br />
#!/bin/bash<br />
<br />
blocked=`rfkill list wlan | grep "Soft blocked: yes"`<br />
<br />
if [ -z "$blocked" ]; then<br />
rfkill block wlan<br />
else<br />
rfkill unblock wlan<br />
fi<br />
</pre><br />
<br />
== Графика ==<br />
<br />
Встроенная в Atom N450 графика на базе [[Intel|Intel GMA 3100 GPU]], работает с [[KMS|Kernel Mode Setting]] без дополнительных плясок с бубном. Ранняя инициализация KMS, похоже, незначительно ускоряет скорость загрузки и может быть включена добавлением следующей строки в /etc/mkinitcpio.conf (если подобная строчка уже существует, просто добавьте нужные модули в нее):<br />
<code><br />
MODULES="'''intel_agp i915'''"<br />
</code><br />
<br />
Запустите {{Codeline|mkinitcpio -p kernel26}}, чтобы новые модули добавились в загрузочный образ.<br />
<br />
В отличие от более ранней модели [[Samsung N140|N140]], у модели N150 не замечено проблем с режимом энергосбережения дисплея. <br />
<br />
Включив однажды доп. клавиши (смотри ниже), комбинация Fn+F4 будет переключать вывод изображения между только встроенным экраном, расширенным режимом и режимом дублирования изображения (clone) автоматически, когда внешний монитор подключен к VGA порту. <br />
<br />
=== Подсветка ===<br />
<br />
Так же как и на других ноутбуках и нетбуках Samsung, прямое управление подсветкой через ACPI в данной модели невозможно. Вместо этого, управление подсветкой может осуществляться изменением настроек графического адаптера через PCI шину с помощью следующего скрипта. Для легкости использования дополнительных кнопок (с Fn), поместите этот скрипт в /usr/local/sbin/backlight<br />
<br />
<pre><br />
#!/bin/bash<br />
# increase/decrease/set brightness (range 0-255)<br />
<br />
# PCI device on which to operate<br />
DEVICE=00:02.0<br />
<br />
# Amount to raise/lower the backlight when called with "up" or "down"<br />
AMOUNT=8<br />
<br />
# Minimum backlight value reachable via "down"<br />
MIN=1<br />
<br />
# Default backlight level when toggling on<br />
DEFAULT=64<br />
<br />
#get current brightness in hex and convert to decimal<br />
var1=`setpci -s $DEVICE F4.B`<br />
var1d=$((0x$var1))<br />
case "$1" in<br />
up)<br />
# вычислить новую яркость<br />
var2=`echo "ibase=10; obase=16; a=($var1d+$AMOUNT); if (a<255) print a else print 255" | bc`<br />
echo "$0: яркость увеличена с 0x$var1 до 0x$var2"<br />
setpci -s $DEVICE F4.B=$var2<br />
;;<br />
down)<br />
#calculate new brightness<br />
var2=`echo "ibase=10; obase=16; a=($var1d-$AMOUNT);if (a>$MIN) print a else print $MIN" | bc`<br />
echo "$0: яркость уменьшена с 0x$var1 до 0x$var2"<br />
setpci -s $DEVICE F4.B=$var2<br />
;;<br />
set)<br />
# "set" позволяет выставить яркость в 0, т.е. выключить подсветку<br />
echo "$0: установка яркости в 0x$2"<br />
setpci -s $DEVICE F4.B=$2<br />
;;<br />
toggle)<br />
if [ $var1d -eq 0 ] ; then<br />
echo "повышение яркости"<br />
setpci -s $DEVICE F4.B=$DEFAULT<br />
else<br />
echo "уменьшение яркости"<br />
setpci -s $DEVICE F4.B=0<br />
fi<br />
;;<br />
*)<br />
echo "использование: $0 {up|down|set <val>|toggle}"<br />
echo "$0: текущая яркость - 0x$var1"<br />
;;<br />
esac<br />
exit 0<br />
</pre><br />
<br />
== Звук ==<br />
<br />
Звук на базе Intel HD Audio в этой модели работает "из коробки", разве что нужно увеличить громкость канала "speaker". Установите пакет {{Package Official|alsa-utils}}, чтобы получить скрипт, сохраняющий и восстанавливающий уровни громкости во время загрузки (Не забудьте добавить пункт "alsa" в массив DAEMONS в файле /etc/rc.conf).<br />
<br />
== Ждущий режим (STR/S3) ==<br />
<br />
В среде Gnome 2.28 и при установленном пакете {{Package Official|gnome-power-manager}}, ждущий режим работает без дополнительного вмешательства при закрытии крышки нетбука. Процесс приостановки работы занимает до 30 секунд. Выход из ждущего режима в конфигурации по умолчанию требует нажатия кнопки включения нетбука. Пробуждение из спячки при открытии крышки или нажатия кнопок на клавиатуре можно включить настройкой в BIOS'е.<br />
<br />
== Спящий режим (hibernate) ==<br />
<br />
Спящий режим с использованием [[pm-utils]] все еще не работает корректно. В процессе запуска из спящего режима появляются ошибки заголовков ELF, связанные с glibc, успешно предотвращающие запуск новых программ (включая /sbin/shutdown). Более того, даже если эта проблема будет устранена, процесс восстановления из раздела подкачки занимает немного больше времени, чем "холодный" запуск системы.<br />
<br />
== Сенсорная панель (Тачпад) ==<br />
<br />
Тачпад Synaptics работает для однопальцевых операций и прокрутки с помощью его правого края без дополнительной настройки. При нажатии Fn+F10 BIOS автоматически включает или выключает тачпад. Чтобы отображать сообщение об этом, необходимо установить пакет {{Package Official|xosd}} и настроить скрипт, выводящий сообщение при нажатии Fn+F10 (смотри далее о настройке доп. клавиш). Поместите этот скрипт в /usr/local/bin/report_touchpad<br />
<br />
<pre><br />
#!/bin/bash<br />
<br />
FONT='-adobe-helvetica-bold-*-*-*-34-*-*-*-*-*-*-*'<br />
DELAY=1<br />
state=Unknown<br />
<br />
case "$1" in<br />
on)<br />
state="включен"<br />
;;<br />
off)<br />
state="отключен"<br />
;;<br />
*)<br />
echo "Использование: $0 {on|off}"<br />
exit 2<br />
;;<br />
esac<br />
<br />
osd_cat -A center -p middle -f $FONT -d $DELAY << EOF<br />
Тачпад $state<br />
EOF<br />
<br />
exit 0<br />
</pre><br />
<br />
Чтобы тачпад понимал нажатия на него, самым простым решением будет установить пакеты {{Package Official|gsynaptics}} или {{Package AUR|gpointing-device-settings}}. Хотя согласно документам поставляемым с нетбуком, заявлена поддержка мультитача (для двухпальцевых нажатий, прокрутки двумя пальцами и т.д.), не похоже, что это работает правильно.<br />
<br />
Для владельцев модели N220 (не тестировалось на N150, но возможно будет работать), эти параметры для включают мультитач на тачпаде (файл /etc/hal/fdi/policy/11-x11-synaptics.fdi)<br />
<br />
<pre><br />
<?xml version="1.0" encoding="ISO-8859-1"?><br />
<deviceinfo version="0.2"><br />
<device><br />
<match key="info.capabilities" contains="input.touchpad"><br />
<merge key="input.x11_driver" type="string">synaptics</merge><br />
<merge key="input.x11_options.TapButton1" type="string">1</merge><br />
<merge key="input.x11_options.TapButton2" type="string">2</merge><br />
<merge key="input.x11_options.TapButton3" type="string">3</merge><br />
<merge key="input.x11_options.SHMConfig" type="string">true</merge><br />
<merge key="input.x11_options.VertEdgeScroll" type="string">false</merge><br />
<merge key="input.x11_options.PalmDetect" type="string">false</merge><br />
<merge key="input.x11_options.VerteScrollDelta" type="string">100</merge><br />
<merge key="input.x11_options.VertTwoFingerScroll" type="string">true</merge><br />
<merge key="input.x11_options.HorizTwoFingerScroll" type="string">true</merge><br />
<merge key="input.x11_options.EmulateTwoFingerMinZ" type="string">40</merge><br />
<merge key="input.x11_options.EmulateTwoFingerMinW" type="string">5</merge><br />
</match><br />
</device><br />
</deviceinfo><br />
</pre><br />
<br />
== Управление частотой процессора ==<br />
<br />
Чтобы включить управление частотой процессора, вам необходимо добавить несколько модулей ядра в автозагрузку в файле /etc/rc.conf:<br />
<br />
<pre><br />
MODULES=(acpi-cpufreq cpufreq-ondemand cpufreq-powersave)<br />
</pre><br />
<br />
Смена режимов использования процессора ядром между производительным (performance), автоматическим (ondemand) и энергосберегающим (powersave) может производиться с помощью следующего скрипта, установленного в /usr/local/sbin/cpufreq_toggle<br />
<br />
<pre><br />
#!/bin/bash<br />
<br />
current=`cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor`<br />
future=unknown<br />
<br />
if [ "$current" == "performance" ]; then<br />
future="ondemand"<br />
elif [ "$current" == "ondemand" ]; then<br />
future="powersave"<br />
else<br />
future="performance"<br />
fi<br />
<br />
echo "$future" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor<br />
echo "$future" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor<br />
<br />
echo "$future"<br />
</pre><br />
<br />
Для вывода сообщения о текущем режиме через сообщение на дисплее (полезно при назначении комбинации Fn+F8 на смену режимов), следующий скрипт должен быть установлен в /usr/local/bin/cpufreq_toggle_osd<br />
<br />
<pre><br />
#!/bin/bash<br />
<br />
FONT='-adobe-helvetica-bold-*-*-*-34-*-*-*-*-*-*-*'<br />
DELAY=1<br />
<br />
state=`sudo /usr/local/sbin/cpufreq_toggle`<br />
message="CPU Performance State Unknown"<br />
<br />
if [ "$state" == "performance" ]; then<br />
message="Режим производительности"<br />
elif [ "$state" == "powersave" ]; then<br />
message="Режим энергосбережения"<br />
elif [ "$state" == "ondemand" ]; then<br />
message="Автоматический режим"<br />
fi<br />
<br />
osd_cat -A center -p middle -f $FONT -d $DELAY << EOF<br />
$message<br />
EOF<br />
<br />
exit 0<br />
</pre><br />
<br />
По умолчанию, система будет загружена с режимом "производительность". Чтобы включать автоматический режим в конце загрузки, добавьте следующие строки в /etc/rc.local<br />
<br />
<pre><br />
echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor<br />
echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor<br />
</pre><br />
<br />
= Клавиша Fn =<br />
<br />
Некоторые из спец. комбинаций клавиш в модели N150 работают сразу, но большинство - нет. Нестандартные сканкоды с клавиатуры передаются ядру, которое не знает, как преобразовать их в стандартные сканкоды. Что еще хуже, большинство сканкодов сообщают только о нажатии клавиши, но не о ее отпускании. Добавление следующие строчки в /etc/rc.local задействует все спец. клавиши и назначит им правильные сканкоды:<br />
<br />
<pre><br />
setkeycodes e002 227 # Fn+F4 maps to switchvidmode<br />
setkeycodes e003 236 # Fn+F2 maps to battery<br />
setkeycodes e004 148 # Fn+F5 maps to prog1<br />
setkeycodes e006 238 # Fn+F9 maps to wlan<br />
setkeycodes e008 225 # Fn+Up maps to brightnessup<br />
setkeycodes e009 224 # Fn+Dn maps to brightnessdown<br />
setkeycodes e031 149 # Fn+F7 maps to prog2<br />
setkeycodes e033 202 # Fn+F8 maps to prog3<br />
setkeycodes e077 191 # Fn+F10 maps to F21 whenever the touchpad is enabled<br />
setkeycodes e079 192 # Fn+F10 maps to F22 whenever the touchpad is disabled<br />
<br />
# Ensure key release events occur for all except Fn+F7, which properly reports a key release for some reason<br />
echo 130,131,132,134,136,137,179,247,249 > /sys/devices/platform/i8042/serio0/force_release<br />
</pre><br />
<br />
To enable hotkeys to change backlight, wireless, and system performance settings, it is necessary to give regular users certain permissions via the [[sudo]] command. Run visudo as root and add the following to the Cmnd alias specifications:<br />
<br />
<pre><br />
Cmnd_Alias NETBOOK_CMDS = /usr/local/sbin/backlight, /usr/local/sbin/rftoggle, /usr/local/sbin/cpufreq_toggle<br />
</pre><br />
<br />
Затем добавьте следующую строку в конец файла:<br />
<br />
<pre><br />
%users ALL=(ALL) NOPASSWD: NETBOOK_CMDS<br />
</pre><br />
<br />
Теперь нестандартные сочетания клавиш могут быть добавлены в ДЕ посредством окна "Комбинации клавиш клавиатуры".<br />
<br />
{| border="1"<br />
! Назначение<br />
! Команда<br />
! Сочетание клавиш<br />
|-<br />
| Выключить тачпад<br />
| /usr/local/bin/report_touchpad off<br />
| Нажмите Fn+F10, когда тачпад включен.<br />
|-<br />
| Включить тачпад<br />
| /usr/local/bin/report_touchpad on<br />
| Нажмите Fn+F10, когда тачпад выключен.<br />
|-<br />
| Изменение частоты процессора<br />
| /usr/local/bin/cpufreq_toggle_osd<br />
| Fn+F8<br />
|-<br />
| Увеличить яркость подсветки<br />
| sudo /usr/local/sbin/backlight up<br />
| Fn+<ВВЕРХ><br />
|-<br />
| Уменьшить яркость подсветки<br />
| sudo /usr/local/sbin/backlight down<br />
| Fn+<ВНИЗ><br />
|-<br />
| Вкл/Выкл wi-fi<br />
| sudo /usr/local/sbin/rftoggle<br />
| Fn+F9<br />
|-<br />
| Вкл/Выкл подсветку экрана<br />
| sudo /usr/local/sbin/backlight toggle<br />
| Fn+F5<br />
|}<br />
<br />
= Уменьшение времени загрузки =<br />
<br />
Чтобы заставить нетбук загружаться максимально быстро, нам нужно уменьшить задержки и заставить демонов запускаться в фоне.<br />
Две полезные модификации загрузчика (в данном случае - grub): измените параметр "timeout" на 2 секунды, вместо 5и - по умолчанию и добавьте параметр "quiet", чтобы подавить вывод некоторых сообщений ядра (которые отнимают время). Указанные параметры можно поменять в файле /boot/grub/menu.lst<br />
<br />
<pre><br />
timeout 2<br />
...<br />
# (0) Arch Linux<br />
title Arch Linux<br />
root (hd0,0)<br />
kernel /vmlinuz26 root=/dev/sda3 ro quiet<br />
initrd /kernel26.img<br />
</pre><br />
<br />
Учтите, что может быть здравой идеей '''не''' добавлять параметр "quiet" ко второму пункту загрузчика (который используется при сбоях ядра из первого пункта), в этом случае вывод сообщений ядра поможет вам определить проблему. Впрочем, вы можете отредактировать эти параметры непосредственно при загрузке (нажать "e" на нужном пункте меню загрузчика).<br />
<br />
Заставить демонов грузиться в фоне немного сложнее, учитывая, что один демон может зависить от одного или нескольких других. Тем не менее, можно использовать преимущество известных "задержек" в процессе загрузки (напр. запуск подсистемы X11), что позволяет некоторым демонам (таких как NetworkManager) спокойно запускаться в фоне, перед тем как они действительно понадобятся.<br />
<br />
<pre><br />
DAEMONS=(syslog-ng !network hal @networkmanager @sensors @alsa !netfs @crond)<br />
</pre><br />
<br />
С вышеуказанными настройками, графический менеджер входа в систему появляется через 37-38 секунд после "холодной" загрузки (включая задержки BIOS'а и grub'а)</div>Mainframehttps://wiki.archlinux.org/index.php?title=Samsung_N150_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)&diff=107981Samsung N150 (Русский)2010-06-05T14:44:52Z<p>Mainframe: Добавлена основная часть перевода.</p>
<hr />
<div>[[Category:Samsung (Русский)]]<br />
{{i18n|Samsung N150}}<br />
Эта статья описывает установку и настройку 64х-битной версии Arch Linux на нетбук Samsung N150. Согласно выводу dmidecode, эта статья также может быть полезной для моделей N210 и N220.<br />
<br />
=Обзор комплектующих=<br />
<br />
Нетбук Samsung N150 оснащается процессором [[Wikipedia:Intel Atom|Intel Atom]] N450 ("Pineview") с интегрированной видеокартой [[Intel|Intel GMA 3100 GPU]] и чипсетом с кодовым названием "Pine Trail". В отличие от ранних одноядерных процессоров Intel Atom серий N2xx and Z, N450 поддерживает набор инструкций x86_64. Несмотря на то, что согласно информации DMI системная плата поддерживает до 8 Гб оперативной памяти, встроенный контроллер памяти Atom N450 может адресовать максимум 2 Гб. <br />
<br />
Since the hardware is limited to a 32-bit address space, the primary benefit to running the 64-bit version of Arch on this system is to take advantage of AUR packages built on more powerful 64-bit systems belonging to the same owner.<br />
<br />
Поставляемые версии модели N150 (на начало марта 2010) включают "начальную" версию общеизвестной проприетарной ОС и поэтому содержат только 1 Гб памяти в виде одной планки DDR2 667Mhz SODIMM, которую можно заменить. Согласно информации DMI, нетбук содержит 2 mini PCIe слота, один из которых занят (встроенной?) беспроводной сетевой картой на базе чипа Atheros AR9285. Другие версии этой модели могут комплектоваться (встроенным?) 3G адаптером, установленным в другой слот.<br />
<br />
Внешние порты представляют собой 3 USB 2.0 порта, 1 VGA порт, 10/100 LAN порт (на чипе Marvell 88E8040 PCI-E), разъемы для наушников/микрофона и встроенный кардридер форматов SD/SDHC/MMC. Встроенная вебкамера с разрешением VGA (640x480) подсоединена к внутреннему USB контроллеру.<br />
<br />
=Установка=<br />
<br />
Поскольку у нетбуков нет оптических приводов, предпочтительный способ установки - через USB флешку. В процессе первой загрузки установочного образа 2009.08, система перезагрузится после инициализации процессора. При последующих перезагрузках с тем же самым ядром подобное поведение не проявляется, тем не менее, возможна перезагрузка в процессе первой загрузки после смены/обновления ядра.<br />
<br />
В этой статье предполагается, что для установки будет использоваться весь жесткий диск, затирая предустановленную производителем ОС и программы (включая разделы восстановления). Пока что не выяснено, какие именно разделы требуются для корректой работы программы восстановления: сохранения только первого раздела, неизвестного типа, '''не''' достаточно. Если вы желаете сохранить предустановленный механизм восстановления, вам следует создать набор из DVD-дисков, используя внешний DVD привод, перед установкой Arch Linux.<br />
<br />
Во время первой установки, cfdisk будет вылетать с ошибкой из-за неправильной разметки на диске, выходящей за его границы (согласно геометрии по умолчанию для дисков в Linux). Решение - в запуске fdisk и создания новой, пустой таблицы разделов. '''ВНИМАНИЕ: Эта операция уничтожит существующую таблицу разделов жесткого диска, с потерей всех данных, находящихся на нем.'''<br />
<br />
<pre><br />
fdisk /dev/sda << EOF<br />
o<br />
w<br />
EOF<br />
</pre><br />
<br />
После создания на диске пустой таблицы разделов, cfdisk в процессе установки будет работать правильно.<br />
<br />
=Настройка устройств=<br />
<br />
== Проводная сеть (Ethernet) ==<br />
<br />
Адаптер на чипе Marvell 88E8040 работает "из коробки" с ядром с конфигурацией "по умолчанию". При установке {{Package Official|NetworkManager}}, процесс загрузки может быть ускорен задержкой инициализации сети до появления графического интерфейса.<br />
<br />
== Беспроводная сеть (Wi-Fi) ==<br />
<br />
<br />
Беспроводной адаптер на чипе Atheros AR9285 также работает "из коробки", включая полную поддержку шифрования WPA2-PSK через NetworkManager. Мощность передатчика может быть изменена при установке пакета {{Package Official|rfkill}}, с помощью следующего скрипта, помещенного, к примеру, в /usr/local/sbin/rftoggle<br />
<br />
<pre><br />
#!/bin/bash<br />
<br />
blocked=`rfkill list wlan | grep "Soft blocked: yes"`<br />
<br />
if [ -z "$blocked" ]; then<br />
rfkill block wlan<br />
else<br />
rfkill unblock wlan<br />
fi<br />
</pre><br />
<br />
== Графика ==<br />
<br />
Встроенная в процессоре Atom 450 графика на базе [[Intel|Intel GMA 3100 GPU]], работает с [[KMS|Kernel Mode Setting]] без дополнительных плясок с бубном. Ранняя инициализация KMS, похоже, незначительно ускоряет скорость загрузки и может быть включена добавлением следующей строки в /etc/mkinitcpio.conf (если подобная строчка уже существует, просто добавьте нужные модули в нее):<br />
<code><br />
MODULES="'''intel_agp i915'''"<br />
</code><br />
<br />
Запустите {{Codeline|mkinitcpio -p kernel26}}, чтобы новые модули добавились в загрузочный образ.<br />
<br />
В отличие от более ранней модели [[Samsung N140|N140]], у модели N150 не замечено проблем с режимом энергосбережения дисплея. <br />
<br />
Включив однажды доп. клавиши (смотри ниже), комбинация Fn+F4 будет переключать вывод изображения между только встроенным экраном, расширенным режимом и режимом дублирования изображения (clone) автоматически, когда внешний монитор подключен к VGA порту. <br />
<br />
=== Подсветка ===<br />
<br />
Так же как и на других ноутбуках и нетбуках Samsung, прямое управление подсветкой через ACPI в данной модели невозможно. Вместо этого, управление подсветкой может осуществляться изменением настроек графического адаптера через PCI шину с помощью следующего скрипта. Для легкости использования дополнительных кнопок (с Fn), поместите этот скрипт в /usr/local/sbin/backlight<br />
<br />
<pre><br />
#!/bin/bash<br />
# increase/decrease/set brightness (range 0-255)<br />
<br />
# PCI device on which to operate<br />
DEVICE=00:02.0<br />
<br />
# Amount to raise/lower the backlight when called with "up" or "down"<br />
AMOUNT=8<br />
<br />
# Minimum backlight value reachable via "down"<br />
MIN=1<br />
<br />
# Default backlight level when toggling on<br />
DEFAULT=64<br />
<br />
#get current brightness in hex and convert to decimal<br />
var1=`setpci -s $DEVICE F4.B`<br />
var1d=$((0x$var1))<br />
case "$1" in<br />
up)<br />
# вычислить новую яркость<br />
var2=`echo "ibase=10; obase=16; a=($var1d+$AMOUNT); if (a<255) print a else print 255" | bc`<br />
echo "$0: яркость увеличена с 0x$var1 до 0x$var2"<br />
setpci -s $DEVICE F4.B=$var2<br />
;;<br />
down)<br />
#calculate new brightness<br />
var2=`echo "ibase=10; obase=16; a=($var1d-$AMOUNT);if (a>$MIN) print a else print $MIN" | bc`<br />
echo "$0: яркость уменьшена с 0x$var1 до 0x$var2"<br />
setpci -s $DEVICE F4.B=$var2<br />
;;<br />
set)<br />
# "set" позволяет выставить яркость в 0, т.е. выключить подсветку<br />
echo "$0: установка яркости в 0x$2"<br />
setpci -s $DEVICE F4.B=$2<br />
;;<br />
toggle)<br />
if [ $var1d -eq 0 ] ; then<br />
echo "повышение яркости"<br />
setpci -s $DEVICE F4.B=$DEFAULT<br />
else<br />
echo "уменьшение яркости"<br />
setpci -s $DEVICE F4.B=0<br />
fi<br />
;;<br />
*)<br />
echo "использование: $0 {up|down|set <val>|toggle}"<br />
echo "$0: текущая яркость - 0x$var1"<br />
;;<br />
esac<br />
exit 0<br />
</pre><br />
<br />
== Звук ==<br />
<br />
Звук на базе Intel HD Audio в этой модели работает "из коробки", разве что нужно увеличить громкость канала "speaker". Установите пакет {{Package Official|alsa-utils}}, чтобы получить скрипт, сохраняющий и восстанавливающий уровни громкости во время загрузки (Не забудьте добавить пункт "alsa" в массив DAEMONS в файле /etc/rc.conf).<br />
<br />
== Ждущий режим (STR/S3) ==<br />
<br />
В среде Gnome 2.28 и при установленном пакете {{Package Official|gnome-power-manager}}, ждущий режим работает без дополнительного вмешательства при закрытии крышки нетбука. Процесс приостановки работы занимает до 30 секунд. Выход из ждущего режима в конфигурации по умолчанию требует нажатия кнопки включения нетбука. Пробуждение из спячки при открытии крышки или нажатия кнопок на клавиатуре можно включить настройкой в BIOS'е.<br />
<br />
== Спящий режим (hibernate) ==<br />
<br />
Спящий режим с использованием [[pm-utils]] все еще не работает корректно. В процессе запуска из спящего режима появляются ошибки заголовков ELF, связанные с glibc, успешно предотвращающие запуск новых программ (включая /sbin/shutdown). Более того, даже если эта проблема будет устранена, процесс восстановления из раздела подкачки занимает немного больше времени, чем "холодный" запуск системы.<br />
<br />
== Сенсорная панель (Тачпад) ==<br />
<br />
Тачпад Synaptics работает для однопальцевых операций и прокрутки с помощью его правого края без дополнительной настройки. При нажатии Fn+F10 BIOS автоматически включает или выключает тачпад. Чтобы отображать сообщение об этом, необходимо установить пакет {{Package Official|xosd}} и настроить скрипт, выводящий сообщение при нажатии Fn+F10 (смотри далее о настройке доп. клавиш). Поместите этот скрипт в /usr/local/bin/report_touchpad<br />
<br />
<pre><br />
#!/bin/bash<br />
<br />
FONT='-adobe-helvetica-bold-*-*-*-34-*-*-*-*-*-*-*'<br />
DELAY=1<br />
state=Unknown<br />
<br />
case "$1" in<br />
on)<br />
state="включен"<br />
;;<br />
off)<br />
state="отключен"<br />
;;<br />
*)<br />
echo "Использование: $0 {on|off}"<br />
exit 2<br />
;;<br />
esac<br />
<br />
osd_cat -A center -p middle -f $FONT -d $DELAY << EOF<br />
Тачпад $state<br />
EOF<br />
<br />
exit 0<br />
</pre><br />
<br />
Чтобы Чтобы тачпад понимал нажатия на него, самым простым решением будет установить пакеты {{Package Official|gsynaptics}} или {{Package AUR|gpointing-device-settings}}. Хотя согласно документам поставляемым с нетбуком, заявлена поддержка мультитача (для двухпальцевых нажатий, прокрутки двумя пальцами и т.д.), не похоже, что это работает правильно.<br />
<br />
Для владельцев модели N220 (не тестировалось на N150, но возможно будет работать), эти параметры для включают мультитач на тачпаде (файл /etc/hal/fdi/policy/11-x11-synaptics.fdi)<br />
<br />
<pre><br />
<?xml version="1.0" encoding="ISO-8859-1"?><br />
<deviceinfo version="0.2"><br />
<device><br />
<match key="info.capabilities" contains="input.touchpad"><br />
<merge key="input.x11_driver" type="string">synaptics</merge><br />
<merge key="input.x11_options.TapButton1" type="string">1</merge><br />
<merge key="input.x11_options.TapButton2" type="string">2</merge><br />
<merge key="input.x11_options.TapButton3" type="string">3</merge><br />
<merge key="input.x11_options.SHMConfig" type="string">true</merge><br />
<merge key="input.x11_options.VertEdgeScroll" type="string">false</merge><br />
<merge key="input.x11_options.PalmDetect" type="string">false</merge><br />
<merge key="input.x11_options.VerteScrollDelta" type="string">100</merge><br />
<merge key="input.x11_options.VertTwoFingerScroll" type="string">true</merge><br />
<merge key="input.x11_options.HorizTwoFingerScroll" type="string">true</merge><br />
<merge key="input.x11_options.EmulateTwoFingerMinZ" type="string">40</merge><br />
<merge key="input.x11_options.EmulateTwoFingerMinW" type="string">5</merge><br />
</match><br />
</device><br />
</deviceinfo><br />
</pre><br />
<br />
== Управление частотой процессора ==<br />
<br />
Чтобы включить управление частотой процессора, вам необходимо добавить несколько модулей ядра в автозагрузку в файле /etc/rc.conf:<br />
<br />
<pre><br />
MODULES=(acpi-cpufreq cpufreq-ondemand cpufreq-powersave)<br />
</pre><br />
<br />
Смена режимов использования процессора ядром между производительным (performance), автоматическим (ondemand) и энергосберегающим (powersave) может производиться с помощью следующего скрипта, установленного в /usr/local/sbin/cpufreq_toggle<br />
<br />
<pre><br />
#!/bin/bash<br />
<br />
current=`cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor`<br />
future=unknown<br />
<br />
if [ "$current" == "performance" ]; then<br />
future="ondemand"<br />
elif [ "$current" == "ondemand" ]; then<br />
future="powersave"<br />
else<br />
future="performance"<br />
fi<br />
<br />
echo "$future" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor<br />
echo "$future" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor<br />
<br />
echo "$future"<br />
</pre><br />
<br />
Для вывода сообщения о текущем режиме через сообщение на дисплее (полезно при назначении комбинации Fn+F8 на смену режимов), следующий скрипт должен быть установлен в /usr/local/bin/cpufreq_toggle_osd<br />
<br />
<pre><br />
#!/bin/bash<br />
<br />
FONT='-adobe-helvetica-bold-*-*-*-34-*-*-*-*-*-*-*'<br />
DELAY=1<br />
<br />
state=`sudo /usr/local/sbin/cpufreq_toggle`<br />
message="CPU Performance State Unknown"<br />
<br />
if [ "$state" == "performance" ]; then<br />
message="Режим производительности"<br />
elif [ "$state" == "powersave" ]; then<br />
message="Режим энергосбережения"<br />
elif [ "$state" == "ondemand" ]; then<br />
message="Автоматический режим"<br />
fi<br />
<br />
osd_cat -A center -p middle -f $FONT -d $DELAY << EOF<br />
$message<br />
EOF<br />
<br />
exit 0<br />
</pre><br />
<br />
По умолчанию, система будет загружена с режимом "производительность". Чтобы включать автоматический режим в конце загрузки, добавьте следующие строки в /etc/rc.local<br />
<br />
<pre><br />
echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor<br />
echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor<br />
</pre><br />
<br />
= Клавиша Fn =<br />
<br />
Некоторые из спец. комбинаций клавиш в модели N150 работают сразу, но большинство - нет. Нестандартные сканкоды с клавиатуры передаются ядру, которое не знает, как преобразовать их в стандартные сканкоды. Что еще хуже, большинство сканкодов сообщают только о нажатии клавиши, но не о ее отпускании. Добавление следующие строчки в /etc/rc.local задействует все спец. клавиши и назначит им правильные сканкоды:<br />
<br />
<pre><br />
setkeycodes e002 227 # Fn+F4 maps to switchvidmode<br />
setkeycodes e003 236 # Fn+F2 maps to battery<br />
setkeycodes e004 148 # Fn+F5 maps to prog1<br />
setkeycodes e006 238 # Fn+F9 maps to wlan<br />
setkeycodes e008 225 # Fn+Up maps to brightnessup<br />
setkeycodes e009 224 # Fn+Dn maps to brightnessdown<br />
setkeycodes e031 149 # Fn+F7 maps to prog2<br />
setkeycodes e033 202 # Fn+F8 maps to prog3<br />
setkeycodes e077 191 # Fn+F10 maps to F21 whenever the touchpad is enabled<br />
setkeycodes e079 192 # Fn+F10 maps to F22 whenever the touchpad is disabled<br />
<br />
# Ensure key release events occur for all except Fn+F7, which properly reports a key release for some reason<br />
echo 130,131,132,134,136,137,179,247,249 > /sys/devices/platform/i8042/serio0/force_release<br />
</pre><br />
<br />
To enable hotkeys to change backlight, wireless, and system performance settings, it is necessary to give regular users certain permissions via the [[sudo]] command. Run visudo as root and add the following to the Cmnd alias specifications:<br />
<br />
<pre><br />
Cmnd_Alias NETBOOK_CMDS = /usr/local/sbin/backlight, /usr/local/sbin/rftoggle, /usr/local/sbin/cpufreq_toggle<br />
</pre><br />
<br />
Затем добавьте следующую строку в конец файла:<br />
<br />
<pre><br />
%users ALL=(ALL) NOPASSWD: NETBOOK_CMDS<br />
</pre><br />
<br />
Теперь нестандартные сочетания клавиш могут быть добавлены в ДЕ посредством окна "Комбинации клавиш клавиатуры".<br />
<br />
{| border="1"<br />
! Назначение<br />
! Команда<br />
! Сочетание клавиш<br />
|-<br />
| Выключить тачпад<br />
| /usr/local/bin/report_touchpad off<br />
| Нажмите Fn+F10, когда тачпад включен.<br />
|-<br />
| Включить тачпад<br />
| /usr/local/bin/report_touchpad on<br />
| Нажмите Fn+F10, когда тачпад выключен.<br />
|-<br />
| Изменение частоты процессора<br />
| /usr/local/bin/cpufreq_toggle_osd<br />
| Fn+F8<br />
|-<br />
| Увеличить яркость подсветки<br />
| sudo /usr/local/sbin/backlight up<br />
| Fn+<ВВЕРХ><br />
|-<br />
| Уменьшить яркость подсветки<br />
| sudo /usr/local/sbin/backlight down<br />
| Fn+<ВНИЗ><br />
|-<br />
| Вкл/Выкл wi-fi<br />
| sudo /usr/local/sbin/rftoggle<br />
| Fn+F9<br />
|-<br />
| Вкл/Выкл подсветку экрана<br />
| sudo /usr/local/sbin/backlight toggle<br />
| Fn+F5<br />
|}<br />
<br />
= Уменьшение времени загрузки =<br />
<br />
Чтобы заставить нетбук загружаться максимально быстро, нам нужно уменьшить задержки и заставить демонов запускаться в фоне.<br />
Две полезные модификации загрузчика (в данном случае - grub): измените параметр "timeout" на 2 секунды, вместо 5и - по умолчанию и добавьте параметр "quiet", чтобы подавить вывод некоторых сообщений ядра (которые отнимают время). Указанные параметры можно поменять в файле /boot/grub/menu.lst<br />
<br />
<pre><br />
timeout 2<br />
...<br />
# (0) Arch Linux<br />
title Arch Linux<br />
root (hd0,0)<br />
kernel /vmlinuz26 root=/dev/sda3 ro quiet<br />
initrd /kernel26.img<br />
</pre><br />
<br />
Учтите, что может быть здравой идеей '''не''' добавлять параметр "quiet" ко второму пункту загрузчика (который используется при сбоях ядра из первого пункта), в этом случае вывод сообщений ядра поможет вам определить проблему. Впрочем, вы можете отредактировать эти параметры непосредственно при загрузке (нажать "e" на нужном пункте меню загрузчика).<br />
<br />
Заставить демонов грузиться в фоне немного сложнее, учитывая, что один демон может зависить от одного или нескольких других. Тем не менее, можно использовать преимущество известных "задержек" в процессе загрузки (напр. запуск подсистемы X11), что позволяет некоторым демонам (таких как NetworkManager) спокойно запускаться в фоне, перед тем как они действительно понадобятся.<br />
<br />
<pre><br />
DAEMONS=(syslog-ng !network hal @networkmanager @sensors @alsa !netfs @crond)<br />
</pre><br />
<br />
С вышеуказанными настройками, графический менеджер входа в систему появляется через 37-38 секунд после "холодной" загрузки (включая задержки BIOS'а и grub'а)</div>Mainframehttps://wiki.archlinux.org/index.php?title=Samsung_N150&diff=107980Samsung N1502010-06-05T14:29:29Z<p>Mainframe: added "i18n" tag</p>
<hr />
<div>[[Category:Samsung (English)]]<br />
{{i18n|Samsung N150}}<br />
This article describes the installation and configuration of 64-bit Arch Linux on the Samsung N150 netbook. Based on the output from dmidecode, this material might also be useful for the N210 and N220 models.<br />
<br />
=Hardware overview=<br />
<br />
The Samsung N150 netbook is equipped with the [[Wikipedia:Intel Atom|Intel Atom]] N450 ("Pineview") CPU with integrated [[Intel|Intel GMA 3100 GPU]] and "Pine Trail" chipset. Unlike the prior single-core Intel Atom N2xx and Z series processors, the N450 supports the x86_64 instruction set. Although DMI information suggests the motherboard will accept up to 8 GiB RAM, the integrated memory controller in the Atom N450 can address a maximum of 2 GiB. Since the hardware is limited to a 32-bit address space, the primary benefit to running the 64-bit version of Arch on this system is to take advantage of AUR packages built on more powerful 64-bit systems belonging to the same owner.<br />
<br />
Shipping versions of the N150 (as of early March 2010) include the "starter" edition of a proprietary operating system and therefore include only 1 GiB RAM in the form of a single DDR2 667 MhZ SODIMM, which is user-replaceable. Per the DMI information, the unit contains two mini PCI express slots, one of which is populated by the included Atheros AR9285 wireless card. Other versions of this model are apparently available with an integrated 3G WAN adapter installed in the other slot.<br />
<br />
External connectivity provided on the system includes 3 USB 2.0 ports, a single VGA port, 10/100 Ethernet (Marvell 88E8040 PCI-E), headphone/microphone jacks, and an integrated card reader (SD/SDHC/MMC). An integrated VGA-resolution webcam is connected to the internal USB controller.<br />
<br />
=Installation=<br />
<br />
Since netbooks lack optical drives, the preferred installation mechanism is via a USB flash drive. Upon first boot into the 2009.08 installation media, the system will reboot after CPU initialization. Subsequent reboots using the same kernel will not exhibit this behavior, although booting into a later installed kernel may reboot the first time.<br />
<br />
This article assumes the entire hard disk will be used for Arch, eliminating the manufacturer-supplied software (including the recovery partitions). It is not entirely clear which partitions are required for the recovery software to function properly: retention of the only first partition, of unknown type, is '''not''' sufficient. If a recovery mechanism for the factory-supplied software is desired, a set of recovery DVDs should be created using an external DVD burner prior to installing Arch.<br />
<br />
Upon the first installation, cfdisk will exit with an error due to the existing partition layout extending beyond the end of the disk (using Linux default geometries). The solution is to run fdisk and create a new, empty partition table. '''WARNING: This operation will destroy the current hard disk partitions, effectively causing all data on the hard disk to be lost.'''<br />
<br />
<pre><br />
fdisk /dev/sda << EOF<br />
o<br />
w<br />
EOF<br />
</pre><br />
<br />
After initializing the drive with an empty partition table, cfdisk will work properly in the Arch installer.<br />
<br />
=Device configuration=<br />
<br />
== Ethernet (wired) ==<br />
<br />
The Marvell 88E8040 wired 10/100 Ethernet adapter works out of the box with the default kernel. By installing {{Package Official|NetworkManager}} and delaying network initialization until after the GUI is displayed, the boot process can be expedited.<br />
<br />
== Wireless networking ==<br />
<br />
The Atheros AR9285 wireless adapter also works out of the box, including full WPA2-PSK support via NetworkManager. Power to the transmitter can be toggled if the {{Package Official|rfkill}} package is installed, if the following script is installed in /usr/local/sbin/rftoggle<br />
<br />
<pre><br />
#!/bin/bash<br />
<br />
blocked=`rfkill list wlan | grep "Soft blocked: yes"`<br />
<br />
if [ -z "$blocked" ]; then<br />
rfkill block wlan<br />
else<br />
rfkill unblock wlan<br />
fi<br />
</pre><br />
<br />
== Graphics ==<br />
<br />
The [[Intel|Intel GMA 3100 GPU]], embedded in the Atom 450 CPU package, works out of the box with [[KMS|Kernel Mode Setting]]. Early KMS initialization seems to improve boot speed slightly and can be enabled by adding the following to the MODULES line in /etc/mkinitcpio.conf:<br />
MODULES="'''intel_agp i915'''"<br />
<br />
Run {{Codeline|mkinitcpio -p kernel26}} to make the configuration effective.<br />
<br />
Unlike the prior [[Samsung N140]] model, the N150 does not seem to suffer from display powersaving problems.<br />
<br />
Once Fn keys are enabled (see below), Fn+F4 will toggle between LCD only, extended, and cloned modes automatically whenever an external screen is connected to the VGA port.<br />
<br />
=== Backlight ===<br />
<br />
Like other Samsung laptops and netbooks, direct ACPI control of the backlight is not possible on the N150. Instead, a script can be created to manage backlight settings by changing the PCI configuration of the display adapter. For ease of use with the Fn keys section, this script should be located at /usr/local/sbin/backlight<br />
<br />
<pre><br />
#!/bin/bash<br />
# increase/decrease/set/get the backlight brightness (range 0-255)<br />
#<br />
<br />
# PCI device on which to operate<br />
DEVICE=00:02.0<br />
<br />
# Amount to raise/lower the backlight when called with "up" or "down"<br />
AMOUNT=8<br />
<br />
# Minimum backlight value reachable via "down"<br />
MIN=1<br />
<br />
# Default backlight level when toggling on<br />
DEFAULT=64<br />
<br />
#get current brightness in hex and convert to decimal<br />
var1=`setpci -s $DEVICE F4.B`<br />
var1d=$((0x$var1))<br />
case "$1" in<br />
up)<br />
#calculate new brightness<br />
var2=`echo "ibase=10; obase=16; a=($var1d+$AMOUNT);if (a<255) print a else print 255" | bc`<br />
echo "$0: increasing brightness from 0x$var1 to 0x$var2"<br />
setpci -s $DEVICE F4.B=$var2<br />
;;<br />
down)<br />
#calculate new brightness<br />
var2=`echo "ibase=10; obase=16; a=($var1d-$AMOUNT);if (a>$MIN) print a else print $MIN" | bc`<br />
echo "$0: decreasing brightness from 0x$var1 to 0x$var2"<br />
setpci -s $DEVICE F4.B=$var2<br />
;;<br />
set)<br />
#n.b. this does allow "set 0" i.e. backlight off<br />
echo "$0: setting brightness to 0x$2"<br />
setpci -s $DEVICE F4.B=$2<br />
;;<br />
get)<br />
echo "$0: current brightness is 0x$var1"<br />
;;<br />
toggle)<br />
if [ $var1d -eq 0 ] ; then<br />
echo "toggling up"<br />
setpci -s $DEVICE F4.B=$DEFAULT<br />
else<br />
echo "toggling down"<br />
setpci -s $DEVICE F4.B=0<br />
fi<br />
;;<br />
*)<br />
echo "usage: $0 {up|down|set <val>|get|toggle}"<br />
;;<br />
esac<br />
exit 0<br />
</pre><br />
<br />
== Audio ==<br />
<br />
Intel HD Audio works out of the box on this model, although the volume for the "speaker" mixer channel needs to be increased from zero. Install the {{Package Official|alsa-utils}} package to acquire an init script for restoring the volume at boot time.<br />
<br />
== Suspend to RAM (S3 sleep) ==<br />
<br />
With Gnome 2.28 and the {{Package Official|gnome-power-manager}} package installed, suspend-to-RAM works out of the box whenever the netbook lid is closed. The suspend process requires up to 30 seconds or so to take effect. Waking from S3 requires activating the power button under the default configuration. Waking upon opening the lid, or pressing a key, can be enabled in the BIOS.<br />
<br />
== Suspend to disk (hibernate) ==<br />
<br />
Hibernate support with [[pm-utils]] does not work reliably. Upon resuming from hibernation, there are ELF header errors related to glibc, effectively preventing any new applications (including /sbin/shutdown) from starting. Moreover, even if this problem can be resolved, the process of resuming from the swap partition (before the errors are observed) is slightly longer than a cold boot.<br />
<br />
== Touchpad ==<br />
<br />
The Synaptics touchpad works for single-finger operation with scrolling along the right edge out of the box. When Fn+F10 is pressed, the BIOS automatically enables or disables the touchpad hardware. To receive notification of this event, it is useful to install the {{Package Official|xosd}} package and configure a script to print a message whenever Fn+F10 is pressed (see below for Fn key configuration). This script should be saved in /usr/local/bin/report_touchpad<br />
<br />
<pre><br />
#!/bin/bash<br />
<br />
FONT='-adobe-helvetica-bold-*-*-*-34-*-*-*-*-*-*-*'<br />
DELAY=1<br />
state=Unknown<br />
<br />
case "$1" in<br />
on)<br />
state=Enabled<br />
;;<br />
off)<br />
state=Disabled<br />
;;<br />
*)<br />
echo "usage: $0 {on|off}"<br />
exit 2<br />
;;<br />
esac<br />
<br />
osd_cat -A center -p middle -f $FONT -d $DELAY << EOF<br />
Touchpad $state<br />
EOF<br />
<br />
exit 0<br />
</pre><br />
<br />
To enable tapping, the easiest solution is to install {{Package Official|gsynaptics}} or {{Package AUR|gpointing-device-settings}}. Although the literature shipping with the netbook claims multitouch support (for two-finger tap, two-finger scroll, etc.), it does not appear to work properly.<br />
<br />
For n220 owners (these parameters haven't been tested on n150 but it migth work), these touchpad rules enable multitouch (/etc/hal/fdi/policy/11-x11-synaptics.fdi)<br />
<br />
<pre><br />
<?xml version="1.0" encoding="ISO-8859-1"?><br />
<deviceinfo version="0.2"><br />
<device><br />
<match key="info.capabilities" contains="input.touchpad"><br />
<merge key="input.x11_driver" type="string">synaptics</merge><br />
<merge key="input.x11_options.TapButton1" type="string">1</merge><br />
<merge key="input.x11_options.TapButton2" type="string">2</merge><br />
<merge key="input.x11_options.TapButton3" type="string">3</merge><br />
<br />
<br />
<merge key="input.x11_options.SHMConfig" type="string">true</merge><br />
<br />
<merge key="input.x11_options.VertEdgeScroll" type="string">false</merge><br />
<merge key="input.x11_options.PalmDetect" type="string">false</merge><br />
<br />
<merge key="input.x11_options.VerteScrollDelta" type="string">100</merge><br />
<br />
<merge key="input.x11_options.VertTwoFingerScroll" type="string">true</merge><br />
<merge key="input.x11_options.HorizTwoFingerScroll" type="string">true</merge><br />
<merge key="input.x11_options.EmulateTwoFingerMinZ" type="string">40</merge><br />
<merge key="input.x11_options.EmulateTwoFingerMinW" type="string">5</merge><br />
<br />
<br />
<br />
</match><br />
</device><br />
</deviceinfo><br />
</pre><br />
<br />
== CPU frequency scaling ==<br />
<br />
To improve power management to some degree, CPU frequency scaling can be enabled. This mechanism requires a few modules to be loaded at boot time from /etc/rc.conf:<br />
<br />
<pre><br />
MODULES=(acpi-cpufreq cpufreq-ondemand cpufreq-powersave)<br />
</pre><br />
<br />
Toggling between the performance, ondemand, and powersave governors can be accomplished via the following script, installed to /usr/local/sbin/cpufreq_toggle<br />
<br />
<pre><br />
#!/bin/bash<br />
<br />
current=`cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor`<br />
future=unknown<br />
<br />
if [ "$current" == "performance" ]; then<br />
future="ondemand"<br />
elif [ "$current" == "ondemand" ]; then<br />
future="powersave"<br />
else<br />
future="performance"<br />
fi<br />
<br />
echo "$future" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor<br />
echo "$future" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor<br />
<br />
echo "$future"<br />
</pre><br />
<br />
For reporting the current governor choice via an on-screen display (useful if enabling the Fn+F8 performance switching shortcut), the following wrapper script can be installed as /usr/local/bin/cpufreq_toggle_osd<br />
<br />
<pre><br />
#!/bin/bash<br />
<br />
FONT='-adobe-helvetica-bold-*-*-*-34-*-*-*-*-*-*-*'<br />
DELAY=1<br />
<br />
state=`sudo /usr/local/sbin/cpufreq_toggle`<br />
message="CPU Performance State Unknown"<br />
<br />
if [ "$state" == "performance" ]; then<br />
message="Performance Mode"<br />
elif [ "$state" == "powersave" ]; then<br />
message="Low Power Mode"<br />
elif [ "$state" == "ondemand" ]; then<br />
message="Automatic Mode"<br />
fi<br />
<br />
osd_cat -A center -p middle -f $FONT -d $DELAY << EOF<br />
$message<br />
EOF<br />
<br />
exit 0<br />
</pre><br />
<br />
By default, the system will boot with CPU frequency scaling set to use the performance governor. To enable the ondemand governor at the end of the boot process, append the following to /etc/rc.local<br />
<br />
<pre><br />
echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor<br />
echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor<br />
</pre><br />
<br />
= Fn keys =<br />
<br />
Several of the special Fn key combinations work out of the box with the N150, but most do not. Unusual scancodes are reported to the kernel, which does not know how to convert these codes to keycodes natively. Worse, many of the scancodes produce a key press event without a corresponding key release event. Appending the following lines to /etc/rc.local will enable all Fn keys and map them properly:<br />
<br />
<pre><br />
setkeycodes e002 227 # Fn+F4 maps to switchvidmode<br />
setkeycodes e003 236 # Fn+F2 maps to battery<br />
setkeycodes e004 148 # Fn+F5 maps to prog1<br />
setkeycodes e006 238 # Fn+F9 maps to wlan<br />
setkeycodes e008 225 # Fn+Up maps to brightnessup<br />
setkeycodes e009 224 # Fn+Dn maps to brightnessdown<br />
setkeycodes e031 149 # Fn+F7 maps to prog2<br />
setkeycodes e033 202 # Fn+F8 maps to prog3<br />
setkeycodes e077 191 # Fn+F10 maps to F21 whenever the touchpad is enabled<br />
setkeycodes e079 192 # Fn+F10 maps to F22 whenever the touchpad is disabled<br />
<br />
# Ensure key release events occur for all except Fn+F7, which properly reports a key release for some reason<br />
echo 130,131,132,134,136,137,179,247,249 > /sys/devices/platform/i8042/serio0/force_release<br />
</pre><br />
<br />
To enable hotkeys to change backlight, wireless, and system performance settings, it is necessary to give regular users certain permissions via the [[sudo]] command. Run visudo as root and add the following to the Cmnd alias specifications:<br />
<br />
<pre><br />
Cmnd_Alias NETBOOK_CMDS = /usr/local/sbin/backlight, /usr/local/sbin/rftoggle, /usr/local/sbin/cpufreq_toggle<br />
</pre><br />
<br />
Then add the following to the bottom of the file:<br />
<br />
<pre><br />
%users ALL=(ALL) NOPASSWD: NETBOOK_CMDS<br />
</pre><br />
<br />
Now custom keyboard shortcuts can be added to Gnome by means of the "Keyboard Shortcuts" preferences.<br />
<br />
{| border="1"<br />
! Name<br />
! Command<br />
! Key<br />
|-<br />
| Touchpad disabled<br />
| /usr/local/bin/report_touchpad off<br />
| Press Fn+F10 while touchpad enabled<br />
|-<br />
| Touchpad enabled<br />
| /usr/local/bin/report_touchpad on<br />
| Press Fn+F10 while touchpad disabled<br />
|-<br />
| Toggle CPU frequency scaling<br />
| /usr/local/bin/cpufreq_toggle_osd<br />
| Fn+F8<br />
|-<br />
| Raise backlight<br />
| sudo /usr/local/sbin/backlight up<br />
| Fn+Up arrow<br />
|-<br />
| Lower backlight<br />
| sudo /usr/local/sbin/backlight down<br />
| Fn+Down arrow<br />
|-<br />
| Toggle wireless<br />
| sudo /usr/local/sbin/rftoggle<br />
| Fn+F9<br />
|-<br />
| Toggle backlight<br />
| sudo /usr/local/sbin/backlight toggle<br />
| Fn+F5<br />
|}<br />
<br />
= Reducing boot time =<br />
<br />
In order to make the netbook boot as quickly as possible, timeouts can be minimized and services can be started in the background. Two Grub modifications are helpful: reduce the timeout to 2 seconds, and add the "quiet" option to suppress some kernel output (those printk's take time). These modifications are made in /boot/grub/menu.lst<br />
<br />
<pre><br />
timeout 2<br />
...<br />
# (0) Arch Linux<br />
title Arch Linux<br />
root (hd0,0)<br />
kernel /vmlinuz26 root=/dev/sda3 ro quiet<br />
initrd /kernel26.img<br />
</pre><br />
<br />
Note that it might be a good idea '''not''' to add "quiet" to the fallback image, in case the kernel output is needed at boot time to diagnose a problem.<br />
<br />
Backgrounding startup processes in /etc/rc.conf can be a bit trickier, especially when one daemon depends upon others. However, it is possible to take advantage of known "delays" in the boot process (e.g. starting X11) that allow services such as NetworkManager to start in the background well before they will be needed.<br />
<br />
<pre><br />
DAEMONS=(syslog-ng !network hal @networkmanager @sensors @alsa !netfs @crond)<br />
</pre><br />
<br />
With the above tweaks, Gdm is ready for login 37-38 seconds after a cold boot (including BIOS and Grub timeouts).</div>Mainframe