[Из песочницы] Прокачиваем тонкий клиент HP t5325

В этой статье речь пойдет о доработке тонкого клиента HP для установки на него Debian 8.

62049f3760a041edb43f2337c250f796.jpg

Тонкий клиент HP t5325 самый маленький в своем семействе и единственный построен на архитектуре ARM. Ниже приведу его основные характеристики:

  • Прцессор Marvell ARM 88F6281 1.2 GHz.
  • Видеокарта XGI VOLARI-Z11-A2CB-HF 64MB.
  • RAM 512MB DDR2.
  • Flash memory 512MB.

Подготовка

Данный клиент работает под управлением HP ThinPro, которая построена на базе Debian. Проблема заключается в том, что система установлена на внутреннюю Flash память объемом 512MB. По современным меркам этого объема недостаточно для комфортной работы, да и ресурс циклов перезаписи встроенной Flash мал. Поэтому было решено установить ОС на внешний жесткий диск.

54b47034f1c6418692e3063d69be6000.JPG06431fa8735e496d9bbdbfebd3a59976.JPG

На печатной плате видно, что есть место под установку вертикального разъема SATA, но габариты корпуса не позволяют этого сделать. Так же при более детальном изучении выяснилось, что на плате не распаяны некоторые элементы, а в частности, фильтрующие конденсаторы на выводах Rx, Tx разъема SATA0: C80, C81, C82, C83. На фото ниже показаны места их установки.

437f8c289b864cbab5e54ea25a81393a.jpgbe3b2faf08f54e5e81b890f3bebeb688.jpg

Эти конденсаторы можно позаимствовать из платы от старого жесткого диска:

ac3f97744f704854b8e76451cbd0a30f.jpg

После монтажа конденсаторов и изучения разводки платы в области SATA разъема, была определена следующая схема подключения:

1baaca83c7594f22ad9e53b7d7f67653.jpg

Из-за отсутствия места внутри корпуса, было принято решение установить жесткий диск снаружи, на верхней крышке. Это обеспечило удобный доступ к диску и лучшее охлаждение. Для этих целей был куплен SATA кабель от ноутбука HP DV5, подойдет так же от DV6 и DV7–1000, он имеет достаточную длину и подходящий диаметр для того, чтобы пролезть в отверстия в верхней крышке.

4d5a015f44884b8aa3bfa5b4e3d0729e.JPG

Далее удаляем разъем, определяем распиновку и паяем согласно схеме.

bd9b142622f94687bfd69bed4f81f3d9.JPGa3f2861a0a104c918d00bd5852d1e764.JPG

Для увеличения механической прочности соединения, фиксируем все термоклеем.

401e549fe8e44c2d8b662642e2366b31.JPG9818ca5bc13e49449a27a7e930255f01.JPG

В данном тонком клиенте отсутствует BIOS, для загрузки ОС используется U-Boot. Чтобы настроить загрузку с внешнего диска необходимо получить доступ к консоли U-Boot- это можно сделать подключившись к соответствующим выводам на плате, USB — UART преобразователем.

e39ec9bb43d745f2b1514ca0e70cd09b.jpg

Открываем Putty и выбираем COM порт, который закрепился за преобразователем. Подаем питание и быстро нажимаем кнопку «пробел», пока не увидим приглашение на ввод команд.

86857dc0dc554ae382fda1acaf1e325d.jpg

В консоли U-Boot необходимо ввести следующие команды:

setenv hdd_bootargs 'console=ttyS0,115200 root=/dev/sdb1 rw rootwait video=xgifb' setenv boot_hdd 'ext2load ide 1:1 0×800000 /uImage; ext2load ide 1:1 0×1100000 /uInitrd' setenv hdd 'ide reset; wol; setenv bootargs $(hdd_bootargs); run boot_hdd; bootm 0×800000 0×1100000' setenv mainlineLinux yes setenv arcNumber 2846 setenv bootcmd 'run hdd' saveenv Здесь мы выставляем загрузку с жесткого диска (ide 1:1), загружаться будут uImage и uInitrd. Команда saveenv означает запись конфигурации в энергонезависимую память. Более подробно о доступных командах можно узнать набрав знак вопроса в консоли.

Установка системы

В качестве ОС был выбран Debian 8, как максимально совместимый и не требующий дополнительного «допиливания». Перед началом установки необходимо подготовить жесткий диск. На диске нужно создать один раздел и отформатировать его в файловую систему ext2, после чего скопировать, в корень, uImage и uInitrd. Далее подключить жесткий диск к тонкому клиенту и подать питание. Если все сделано правильно, то в консоли должен отображаться лог загрузки системы и начаться установка.

475579c7e88e4a0ea039d6b1c10a81ca.jpg

После успешной установки, необходимо войти в консоль U-Boot и внести небольшие изменения в конфиг. Если при установке системы было выбрано разбитие диска по умолчанию и для папки boot создан отдельный раздел диска вводим следующие команды:

setenv hdd_bootargs 'console=ttyS0,115200 root=/dev/sdb1 rw rootwait video=xgifb' setenv boot_hdd 'ide reset; ext2load ide 1:1 0×800000 /uImage; bootm 0×800000' setenv hdd 'setenv bootargs $(hdd_bootargs); run boot_hdd; bootm 0×800000' saveenv Если все установлено в один раздел: setenv hdd_bootargs 'console=ttyS0,115200 root=/dev/sdb1 rw rootwait video=xgifb' setenv boot_hdd 'ide reset; ext2load ide 1:1 0×800000 /boot/uImage; bootm 0×800000' setenv hdd 'setenv bootargs $(hdd_bootargs); run boot_hdd; bootm 0×800000' saveenv Все! Теперь у вас есть миниатюрный сервер под управлением Debian, которому можно найти массу применений на работе и дома. Ниже показаны фотографии того, что получилось в итоге. Жесткий диск установлен на болты от VGA разъема.

ac97951b8b784388abf6fc7cf5d3f2e9.JPG5f4c9b0b8d064120b5163c770039fa8a.JPG

30ea695f7e2144779b54b57f9098d019.JPGe391e7a2aed247af83f23cb8367c8b37.JPG

47b166406b21429d930fc0be3fe95eb6.JPG525c295291c340fb9bcb68ff2ab790ac.JPG

b035d8c5e63c4210926f08737fb09786.JPG3a2b846094a5477d841fddfec1e82b3e.JPG

© Habrahabr.ru