Страницы

четверг, 7 ноября 2013 г.

Слетел загрузчик grub-efi

На новой системе (кодовое имя для блога - Red box), после обновления установленных дистрибутивов, в какой-то момент испортился загрузчик Grub2. Загрузчик был установлен Grub-efi и загрузка обеспечивалась с помощью встроенного UEFI материнской платы Asrock F2A85X-ITX.
Я оказался перед экраном "минимальный (rescue mode) Grub2". Вещь малопонятная, т.к. ни примеров запуска, ни нормальной справке в интерфейсе этой программы нет и без чтения документации дело дальше не пойдет.
Проблему, с которой я столкнулся, можно обозначить как "Слетел grub efi", "grub не подхатывает конфиг".

Причина, по которой это происходит, не очень понятна. Что это - ошибки создателей и сборщиков пакетов?


Так как ситуация видимо будет повторяться неоднократно, то чтобы не оставаться в непонятной ситуации, я решил написать здесь заметку о процедуре загрузки и исправления grub efi.

Заодно и разобраться с командами доступными во встроенной UEFI  shell (что очень удобно), материнской платы Asrock F2A85X-ITX.

Итак, системный ssd-диск разбит на 4 раздела (GPT разметка):
/dev/sda1 - ESP (EFI system partition) 512MiB - FAT32
/dev/sda2 - MSR 128MiB
/dev/sda3 - Ubuntu 13.10 размером с blu-ray диск (46196MiB) - EXT4
/dev/sda4 - остаток
После раздела MSR, перед каждым разделом пустое место 128MiB.

вывод таблицы разделов для диска Intel 330 SSD 60GB

Disk /dev/sda: 117231408 sectors, 55.9 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): xxxx
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 117231374
Partitions will be aligned on 2048-sector boundaries
Total free space is 526302 sectors (257.0 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048         1050623   512.0 MiB   EF00  EFI System
   2         1050624         1312767   128.0 MiB   EF02  Microsoft reserved
   3         1574912        96184319   45.1 GiB    8300  Linux filesystem
   4        96446464       117231374   9.9 GiB     8301  Linux reserved


Система ставилась на этот диск с usb-флешки, загруженной через меню UEFI, в режиме UEFI, что показал черный начальный текстовый экран загрузчика Grub.Загрузчик устанавливался на диск /dev/sda.

Также присутствуют другие диски, которые и позволили загрузиться в установленную систему, с резервных загрузчиков, правда в  BIOS Legacy-mode.




Протестировать EFI в системе:

Выполнить в root-терминале:
root@red# [ -d /sys/firmware/efi ] && echo "EFI boot on HDD" || echo "Legacy boot on HDD"

Т.е. при загрузке в EFI режиме появляется каталог /sys/firmware/efi
а в нём:
root@red:~# ls /sys/firmware/efi/
efivars  systab  vars
В обычном BIOS-режиме, этого каталога нет.

Можно ещё посмотреть в dmesg:
#dmesg | grep efi

efi: EFI v2.31 by American Megatrends
Откуда видна версия EFI используемая материнской платой.


Как загрузить Ubuntu в EFI режиме находясь в сломанном загрузчике GRUB2 "Minimal BASH like".

1. Вывод списка устройств и разделов (их grub-идентификаторов), доступных загрузчику GRUB2.

grub> ls
(hd0), (hd0,gpt2), (hd0,gpt1) и т.п.

2. Задание пути к конфигурационному файлу, если он сохранился.
В моём случае: 
grub> configfile (hd0,gpt3)/boot/grub/grub.cfg
либо, что лучше
grub> configfile (hd0,gpt1)/EFI/ubuntu/grub.cfg

Сразу пойдет меню GRUB2 (если поломка небольшая) и можно загрузиться в EFI-режиме.


3. Если конфигурационного файла нет, то надо указать корень файловой системы, ядро и начальный ramdisk (initrd).
set root=(hd0,gpt3)
linux /vmlinuz root=/dev/sda3
initrd /initrd.img


4. Находясь в системе  Ubuntu, обновить загрузчик
root@red:# update-grub
Генерируется grub.cfg …
Найден образ linux: /boot/vmlinuz-3.11.0-7-generic
Найден образ initrd: /boot/initrd.img-3.11.0-7-generic
Найден образ linux: /boot/vmlinuz-3.11.0-6-generic
Найден образ initrd: /boot/initrd.img-3.11.0-6-generic
Adding boot menu entry for EFI firmware configuration
завершено


5. Если пункт 4 не помог, то можно попробовать отредактировать файл grub.cfg расположенный в разделе efi, по адресу: /EFI/ubuntu/grub.cfg
Обычно, это файл переписывается новым установщиком и там прописываются ссылки на новую систему. Такое бывает в многодисковых системах. Т.е. к примеру, я ставил новую ubuntu в режиме uefi на внешний жесткий диск (sdd), в результате, на системном жестком диске (sda) был переписан файл grub.cfg (в EFI разделе) и система стала грузиться с внешнего диска, а с внутреннего - нет.
Этот файл grub.cfg легко вправить, изменив UUID на UUID старой системы, и указав правильные диски и загрузочный (efi) раздел.


Вот его содержимое (для загрузки с sda), скрыт только  UUID:

search.fs_uuid 00000000-0000-0000-0000-0000000000 root hd0,gpt3
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg


UUID корневой системы можно увидеть выполнив команду:

$ blkid

Так вот, после новой установки, и UUID и root указывали на новую систему:
search.fs_uuid 00000000-0000-0000-0000-0000000000 root hd3,gpt4
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg

И всё это находилось на диск sda, на системном разделе efi. А системный раздел efi на внешнем диске был пуст. Потом я его заполнил по аналогии, вручную.




Это какой-то баг установщика Ubuntu. Т.к. при установке, я отслеживал этот момент.

5.b. Переустановить загрузчик используя grub-install и тщательно подобранные опции.

Это тоже может не помочь. Можно случайно установить обычный MBR-загрузчик, что есть плохо.



6. Прописка пункта загрузки в UEFI меню материнской платы
- создание собственной метки:
root@red:# efibootmgr -c -d /dev/sda -p 1 -l \\EFI\\ubuntu\\grubx64.efi -L "Red box"


EFI-загрузка установленной системы Ubuntu 13.10,  находясь в UEFI shell системной платы:


1. Выполнить просмотр файловой системы первого диска (нумерация с 0, список посмотреть можно по команде map):
shell>fs0:

2. Перейти в каталог загрузчика:
fs0:>cd /EFI/ubuntu
3. Исполнить загрузчик:
либо

fs0:/EFI/ubuntu>grubx64.efi

либо, с полным путем, без предыдущей команды:
fs0:/EFI/ubuntu/grubx64.efi

4. Если обычное меню Grub2 не появилось, то передать конфигурационный файл:
grub> configfile (hd0,gpt1)/EFI/ubuntu/grub.cfg

т.е. в UEFI Shell, можно просто запускать загрузчики (с расширением имени файла, efi) указывая полный путь к ним. Синтаксис почти понятен.




НЕ РАБОТАЕТ на плате Asrock F2A85X-ITX:
Прописка пункта загрузки в UEFI меню материнской платы из под UEFI Shell:
1. Просмотреть список загрузочных опций:
Shell> bcfg boot dump -v
2. Добавить опцию будет отображаться как (Red box):
Shell> bcfg boot add 5 fs0:\EFI\ubuntu\grubx64.efi "Red box"
3. Удалить опцию:
Shell> bcfg boot rm 5


Область, где сохраняются опции загрузки в UEFI, называется UEFI NVRAM.

Опция. Утилита efibootmgr для редактирования опций загрузки в UEFI NVRAM


Чтобы просто посмотреть список опций загрузки:
root@red:# efibootmgr
BootCurrent: 0000
Timeout: 3 seconds
BootOrder: 0000,0005,0009
Boot0000* Red box
Boot0005  UEFI: Built-in EFI Shell
Boot0009  Hard Drive



Выводы

UEFI штука хорошая, но малонадежная, т.к. надо очень внимательно вносить изменения в конфигурацию системы, загрузчика и пр. Да и старые навыки управления загрузчиком неадекватны для grub efi.



Ресурсы

- .https://help.ubuntu.com/community/UEFI
- .http://archlinux.org.ru/forum/topic/12327/
- .https://wiki.ubuntu.com/SecurityTeam/SecureBoot
- .http://www.uefi.org/specs/download/UEFI_2.4.pdf

четверг, 17 октября 2013 г.

Установка google-earth в ubuntu 13.10

Заметка по установке программы Google Earth (Google-Земля) в Ubuntu 13.10.


Дано:
1. Ubuntu 13.10
2. Google Earth 7.1.2.2019 64-bit загруженный в папку Загрузки с сайта Google Earth.


Стандартный способ установки через Центр приложений завершается с ошибкой неудовлетворенных зависимостей (ia32-libs).

На просторах сети был найден рецепт:
1. Распаковать .deb файл, используя менеджер архивов. В примере в папку earth, в папке Загрузки.
2. Откорректировать файл DEBIAN/control в распакованном каталоге - текстовым редактором убрать зависимость ia32-libs (стереть упоминание и сохранить файл).
3. Запаковать каталог earth в файл .deb, используя команду dpkg -b
4. Установить стандартно. dpkg -i google-earth-stable_current_amd64.deb


gimmor@red:~/Загрузки$ nano earth/DEBIAN/control
gimmor@red:~/Загрузки$ dpkg -b earth/ google-earth-stable_current_amd64.deb
gimmor@red:~/Загрузки$ dpkg -i google-earth-stable_current_amd64.deb

earth - каталог с распакованной программой. Содержит папки DEBIAN, etc, opt, usr.

P.S. Программа достаточно падуча. Если после падения не удаётся повторный запуск, то надо удалить скрытую папку .google-earth в домашней директории. Там кэш лежит и метки и пр. Если и это не поможет, то переустановка (dpkg -i).

P.P.S. Чтобы было интересно использовать, прикладываю свой KMZ файл географических координат старых исчезающих крепостей на территории России и Тартарии. Его надо открыть в программе Google Earth. Создал я его по прочтению некоторых авторов в сети, например "Записки колымчанина" - "Последний рубеж обороны Тартарии", для визуального подтверждения, а "Тартария" - Grand Tartarie - это просто условные метки.

※※※

Ресурсы

1. http://ubuntuforums.org/showthread.php?t=2170313

※※※

пятница, 13 сентября 2013 г.

Фотокамера Canon EOS 1100d и программа darktable

Фотокамера Canon EOS 1100d может работать с программой Darktable.
Это интересная возможность управлять камерой Canon EOS 1100d с помощью компьютера под операционной системой Ubuntu 13.10.

Надо установить пакет gphoto2
root@red:# apt-get install gphoto2

После подключения  камеры к Linux компьютеру, надо в проводнике Nautilus нажать значок отмонтирования, чтобы не было конфликта.

Камера видится так ядром:


Вывод dmesg:

[ 5038.076860] usb 3-1: new high-speed USB device number 3 using xhci_hcd
[ 5038.097230] usb 3-1: New USB device found, idVendor=04a9, idProduct=3217
[ 5038.097238] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 5038.097243] usb 3-1: Product: Canon Digital Camera
[ 5038.097247] usb 3-1: Manufacturer: Canon Inc.

После этого запуск Darktable и камера распознается, можно будет импортировать снимки, управлять камерой (делать снимки) из программы (в разделе Камера).
Если не отмонтировать камеру в Nautilus, то ничего это нет.

Раньше я как-то упускал этот момент и использовал импорт из папки. Теперь darktable полноценно можно использовать.


Ресурсы

https://sites.google.com/site/mikkolaine/home/using-gphoto2-to-control-eos-1100d

вторник, 10 сентября 2013 г.

Новый микросервер HP Proliant Microserver Gen8

В списке продуктов компании HP появился новый микросервер HP Proliant Microserver Gen8.
Более компактная и дизайнерская версия, хотя и на платформе Intel.
Исправлены мелкие аппаратные недочёты, так появилось 2 сетевых интерфейса Ethernet (можно объединить для увеличения скорости), USB 3.0, что несомненно хорошо.
Расписывать характеристики пока не буду, если появиться у меня, тогда и напишу.





Так же к этой серии будет и специальный 8-портовый l2 управляемый коммутатор HP PS1810-8G Switch, который включает специальную web-панель (dashboard) для мониторинга новых Gen8 серверов. Мониторинг HP iLo, как я понял встроен теперь в сервер, но надо покупать лицензию.



Похоже HP реализовала интересный комлект оборудования для домашнего наращиваемого хранилища, которое раньше делалось из компонентов разных производителей (моя заметка HP Proliant Microserver router VLAN + Cisco SG200-08).

Ресурсы

1. Спецификация HP Proliant Microserver Gen8.  http://www8.hp.com/uk/en/products/proliant-servers/product-detail.html?oid=5379860

2. Спецификация HP PS1810-8G. http://h17007.www1.hp.com/us/en/networking/products/switches/HP_PS1810_Switch_Series/

суббота, 24 августа 2013 г.

Особенности Ubuntu Linux на системе с процессором AMD Fusion A10-6700. My new Linux desktop

Заметки, по мере улучшения домашней конфигурации, которая вылилась в сборке компьютера на платформе AMD Fusion и установке Ubuntu Linux 13.10.

Собрать систему планировалось в корпусе mini-itx Silverstone FT03-Mini. Это было задающим требованием (для красоты), поэтому платы рассматривались mini-itx.
Таким же требованием было использование процессора AMD A10-6700 Richland.
Требованием также было наличие vga-выхода, dvi-d и hdmi, чтобы подключить существующее оборудование.


Первоначальный состав системного блока получился следующий:
1. Процессор AMD A10-6700 OEM, разъем FM2 (индекс cpubenchmark.net - 4983)
2. Материнская плата Asrock F2A85X-ITX, разъем FM2
3. 8 Гб памяти AMD 1866, одной планкой (одноканальный режим)
4. Охладитель (cooler) Noctua L9a (временно обычный Titan)
5. Старые накопители Sata 2.5" Seagate и Intel.
6. Корпус mini-itx SilverStone FT03-mini
7. Блок питания SFX (125 мм x 100 мм x 64 мм) Inwin IP-S300BN1-0.

Старая система которая подлежала осовремениванию - Intel Celeron 420/Intel D945GCPE (индекс cpubenchmark.net - 457). Простейшая связка, которая выручила, из-за недоступности компьютера Intel i3-3225, на текущей площадке.

Расчётное увеличение индекса производительности - 4983/457 = 10.9 раз.
10 раз, когда ещё такое событие случиться.

Итак, процессор AMD A10-6700 имеет на борту интегрированное графическое ядро HD 8670D, которое грех было бы не использовать в системе и обойтись без отдельной видеокарты (отложить на будущее, при необходимости). Также на будущее откладывается приобретение второй планки памяти, слотового привода Blu-ray и пр. Всё это делается для снижения первоначальной стоимости. Однако получившаяся сборка должна работать сразу, а не лежать на полочке.

Разгон системы не планируется, поэтому выбран процессор AMD A10-6700 Richland с TDP процессора 65 ватт.

Запомню тут характеристики процессора AMD A10-6700, чтобы потом не искать:
- Маркетинговое семейство: Fusion
- Маркетинговое название: A10 6700 Richland
- Серия центрального процессора: 6000
- Модель:  A10-6700 APU with Radeon™ HD 8670D
- Код детали: AD6700OKA44HL, AD6700OKHLBOX
- CPUID:  610F31h
- Маркетинговое название графической части: HD 8670D
- Кодовое название модуля (одного из двух) центрального процессора: piledriver (сваезабивочная машина, ха-ха)
- Поддержка инструкций: MMX, SSE, SSE2, SSE3, SSSE3, SSE4a, SSE4.1, SSE4.2, AMD64, AMD-V, AES, AVX, AVX1.1, XOP, FMA3, FMA4, CVT16, F16C, BMI1 (Bit Manipulation instructions), ABM (Advanced Bit Manipulation), TBM (Trailing Bit Manipulation instructions), Turbo Core 3.0, NX bit
- Количество видимых системой логических процессоров: 4
- Частота базовая: 3.7 ГГц
- Кэш-память инструкций на ядро: 64 КиБ
- Кэш-память данных на ядро: 64 КиБ
- Кэш-память L2: 2x2 МиБ
- Число сопроцессоров плавающей точки (FPU): 2
- Разрядность сопроцессоров плавающей точки (FPU): 128
- Кодовое имя архитектуры графического процессора: Northern Islands
- Архитектура: TerraScale 3 (VLIW4)
- Кодовое инженерное имя: ARUBA (Richland)
- 2D Linux driver: radeon
- 3D Linux driver: r600g
- 2D/3D Linux closed source driver: catalyst
- Код 3d-оборудования: R9xx
- Ядро дисплейное: DCE6.1
- Число вычислительных ядер графического процессора (Radeon cores): 384
- Частота графического процессора: 844МГц
- Частота памяти DDR3: 1866 МГц
- Техпроцесс: 32 нм
- Число транзисторов: ~1,3Гшт
- AMD Turbo Core 3.0
- Частота при использование Turbo: 4.2 ГГц
- AMD Unified Video Decoder: UVD 3.2 (аппаратный видеодекодер H.264,VC-1 (WMV9),MPEG-2, версии 3.2)
- Linux Video Decode (VDPAU/OpenMax/VAAPI) on UVD: да
- AMD Video codec engine: VCE 1.0 (аппаратный кодировщик H.264)
- Linux Video Encode (Video encode (OpenMax) on VCE): ? (требуется доработка)
- AMD Eyefinity- до 4 мониторов (3 выхода на плате Asrock)
- AMD Radeon™ Dual Graphics (добавочная мощность с дискретной картой 6000 серии)
- AMD Radeon™ HD Graphics
- AMD HD Media Accelerator
- AMD Accelerated Video Converter
- AMD Perfect Picture HD ?
- AMD Quick Stream Technology ?
- AMD Steady Video Technology 2.0 ?
- AMD HD3D Technology ?
- Powernow (Cool`n`Quiet)
- AMD PowerPlay в закрытом драйвере Catalyst,
- Максимальная температура:  71.3 °C
- TDP 65 ватт
- Разъём (socket) FM2
- Фирменный цвет AMD: красный, надо бы добавить к черному корпусу немного красного



Первоначальная сложность данной сборки в том, что материнская плата использует специфическую микросхему (контроллер) сетевого интерфейса Realtek 8111E, для которого, вроде бы, пока ещё нет драйвера (примечание: уже есть) в выпущенных версиях Ubuntu.
Тестирование новых материнских плат на поддержку Linux в основной массе обзоров не проводиться, поэтому однозначно сказать как поведёт себя эта конфигурация, я не могу.
Смущает бренд Asrock.

Не могу отнести данную плату к топовой конфигурации, т.к. наличие 3-х разнообразных видеовыходов, подразумевает что использоваться будут разные мониторы (разного поколения). Топовая же версия данной платы выглядела бы так - 4 одинаковых современных интерфейса (APU поддерживает 4 по технологии Eyefinity), например hdmi или Displayport, т.е. подразумевалось, что будут использованы одинаковые мониторы, для полного использования функции AMD Eyefinity. Эту же версию платы можно было назвать Transit, для бюджетного перехода со старой системы, с сохранением существующего оборудования. Плата не раскрывает полностью возможности процессора и чипсета (невозможно CrossFire X), в данном форм-факторе mini-itx. Но это и не требуется.



Компания Realtek предлагает исходные коды драйвера для своих чипсетов, но это приводит к ситуации, при каждом обновлении ядра, надо будет выполнять перекомпиляцию исходных кодов драйвера. Очень не удобно, но по крайней мере путь понятен. Также есть способ автоматической пересборки исходных кодов драйвера, при обновлении ядра.


Поэтому конфигурация попадает в разряд проблемных. Т.е. всё вроде поддерживается, а вот сетевой контроллер подкачал (примечание: не подкачал).
Это было предварительное мнение, основанное на проверке компонентов материнской платы (сетевого и звукового контроллеров) поиском в сети Интернет.

Небыстрый просмотр показал ещё пару mini-itx плат под разъем FM2, но они все, так или иначе содержат сетевой контроллер Realtek GbE, либо имеют недостаточное число видеовыходов.
Многие производители не указывают версию в спецификации, что резко затрудняет подбор конфигурации.

Однако, т.к. целью всё таки является сборка системы AMD Fusion для Linux, то преодоление возможных проблем с контроллером будет решаться с помощью USB-Ethernet адаптера фирмы Apple, который уже неоднократно выручал при проблемах со встроенным сетевым интерфейсом, либо в дальнейшем отдельной сетевой платой, в единственный разъем PCI-e.

Т.к. я попробую загрузить свою существующую систему, которая кстати говоря работает на многих конфигурациях, я заранее установлю последнюю сборку ядра Linux в мою текущую конфигурацию.

Делается это так, в Ubuntu, в ручном режиме.
По ссылке находятся последние ежедневные сборки ядра Linux
http://kernel.ubuntu.com/~kernel-ppa/mainline/daily/current/

Надо скачать 3 файла, для своей архитектуры (у меня amd64 - 64 битная Linux, в том числе и на Intel процессорах), в папку.
linux-headers...., linux-headers....all..., linux-image....

Я использовал терминал и команду wget, которой передал ссылки на файлы (из браузера).

После установка: sudo dpkg -i *.deb
Выполняяется в папке где лежат скачанные пакеты.
Потом перезагрузка.


"Плюсы" полученной конфигурации на процессоре AMD A10-6700 (магия букв APU):
1. Трудности, - а мы их любим
2. Неполная совместимость материнской платы с Linux - это хорошо, каждый дистрибутив будет иметь проблемы с сетью, с каждым надо будет отдельно разбираться
3. Отсутствие понятных явных преимуществ процессора AMD в Linux. Где существенное ускорение операций? Какие программы используют?
4. Завышенная цена, выше чем i3-3225.
5. Бедный выбор материнских плат форм-фактора mini-itx с чипсетем A85X.
6. Неясности со встроенной графикой. Будет вообще работать? Увижу рабочий стол? Будет нормальное ускорение Gnome Shell?
7. Нестандартная высота задней планки (backplate) на материнской плате, из-за чипа, что недаёт возможность крепить некоторые охладители (Noctua L9a). Правда у этого охладителя есть спец. крепление и именно для таких mini-itx плат, но только надо проверять при покупке, либо бесплатно получить у производителя, прислав ему подтверждение. Ну а суть простая, там просто шайбочки, увеличивающие высоту планки.
8. Куча непонятного мусорного ПО на прилагающемся диске, под Windows.



А ведь была и хорошая альтернатива на платформе Intel Ivy bridge:
Intel DQ77KB, две сетевые intel платы, mini-PCIe, So-Dimm и пр.

И всё это работает в Linux без особых проблем, с аппаратным ускорением и пр.


Продолжение последуют тут, после сборки. Интрига сохраняется до получения первых впечатлений. Посмотрю, сможет ли эта сборка превратиться в нормальный Linux-компьютер.

В дальнейшем планах установка Ubuntu 13.10, проверка дисплейного сервера Mir на открытых драйверах AMD/ATI. Проверка мультимониторной конфигурации, проверка стабильности работы в mini-ITX корпусе.

Первый запуск

Итак, первые впечатления после загрузки существующей версии Ubuntu Gnome 13.04, с ядром Linux 3.11 на материнской плате Asrock FM2A85X-ITX с процессором AMD A10-6700 Richland. Открытый стенд, т.к. корпус ещё не приехал и вместо охладителя - какая-то первая попавшаяся под  руку железка.
Комплектация материнской платы бюджетная (4 черных кабеля Sata, задняя плашка, диск с драйверами, книжка по установке), но главное - стильная наклейка Asrock. Это большой плюс, т.к. наклейки к OEM процессору не было, а это минус. Лучше бы к плате добавили наклейку (в черно-золотистых тонах), с указанием разъёмов на плате, как это делает Intel со своим платами. Неплохо было бы заднюю плашку с отверстиями под разъёмы также прокрасить и оформить получше.

Центральный вычислительный модуль (процессор) определился в BIOS(UEFI) нормально. Версия BIOS v.1.4.

Итак, страхи о том, что сетевой контроллер не поддерживается, прошли. Сеть работает. Драйвер используется встроенный в ядро r8169. Насколько стабильно будет, посмотрим.
Также работает выход и вход звука, но не все ещё выходы я смог проверить. Смущает уровень шума на микрофонном входе.

Аппаратное ускорение похоже не запустилось и X использует программный рендеринг (Gallium 0.4 on llvmpipe), т.е. fallback-режим. Правда он тоже достаточно быстрый и интерфейс отзывчивый, однако здесь нет преимуществ APU. Что заметно проигрывает в битве с Intel i3-3225, который работает и ускоряет сразу.

Загрузка с LiveCD Ubuntu daily 13.10 показала, что "там что-то есть" - Gallium 0.4 on AMD Aruba.
Aruba - это кодовое имя для графической части APU. А вот что это даёт, это надо собирать информацию. Да и путаница с этими именами пока присутствует. Мир маркетинга - мир лжи.

Неплохо, неплохо. Похоже это добротная материнская плата для Linux компьютера. В новой версии Ubuntu так вообще, всё будет работать "из коробки" - я надеюсь.

Итак, перспективы хорошие. Они правда, уже лет 10 "хорошие", всё ожидаем, когда же нормально заработает драйвер ATI/AMD на полную мощность.
Причём слабая поддержка открытого драйвера - это на совести руководства AMD. Которое, похоже не видит явного преимущества платформы Intel в Linux, с её открытым драйвером.
APU становиться магистральным направлением и слабая поддержка APU в Linux, это серьезный минус в конкурентной борьбе. Исходя из того, что AMD планирует распространять свои APU в том числе и на планшеты, а на планшетах будет работать Ubuntu Touch и пр. Ubuntu, а графический сервер Mir будет максимально использовать открытые драйверы, то наличие качественного открытого драйвера становиться определяющим, а будет ли вообще AMD в Linux. Сейчас, когда выйгрыш в производительности достигнут более быстрым центральным вычислительным модулем (процессором) ещё можно проводить старую политику выпуска закрытого драйвера для Linux и вяло поддерживать открытый драйвер. Но замедление роста производительности, проистекающее из технологических и архитектурных ограничений, происходящее в отрасли, выведет программную поддержку (драйверы, API и пр.) на первое место и тут Intel опять впереди.

Простыми словами, зачем мне процессор AMD, если даже не работает ускорение двумерной графики в Linux?




Из непосредственно замеченного улучшения - увеличение скорости отображения страниц в броузере Firefox, но что-то подсказывает, что это просто заслуга более быстрого процессора.

Включение поддержки управления питанием драйвера Radeon

Сделал по инструкции [см . Ресурсы п. 2].
Прописывание загрузочной опции ядра radeon.dpm=1 в файл /etc/default/grub и обновление загрузчика update-grub
Загрузка какого-то firmware, у меня получилось TAHITI_smc.bin (возможно это ошибка идентификации, потому что 13.10 использует Aruba) в папку /lib/firmware/radeon . В принципе, все эти файлы можно загрузить, чтобы ядро выбрало нужный.
Перезагрузка.
После этого в выводе dmesg видны power states (режимы питания)
и строка
[drm] radeon: dpm initialized

Включение температурного сенсора графического ядра

Прописывание загрузочной опции ядра radeon.hw_i2c=1
Использование sensors-detect

Непомогло.

Наблюдение за температурными датчика, тахометрами и напряжениями

Используется пакет lm-sensors
Установленный чип Nuvoton NCT5573D определяется как Nuvoton NCT6776F и что-то показывает, драйвер w83627ehf.


AMD UVD 3.2

Важный компонент, поддерживающий аппаратное декодирование видеоформатов MPEG4,
По наследству, поддерживает AMD UVD 1.0, AMD UVD 2.0, AMD UVD 3.0.
Позволяет декодировать H.264, VC-1.

Добавилось ускорение декодирования MPEG-2, MPEG-4 ASF (DivX, Xvid) и MVC (Blue-ray 3D).

Итого, процессор Richland имеет возможности аппаратного декодирования (ускорения) видеопотоков MPEG4 Part 10, MPEG4 part 2, MPEG 2, VC-1 (WMV9) и Linux поддерживает эту возможность, по состоянию на Январь 2015 года.


AMD VCE 1.0 или AMD H.264 encoder

Важный компонент, поддерживающий аппаратное кодирование в h.264. Использовать удобно для преобразования (транскодирования) MP4-файлов, для целевых устройств Android, Apple и т.п.
Поддержка включена в открытом 3d-драйвере, после открытия компанией AMD исходных кодов (Radeon VCE Code).
Требуется тестирование работоспособности.


Впечатления о корпусе Silverstone FT03-Mini

Шикарный корпус. В собранном виде выглядит отлично. Качественные алюминиевые панели, провода упрятаны.

Из особенностей, долгая сборка, "открути то, открути это".
Материнская плата Asrock в темно-золотистых тонах очень хорошо подходит к данному корпусу. В Комплекте к материнской плате - черные кабели SATA, двух видов, 4 штуки, так что "внутри темно".
Блок питания я поставил серого цвета, но это не проблема, т.к. его не видно, только когда снимаешь панели.

Корпусной вентилятор шумноват. Гул "басовитого" движка, однако не раздражающий, похож на автомобильный. Исправиться в следующей итерации возни с корпусом, когда поставлю регулятор, либо менять. Поток воздуха серьезный.
При нагрузке процессора, температура не поднялась выше 54-х градусов, в простое 33-34 градуса. Температура 2.5" диска - 28-30 градусов.
Обычный просмотр Интернет с помощью Firefox - 36-38 градусов.

Также шумят вентиляторы на процессорном охладителе и на блоке питания (тихо). Это всё требует окончательной доводки и полировки.

3.5 дюймовый винчестер достаточно просто снимается и устанавливается в крепёж. Крепеж на 2 винтах и легко доступен.
2.5 дюймовый винчестер помещенный в нижнюю корзину, обдувается проходящим потоком воздуха - очень хорошо и также легко доступен.
Системный ssd диск запрятан глубже, его просто так не достать, без разборки, надо откручивать кучу винтиков, а именно 2+4+4+4 = 14 штук. :-). И соответственно закручивать.

Корпус SilverStone FT03-mini - лучший из корпусов, с которыми я возился. Я не сборщик, я любитель.

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


Фотографии не привожу т.к. бардак на столе.


Замеченные неудобства

- Какие-то трудности загрузки диска Ubuntu Live посредством UEFI.
- Шумный корпусный основной вентилятор Silverstone Air Penetrator AP-141, 140x140 не поддерживает регулировку скорости (нет PWM), работает на 1500 об./мин., 30.1 dB(A), а материнская плата имеет 4-контактный разъём для корпусного вентилятора - При уменьшении скорости основного вентилятора, начинает шуметь вентилятор блока питания (80х80х15) при обычной нагрузке (Firefox)
- Используемый блок питания не имеет проводов (6 pin) для дополнительного питания видеокарты
- 10 сентября 2013 года. Заметил глюк связанный с контроллером сети. Если постоянно включить multicast ip-tv видео (телевизор), то после нескольких часов (более 5-6) происходит сброс системы и перезагрузка. Выяснилось это потому, что под обычными воспроизведением видео в цикле сброса не происходит. Это конечно минус сетевого контроллера. Осталось проверить нагрузку обычным трафиком.
- 12 сентября 2013 года. Компьютер работал 2 дня на загрузку и последовательное обновление Ubuntu версии 10.10 на 13.10 на одном из дисков, сбоя не было.

Выводы

APU, как концепция, не работает "из коробки" в системе Linux Ubuntu 13.04, перехожу на следующую.

Что же, попробую с течением времени воспользоваться всеми заложенными технологиями в процессор AMD APU A10-6700. Как первый этап - это использование VDPAU (да-да, ошибки нет) в VLC 2.2.x., GIMP использует ускорение OpenCL в некоторых фильтрах и пр.

Если же ничего не выйдет в обозримое время, то всегда есть возможность задействовать APU в Windows 8, а там множество программ показывающих преимущество APU [Ресурсы п.5].
Если не нужна ОС Windows, то связку (AMD Richland + mini-itx Asrock FM2A85X-ITX) можно преобразовать в сетевое хранилище NAS на платформе  AMD, просто докупив корпус с корзинами под винчестеры, а 7 портов sata III, позволят сделать очень хороший домашний NAS, хотя мне сейчас привлекателен новый HP Proliant Microserver Gen8.


Менять блок питания, либо добиваться тишины от его вентилятора
Уменьшать скорость корпусного вентилятора, либо менять.

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

Борьба красных с синими продолжается.

Ресурсы

1. https://unixblogger.wordpress.com/2011/10/18/the-pain-of-an-realtek-rtl8111rtl8168-ethernet-card/

2. How To Setup Radeon DPM On Ubuntu Linux. http://www.phoronix.com/scan.php?page=news_item&px=MTQyNDE

3. Wikipedia. Сравнение графических процессоров AMD. http://ru.wikipedia.org/wiki/%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D1%85_%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D0%BE%D0%B2_AMD

4. Wikipedia. http://en.wikipedia.org/wiki/Radeon_HD_6000_Series

5. AMD Developer central. Application showcase. http://developer.amd.com/community/application-showcase/

6.AMD Developer central. Open-source. http://developer.amd.com/tools-and-sdks/open-source/

7. Wikipedia. http://en.wikipedia.org/wiki/List_of_AMD_Accelerated_Processing_Unit_microprocessors

8. Wikipedia. Piledriver architecture. http://en.wikipedia.org/wiki/Piledriver_%28microarchitecture%29

9. Тестирование материнской платы Asrock FM2A85X-ITX. подробные фотографии микросхем. http://www.easycom.com.ua/mboard/asrock_fm2a85x-itx/?lang=ru

10. Overclockers.ru. Обзор и тестирование материнской платы Asrock FM2A85X-ITX. http://www.overclockers.ru/lab/54176_2/Obzor_i_testirovanie_materinskoj_platy_ASRock_FM2A85X-ITX.html

11.  AMD Technologies. http://www.amd.com/us/products/technologies/Pages/technologies.aspx

12. AMD A10-6700 info. http://www.cpu-world.com/CPUs/Bulldozer/AMD-A10-Series%20A10-6700%20-%20AD6700OKA44HL.html

13. Графический стек в Linux.  http://habrahabr.ru/post/148954/

14. Radeon DPM power states. http://www.botchco.com/agd5f/?p=57

15.  Тест Noctua L9a. http://www.overclockers.ru/lab/54761_4/Obzor_i_testirovanie_malogabaritnyh_kulerov_Ice_Hammer_IH-1500A_i_Noctua_NH-L9a.html

16. AMD UVD3. http://www.amd.com/Documents/UVD3_whitepaper.pdf

17. UVD. https://ru.wikipedia.org/wiki/Unified_Video_Decoder


понедельник, 22 июля 2013 г.

Mikrotik в сети Beeline

Для восстановления подключения к сети был приобретён маршрутизатор Mikrotik RB951G-2HnD.

Из плюсов этого маршрутизатора отмечу расширенные возможности настройки, благодаря RouterOS v5.25.

Клиентами маршрутизатора будут настольный компьютер и беспроводные устройства. Т.е. будут использованы проводные и беспроводные интерфейсы устройства для доступа в сеть Интернет, с одновременным обеспечением просмотра бесплатных IPTV каналов от провайдера Beeline, на настольном компьютере и по возможности через Wi-Fi.



Предварительные сведения о серверах Beeline


vpn.internet.beeline.ru - PPtP сервер
tp.internet.beeline.ru - L2TP сервер
Получение IP-адресов VPN-серверов надо выполнять без подключения к сети Интернет, только к локальной сети, потому что если есть подключение к сети Интернет, можно получить неверные адреса.

Итак, в моем текущем случае:
L2TP - 83.102.254.204, 83.102.254.207
PPTP - 83.102.254.249

Замечание от 16 августа 2013 года.Сразу скажу, что это для СПб, моего района и пр. Первый IP перестал работать подключился на второй. Посмотрю как пойдёт.

DNS сервера
Первый: 213.234.192.8
Второй: 85.21.192.3

Районный шлюз: 10.123.240.1



Настройка подключения к сети Интернет через провайдера Beeline

Это скомпилированное и адаптированное к моим условиям руководство из источников в сети Интернет.

Для настройки маршрутизатора можно воспользоваться командной строкой маршрутизатора (telnet,ssh), либо его веб-итерфейсом webfig.

Первоначальную настройку маршрутизатора следует сделать через web-интерфейс Webfig, на вкладке QuickConfig. Это создаст автоматическое подключение к локальной сети Beeline (с получением ip-адреса динамически), даст возможность подключаться по wi-fi к домашней сети созданной коммутатором внутри маршрутизатора.
Также сразу надо защитить беспроводную сеть и сменить пароль по умолчанию. Всем остальным можно заняться потом.

После этого, надо настроить туннельное подключение (VPN), чтобы получить возможность доступа в сеть Интернет для домашней сети.


Туннель можно выбрать как PPtP так и L2TP.  Настраивается это на вкладке PPP. Надо нажать кнопку "Add new" и задать параметры.

Первая особенность данного маршрутизатора, с которой я столкнулся - это явное указание IP-адреса VPN-сервера, а не доменного имени, при настройке туннельного подключения. Это повлекло необходимость выяснения IP-адреса VPN-сервера, с помощью настольного компьютера, временно подключенного к провайдеру.
Тут появляется вторая особенность - это динамический ip-адрес vpn-сервера, т.е. каждый раз новый. Но для первоначальной настройки подойдет и первый попавшийся, а затем воспользоваться помощью скриптов из интернета, для периодического преобразования и получения нового ip-адреса.
Третья особенность, маршруты до VPN и DNS серверов не прописываются автоматически, что вызывает обрыв после подключения туннеля

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

Итак, надо сделать следующее:
. Прописать в таблицу маршрутов ip-адреса DNS серверов Beeline (в пункте меню IP Routes)
. Прописать в таблицу маршрутов ip-адреса VPN серверов Beeline (в пункте меню IP Routes)
. Создать профиль PPP соединения (в пункте меню PPP-Profiles) с указанием фиктивного Remote-Address
. Создать PPP-интерфейс на основе профиля PPP соединения (в пункте меню PPP Interface)
. Настроить NAT (в пункте меню Firewall NAT) для обеспечения прохождения трафика клиентов в сеть Интернет

dns  и vpn сервера достижимы через районный шлюз. Это и надо указать при добавлении маршрутов. В принципе, с маской /32 можно прописывать отдельные ip-адреса.
Маршруты добавляются через пункт меню IP - Routes, либо в командной строке:

/ip route add dst-address=213.234.192.8/32 gateway=10.123.240.1 comment="Beeline Primary DNS server"

/ip route add dst-address=85.21.192.3/32 gateway=10.123.240.1 comment="Beeline Secondary DNS server"

Также и VPN сервера:
/ip route add dst-address=83.102.254.204/32 gateway=10.123.240.1 comment="Beeline VPN L2TP server"

/ip route add dst-address=83.102.254.249/32 gateway=10.123.240.1 comment="Beeline VPN PPTP server"

Во вкладке PPP Profiles создать профиль, указать фиктивный Remote-address из неподключенной подсети. Это как удалось выяснить на просторах сети исправляет сбои туннеля. У меня, без этого не работает.

/ppp profile add change-tcp-mss=yes comment="Beeline internet L2TP PPP profile" name="beeline-internet-l2tp" only-one=default  remote-address=192.168.255.254 use-compression=no use-encryption=no use-vj-compression=no

На основе созданного профиля создать PPP-интерфейс, нажав кнопку "Add new" и выбрав L2TP Client и заполнить поля, либо в командной строке:

/ppp interface l2tp-client add name=beeline-internet-l2tp profile=beeline-internet-l2tp user=имя пользователя password=пароль  server-address=83.102.254.204 disabled=no add-default-route=yes max-mru=1420 max-mtu=1420 mrru=disabled

Настройка сетевой трансляции адресов (NAT) - костыля эпохи IPv4, надо сделать в пункте меню IP - Firewall - NAT
либо в командной строке:
/ip firewall nat add out-interface=beeline-internet-l2tp chain=srcnat action=masquerade


Похоже всё.


Настройка бесплатных каналов IPTV Beeline

Настройка для Ubuntu server 12.04 можно посмотреть в моей заметке: IPTV Beeline....
Там же список каналов, действующий и по сей день, для Санкт-Петербурга.

Некоторые отличия настроек маршрутизатора Mikrotik RB951G-2HnD и будут освещены в этой заметке. Она является скорее дополнением к вышеуказанной заметке, где более подробно изложен порядок настройки.

Итак, нужно иметь возможность смотреть бесплатные каналы (мультиплекс) на настольном компьютере (по проводной сети Ethernet) и на планшете (по беспроводной сети Wi-Fi), подключенные к маршрутизатору Mikrotik RB951G-2HnD.

Прежде надо обновить операционную систему RouterOS (у меня была версия 5.24, а на сайте 5.25, я скачал пакет с ОС и положил его на маршрутизатор, через меню Files и перезагрузился) и установить пакет multicast. После перезагрузки должен появиться пункт меню "Routing - IGMP Proxy".

Надо выполнить следующее:

В пункте меню "Routing - IGMP Proxy Interface" надо добавить интерфейс с которого будет идти широковещательный трафик (IPTV) и интерфейс на который он будет передаваться.
В моем случае - это первый порт маршрутизатора, под названием beeline-home-gateway и внутренний мост bridge-local, в который объединены остальные 4 порта маршрутизатора и беспроводной интерфейс (клиенты - просмотрщики IPTV).

Некоторые настройки (alternative-subnets) я взял из своей заметки, упомянутой выше, в которой тоже был настроен IGMP proxy. Там же описан способ выяснения всех этих подсетей. Вот эти alternative-subnets и влияют на приём IPTV.

/routing igmp-proxy interface add alternative-subnets="10.0.0.0/8, 224.0.0.0/4, 78.107.196.0/24, 10.24.254.0/24, 85.21.90.0/24" comment="IPTV source interface" interface=beeline-home-gateway threshold=1 upstream=yes

/routing igmp-proxy interface add alternative-subnets="" comment="IPTV client interface" interface=bridge-local threshold=1 upstream=no

Также надо разрешить входящий трафик протокола IGMP на интерфейсе локальной сети Beeline (beeline-home-gateway), в настройках Firewall.

/ip firewall filter add chain="input" action="accept" protocol="igmp" in-interface=beeline-home-gateway comment="IGMP for IPTV"

Подправить настройки беспроводного интерфейса в разделе "Wireless - Interfaces". Для интерфейса wlan1 надо включить "Advanced Mode" и в настройке Multicast helper установить full. Можно включить WMM.
Также надо уменьшить мощность передатчика. Я поставил 15 dBm, это попадает в разрешенную мощность в России.


Опционально.

Замечено, что при отключении Wi-Fi интерфейса, пропадает доступ к системе, при настройках по умолчанию. И приходится делать аппаратный сброс настроек.
Это связано с тем, что IP-адрес маршрутизатора (192.168.88.1) присвоен беспроводному интерфейсу и при его отключении и происходит то что происходит.

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

Опционально.

Также есть очень полезный режим Safe mode, который откатывает настройки, до момента его включения, если пропадает связь клиента с маршрутизатором, при неправильном конфигурировании.



Ресурсы

Mikrotik- Типичные Проблемы И Их Решения. http://mstream.com.ua/mikrotik-tipichnie-problemi-i-ih-resheniay.html

Beeline L2TP на Mikrotik RB750 от a-zazell. http://blog.a-zazell.ru/beeline-l2tp-%D0%BD%D0%B0-mikrotik-rb750/

Форум IXBT по Mikrotik RouterOS. http://forum.ixbt.com\/topic.cgi?id=14:57592-98

Mikrotik IGMP Proxy manual. http://wiki.mikrotik.com/wiki/Manual:Routing/IGMP-Proxy

Настройка IPTV Билайн через WiFi с использовнием роутеров Mikrotik. http://itlifeway.blogspot.ru/2013/03/iptv-wifi-mikrotik.html

среда, 24 апреля 2013 г.

Миландр К1986ВЕ92QI (MDR32F9Q2I) GNU ARM toolchain

Обновляемая заметка о настройке свободного набора инструментов разработки под ARM микроконтроллер Миландр К1986ВЕ92QI MDR32F9Q2I в среде Linux Ubuntu Gnome 13.04, Linux Mint Mate.

Т.к. в силу сложившихся обстоятельств разработка любительских поделок ведется в Windows, с плавным переносом под Linux, то данная заметка будет дополняться постепенно.


Основную трудность на данный момент (Апрель 2013 года) составляет загрузка прошивки в микроконтроллер Миландр MDR32F9Q2I свободными инструментами.




Предварительная установка вспомогательных средств



Установка базового набора утилит для сборки проектов из исходных кодов:

$ sudo apt-get install build-essential


Установка среды исполнения JAVA. Часто уже установлена и можно пропустить этот шаг.

$ sudo apt-get install default-jre


Установка систем контроля версий SVN и GIT. Понадобиться для загрузки исходных кодов из различных источнков.

$ sudo apt-get install subversion

$ sudo apt-get install git

※※※



Установка ARM-toolchain (ARM-компилятора, ARM-отладчика)



Стандартный GCC в Ubuntu настроен для компиляции для платформы x86, а надо для ARM.

$ sudo apt-get install libc6-dev-armel-cross gcc-arm-linux-gnueabi


После установки, исполняемые файлы с префиксом: arm-linux-gnueabi будут расположены в папке /usr/bin.


Например:


$ arm-linux-gnueabi-as --version
$ arm-linux-gnueabi-gcc --version

$ arm-linux-gnueab-gdb --version


Теперь можно качать пример с ассемблерным файлом из моей заметки "ARM GNU AS example", компилировать и пробовать загружать в микроконтроллер Миландр MDR32F9Q2I. Команда make используется стандартная, и для неё в примере, подготовлен файл. Правда собирался только под Windows, так что возможно придётся немного подправить.

Загрузку прошивки можно осуществить программатором milprog. Пока только так.


※※※




Установка Eclipse CDT - среды разработки на языках C/C++



Eclipse platform - это целое семейство различных инструментов, построенных на единой платформе (специальные классы на языке Java). Вся платформа написана на языке Java, в силу этого переносима на операционные системы, поддерживающие среду исполнения Java.

Изначально, предназачалась для разработки на языке Java.


Eclipse CDT - это дополнение к платформе Eclipse, позволяющее разрабатывать на языке C/C++/ASM, для процессоров архитектуры x86. Набор средств подсветки исходных кодов, мастеров-шаблонов, графических отладчиков и пр.



В Ubuntu 13.04 присутствуют пакеты Eclipse platform версии 3.8.

Эта версия, по состоянию на март 2013 года - устарела, но и её можно настроить для разработки под ARM, но не просто. Поэтому, надо скачать дистрибутив с сайта Eclipse.



Eclipse platform 3.8 и CDT  можно установить следующим образом, но уже не рекомендуется:

$ sudo apt-get install eclipse-platform

либо

$ sudo apt-get install eclipse-cdt


В марте 2013 года, актуальная версия Eclipse - Eclipse Juno 4.2 и CDT 8.1.2.

В октябре 2015 года, актуальная версия Eclipse - Eclipse Mars.1 и CDT 8.8.0.



С сайта http://www.eclipse.org/cdt/ скачивается версия Eclipse for C/C++ Developers (сокращённо Eclipse CDT).


В октябре 2015 года, проще и быстрее скачать Eclipse Installer и в нём выбрать Eclipse for C/C++ Developers для установки.


Распаковывается в каталог из которого и будет работать.

Запускается в развернутом каталоге так:  ./eclipse

Можно также переместить распакованный каталог в папку /opt. Делается это с правами root-администратора.


Делается настройка для различных окон среды Eclipse в XMonad, если не устраивает поведение по-умолчанию.

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

Автозагрузка выглядит предпочтительнее.


После установки, можно попробовать обновиться, через меню "Help - Check Updates".


※※※




Установка Eclipse GNU ARM plugin



Eclipse GNU ARM plugin - это дополнение к уже сформированной платформе Eclipse + CDT, позволяющее разрабатывать программы на языках C/C++/ASM, но уже для процессоров архитектуры ARM.

Устанавливается из меню "Eclipse - Install Software".


В появившемся окне, надо добавить ссылку на источник кода для GNU ARM Plugin, нажав кнопку Add..


Источник кода: http://gnuarmeclipse.sourceforge.net/updates


Отметить появившейся пакет.

Выполнить пошаговый мастер и перезагрузиться.


※※※




Установка Eclipse GNU GDB Hardware debugging



Eclipse GNU GDB Hardware debugging - это дополнение к связке Eclipse+CDT+GNU ARM plugin,  позволяющее выполнять пошаговую графическую отладку процессоров ARM, в интерфейсе среды разработки.


Цепочка отладки включает в себя и GDB-сервер, и JTAG-адаптер и их средства взаимодействия.


Устанавливается Eclipse GNU Hardware debugging также через меню "Help - Install Software".


Только в качестве источника кода выбрать из списка ссылку на имеющийся релиз. (У меня Juno SR2).

Итак, источник для Juno SR2: http://download.eclipse.org/releases/juno/201303010900

В октябре 2015 года, источник другой для Eclipse Mars.1




Чтобы быстро найти нужный пакет, в строке поиска набрать "Hardware".

Нужный нам код находиться в "Mobile and Device development".

Называется "C/C++ GDB Hardware debugging".


Отметить.

Выполнить пошаговый мастер и перезагрузиться.


※※※




Установка OpenOCD - jtag-отладчика и GDB-сервера



Предварительные сведения, пока не устанавливал и не собирал.


OpenOCD - Jtag-отладчик, программатор и GDB-сервер, поддерживающий многие jtag-эмуляторы, в том числе имеющиеся у меня J-Link и Bus Blaster (FT2232H), а также ST-link.


Загрузить исходные коды OpenOCD из git-хранилища:

$ git clone git://git.code.sf.net/p/openocd/code openocd


Скорее всего, понадобиться и библиотека libFTDI, её исходные коды.

$ mkdir libftdi

$ cd libftdi

libftdi$ git clone git://developer.intra2net.com/libftdi

$ cd ..


А также LibUSB - библиотека для работы с USB-устройствами. Может оказаться, что она уже в системе установлена, тогда имеет смысл проверить её версию.

$ mkdir libusb

$ cd libusb

$ git clone git://git.libusb.org/libusb.git

$ cd ..


Перед сборкой OpenOCD, надо собрать и установить библиотеки LibUSB и LibFTDI. Вначале более общий уровень - LibUSB, затем LibFTDI и затем OpenOCD.



Сконфигурировать исходные коды OpenOCD.

Конфигурирование и сборка проводятся папке с исходными кодами.


Опции конфигурирования просмотреть на сайте отладчика, либо в документации, либо ./configure --help

./configure "указать опции"


Предварительно, для моих отладчиков опции следующие:

$ ./configure --enable-jlink --enable-ft2232_libftdi --enable-stlink



Собрать проект.

$ make


Установить в систему.

$ make install


※※※



Установка специфических утилит для микроконтроллера Cortex-M3 Миландр MDR32F9Q2I



Установка Milprog - программатора для микроконтроллеров Миландр MDR32F9Q2I



Сайт программатора milprog: https://github.com/sergev/milprog


Загрузка исходных кодов программатора.

$ svn checkout http://milprog.googlecode.com/svn/trunk/ milprog


либо


$ git clone https://github.com/sergev/milprog.git


※※※


Установка MDR32 SPL



Пока не выполнялась.

см. форум: http://forum.milandr.ru/viewtopic.php?f=33&t=607


Для скачивания выполнить:


$ git clone https://github.com/eldarkg/emdr1986x-std-per-lib.git


※※※


Установка драйверов адаптеров USB-UART-TTL



При разработке для микроконтроллеров обязательным инструментом сейчас становиться согласующее устройство (адаптер) USB-UART-TTL, т.к. практически каждый микроконтроллер оборудован последовательным портом. Это не полный стандарт RS-232, а обычно 3 провода (TX-RX-GND), с логическими уровнями TTL. Так что требуется переходник.


Наиболее интересны переходники на основе микросхем FT232RL, FT232H фирмы FTDI. Целое семейство микросхем - с двумя портами, с четырьмя портами.


Основной бонус, это наличие в микросхеме специального режима (MPSSE), позволяющего использовать её как JTAG-отладчик, и для эмуляции последовательных протоколов (I2C, SPI и пр.). Для этих микросхем есть специальные фирменные драйверы, поддерживающие расширенную функциональность.


Для использования переходника на основе FT232, в качестве последовательного порта, драйвер (ftdi_sio) входит в ядро Linux. Но для использования фирменных драйверов и расширенной функциональности, их надо установить, а также выгрузить драйвер ftdi_sio.



Также, обычно понадобиться открытая библиотека LIBFTDI, многие программаторы используют её.


Загрузить LIBFTDI можно с сайта: http://www.intra2net.com/en/developer/libftdi/download.php



※※※


Установка Eagle CAD



Разработка программ под микроконтроллеры Миландр MDR32F9Q2I, помимо программных инструментов, требует  и аппаратные средства. Их можно создать самостоятельно используя графическую программу Eagle CAD. Это распространённая среди любителей программа, позволяющая бесплатно создать 2-слойную плату размером 10х10.

Загрузить можно с сайта:

http://www.cadsoftusa.com/download-eagle/?language=en


