Настройка майнинга на Ubuntu 12.04 LTS
Данную статью в первую очередь постарался писать в расчёте на новичков даже тех кто раньше никогда не пользовался Linux. (хотя возможно будет полезна и не только новичкам т.к. в некоторых местах содержит несколько неочевидных деталей).
Если Линукс не установлен(если установлен, то можно пропустить эту часть):
Скачать последний стабильный релиз:
http://mirror.yandex.ru/ubuntu-releases/12.04.2/
(По своему опыту советую ставить именно стабильный LTS-релиз, а не 12.10 или 13.04)
Доступна как прямая закачка так и через BitTorrent.
i386 -- 32 бит, amd64 -- 64 бит
desktop -- система загрузится в режиме LiveCD и установка будет происходить оттуда. alternate -- это образы с текстовым установщиком, очень полезны при устаноке на старое железо(явно не наш случай), также она будет интересна тем, кто хочет и умеет выполнить более тонкие настройки при установке.
Если устанавливаете в первый раз, рекомендую desktop.
После закачки три варианта дальнейших действий:
1) Записать образ на DVD-болванку и загрузка с неё. (http://help.ubuntu.ru/wiki/unetbootin#настройка_параметров_bios)
2) Делаем загрузочную флешку с помощью UNetbootin и скаченного образа. (http://help.ubuntu.ru/wiki/unetbootin#настройка_параметров_bios )
3) Для гиков: установка на голое железо через виртуальную машину:
sudo kvm -m 512 -cdrom /путь_к_образу/образ.iso /dev/sda -boot d
(с помощью ключа -m указывается количество оперативки которое будет выделено эмулятору).
Независимо от способа, во время установки желательно иметь рабочий подключённый интернет. Он потребуется для докачки полной локализации и несвободных пакетов.
Сама установка довольно интуитивно понятна, а в её начале можно выбрать практически любой из языков мира.
Единственный неочевидный момент это разбивка диска. Я рекомендую выполнить её вручную перед запуском установки при помощи программы Gparted(уже будет инсталирована на LiveCD-системе). А при установке выбрать пункт "разбивка вручную" и указать точки монтирования.
Самый простой вариант: отрезать с помощью Gparted кусок свободного места и создать там новый раздел с файловой системой по вкусу. А при установке назначить разделу точку монтирования "/" (корневой каталог). Если оперативки меньше 2 гигов, желательно создать ещё и раздел подкачки (swap).
По умолчанию используется ext4. Если планируете использовать там "толстый" биткоин-клиент, то имеет смысл использовать ФС Reiser4(нету в ядре, нужно доустановить) возможно лучше подойдёт для более быстрой синхронизации базы. Также очень неплохую производительность имеет Btrfs, хотя многие считают её до сих пор "сырой". В любом случае не забывайте про своевременный бэкап важных файлов.
Установщик Wubi(для установки из под Windows) я не рекомендую он не производит установку на полноценный отдельный раздел, используйте его только в крайнем случае, если не умеете выполнять разбивку диска.
После окончания установки уходим в ребут.
При необходимости настраиваем русскую раскладку:
Внимание! Если система установлена на русском, пишем "раскладка" и "клавиатура" на русском (в 12.04(не 12.04.2) был баг(или неправильная фича), когда после установки с выбором русского языка были 4 русских раскладки(разных версий) и ни одной английской. Нужно было удалить лишние русские раскладки и добавить английскую). Если в 12.04.2 этот баг исправили(при установке с русской локализацией будут две раскадки: русская и английская), то это этап постустановочной донастройки не нужен.
Переходим непосредственно к настройки майнинга.
Устанавливаем проприетарные драйвера на видеокарту:
Также, как и в случае с раскладкой Если система на русском, то в поиске пишем 'др' вместо 'dr'
Ставим стабильную версию дров. Никаких экспериментальных версий!
Выбираем версию выделенную на скриншоте и жмём "активировать".
Открываем эмулятор терминала:
Пишем в поике "terminal" или "терминал" (в зависимости от языка системы). Когда он откроется, желательно закрепить кнопку для его запуска на левой панели(правая клавиша мыши по значку и выбор соответствующего пункта меню).
Обновляем систему:
sudo apt-get dist-upgrade
Потребуется пароль, который был выбран при установке, при его вводе звёздочки отображаться не будут.
Если пароль введён верно, будет запрошено подтверждение, вводим 'y'.
Приписка dist означает, что ядро тоже нужно обновить.
Установка проприетарных дров и обновление ядра это единственное на что система может попросить перезагрузку.
Устанавливаем дополнительные пакеты:
sudo apt-get install fglrx g++ libboost-all-dev python-numpy thunar openbox tint2 obmenu menu
Последние пакеты позволят запусть майнинг не в Unity, а в более легковесной среде Openbox, которая позволить "выжать" из рабочей видеокарты практически столько же мегахешей, сколько дают карты без монитора. Или позволит комфортно работать вплоть до просмотра видео в FullHD, при совсем незначительном снижении агрессии или интенсивности на рабочей карте.
Thunar -- легковесный файловый менеджер, замена имеющемуся по умолчанию Nautilus. Несмотря на легковесность имеет пару серьёзных преимществ.
Во-первых находясь в определённом каталоге можно через контекстное меню, вызываемое правой кнопкой мыши открыть терминал сразу в этом каталоге.
Часто таким способом вместо использования команды "cd" можно быстрее перейти в нужный каталог в терминале.
Во-вторых через Thunar можно назначить произвольную команду для открытия файлов определённого типа(в Nautilus эту важную для меня возможности почему-то убрали).
Прокомментирую прочие отличия по сравнению софтом, который предлагается установить в старой статье.
Мы не будем ничего устанавливать из git или subversion, поэтому эти пакеты в данном случае не нужны. Хотя при необходимости их конечно же можно установить.
А установку openssh-server, я вообще посчитал очень вредным советом. Во-первых совсем не факт, что потребуется удалённый доступ к своей машине, а защищённость машины такая установка явно снизит. Iptables за вас сам не настроится, даже самой элементарной защиты от брутфорса по ssh по умолчанию в ubuntu нет. Во-вторых, если удалённый доступ всё же необходим, то я настоятельно рекомендую не ограничиться установкой OpenSSH. Рекомендую отключить авторизацию через пароль и использовать для неё асимметричную пару ключей с парольной фразой.
Как настроить авторизацию по ключу можно прочитать в статье «Памятка пользователям ssh» на Хабре.
Минимальная настройка iptables с политикой "всё запрещено по-умолчанию":
iptables -Fiptables -t nat -Fiptables -t mangle -Fiptables -Xiptables -t nat -Xiptables -t mangle -Xiptables -P INPUT DROPiptables -P FORWARD DROPiptables -P OUTPUT DROP#OPEN_INPUT_TCP_PORTS="";iptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPTiptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPTiptables -A OUTPUT -m conntrack --ctstate NEW,ESTABLISHED,RELATED -j ACCEPT#iptables -A INPUT -p tcp -m multiport --dport $OPEN_INPUT_TCP_PORTS -j ACCEPT
Нужно скопировать в файл /etc/rc.local в любое место перед строкой "exit 0".
(открытие файла через gedit: sudo gedit /etс/rc.local)
Если нужно открыть некоторые порты для входящих соединений, то нужно раскомментировать закомментированные строки и перечислить их через запятую в переменной OPEN_INPUT_TCP_PORTS. Например доступа к веб-серверу из интернета нужно открыть 80-ый порт, а для ssh-сервера 22-ой(по умолчанию). Для некоторых приложений, таких как bitcoin-qt или Torrent-клинет открытие соответствующего порта не обязательно, но позволит увеличить количество подключений.
Что касается vim'а, то он перенесён в список рекомендуемого софта:
sudo apt-get install vim unrar p7zip-full mplayer enca mc gimp gmrun scrot htop deluge-gtk deluged deluge-console gdebi
etc.
С готовым конфигом и знанием пользователем горячих клавиш Mplayer становиться просто идеальным видеопроигрывателем.
Утилита enca, служащая для автоматического определения кодировок, прописана в моём варианте конфига mplayer и служит для автоматического определения кодировки субтитров.
Скачиваем AMD SDK 2.7:
(скачивайте именно 2.7, а не 2.8)
Скачиваем исходники pyopencl:
http://pypi.python.org/packages/source/p/pyopencl/pyopencl-2011.2.tar.gz
Cкачиваем python-jsonrpc:
https://eclipsemc.com/files/python-jsonrpc.tar.gz
Распаковываем содержимое архивов в любые, но очень желательно разные каталоги.
Каким именно способом значения не имеет. Это можно сделать как через GUI:
Так и через CLI:
tar xvfz архив -C в_какой_каталог_распаковать
"архив" -- это полный или относительный путь до архива+имя (путь/имя_архива)
Следует знать следующие обозначения:
. - текущий каталог
.. - родительский каталог
Пример относительного пути: ../../somedir/filename.tgz
Если архив лежит в текущем каталоге достаточно просто указать имя архива.
(Фомат ./имя_файла обязателен только когда файл запускается на исполнение).
Установка AMD SDK:
Выполняем скрипт "Install-AMD-APP.sh" от имени рута(root -- специальная учёная запись с неограниченными правами):
username@systemname:~/путь-к-каталогу$ sudo ./Install-AMD-APP.sh
где "путь-к-каталогу" -- путь к каталогу в котором лежит содержимое распакованного архива относительно домашней папки(/home/имя_пользователя), которая обозначается знаком "~". ~/путь-к-каталогу -- это полный путь т.е. путь относительно корневого каталога.
Например если содержимое распаковано в ~/Downloads/AMD_APP_SDK, то открываем терминал и выполняем:
username@systemname:~$ cd ~/Downloads/AMD_APP_SDKusername@systemname:~/Downloads/AMD_APP_SDK$ sudo ./Install-AMD-APP.sh
Также можно сразу открыть в нужном каталоге через Thunar:
Открываем контекстное меню правой кнопкой мыши(клик в пустом месте, не на файле):
Установка произойдёт автоматически в каталог /opt/AMDAPP
Кроме запука скрипта под рутом никаких дополнительных действий производить не нужно.
Переходим в каталог с распакованным pyopencl любым из способов.
Компиляция и установка pyopencl из исходного кода:
./configure.py --cl-inc-dir=/opt/AMDAPP/include/ --cl-lib-dir=/opt/AMDAPP/lib/x86_64
или
./configure.py --cl-inc-dir=/opt/AMDAPP/include/ --cl-lib-dir=/opt/AMDAPP/lib/x86
в зависимости от битности системы.
компилируем:
make
устанавливаем:
sudo make install
Переходим в каталог с распаковым python-jsonrpc любым из способов.
Установка python-jsonrpc:
sudo python setup.py install
Если стоит несколько видеокарт для майнинга, по умолчанию майнинг на видеокартах к которым не подключены мониторы запускаться не будет.
Я решил данный вопрос на уровне железа(подробности ниже). Хотя я более чем уверен, что вопрос можно решить и на уровне софта.
Для способа, приведённого ниже нужно иметь или хотя бы один дополнительный монитор(даже если видеокарт больше) или возможность сымитировать хотя бы 1 дополнительный монитор например вот таким способом:
Картинка позаимствована с сайта btcsec.com на ней изображены сопротивления в 75 Ом.
По возможности лучше воткнуть мониторы(подойдут даже очень древние) или их имитации во все видеокарты, но если такой возможности нет,
можно обойтись пока что только второй.
После установки драйверов в списке системных программ должен был появиться AMD Catalyst Control Center. Запускаем его:
Из консоли его можно запустить командой "sudo amdcccle" или "gksudo amdcccle".
Через него карты можно будет "активировать":
и майнинг на них будет работать даже после отключения мониторов от них.
Т.е. хватит только одного дополнительного монитора, его просто нужно будет поочерёдно подключать к каждой карте,
перезагружаясь между "активациями" каждой из них. В результате чего майнинг будет работать на всех картах и можно будет оставить только один рабочий монитор.
Недостаток данного способа заключается в том, что нужно иметь возможность хотя бы один дополнительный монитор или его имитацию. У меня есть 2 очень старых дополнительных монитора, поэтому решения на уровне софта пока я не искал если вы его знаете просьба написать его в комментарии.
После действий описанных выше майнинг на системе будет успешно запускаться.
Update: В крайнем случае, если у вас несколько карт, но нет второго монитора или заглушек, а достать второй монитор негде даже на время, то можете попробовать поставить свежую версию драйверов:
По этой инструкции: http://habrahabr.ru/post/179279/
И если это помогло, то просьба отписаться.
Теперь можно скачивать любой майнер, настроить его и подключиться к любому пулу.
Например Cgminer можно скачать здесь:
https://bitcointalk.org/index.php?topic=28402.0
http://ck.kolivas.org/apps/cgminer/
Информацию по его настройке можно получить в теме на форуме:
https://forum.bits.media/index.php?/topic/239-cgminer/?hl=cgminer
Единственное отличие от настройки под windows заключает в отсутствии расширения "exe" и синтаксисе запуска исполняемого файла.
Например вместо:
cgminer.exe -o pool.com:8332 -u vasya.pupkin@gmail.com -p password
Будет:
./cgminer -o pool.com:8332 -u vasya.pupkin@gmail.com -p password
Файл cgminer должен иметь атрибут исполняемого файла.
Если файл не помечен как исполняемый, то он не запуститься. Это можно исправить так:
Через терминал:
chmod +x cgminer
Проверить наличие 'x':
ls -l каталог_с_майнером
Если вы уже находитесь в каталоге с майнером, то вместо "ls -l ." достаточно написать просто "ls -l".
или
Через свойства файла на примере Thunar:
Лично использую phoenix 1.7.5 просто потому, что его внешний вид для меня более привычен, поэтому свою настройки покажу на примере его, несмотря на то, что cgminer более функционален.
Лично я создал на пулах(если один из пулов ляжет можно подключиться к другому) по отдельному воркеру на каждую карту.
Это не рекомендация, а просто дело вкуса, например в конфиге cgminer'а можно прописать сразу все карты.
Скрипты для запуска воркеров я создал в каталоге ~/bin/ и сделал их исполняемыми командой "chmod +x".
Пример содержимого моего воркера:
#!/bin/bashcd /home/exdeath/bin/phoenixpython phoenix.py -u http://exdeath_1:password@pool.itzod.ru:8344 -k phatk BFI_INT FASTLOOP VECTORS AGGRESSION=11 WORKSIZE=128 DEVICE=1
Подробную инструкцию о подключении к p2pool я добавлю чуть позже.
Последние штрихи оптимизации, выжимаем из карт больше мегахешей:
Для того, чтобы сменить графическию среду с Unity на Openbox сначала нужно разлогиниться:
и находясь в LightDM сменить Unity на Openbox:
По умолчанию в Openbox ничего нет кроме меню, вызываемого правой кнопкой мыши для доступа к терминалу и браузеру(и меню навигации по окнам и рабочим столам, вызываемого средней клавишей). По сути это конструктор, поверх которого можно установить дополнительный набор софта для таких задач как отображение панелей, обоев, значков, системного монитора; софта для различных задач например создания скриншотов и настроить всё под себя.
Подробнее о настройке Openbox можно почитать например здесь:
Если кратко:
Настройки лежат в каталоге ~/.config/openbox
Точка в начале имени каталога делает его скрытым. Включить/выключить отображение скрытых файлов в графическом файловом менеджере можно при помощи сочетания Ctrl+h.
autostart или autostart.sh -- скрипт для автозапуска
menu.xml -- настройка меню
rc.xml -- прочие настройки, в частности настройки горячих клавиш
Если каких-то файлов нету, то их можно создать(насколько я помню, по-умолчанию нет файла для автозапуска).
Если допустить в menu.xml синтаксическую ошибку, то после реконфигурацию насколько я помню оно отображаться не будет.
К счастью файл можно править не только через текстовый редактор, но и через специальную графическую утилиту под названием obmenu.
Сравнение стандартного меню и "прокаченного":
В частности пункты для запуска майнинга:
Настраиваются вот так:
Например у меня autostart в данный момент выглядит так:
#feh --bg-scale /home/exdeath/.4lightdm.png &setxkbmap -layout "us,ru(winkeys)" -model pc105 -option grp:alt_shift_toggle,grp_led:scroll,compose:ralt &tint2 &#настраиваем грокость звукаamixer -c 0 sset PCM,0 100%amixer -c 0 sset Master,0 100% #*amixer -c 0 sset Line,0 100%#amixer -c 0 sset PCM,0 80%#amixer -c 0 sset Master,0 90%#amixer -c 0 sset Line,0 70%aticonfig --pplib-cmd "set fanspeed 0 100"export DISPLAY=:0.1; aticonfig --pplib-cmd "set fanspeed 0 100"export DISPLAY=:0.2; aticonfig --pplib-cmd "set fanspeed 0 100"amdconfig --od-enableaticonfig --od-setclocks=950,280 --adapter=all
Первая строчка раньше отвечала за отображение обоев(сейчас я её закомментировал). Если обои нужны, то кроме раскомментирования строчки не забудте установить пакет "feh" использовать адрес имеющемуся на компьтере изображению.
Вторая строчка настраивает клавиатуру на тот случай, если она не настроена или настроена неправильно. Индикатором раскладки будет служить лампочка Scroll lock.
Третья строчка запускает панель "tint2"
И наконец в конце используется непосредственно связанная с майнингом утилита amdconfig (или aticonfig, это синонимы).
Перед её использование нужно выполнить
sudo amdconfig --initial -f --adapter=all
А перед тем как разгонять карту:
sudo amdconfig --od-enable
Различные примеры использования уже написаны в старой статье, поэтому я просто процетирую:
Чтобы отобразить температуры на Ваших ядрах, выполните:
aticonfig --odgt --adapter=all
Для отображения тактовой частоты на Ваших ядрах:
aticonfig --odgc --adapter=all
Отобразить или задать скорость вращения кулера.
Показать скорость вращения кулера:
aticonfig --pplib-cmd "get fanspeed 0"
Задать скорость вращения кулера 100%:
aticonfig --pplib-cmd "set fanspeed 0 100"
Показать скорость куллера на второй карте:
export DISPLAY=:0.1; aticonfig --pplib-cmd "get fanspeed 0"
Вы можете заменить 1 на 2, 3 и т.д. в соответствии с количеством видеокард в системе.
Смена тактовых частот. Чтобы задать уровень тактовой частоты ядра 900MHz и тактовую частоту памяти 1000MHz на всех картах (можете изменять по Вашему желанию):
aticonfig --od-setclocks=900,1000 --adapter=all
Последняя строчка это ещё один вредный совет, поскольку увеличение таковой частоты памяти(в отличие от тактовой частоты ядра) никак не повлияет на добычу биткоинов. В то время как её снижение хоть немного, но снизит нагрев видеокарт и расход электроэнергии.
44 Комментария
Рекомендуемые комментарии
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти