Показаны сообщения с ярлыком Gentoo. Показать все сообщения
Показаны сообщения с ярлыком Gentoo. Показать все сообщения

понедельник, 9 мая 2016 г.

Установка Linux на устройства на базе Intel Baytrail

Описание процесса установки Gentoo Linux на планшет-трансформер Aser Aspire Switch 10. Часть 1 - создание загрузочного носителя.

Описание особенностей железа

Планшет-ноутбук Acer Aspire switch 10E с аппаратной точки зрения обладает рядом интересных особенностей:
 - UEFI без CSM-режима, т.е. загрузка возможна только через UEFI-режим,
 - UEFI 32х разрядный, хотя процессор поддерживает режим x64,
 - Внутренний накопитель emmc, подключеный по SDIO (не традиционному sata) интерфейсу,
 - WiFi адаптер Realtek 8723BS, подключеный так же через SDIO,
 - Обмен между самим планшетом и док-станцией осуществляется, похоже, через USB3.0 - и уже в док-станции есть USB 2.0 хаб.

четверг, 26 декабря 2013 г.

Медиаплеер из Raspberry Pi

Сегодня у меня, наконец, заработал звук в Raspberry Pi под Gentoo linux, ура!

Раньше сама система работала устойчиво и не зависала, однако попытка проиграть какой-либо звук заканчивалась выводом в dmesg сообщений типа: [AO_ALSA] Playback open error: Operation not permitted, за которыми следовало зависание системы. Порывшись на форумах, я понял, что весь вопрос - в загрузочных файлах (похоже, в файле start.elf), который инициализирует железо при запуске системы. Для устранения проблемы идём на github, скачиваем весь проект firmware в виде zip, распаковываем его, и копируем все файлы, кроме тех, что начинаются с kernel*, в директорию /boot на нашем Pi (вообще, похоже, что играет роль один файл - start.elf, остальные я скопировал только из соображений перестраховки), после чего перезагружаем Pi. Ура, заработало!

Однако, просто рабочий звук - это хорошо, но мало, надо бы добавить функциональности, сделать из Pi медиаплеер, например, для прослушивания интернет-радио. Для этого отлично подойдёт MPD. Устанавливаем его как обычно:

emerge -av mpd

Проверьте USE-флаги, нам потребуются alsa, network, tcpd, остальные - по желанию.
После установки - нужно запустить демона, и добавить его в автозапуск

rc-update add mpd default && /etc/init.d/mpd restart

Теперь у нас есть работающий MPD на Pi, дело за малым - за клиентом.

Клиентов для MPD есть огромное множество. Я для себя выбрал Cantata для ПК, и  MPDroid - для смартфона. Настройки клиентов очень просты, нужно указать только IP-адрес MPD-сервера, и пароль, идентичный указанному в /etc/mpd.conf на сервере.

Интерфейс Cantata

Первая хороша тем, что имеет списочек интернет-радиоканалов, доступный по кнопке "потоки". Накидываем интересующие каналы в правое окно, запускаем проигрывание и закрываем Cantata, можно вообще выключить ПК - дальнейшее управление можно осуществлять со смартфона.
Приятного прослушивания! 

среда, 10 июля 2013 г.

Собираем ядро и настраиваем звук в Gentoo на Raspberry Pi

В этой заметке я обобщу свой длительный опыт "борьбы" с пересборкой ядра Gentoo Linux на Raspberry Pi.

Итак, вы хотите пересобрать ядро, например для того, чтобы заработал звук. Приступим!

1) Вместе с образом Gentoo на Pi идут тексты старого (3.2.*) ядра, они лежат в /opt/raspberrypi/, и имеют размер порядка 1Гб. Для экономии места на SD-карте, целесообразно удалить их.

2) Собирать ядро будем через genkernel, вытягивать тексты - через git (обычное, vanilla-ядро работать НЕ будет, нам нужно ядро, содержащее в себе патчи для raspberry pi). Устанавливаем необходимые инструменты:

root # emerge --ask git genkernel

3)После того, как git и genkernel установились, скачиваем тексты ядра, я предлагаю скачать прямо в /usr/src:

root # cd /usr/src
root # 
git clone --depth 1 git://github.com/raspberrypi/linux.git

После успешного выполнения этих команд, получаем в /usr/src/linux исходные тексты ядра, которые подойдут для нашего Pi. Осталось собрать!

4)Собираем ядро. Как показывает практика, если сразу вызвать меню настроек ядра (menuconfig), и повключать множество всяких опций, есть хорошие шансы того, что ядро не скомпилируется, вылетит с какой-либо ошибкой. По этому, сначала просто обновим ядро до актуальной версии:

root # genkernel --kernel-config=/proc/config.gz kernel

Эта команда будет выполняться порядка нескольких часов, было бы разумно оставить её работать на ночь. В результате её работы мы получаем в /boot следующее:


Как можно видеть, появились файлы kernel-genkernel-arm-3.6.11+, initramfs-genkernel-arm-3.6.11+ и System.map-genkernel-arm-3.6.11+ (версия может отличаться, зависит от того, что было скачано из git) - это и есть новое ядро. Осталось добавить его в настройки загрузки.
Настройки загрузки лежат в /boot/config.txt, нам нужно в конец файла дописать следующую строку:


kernel=kernel-genkernel-arm-3.6.11+
(там может вообще не быть строки kernel=..., это нормально, просто дописываем строку с указанием на новое ядро в конец файла)

Сделать это можно или текстовым редактором (nano -w), или командой:

root # echo "kernel=kernel-genkernel-arm-3.6.11+" >> /boot/config.txt

Первый шаг сделан, после этого мы уже имеем обновлённое ядро. Перезагружаемся:

root # reboot

После перезагрузки факт обновления ядра можно увидеть через команду uname -a

5)Конфигурируем новое ядро под себя.
Конфигурирование ядра уже проходит несколько проще, чем обновление. Нужна всего одна команда:

root # genkernel --kernel-config=/proc/config.gz kernel --menuconfig all

После выхода из menuconfig начнётся сборка и установка ядра, ничего нигде прописывать больше не нужно.

Вот пара моментов, на которые стоит обратить внимание при настройке ядра:

1) Нужно включить поддержку сжатой initram fs, иначе при сборке появится ошибка. Для включения идём в General Setup, и включем поддержку, как на картинке:


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


После настройки ядра можно попробовать включить звук. Для этого нам нужно установить alsa-utils:

root # emerge alsa-utils

После установки, пробуем подключить модуль, отвечающий за звук:

root # modprobe snd_bcm2835

Для проверки работы alsa запустим alsa-mixer:

root # alsamixer

Должна быть примерно такая картинка:


Если оно так - УРА, звук заработал! Если вылезло сообщение об ошибке - скорее всего, не собран модуль ядра, запускаем конфигурацию, и внимательно исследуем секцию device drivers->sound devices
Звуковая система у Pi имеет несколько выходов (HDMI, джек 3.5мм), и возможна ситуация, когда плеер музыку играет, но звука нет - это может быть из-за того, что выбран не тот выход, который есть по факту. Выбор выхода производится так:

Автоматический выбор выхода:
root # amixer cset numid=3 0

Ручной выбор - выход 3.5мм:
root # amixer cset numid=3 1

Ручной выбор - выход HDMI:
root # amixer cset numid=3 2

Для того, чтобы каждый раз не набирать команды руками - стоит создать в /etc/local.d файлик с именем типа 02_local.start, сменить ему права на 755 (командой chmod 755 /etc/local.d/02_local.start), и вписать в него те команды, которые должны быть выполнены при запуске системы.

понедельник, 13 мая 2013 г.

Использование Google Drive в Linux

Подключаем Google Drive в Linux на манер Dropbox.

Google предлагает для своего диска (Google drive) офицальные клиенты под Windows, iOS, Android, но не для Linux. Однако, есть неофицальный клиент grive, c помощью которого можно настроить синхронизацию какой-либо папки в системе с google drive - и получить некое подобие dropbox, только с большим количеством свободного места.

понедельник, 15 апреля 2013 г.

Использование ZRAM в Gentoo Linux

Linux обладает одной интересной возможностью - возможностью создания в части оперативной памяти сжатой области, в которой возможно расположить раздел подкачки (swap). Благодаря сжатию этой области, в том же объёме оперативной памяти можно разместить больше (в 3-8 раз) данных, правда ценой некоторой потери скорости (сжатие требует процессорного времени), однако потеря скорости практически незаметна в сравнении с потерей скорости при подкачке с физического диска. 

понедельник, 18 марта 2013 г.

Переход от Mysql к MariaDB в Gentoo


Быстро и просто переходим от использования СУБД Mysql на использование MariaDB в Gentoo.

понедельник, 14 января 2013 г.

Установка Gentoo linux на Raspberry Pi

Итак, у меня появилась такая игрушка, как Raspberry Pi, и желание использовать её как девайс для управления освещением, для начала. Логика проста - она почти не потребляет энергии, в отличие от "обычного" компьютера, и на неё вполне можно "навесить" файлохранилище (подключив обычные SATA-жёсткие диски через преобразователь usb-sata (типа такого - http://chinawebshop.ru/product_44388.html )), да и мультимедийные функции, типа проигрывания интернет-радио, или музыки через mpd, она потянет на "ура". К слову, управление mpd вполне возможно с android-платформы, что даёт нам возможность управлять музыкой дома с телефона или планшета. Заманчиво? Тогда приступим!