QEMU в Linux: установка и использование



42 коммент.
Исходные данные: есть установленный Debian (или Ubuntu в крайнем случае) и некоторые программы Windows, которые в WINE не запускаются.
Проблема: нужно запускать Windows и заточенные под Windows приложения.

Вступление
В Сети много слов о QEMU, но мало нормальных руководств по его установке. Выдающимся документом является этот, по мотивам которого и написано данное руководство, с учётом собственного опыта и некоторых поправок на то, что запускать будем в частности виндовс.

Ставим!
Идём сюда и качаем последнюю версию эмулятора QEMU вместе с ускоряющим модулем kqemu. Распаковываем в свою временную директорию:
$ mkdir temp
$ cd temp
$ tar zxvf qemu-0.7.2.tar.gz
$ cd qemu-0.7.2
$ tar zxvf ../kqemu-0.7.2.tar.gz
Эмулятор очень небольшой, но он потребует для своей работы некоторое количество пакетов, которые мы сейчас быстренько поставим (от рута):
# apt-get install libsdl1.2debian zlib1g libx11-dev libsdl1.2-dev texi2html sharutils libgpmg1-dev vgabios bochsbios

Обновлено: если у вас Debian Etch 4.0 и выше, нужен пакет proll

Это если ядро самосборное. Если нет - нам нужен ещё и компилятор вместе с заголовками ядра. К тем пакетам, что мы поставили выше, доставляем ещё:
# apt-get install kernel-headers-$(uname -r) gcc g++ make
Оно потащит за собой другие пакеты, и мы их тоже ставим. На всё требуется около 20Мб, что не так много за запуск других ОС. Самое важное - это чтобы среди пакетов оказались относящиеся к SDL, иначе QEMU откажется работать с графическим выводом.
Дальше в том каталоге, где у нас распакован QEMU, даём команду:
#./configure
И внимательно смотрим на её вывод - должно быть что-то вроде:

notebeast:/home/beast/temp/qemu-0.7.2# ./configure
Install prefix /usr/local BIOS
directory /usr/local/share/qemu

binary directory /usr/local/bin
Manual directory /usr/local/share/man
ELF interp prefix /usr/gnemul/qemu-%M
Source path /home/beast/temp/qemu-0.7.2
C compiler gcc
Host C compiler gcc
make make
host CPU i386
host big endian no
target list i386-user arm-user armeb-user sparc-user ppc-user i386- ppc-softmmu sparc-softmmu x86_64-softmmu mips-softmmu
gprof enabled no
static build no
SDL support yes
SDL static link yes
mingw32 support no
Adlib support no
FMOD support no
kqemu support yes
KQEMU Linux module configuration: kernel sources /lib/modules/2.6.15.7/build kbuild type 2.6
Смотрим внимательно, чтобы не тратить зря время: самые важные строчки отмечены красным полужирным шрифтом. Особенно первая и третья у вас должны быть в значении yes, иначе смысла собирать QEMU мало: значение no в первой строчке лишает вас возможности графического режима QEMU, значение no в третьей - у вас не будет ускоряющего модуля kqemu, без которого любая ОС будет запускаться в 5-10 раз медленнее.
Надеюсь, что у вас всё получилось - теперь собираем исходники компилятором. В той же директории, где мы находимся, пишем:
# make
По экрану побегут служебные записи, в которые вчитываться не обязательно. Главное, чтобы компиляция не прервалась словами Aborted, Fatal Error и прочими. Компиляция будет довольно длительной, даже на мощных машинах (P4 3GHz, 2Gb DDR = 10 минут).
Если всё кончилось хорошо, то пишем там же
# make install
Снова побегут строчки служебных записей, только их будет меньше. Компилятор распихал всё куда надо, и теперь мы почти готовы запалить QEMU. Надо активировать поддержку ускоряющего модуля kqemu, делаем так (тоже от рута):
# mknod /dev/kqemu c 250 0
# chmod 666 /dev/kqemu
# modprobe kqemu
Для надёжности проверяем командой
# lsmod | grep kqemu
Оно должно написать что-то вроде:
kqemu 39304 0
Всё, эмулятор QEMU собран, ускорение включено, и теперь..

...Ключ на старт!
Поехали! Достаём из-под кровати пыльный диск Windows XP и создаём "жесткий диск" для установки Windows XP:
$ qemu-img create mustdie.img 4096M
То есть: создать образ диска для QEMU размером 4Гб и именем winxp.img
Так, сделали. Теперь вставляем диск с Windows в CD-привод и пишем:
$ qemu -m 512 -hda mustdie.img -cdrom /dev/cdrom -boot d -localtime
То есть: запускаем эмулятор QEMU с выделением ему 512Мб памяти, жёстким диском в виде файла mustdie.img и реальным CD-приводом (в нём должен быть диск!) в виде ссылки на реальное устройство /dev/cdrom, загружаемся с компакт-диска (если хотим с "жёсткого диска" грузиться пишем -boot c) и в эмуляторе течёт реальное время (-localtime то есть то, что у нас в системе). Понятные установки? А вы говорили сложно будет...

Что ещё?
В следующих постах я расскажу о некоторых интересных моментах с QEMU, возможности заставить Windows шевелиться быстрее и возможностях доступа к "жесткому диску" эмулятора. Не забываем, что так можно поставить почти любую ОС.
В качестве развлечения можно запустить любой Linux LiveCD командой:
$ qemu -m 512 -cdrom /dev/cdrom
Или, если он уже на жёстком диске в виде исо-образа:
$ qemu -m 512 -cdrom knoppix.iso

Ссылки:

Замечательная статья, которая мне в своё время очень помогла, посвящена как раз установке QEMU на Debian-based дистрибутивы (на английском):
http://www.linuxquestions.org/questions/history/320569
Единственный форум, посвящённый полностью QEMU:
http://m2.dad-answers.com/qemu-forum/ и углубляемся в чтение, если остались вопросы.
Сравнение (несколько устаревшее, но интересное) с другими эмуляторами (для особо продвинутых): http://unix.ginras.ru/apps/gam001.html
Читать далее

Мониторинг состояния устройств в Linux



6 коммент.
На улице жара, и вентиляторы на полных оборотах едва справляются с охлаждением системы. Когда, бывает, откроешь крышку системного блока и прикоснёшься, например, к жёстким дискам, становится страшно - какая же температура на критичных компонентах? И как её измерить? Пост на тему утилит мониторинга для Linux.

Что будем мерять?
Имеется несколько утилит в составе Debian, которые могут помочь в мониторинге установленного в системе железа. Установка их не представляет труда, но перед этим надо систему соответственным образом настроить. Этого вполне достаточно, чтобы иметь представление о том, что происходит с системой.

Следует отметить, что поставленные утилиты будут выводить данные в консоли - при желании можно поставить любую графическую мордочку, которая будет выводить эти данные с любыми рюшечками и свистелками.

Подготовка системы
Для того, чтобы все установленные утилиты заработали, требуется иметь в ядре I2C и Hardware Monitoring включёнными монолитно, а так же модульно все драйверы для вашей материнской платы. Это всё, что относится к фирме-изготовителю материнки плюс обязательно скомпилируйте все модули lm*, например lm85.
Короче, в ядре должно быть:

Device Drivers | ---
I2C Support
| --- [*]
I2C support

I2C device interface
I2C Algorithms ---
I2C bit-banging interfaces I2C PCF 8584 interfaces
I2C PCA 9564 interfaces I2C Hardware Bus support ---
всё модулями
Miscellaneous I2C Chip support ---
всё модулями [ ]
I2C Core debugging messages
[ ]
I2C Algorithm debugging messages
[ ]
I2C Bus debugging messages
[ ]
I2C Chip debugging messages

Device Drivers
- Hardware Monitoring support

National Semiconductor LM63
National Semiconductor LM75 and compatibles
National Semiconductor LM77

National Semiconductor LM78 and compatibles

National Semiconductor LM80

National Semiconductor LM83
National Semiconductor LM85 and compatibles

National Semiconductor LM87

National Semiconductor LM90 and compatibles

National Semiconductor LM92 and compatibles


Можно сидеть и долго курить мануалы, а можно скомпилировать поддержку всех чипов модулями. Собрали ядро (как собрать ядро в Linux), поставили, загрузились. Теперь всё готово для решительной установки.


lm_sensors

Это проект поддержки мониторинга оборудования (температура, вращение вентиляторов, напряжения питания). Мониторинг этот осуществляется посредством обмена по шине SMB (System Management Bus). Кроме чипов мониторинга к этой шине могут быть подключены чипы EEPROM современных модулей памяти. Чипы мониторинга и датчики в настоящее время располагаются не только на M/B, но и на CPU и некоторых видеокартах (*).
Теперь как всю эту прелесть водрузить в Дебиане? Очень просто - ставим пакеты:
# apt-get install sensord lm-sensors
И все зависимости, которые он потянет. Теперь опять-таки от рута даём команду:
# sensors-detect
Не пугайтесь - она устроит вам допрос с пристрастием и будет перебирать все скомпилированные вами модули (вот зачем мы их все компилировали!) на предмет их соответствия вашим ресурсам. Пусть смотрит все шины - будет искать и по ISA, и по PCI, и везде, куда доберётся.
В результате утилита или "разведёт руками", или радостно обнаружит модули, подходящие к вашей плате. Если найдёт - скажет, какие и посоветует сразу их добавить в стартовые файлы. Добавляйте, чтобы потом не мучаться.
После чего можно уже от простого пользователя утилитой sensors получить информацию о том, как и что делается в вашей системе.


hddtemp
Это ещё не всё. Теперь черёд жестких дисков и их здоровья. Больше ничего компилировать нам не надо - всё уже есть. Осталось только дебианским проверенным движением:
# apt-cache search sensor | grep hdd
Получить то, что сейчас будем ставить:

hddtemp - Utility to monitor the temperature of your hard drive
Стало быть,
# apt-get install hddtemp
Оно совсем маленькое, но выполняет важную задачу - смотрит на температуру диска. У этой утилиты большое преимущество перед заточенными на s.m.a.r.t - она умеет общаться с дисками SATA. Вызов очень прост: hddtemp /dev/ваш_диск Вот так это выглядит для винчестера моего ноутбука:
# hddtemp /dev/hda
WARNING: Drive /dev/hda doesn't appear in the database of supported drives
WARNING: But using a common value, it reports something.
WARNING: Note that the temperature shown could be wrong.
WARNING: See --help, --debug and --drivebase options.
WARNING: And don't forget you can add your drive to hddtemp.db
/dev/hda: HTS421260H9AT00: 27C or F
Вполне прилично. Единственное, что если диск не значится в базе программы, будет страшно сокрушаться по этому поводу (выделено серым, чтобы в глаза не било). В остальном всё честно - температура харда в цельсиях. Удобно завернуть в скрипт и мониторить, например, через определённые интервалы времени.


smartctl
Всем хорош hddtemp, но уж чья сестра краткость - так это именно его. Зато True UNIXway - она делает только одно дело, зато очень хорошо. Если хочется большего, например, диагностики своего винчестера, смотрим в сторону утилит, поддерживающих S.M.A.R.T. Расшифровывается как Self-Monitoring, Analysis and Reporting Technology (SMART). Такая система встроена во многие винчестеры ATA-3 (и выше), IDE и SCSI.
Звучит громко, на самом же деле считывает данные о самодиагностике, которые предоставляют современные винчестеры. Умеет работать в режиме демона, и особенно хорошо смотрится на серверах: ресурсов ест мало, дело делает хорошо и информации может дать море.
Ставится очень просто - инстинктивным движением:
# apt-get install smartmontools
получаем в распоряжение демона (который будет запускаться и мониторить диски - или не будет, если не захотите) smartd. Демона по пустякам тревожить не стоит, для общения с пользователем есть его заместитель smartctl, вызов которого производится заклинанием:
# smartctl -i /dev/hda
Если у вас другой диск, соответственно, поправьте. После недолгих раздумий заместитель демона вас либо огорчит (нет поддержки SMART в вашем винчестере, или диск с SATA), или порадует:

smartctl version 5.34 [i686-pc-linux-gnu] Copyright (C) 2002-5 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF INFORMATION SECTION ===
Device Model: SAMSUNG SV2002H
Serial Number: 0395J1FR904324
Firmware Version: RA100-04
User Capacity: 20,060,651,520 bytes
Device is: In smartctl database [for details use: -P show]
ATA Version is: 6
ATA Standard is: ATA/ATAPI-6 T13 1410D revision 1
Local Time is: Tue May 2 15:44:09 2006 IST

SMART support is: Available - device has SMART capability.
SMART support is: Enabled

You can configure the smartd daemon by editing the file /etc/smartd.conf.
In above output the lines:
SMART support is: Available - device has SMART capability.
SMART support is: Enabled


Конфигурировать его можно через правку конфига в /etc/smartd.conf
К сожалению, он не поддерживает мониторинг SATA-дисков, зато с IDEшными хардами выдаёт кучу полезной информации. Это актуально для владельцев ноутбуков, например.


Графические утилиты мониторинга
Не всё нам консоль - мониторить состояние системы можно и в графической оболочке. Собственно, они являются фронтэндами перечисленных выше программ. Например, я использую:

torsmo - system monitor that sits in the corner of your desktop

Небольшая текстовая прозрачная менюшка, которая висит там, где ей скажешь, и обновляется через задаваемый промежуток времени. Очень удобно - один взгляд, и полное предтавление о системе. В Дебиане имеется, и ставится всем нам известным правильным движением.


Ссылки:
http://www.cyberciti.biz/nixcraft/vivek/blogger/2006/05/monitoring-hard-disk-health-with.php
http://citforum.ru/open_source/lm_sensor/
http://secure.netroedge.com/~lm78/supported.html
Читать далее

Бухгалтерия в Linux



17 коммент.
Бухгалтерия в Linux есть, и бухгалтерских программ под Linux тоже достаточно. Что имеется для решения этих проблем уже и что грядёт? Об этом - в данном посте.

Сначала - отечественные опенсорс-решения.


Открытая бухгалтерия iceB
Открытая бухгалтерия "iceB" разработана для работы под управлением POSIX-совместимых операционных систем (POSIX-название международного стандарта на операционные системы). Для разработки использовался язык
"С++". Находится в промышленной эксплуатации с 1992 года. В качестве базы данных используется база данных "MySQL".
Комментарий: Отзывы очень положительные, есть опыты успешной эксплуатации. Открытые исходники, GPL.
Ссылки:
http://www.iceb.vc.ukrtel.net/
http://www.osdn.org.ua/meetings/2002/0928/reports/iceb/
http://motivation.ru/mv_iceb.ru.html

Свободная реализация 1С - 1L

На сегодня (прим.: 2005 год) работают аналоги прикладных типов (v.8) Перечислени*, Констант* и Справочник*. Для минимального счастья осталось сделать Документ*, Журнал* и какой-то из Регистр*. Графики пока нет, все тренировки ведутся на базе живой базы (калабур) v.7, конвертированной в XML (конфа) и MySQL (данные). К сожалению, в соответствии с тем же планом при наличных ресурсах разработчиков (а они экстремально малы) нечто бета-тестируемое по расчетам появится только ч-з несколько лет.
Комментарий: Открытая реализация, бесплатно, GPL, состояние - тестирование, бета. На сайте новостей мало, оптимизма тоже.
Ссылки:
http://1l.w4b.ru/

Ananas
Ананас является программным обеспечением автоматизации учета. Ананас позволяет автоматизировать основные учетные операции. Ананас дружит с Windows и GNU/Linux. Ананас доступен бесплатно для установки на любое количество рабочих мест.
Комментарий: Открытый проект, GPL, бесплатно. Функциональность базовая, состояние - релиз.
Ссылки:
http://ananas.lrn.ru/


E/AS Automation Solutions
Целью проекта E/AS является создание и развитие системы по производству решений для потребителей информационных технологий. Программные продукты и документация в рамках проекта разрабатывается под лицензией GPL (GNU GENERAL PUBLIC LICENSE) версии 2, и открыт для всех желающих участвовать в разработке.
Комментарий: Открытый проект, GPL, развивается, состояние - релиз.
Ссылки:
http://eas.lrn.ru/



Millennium Business Suite Anywhere
Комплексная система управления предприятием Millennium Business Suite Anywhere ориентирована на использование в свободно распространяемых средах и средах с открытым кодом (Open Source). Данная версия системы является полностью кросс-платформенной, включая слои СУБД, сервера приложений и клиентской части.
Комментарий: Открытый проект, GPL, развивается, состояние - релиз.
Ссылки:
http://www.m-g.ru/


R2D2

Мультиплатформная, объектно-ориентированная среда для создания информационных систем управления различных назначений, включая многомерный бухучет, финучет и прочие "учеты". Основой программы является объектно-ориентированная база данных CODB и язык программирования CLIP . Собственно R2D2 представляет собой метаданные, загруженные в CODB и (в настоящий момент) CGI скрипты для доступа к этим данным.
Клиентская часть в настоящее время реализована на основе механизма GUI интерфесов Mozilla/FireFox/XulRunner - XPFE (XUL, JavaScript, CSS). Передача данных от сервера к клиенту осуществляется по протоколу HTTP в форматах RDF,XUL(XML),XHTML и объектах JavaScript. Есть положительный опыт внедрения, имеются дебиановские пакеты.
Комментарий: Открытый проект, GPL, развивается, состояние - релиз.
Ссылки:
http://www.itk.ru/r2d2/



Отечественные коммерческие решения:

Etersoft@Wine

В нашей стране многое поставлено на 1С - так вот, бухгалтерия 1С под Linux есть. Реализована возможность запуска таких программ, как 1С:Предприятие 7.7, 1С:Бухгалтерия 6.0, Консультант Плюс, Инфо-Бухгалтер, Кодекс, Референт, MS Office 97 и т.д. Поддержка работы 1С:Предприятие 7.7 и возможность совместной работы с файлами имеется только в коммерческой версии. Бесплатную версию можно скачать здесь http://etersoft.ru/download/WINE@Etersoft/WINE/
Комментарий:
Отзывы положительные, активно внедряется.
Ссылки:
http://etersoft.ru/

БЭСТ+
Кросс-платформенное решение для учета и управления предприятием, возможность подключения рабочих станций под ОС Windows и Linux с файл-сервером Linux через SMB-протокол (SAMBA) или IPX-протокол
Комментарий: Коммерческий пакет, который раньше был под DOS, а теперь имеет Linux версии своих продуктов. Говорят, даже дебиановские пакеты есть. Платный, состояние - релиз.
Ссылки:
http://www.bestnet.ru/program/best4+/


Зарубежные опенсорс-решения.

ERP5
ERP5 is a full featured high end Open Source / Libre Software solution published under GPL license and used for mission critial ERP / CRM / MRP / SCM / PDM applications by industrial organisations and government agencies.
Комментарий: Свободный проект Неизвестно о применении на территории России, возможны проблемы с локализацией.
Ссылки:
http://www.erp5.org/

Compiere
Compiere is open source ERP and CRM software that provides a seamless 360-degree view of your company, its customers and vendors. For years only large corporations have been able to enjoy the benefits of ERP applications. Now, Compiere ERP and CRM puts the power of timely and consistent communications within reach of small to medium-sized businesses by offering superior ERP.
Комментарий: Свободный проект. Неизвестно о применении на территории России, возможны проблемы с локализацией.
Ссылки:
http://www.compiere.org/

Tiny ERP
Tiny ERP is an open source application that boosts productivity and
profit through data integration. It connects and improves business
processes; sales, finance, supply chain, project management, inventory
control, ...
Комментарий: Свободный проект. Неизвестно о применении на территории России, возможны проблемы с локализацией.
Ссылки:
http://www.tinyerp.org/

Ещё ссылки на Linux-бухгалтерию и системы учёта можно найти на сайте E/AS Андрея Черепанова (большое спасибо за ценный комментарий!). Вот лишь некоторые из них:

Так же есть обзор ПО для Учета Торговли и Склада от тов. Tuxedo.

Читать далее

Как правильно задавать вопросы - Questions Mini HOWTO



7 коммент.
Тема поста одной фразой:
Сколько надо времени, чтобы что-то настроить в Linux?
Ответ: мало, если умеешь задавать вопросы.


Часто приходится тратить время и силы, чтобы объяснить человеку, что участники форума не телепаты и не видят того, что делается у вопрошающего. Поэтому позволю дать несколько простых рекомендаций:

1. Прежде, чем спрашивать, воспользуйтесь поисковыми системами!
Не ленитесь - вбейте в строку поиска Гугла или Яндекса краткое описание своей проблемы. Вы не поверите - уже написано грандиозное количество документации по UNIX-системам вообще и Linux в частности. Возможно, вы быстро найдёте решение своей проблемы. Как правило, в мире Linux кто-то где-то уже сталкивался с тем, с чем столкнулись вы, и уже описал решение.

2. Тоже, что в п.1, но есть ещё поиск на форуме!
Поиск - вообще прекрасная вещь, так что создатели форумных движков разместили поиск в частности по форумам. Очень часто люди задают одни и те же вопросы, не подозревая, что вот буквально на предыдущей странице вашу проблему обсудили до последней невозможности. Кроме поиска:
2.1 Пользуйтесь встроенной помощью unix-систем: если это возможно, прочитайте справку в по команде или программе: в консоли написать man имя_команды или info имя_команды. Если не знаете, какая команда нужна, наберите apropos свой_вопрос (на английском).

3. Вопрос должен быть сформулирован членораздельно!
Да, вы в отчаянии, вам очень плохо и грустно - но это не повод вешать нос. Представьте, что вы на приёме у врача - его тоже не устроит единственная фраза: "доктор, мне больно!". Дело осложняется ещё и тем, что мы оказываем вам помощь удалённо - и, в отличие от доктора, не можем провести диагностику непосредственно вашего "пациента"-компьютера.
Поэтому:

3.1 Внятно изложите суть проблемы: что случилось? что делалось незадолго перед этим? что вы пытались сделать для решения проблемы и к чему это привело? что приводит к проблеме (опишите ваши шаги)?

3.2 Подробно опишите вашу аппаратную конфигурацию: марка процессора? производитель материнской платы? объём оперативной/дисковой/видеопамяти? марка и объём жёсткого диска? а так же любая другая информация, связанная с вопросом

3.3 Назовите вашу операционную систему: как называется дистрибутив, его версия, версия ядра системы (можно посмотреть набрав в консоли uname -a), если собирали ядро сами - опять-таки версию и какие патчи накладывали (если такое было).

3.4 Опубликуйте вывод команд диагностики или скриншоты: напишите вывод команд, характеризующих работу вашей системы - это очень облегчит удалённую диагностику вашей проблемы. О том, как достать эти самые диагностические выводы читайте в этом посте, но на всякий случай:
lspci вывод всех устройств, подключённых к шине PCI
lsusb вывод всех устройств на шине USB
lsmod вывод всех модулей ядра

А так же прикрепите скриншоты (в разумном количестве), которые отображают вашу проблему.