Версия, доступна под Windows, Linux, Mac OS X, так что проекты хорошо переносятся между операционными системами.
По состоянию на октябрь 2015 года, 64-битный установщик работает нормально на версии Linux Mint 17.2.


Проблемная установка старых версий в 64-битной версии Ubuntu: http://gimmor.blogspot.com/2014/04/eagle-cad-64-ubuntu-1404-1310-1304.html


※※※

Установка KiCAD



Открытая система разработки электронных схем и печатных плат.

Сайт: http://www.kicad-pcb.org/


Рекомендуемая процедура установки из PPA.

$ sudo add-apt-repository ppa:js-reynaud/kicad-4

$ sudo apt-get update

$ sudo apt-get install kicad

В пакет KiCAD EDA входит полезная (обязательная) программа Gerbview для просмотра файлов GERBER, отправляемых в производство.



※※※


Ресурсы



1. Eclipse CDT. http://www.eclipse.org/cdt/

2. Eclipse GNU ARM Plugin. https://github.com/gnuarmeclipse

3. Eagle CAD. http://www.cadsoftusa.com/download-eagle/?language=en

4. Kicad EDA. http://www.kicad-pcb.org/

5. OpenOCD. http://openocd.org/

6. Драйверы FTDI. http://www.ftdichip.com/Drivers/D2XX.htm

7. Программатор milprog. https://github.com/sergev/milprog

8. MDR32 Standard Peripherial Libary. https://github.com/eldarkg/emdr1986x-std-per-lib  http://forum.milandr.ru/viewtopic.php?f=33&t=607

9. Библиотека LibUSB. http://www.libusb.org/

10. Библиотека LibFTDI. http://www.intra2net.com/en/developer/libftdi/download.php

11. Форум Миландр: http://forum.milandr.ru/

12. Сайт программы логического анализатора. http://www.lxtreme.nl/ols/





※※※







Intel DN2800MT на рабочем столе Ubuntu 13.04


Особенности интегрированной материнской платы Intel DN2800MT на рабочем столе Ubuntu 13.04


Как уже стало многим понятно, материнская плата Intel DN2800MT, в целом прекрасный, но не доработанный продукт. Плата содержит интегрированный процессор Intel Atom N2800 с пассивным охлаждением (чем и привлекла), со встроенным графическим ядром Intel GMA3650. Эта маленькая особенность, при всех достоинствах платы, создает трудно преодолимые проблемы для использования этой платы в Linux, в графическом окружении.

Кодовое имя платформы: cedartrail
Кодовое имя процессора: cedarview
Процессор: Intel Atom N2800. Рейтинг производительности - 644, по данным cpubenchmark.net
Это примерно соответствует производительности имеющихся у меня компьютеров на базе Athlon X2 Dual Core 4000+ 6 летней давности, работа которых под Ubuntu не вызывает трудностей.

Микросхема LPC аппаратного мониторинга температуры и напряжений: Nuvoton W83627DHG, поддерживается в пакете lm-sensors, но требует тонкой настроки /etc/sensors.d/dn2800mt.conf.


Привходящая версия Ubuntu 13.04, с трудом отображает двумерную графику, эффекты заторможенные, а о 3d - лучше не заикаться.

Однако, связка Intel DN2800MT + xmonad, позволила превратить эту "не пришей" плату в неплохую систему для разработки программ для микроконтроллеров Cortex-M3 Миландр MDR32F9Q2I.

Я ранее, уже применял xmonad для обычного настольного компьютера, что показалось мне удобным. Теперь решил применить и сделать xmonad - основным менеджером окон X-Window и настроить его конфигурацию для разработки программ, на время зимнего использования. Летом - это будет роутер.
Итак, система Intel DN2800MT + Ubuntu 13.04 + Xmonad.
В октябре 2015 года, удалось смигрировать на Intel DN2800MT + Linux Mint 17.2 Mate.



Предварительная настройка
Стандартная установка Ubuntu 13.04 прошла штатно, интереса давно уже не вызывает - пропускаю.

Предварительную настройку для этой платы надо сделать, так как графический драйвер (если он вообще есть) содержит какие-то недоработки.

Итак, у меня к плате по интерфейсу VGA подключен плоский TFT-монитор, однако разрешение установилось не соответствующее монитору. Поиск причины привел к необходимости выполнить команду xrandr, которая заведует дисплеями, их расположением, разрешением и пр. в X Window.

# xrandr

Из которой становиться понятно, какие выходы доступны, какие активные и какое разрешение на них установлено.

Автоматически установившееся разрешение было 1980x1080, что приводило к скрытию частей экрана и пр. визуальным проблемам.

Изменил разрешение текущего экрана X-Window, командой:
# xrandr -s 1280x1024

Разрешение поменялось. Но требовалось постоянное решение и в найденном документе Intel по этой проблеме было решение - надо при загрузке отключить LVDS вывод.

Делается это прописыванием в опции загрузки: video=LVDS-1:d

Я чуть дополнил: video=LVDS-0:d video=LVDS-1:d

Маленькая латинская буква "d" - означает "disable" - отключение.

После перезагрузки разрешение стало корректным. Чуть улучшилась скорость отрисовки. Это если поставить 640x480 - будет шустро работать. А консоль, вообще, должна летать.


$ xrandr
Screen 0: minimum 320 x 200, current 1280 x 1024, maximum 2048 x 2048
VGA-0 connected 1280x1024+0+0 376mm x 301mm
   1280x1024      60.0*+   75.0 
   1280x960       60.0 
   1152x864       75.0 
   1024x768       75.1     70.1     60.0 
   832x624        74.6 
   800x600        72.2     75.0     60.3     56.2 
   640x480        72.8     75.0     66.7     60.0 
   720x400        70.1 
LVDS-0 disconnected
DVI-0 disconnected
DisplayPort-0 disconnected
DVI-1 disconnected
DisplayPort-1 disconnected



Итак, интерфейс Unity на этой материнской плате - неработоспособен.
Кое-как запускается терминал и устанавливается ghc и xmonad. Конфигурационный файл берется из архивов. Перезагрузка, выбор xmonad и вход в систему, запуск консоли (alt+shift+Enter, у меня win+shift+Enter).

Если требуется более дружелюбный интерфейс, то Gnome-Shell 3.8 работает на плате Intel DN2800MT шустрее Unity.
Быстрее Gnome Shell работает любой "легковесный" менеджер рабочих столов, оптимизированный (не использующий графический ускоритель) для старых компьютеров. Т.е. такая вещь как Enlightment - подойдет однозначно.

Если смотреть правде в глаза, эта плата не успевает отрабатывать зажатую клавишу курсора, когда я набираю этот текст в Firefox, в Gnome-Shell. Тот же набор текста, в Firefox, в Xmonad, не вызывает отрицательных ощущений. 30 вкладок переключаются нормально, текст набирается быстро и пр. Мда, всё-таки видеодрайвер надо дорабатывать.
Рядом стоящий старый компьютер с процессором Sempron с отдельным ускорителем, визуально работает быстрее.


Итак, это 2013 год, это Intel. Это 2D. Ощущения Pentium 20-летней давности. Спасибо за нахлынувшие воспоминания.

Теперь, приказ по компании Intel
1. опубликовать полную спецификацию на графический ускоритель  встроенный в процессоры семейства Intel 2000 series, в том числе встроенный в плату Intel DN2800MT.
2. Оказать усиленную поддержку в разработке и оптимизации драйвера для Linux.
3. По исполнению, доложить сообществу.

Ходят непроверенные слухи, что GMA3650 это графический ускоритель -
PowerVR SGX545 от Imagination Technologies. Однако, делает плату Intel и отсутствие драйверов - это её ответственность.
И вообще, использовать чужое графическое ядро, при наличии своих разработок - это  как? Это надо разогнать отдел маркетинга, или как минимум пересмотреть политику.

Приказ по компании Imagination Technologies

1. Проявить предупредительность и опубликовать спецификацию на свой графический ускоритель
2. В качестве мер извинения - разработать open-source драйвер для Intel GMA3650.
3. По исполнению, доложить сообществу и получить всеобщее признание.
4. В случае неисполнения, обанкротиться и прекратить существование.


Дополнительно. Настройка мониторинга напряжений и температур

Стандартная установка пакетов мониторинга:
$ sudo apt-get install lm-sensors, hddtemp

Определение сенсоров:
root@oko# sensors-detect

Чип мониторинга присутствует в системе, но его надо настроить. Для этого создать файл /etc/sensors.d/dn2800mt.conf

После создания файла, надо выполнить команду:
sensors -s
которая пересчитает границы
Если границы не пересчитываются, то надо удалить

После этого, появляется хоть какое-то доверие к системе мониторинга

Системный 3-выводной вентилятор - fan1

Мое содержимое файла /etc/sensors.d/dn2800mt.conf

# Intel DN2800MT sensors
# Dual-Core Intel ® AtomTM Processor N2800
# Чип мониторинга: Nuvoton W83627DHG
# Дата: 15 октября 2015 года
# сервер: tix
# Поместить этот файл в /etc/sensors.d/
# URL: http://gimmor.blogspot.com/2013/04/intel-dn2800mt-ubuntu-1304_24.html