4. Будьте терпеливы и внимательны!
Тем, кто отвечает на ваши вопросы, потребуется некоторое время на то, чтобы понять вашу проблему и попытаться помочь вам в её решении. Помните, что эти люди осуществляют помощь, как правило, на добровольных началах - в отличие от службы тех.поддержки. Поэтому будьте терпеливы, включайте фантазию, понимайте шутки (у многих своеобразное чувство юмора), не обижайтесь, если вас посылают (к манам, гуглу, или ещё дальше...) и внимательно читайте ответы, которые вам пишут.

5. Пишите о результатах и ходе работы!
Не партизаньте, пишите о том, какие из советов вам помогли, как продвинулись поиски решения вашей проблемы, что изменилось и всё, что относится к этому. Если решение найдено - не поленитесь его описать. Возможно, оно поможет кому-то ещё и в конце-концов осядет в каком-нибудь WiKi или HOWTO, которым смогут воспользоваться все остальные. Если проблема не решена - пишите всё, что пробовали и к чему привело. Будет на что ориентироваться.

6. Не отчаивайтесь!
Может быть, решение вашей проблемы уже набирается форумчанином, а вы уйдёте со страницы и никогда не узнаете, что вам ответили. Оставьте свои координаты (ссылку на домашнюю страницу, электронную почту, мобильный телефон) - чтобы вас известили, если кто-то найдёт решение проблемы. Если в Линукс что-то не заработало сегодня - очень может быть, что заработает завтра или чуть позже.

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

И помните: терпение и труд все настроят и откомпилят.
Читать далее

Совместимость оборудования с Linux: как в Linux с поддержкой оборудования?



12 коммент.
Время от времени покупается новое оборудование, и, конечно, хочется, чтобы он работало в Linux. Не то, чтобы свободное сообщество не умеет или не хочет поддерживать устройства - опыт показывает, что как раз может и умеет. Дело в жадных и глупых производителях, которые не хотят не только писать драйверы для своих железок, но и даже открывать спецификации на свои устройства. Обычно, если оборудование не работает в Linux, то такой производитель, как правило, вообще не заслуживает внимания.

В этом посте говорится о Linux и установке оборудования в линукс. Установить оборудование в Linux легко, и ниже приводится информация о ресурсах, которые в этом помогут.

Где найти информацию по совместимости устройств и периферии с Linux?
http://linux-wless.passys.nl/ - расширенная база WiFi-карт для Linux. Это самый полный ресурс по поддержке беспроводных сетевых карт в Linux, можно смотреть по производителям - и если поддерживается, то сразу даётся название драйвера.

http://www.sane-project.org/sane-mfgs.html - список сканеров в Линукс, которые поддерживаются подсистемой SANE. Список по моделям сканеров, работающих в Linux в зависимости от изготовителя. Градации совместимости: полная поддержка, частичная, базовая, нет поддержки. Также указывается, какой требуется backend для работы устройства.

http://openprinting.org/printer_list.cgi - база данных работающих принтеров в Линукс, поддерживаемых подсистемой печати CUPS, которая предоставляет в Linux драйвера для принтеров в Linux-дистрибутивах. Удобный поиск по моделям принтеров и по изготовителю. Градации совместимости: работает, работает почти, работает ограниченно, балласт.


Базы данных по категориям устройств
http://www.linuxcompatible.org/compatibility.html - база данных по всем устройствам, совместимых с Linux, начиная от звуковых карт и заканчивая принтерами и сканерами. Есть градации совместимости: работает отлично, работает большей частью, работают некоторые функции, балласт. База весьма обширна, время от времени обновляется создателями сайта. В любом случае, замечательный ресурс.

http://kmuto.jp/debian/hcl/ - база устройств, поддерживаемом ядрами 2.6.15 и выше. Просто копируем вывод lspci -n из консоли и получаем сведения о поддержке железа, находящегося на материнской плате.

http://www.linux-laptop.net/ - самый полный ресурс о работе Linux на ноутбуках. На странице приведена классификация по производителям, дальше - ссылки по моделям на конкретные страницы пользователей, рассказывающих, что и как они предпринимали для получения функциональности своих ноутбуков. Большинство информации на английском, но другие языки также присутствуют.

http://start.at/modem - большой ресурс по поддержке таких ущербных устройств, как винмодемы. Оказывается, из этого балласта тоже можно кое-что извлечь: приведён внушительный список поддерживаемых устройств.

http://www.phoronix.com/lch/ - пользовательская база данных поддерживаемых устройств. Начинает наполняться, вы тоже можете принять в этом участие. Есть RSS-потоки как по конкретному виду железяк, так и по всем сразу.

http://www.freesource.info/wiki/HCL?v=6j7 - замечательный ресурс по устройствам в Линукс со ссылками на HOWTO и "как настроить". На странице - классификация по типам устройств, далее - ссылки на то, как настроить и какие могут возникнуть проблемы. Так же имеются ссылки на общую информацию по данным устройствам. Очень познавательно. Есть RSS-лента на новости сайта (новая документация).

http://cdb.suse.de/?LANG=en_UK - список устройств, совместимых с SuSE Linux. Обновляемая база совместимых устройств с SuSe Linux. Как правило, и в других дистрибутивах эти устройства работают тоже.

http://www.linuxtested.com/- совместимость и работа устройств по дистрибутивам. На сайте есть информация о тестировании устройств в следующих дистрибутивах: SuSE, Redhat / Fedora, TurboLinux, Debian, Mandrake.

http://www.linux.org/hardware/ - аппаратура, работающая в Linux. Список не полон, но может быть полезен - есть информация об экзотическом железе, для которого есть поддержка в Linux.

http://www.linux-drivers.org/ - ссылки на множество ресурсов, посвящённых совместимости с Linux. Большое количество ссылок на ресурсы и поддержке железа в Linux.

http://hardware4linux.info/ - каталог linux-совместимого аппаратного обеспечения, деление по категориям: "работает прямо из коробки", "работает с модификацией", "неизвестно", "работает частично" и "не работает". Достаточно большая и постоянно обновляемая база данных по устройствам.

http://www.linmodems.org/ - база данных по поддержке таких порочных устройств, как вин-модемы. В них вся основная деятельность перекладывается на драйвер, написанный под вы-сами-знаете-какую-систему. Как следствие, на устройстве "мозгов" почти нет, как их нет и у производителей таких устройств. Усилиями свободных программистов, многие из этих устройств можно заставить работать в Линукс.
Читать далее

Событие: Убунта с shipit.ubuntu.com



15 коммент.
Сегодня, почти через полтора месяца после заказа дисков, пришли два больших конверта по 10 дисков Ubuntu Drapper Drake 6.06 в каждом. Конверт изнутри обклеен пупырчатым полиэтиленом, чтобы при пересылке диски не повредились.

И к вам может прийти что-то подобное, но быстрее - диски с Ubuntu Linux и репозиториями к ней можно заказать у меня тут. И не только Убунту, но и Debian, Slackware, OpenSUSE...


Диски упакованы в бумажные конвертики с пояснениями на английском - очень удобно раздавать на разного рода поинтах, встречах и просто друзьям и знакомым. Кроме того, обнаружились три комплекта наклеек (видимо, на компьютер) с фирменным Убунтовским логотипом.


Так что теперь буду раздавать всем желающим и имеющим компьютеры, до которых только смогу добраться.
Заказать диски можно на официальном сайте или у меня (что быстрее - обычно около 10 дней), с удовольствием пропалю их вам на болванки и передам/перешлю.
Читать далее

Настройка TV Tuner Beholder BeholdTV 409FM в Linux



25 коммент.
Несколько слов по настройке TV Tuner в Linux. Не то, чтобы я часто смотрел телевизор, но вот, например, идёт Формула-1 Гран-При Китая - в восемь утра вставать не хочется... Поставил на запись, посмотрел, порадовался.


Описанный ниже метод настройки ТВ Тюнера Behold TV 409 FM подходит и для установки других устройств такого типа - отличаться будут только параметры, передаваемые модулям тюнера. Пост в основном написан под влиянием статьи Настройка тюнера BeholdTV 409 FM в Linux.


Настройка TV Tuner в Debian
Если у вас дистрибутивное ядро, скорее всего, там уже всё включено и отмечено. В логах (ответ на команду dmesg в консоли) должно появиться что-то вроде:
saa7130/34: v4l2 driver version 0.2.14 loaded
ACPI: PCI Interrupt 0000:06:02.0[A] -> GSI 18 (level, low) -> IRQ 18

saa7133[0]: found at 0000:06:02.0, rev: 240, irq: 18, latency: 32, mmio: 0xdfeff800

saa7133[0]: subsystem: 0000:4091, board: Beholder BeholdTV 409 FM [card=67,autodetected]

saa7133[0]: board init: gpio is c0c000

input: saa7134 IR (Beholder BeholdTV 4 as /class/input/input3

saa7133[0]: i2c eeprom 00: 00 00 91 40 54 20 00 00 00 00 00 00 00 00 00 01

saa7133[0]: i2c eeprom 10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff

saa7133[0]: i2c eeprom 20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff

saa7133[0]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff

saa7133[0]: i2c eeprom 40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff

saa7133[0]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff

saa7133[0]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff

saa7133[0]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff

tuner 1-0060: All bytes are equal. It is not a TEA5767

tuner 1-0060: chip found @ 0xc0 (saa7133[0])

tuner 1-0060: type set to 38 (Philips PAL/SECAM multi (FM1216ME MK3))

tda9887 1-0043: chip found @ 0x86 (saa7133[0])

saa7133[0]: registered device video0 [v4l2]

saa7133[0]: registered device vbi0

saa7133[0]: registered device radio0
У вас эти диагностические данные могут быть другими, но принцип тот же. Полужирным цветным я выделил главное:
  • Имя драйвера - saa7133
  • Название тюнера - Beholder BeholdTV 409 FM и номер карты card=67
  • Номер драйвера для тюнера tuner 1-0060: type set to 38 (Philips PAL/SECAM multi (FM1216ME MK3))
Итак, эти цифры нужно записать \ запомнить. Дело в том, что по умолчанию ставится формат вещания PAL, но в России принят SECAM - и если вы это не измените, то при включении программы просмотра передач с тюнера увидите чёрно-белое изображение без звука и с шумами.

Чтобы сообщить модулю тюнера, что нам нужен SECAM, нужно его выгрузить и загрузить с нужными параметрами.
В случае ТВ Тюнера Beholder BeholdTV 409FM параметры такие:
rmmod saa7134
modprobe saa7134 tuner=63 card=67

rmmod tda9887

modprobe tda9887 secam=d

chmod 777 /dev/video0
Если у вас ядро версии 2.6.18 и выше, следует передать такие параметры:
rmmod saa7134
modprobe saa7134 tuner=63 card=67

rmmod tuner

modprobe tuner secam=d

chmod 777 /dev/video0
Что мы сказали модулю? Что у нас конкретный тюнер и карта (вторая строчка), и что мы живём в замечательной стране со стандартом телепередач SECAM (если картинка ч/б и с шумом - значит, вы поставили PAL, который есть стандарт для остального мира), и что
телевизор хотят смотреть все, а не только рут (последняя строка). Всё, теперь почти готово.

Обратите внимание, что у вас в каталоге /dev должно появиться устройство video0 - это и есть ваш тюнер, именно его будут использовать программы. Очень часто проблемы с тюнерами появляются из-за неправильных прав доступа к этому файлу, /dev/video0. И для этого следует сделать
sudo chmod 777 /dev/video0
Естественно, если у вас другой тюнер - вместо saa7134 надо поставить подходящий и
параметры передавать другие. Всё вышеперечисленное работает для BeholdTV409FM и ядер по крайней мере свежее 2.6.15.

Если у вас самосборное ядро
Для этого в ядре требуется поддержка I2C и Video4Linux, а так же драйвера для тюнера. Следует особо отметить, что один модуль ядра поддерживает чип, на котором построен тюнер - куча тюнеров могут быть построены на одном и том же чипе.
Так что собираем i2c и
Video4Linux монолитно, поддержку его протоколов I2C и драйвера видеочипов модулями. Если не знаете, какой драйвер нужен, то
lspci
вам в этом поможет. И вообще, о логах не стоит забывать, как и о том, что к ядру Linux, в разделе Documentation и подразделе video4linux содержится полный список тюнеров, поддерживаемых данной версией ядра. Дальше всё по описанию с дистрибутивным ядром - передача параметров модулю и установка софта.

Если TV Tuner не работает...
Сверьтесь с документацией по ядру, которое установлено в данный момент - там должен быть ответ на вопрос, поддерживается ваш тюнер или нет (или просто поставьте самое свежее ядро из репозиториев). Документация находится здесь: /usr/src/linux-2.6.zz.z/Documentation/video4linux где вместо zz.z стоит версия вашего ядра (узнать его можно, набрав uname -a).
Внутри этого каталога вы найдёте несколько файлов с именами CARDLIST.yyy, где yyy - это имя драйвера. Откройте эти файлы и поищите в них по названию вашего тюнера. Если его там не окажется - ставьте новое ядро.

В этих же файлах есть номера карт - вот например, для моего Бехолдера это:
./video4linux/CARDLIST.saa7134

...
67 -> Beholder BeholdTV 409 FM [0000:4091]
...
Это и есть номер карты - который мы передаём в команде
modprobe saa7134 tuner=63 card=67

Так же будет файл под названием CARDLIST.tuner - он должен быть один. Там внутри - номера тюнеров разных карт. В выводах dmesg это можно увидеть:
tuner 1-0043: chip found @ 0x86 (saa7133[0])
tda9887 1-0043: tda988[5/6/7] found @ 0x43 (tuner)
tuner 1-0060: All bytes are equal. It is not a TEA5767
tuner 1-0060: chip found @ 0xc0 (saa7133[0])
tuner 1-0060: type set to 38 (Philips PAL/SECAM multi (FM1216ME MK3))
Стало быть, номер тюнера - 38 (это опять-таки для моего Бехолдера409). Это есть в файле CARDLIST.tuner:
tuner=38 - Philips PAL/SECAM multi (FM1216ME MK3)
Но этот номер должен сообщить драйвер тюнера.

Здесь можно спросить: а почему это не делается автоматом? Ответ: автоматом всё делается, но по умолчанию ставится PAL - а нужен SECAM. Наша страна пошла своим путём, и не Linux в том вина :-)


Поиск телеканалов
Теперь осталось поставить программу для просмотра телепередач. Запускаем с балкона приложенные к тюнеру диски с софтом для Windows и, пока они летят, ставим:
aptitude install tvtime
Это одна из лучших программ в своём роде (tvtime, xawtv, zapper). Лично мне показалась наиболее удобной программа tvtime - много настроек, грамотный интерфейс и куча возможностей.

После установки программы tvtime нужно поискать телеканалы (от простого пользователя):
tvtime-scanner --norm=SECAM
которая пробежится по всем доступным диапазонам частот и поищет телеканалы. Выглядит это так:
Reading configuration from /etc/tvtime/tvtime.xml
Reading configuration from /home/penta4/.tvtime/tvtime.xml
Scanning using TV standard SECAM.
Scanning from 44,00 MHz to 958,00 MHz.
Found a channel at 59,50 MHz (58,25 - 60,50 MHz), adding to channel list.
Found a channel at 63,00 MHz (62,75 - 63,00 MHz), adding to channel list.
Found a channel at 77,50 MHz (77,25 - 77,50 MHz), adding to channel list.
Found a channel at 79,75 MHz (79,50 - 79,75 MHz), adding to channel list.
Found a channel at 85,50 MHz (84,25 - 86,50 MHz), adding to channel list.
Found a channel at 111,50 MHz (110,25 - 112,50 MHz), adding to channel list.

После этого запускаем tvtime, и отключаем некоторые опции, правая кнопка мыши - Channel management:
  • Активировать все каналы
  • Отключить обнаружение входного сигнала
Пройдитесь по каналам, переупорядочите их под свой вкус и насаждайтесь.
Имейте в виду, что ТВ Тюнеры (особенно внутренние), как правило, находят меньше каналов, чем обычные телевизоры, или с некоторыми шумами. Это связано с меньшей чувствительностью и большей подверженности наводкам и помехам внутри корпуса компьютера.
В результате у вас в домашней директории появится каталог .tvtime, где будут прописаны все найдённые каналы. Дальше всё просто. Набираем tvtime и наслаждаемся результатом.

Если звука нет, можно соединить аудиовыход тюнера и микрофон звуковой карты.

Если нужно записывать данные с ТВ Тюнера в Linux и сжимать их, читаем этот пост.

Ссылки:
http://www.citforum.ru/hardware/articles/tv-tuning/
http://pctuner.ru/forums-m-posts-p-27057.html#27057
http://knoppix.ru/forum3/viewtopic.php?p=23151&
http://pctuner.ru/forums-m-posts-p-21328.html#21328


Читать далее

Переход с XFree на X.org



4 коммент.
Имеется ноутбук Asus M5200AE с видеокартой Intel GMA 900, на котором работает Debian v3.1 Sarge и естественно XFree v4.3.0.1.

Проблема: для нормальной работы видеоадаптера есть драйвер i810 (для моей карты), но он её не поддерживает. Заявлена поддержка в X.org v6.9.0 и выше. Сейчас драйвер vesa, всё прекрасно - кроме видео, которое процессор вытаскивает просто на зубах.