# Суженый выбор чипа, для моей платы, после определения sensors-detect
chip "w83627dhg-isa-0290"

# Неработающие или неиспользуемы выводы
    ignore  cpu0_vid
    ignore  intrusion0
    ignore  in2

    ignore  fan0

    ignore  fan2
    ignore  fan3
    ignore  fan4
    ignore  fan5
    ignore  fan6
    # temp2 всегда 110.5
    ignore  temp2


# Напряжения устройств системы

    # Напряжение процессорного кристалла
    # Т.к. напряжение может менятся в зависимости от режима работы Enhanced Intel SpeedStep Technology, то установлена общая граница
    label   in0            "Processor die, Vcc"
    set     in0_min        0.75
    set     in0_max        1.21

    # Напряжение памяти (Memory, Vcc)
    label   in5            "1.5V Memory"
    set     in5_min        1.5 * 0.95
    set     in5_max        1.5 * 1.05

    # Intel® Platform Controller Hub (PCH) Vcc
    # Intel® NM10 Express Chipset Intel® CG82NM10 PCH)
    # Номинальное напряжение питания внутренней логики 1.05 В
    # Vcc1_05 - напряжение внутренней логики чипсета
    # Границы напряжений 0.998-1.102 в соответствии со спецификацией на Intel NM10 Express chipset
    # Настроена защита границ на 10 мВ
    label   in6            "1.05V Platform Controller Hub, Vcc1_05"
    set     in6_min        0.998+0.010
    set     in6_max        1.102-0.010


# Напряжения ATX стандарта
# Диапазон в соответствии с ATX12V Power Supply Design Guide

    # +12.0V
    label   in1            "ATX +12V"
    compute in1            12*@, @/12
  
    set     in1_min        11.4
    set     in1_max        12.6

    # AVCC
    # Напряжение аналоговой земли, используется в DDI
    # Непроверен, не используется
    label   in2               "Analog Vcc"
  
    # +3.3V
    label   in3            "ATX +3.3V"
    set     in3_min        3.14
    set     in3_max        3.47

    # +5.0V
    label   in4            "ATX +5V"
    compute in4            5*@, @/5
    set     in4_min        4.75
    set     in4_max        5.25

    # +3.3V Standby
    label   in7            "+3.3V Standby"
    set     in7_min        3.3 * 0.95
    set     in7_max        3.3 * 1.05

    # Напряжение часовой батареи (RTC), обычно CR2032 li-Ion
    # Номинальное напряжение 3В
    # Напряжение разряженной батареи 2В
    # Диапазон 2-3.6 VccRTC в соотв. со спецификацией на Intel NM10 Express chipset
    label   in8            "3V CR2032 RTC Battery, VccRTC"
    set     in8_min        2
    set     in8_max        3.6

# Температуры

    # Температура модуля памяти
    # Модуль памяти: 1.5 V DDR3-800 или DDR3-1066 SO-DIMMs, Небуферизированная, без ECC
    label   temp1          "Memory module"
    set     temp1_max      85
    set     temp1_max_hyst 80

    # Температура регулятора напряжения
    label   temp3          "Voltage regulator"
    set     temp3_max      85
    set     temp3_max_hyst 80

# Системные вентиляторы

    # Системный вентилятор
    label   fan1           "3-pin system fan"
    set     fan1_min       0


Температура в простое: 45-50 град Цельсия.
Вот что выводит настроенная системы lm-sensors:

# sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +45.0°C  (crit = +100.0°C)
Core 1:       +44.0°C  (crit = +100.0°C)

w83627dhg-isa-0290
Adapter: ISA adapter
Processor die, Vcc:                      +0.84 V  (min =  +0.75 V, max =  +1.21 V)
ATX +12V:                               +12.00 V  (min = +11.42 V, max = +12.58 V)
ATX +3.3V:                               +3.31 V  (min =  +3.14 V, max =  +3.47 V)
ATX +5V:                                 +4.96 V  (min =  +4.76 V, max =  +5.24 V)
1.5V Memory:                             +1.49 V  (min =  +1.42 V, max =  +1.58 V)
1.05V Platform Controller Hub, Vcc1_05:  +1.06 V  (min =  +1.01 V, max =  +1.10 V)
+3.3V Standby:                           +3.33 V  (min =  +3.14 V, max =  +3.47 V)
3V CR2032 RTC Battery, VccRTC:           +3.23 V  (min =  +2.00 V, max =  +3.60 V)
3-pin system fan:                        345 RPM  (min =    0 RPM, div = 32)
Memory module:                           +43.0°C  (high = +85.0°C, hyst = +80.0°C)  sensor = CPU diode
Voltage regulator:                       +46.5°C  (high = +85.0°C, hyst = +80.0°C)  sensor = CPU diode

Плюсы получившейся конфигурации

1. Тишина, за счёт пассивной системы охлаждения
2. Автоматическая загрузка рабочей среды
3. Богатые возможности подключения различной периферии
4. Нераздражающая производительность в XMonad
5. Выделенная система - стабильная конфигурация - быстрый старт разработки

Минусы

1. Низкая визуальная производительность. Привыкается со временем, если не использовать одновременно быстродействующие компьютеры (избежать сравнения и расстройства навыков взаимодейтвия).
2. Необычный интерфейс XMonad. Способ взаимодействия требует предварительного обучения, объяснения и понимания преимуществ.
4. Размер. Mini-ITX - это крупно.

Выводы

1. Тщательнее проверять поддержку вновь приобретаемого оборудования на предмет совместимости с Linux
2. Использовать как 3g-роутер, как и было запланировано. Но, куда деться от зуда экспериментаторства?
3. Тишина - это когда слышно как работает блок питания роутера.
4. Для беспроблемной работы (пользователю) установить Linux Mint 17.2 Mate.


Ресурсы

. Описание платы на сайте производителя: http://www.intel.ru/content/www/ru/ru/motherboards/desktop-motherboards/desktop-board-dn2800mt.html

http://habrahabr.ru/sandbox/56311/ Об установке драйверов производителя в среде Linux 12.04.
http://www.lxtreme.nl/ols/ . Сайт программы логического анализатора.
. Заметка о выводе звука через HDMI. http://tt.erinome.net/2012/07/276
. Ветка форума Ubuntu, по теме Intel GMA3600: http://forum.ubuntu.ru/index.php?topic=186601.0
. http://www.linux.org.ru/tag/cedartrail
. Форум IXBT по материнской плате Intel DN2800MT. http://forum.ixbt.com/topic.cgi?id=9:65950
. Установка lm-sensors в Ubuntu. https://help.ubuntu.com/community/SensorInstallHowto
. Мнение Freedesktop.org насчёт предмета обсуждения http://people.freedesktop.org/~zhen/cedarview/
.
.


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

Новейший Gnome 3 на Ubuntu Gnome Shell 13.04

Небольшая заметка об установке новейшей версии Gnome Shell 3.8 в системе Gnome shell Ubuntu 13.04 (Gnome Shell remix).

После некоторых итераций по установке нового Gnome Shell 3.8, выкристаллизовалась такая последовательность.

1. Скачивается и устанавливается ежедневная сборка Ubuntu Gnome Shell.
2. Добавляется пакетное хранилище Gnome3:
sudo add-apt-repository ppa:gnome3-team/gnome3
2. Обновляется список пакетов: sudo apt-get update
3. Обновляется дистрибутив: sudo apt-get dist-upgrade

Простой upgrade не приводит к работоспособной среде, только dist-upgrade.
После установки (dist-upgrade) желательно перезагрузиться.

Чтобы установить несколько интересных программ вошедших в Gnome 3.8:

sudo apt-get install gnome-boxes
sudo apt-get install gnome-weather
sudo apt-get install gnome-clocks
sudo apt-get install gnome-photos
sudo apt-get install bijiben
sudo apt-get install epiphany-browser-webkit2

bijiben - это заметки (Notes)

Проверить после перезагрузки установленную версию Gnome shell.
gnome-shell --version



P.S. Конечно, сейчас, когда ещё не вышла Ubuntu 13.04, замечены падения некоторых программ, в частности Software Center.
P.P.S. Gnome Shell 3.8 продолжает радовать.




среда, 3 апреля 2013 г.

Пример цензуры в Интернете


3 апреля 2013 года, около 19:10 словил такое сообщение от провайдера Ростелекома.
Просмотр вхождения сайта в реестр запрещенных ресурсов, по указанной ссылке, ничего не дал.
Местные чудят, что и показало переподключение к сети с другим IP-адресом.
Как объяснил, в доверительном разговоре, один сотрудник ведомства - ресурс взят на контроль.
Ещё такое повториться - отключусь от хамского провайдера.
Привет.


Тут народ подсказывает, что 24 апреля 2013 года, отключили доступ к Yandex.ru. Такую же картинку наблюдали.  Я, к сожалению, не застал это радостное событие. Ну что-же, практика далее будет множиться, картинка запоминаться. Видно, как ребята, усердно отрабатывают "технологию", за 30-то серебрянников.






воскресенье, 31 марта 2013 г.

Заложена страница церкови святых Стива и Билла

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

Пресс-служба церкви святых Стива и Билла