Задача: требуется поставить X.Org из backports, чтобы не засорять систему пакетами из testing и не ломать зависимости почём зря

Решение: в /etc/apt/sources.list добавляем адрес

deb http://www.backports.org/debian/ sarge-backports main

Далее пишем

#apt-get update

Далее apt-get install xserver-xorg

Всё прошло гладко - только почему-то конфигуратор спрашивал про видеоадаптер трижды. APT снёс XFree, заботливо сохранив конфиг и даже сделал копию для x.org - после старта новых иксов все настройки сохранились и драйвер i810 заработал. glxgears выдают на-гора 600 FPS, видео идёт с потреблением процессорного времени на уровне 4-5%.

Короче, Debian Sarge X.org с бэкпортов воспринимает без геморроя. На глаз новые иксы пошустрее. Проблем пока не замечено.
Читать далее

Как настроить звук в Linux



44 коммент.

Настроить звук в Linux достаточно просто, особенно в Debian, для чего требуется установить ALSA [?] и запустить скрипты автоматической настройки - и всё! А если в Linux нет звука - значит нужно запустить скрипты настройки alsaconf и заодно сходить на официальный сайт ALSA и поинтересоваться с поддержке вашей звуковой карты в Linux. Об этом и рассказывает данный пост.

Да будет звук!
Для начала надо поставить все пакеты, относящиеся к ALSA. Как всегда, используем от рута команды:
# apt-cache search alsa
# aptitude install alsa-utils alsa-base alsa-tools
В результате этого должны появиться по крайней мере две очень полезные программы alsaconf и alsamixer.

Если в дистрибутивном ядре не оказалось поддержки нашей карты, пересобираем ядро (читая эту статью), выкидывая из него лишнее и включаем ALSA монолитно в ядро, а драйвера к звуковой карте (картам) модульно. Сие последнее очень важно, иначе alsaconf ничего не отыщет.

После чего (собрали ядро, включили драйвер модульно, поставили все пакеты ALSA) от рута:
# alsaconf
или (в новых версиях Debian)
#
alsactl init
При этом появляется псевдографический мастер настройки и, сканируя все возможные шины и адреса, находит звуковую карту. Конфигурирует, прописывает что и куда надо - получаем сообщение HAVE A LOT OF FUN!

Далее надо глянуть в настройки самого микшера. Лучше всего запускать не kmix (не у всех он есть), а alsamixer (я его использую как штатный микшер). По умолчанию в Дебиане при первой загрузке после обнаружения звука все палочки в микшере выведены на ноль. Поднимаем уровень звука в Linux клавишами ВВЕРХ, наслаждаемся звуком. Решение с alsamixer подкупает своей универсальностью: им можно пользоваться и в иксах, и в консоли, и с любым оконным менеджером/средой.

Если вы настроили звуковую подсистему или какая-то нехорошая программа заблокировала доступ к звуковой карте, закройте все использующие звук приложения и в консоли дайте команду от рута (или через sudo):
# /etc/init.d/alsa restart
Это перезапустит звуковую подсистему, и перезагружаться не нужно. Всё, наслаждаемся звуком.

Если же вы обнаружили, что громкость слишком низкая\высокая или микрофон в Linux не работает, отрегулировать громкость в Linux можно штатным конфигуратором alsamixer в консоли:
alsamixer -V all
Это даст вывод всех каналов звуковой карты, так что настроить можно будет всё, от колонок до микрофонов.

Звук только под root!
Если кто-то начудил с правами доступа, то звук проигрывается только под root, а у простого пользователя звука не будет. При этом попытка запустить микшер может сопровождаться ошибками:
Sound server informational message:
Error while initializing the sound driver:
device: default can't be opened for playback (Permission denied)
The sound server will continue, using the null output device.
Для того, чтобы пользователи могли тоже слушать музыку, даём права на аудиоустройства:
chmod 755 /dev/dsp*
chmod 755 /dev/audio*
chmod 755 /dev/mixer*
chmod 777 /dev/snd/*
После этого звук должен воспроизоводиться и у пользователей. Есть так же и другой путь побороть проблему "звук только от root": добавить текущего пользователя в группу audio. Имя текущего пользователя можно узнать командой whoami. Далее:
#adduser вашеимяпользователя audio
Изменения вступят в силу после того, как вы перелогинитесь (войдёте в систему снова, log-out и затем log-in).

Громкость звука в Linux

Легко и просто: у драйвера звука alsa имеется командный микшер amixer и его можно использовать для увеличения\уменьшения уровня звука.
amixer -c 0 -q set Master 3%+ unmute <-- сделать громче на 3%
amixer -c 0 -q set Master 3%- unmute <-- сделать тише на 3%
Эти команды легко прикручиваются к горячим клавишам того же hotkey.

Для любителей графических интерфейсов: помимо программы kmix, есть ещё маленькая, но очень хорошая GTKшная программа VolumeIcon (спасибо комментаторам за наводку). В репозиториях нет, но на сайте есть дебиановский пакет, исходники и простые инструкции по установке.

А чем слушать музыку в Linux?
Аудиоплееров в Debian хватает - пишем в консоли:
apt-cache search audio player
и выбираем из этого богатства что-нибудь. Музыку слушать в Linux можно программами:
  • xmms: очень похожий на WinAmp аудиоплеер, с кучей возможностей, плагинов, поддерживает MP3/Ogg, wav, воспроизведение audioCD, управление с клавиатуры и другое.
  • beep-media-player: то же, что xmms, только интерфейс чуть красивее и дружит с UTF8.
  • mocp - консольный плеер с интерфейсом в стиле Norton Commander; играет, даже если вы выйдете из графической оболочки.
  • rhythmbox: простой и функциональный плеер для среды GNOME.
  • amaroK: навороченный плеер и каталогизатор музыки для KDE.
Для начала можно установить несколько плееров аудио в Linux так:
apt-get install beep-media-player xmms rhythmbox amarok
и наслаждаемся.
Читать далее