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



Тонкий клиент 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 мал. Поэтому было решено установить ОС на внешний жесткий диск.



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



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



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



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



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



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



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



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



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

setenv hdd_bootargs 'console=ttyS0,115200 root=/dev/sdb1 rw rootwait video=xgifb'
setenv boot_hdd 'ext2load ide 1:1 0x800000 /uImage; ext2load ide 1:1 0x1100000 /uInitrd'
setenv hdd 'ide reset; wol; setenv bootargs $(hdd_bootargs); run boot_hdd; bootm 0x800000 0x1100000'
setenv mainlineLinux yes
setenv arcNumber 2846
setenv bootcmd 'run hdd'
saveenv

Здесь мы выставляем загрузку с жесткого диска (ide 1:1), загружаться будут uImage и uInitrd. Команда saveenv означает запись конфигурации в энергонезависимую память. Более подробно о доступных командах можно узнать набрав знак вопроса в консоли.

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


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



После успешной установки, необходимо войти в консоль 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 0x800000 /uImage; bootm 0x800000'
setenv hdd 'setenv bootargs $(hdd_bootargs); run boot_hdd; bootm 0x800000'
saveenv

Если все установлено в один раздел:

setenv hdd_bootargs 'console=ttyS0,115200 root=/dev/sdb1 rw rootwait video=xgifb'
setenv boot_hdd 'ide reset; ext2load ide 1:1 0x800000 /boot/uImage; bootm 0x800000'
setenv hdd 'setenv bootargs $(hdd_bootargs); run boot_hdd; bootm 0x800000'
saveenv

Все! Теперь у вас есть миниатюрный сервер под управлением Debian, которому можно найти массу применений на работе и дома. Ниже показаны фотографии того, что получилось в итоге. Жесткий диск установлен на болты от VGA разъема.











Комментарии (15)


  1. eta4ever
    18.06.2015 19:52

    Блин, реально так мало места, что не встанет SATA-разъем с воткнутым Г-образным коннектором? Странно как-то это. Или эту плату ставили и в более толстые корпуса?


  1. apkotelnikov
    18.06.2015 21:19

    M-SATA SSD дороже, но влезет в корпус.


  1. soar
    18.06.2015 22:22
    +5

    Это самый странный апгрейд из всех что я видел…


    1. CRImier
      19.06.2015 03:59

      На самом деле апгрейд ИМХО выполнен довольно чисто. Мне нравится решение по подключению жёсткого диска (но совершенно непонятно, как прикручены болты, кстати). А если вы про применение данного девайса — на каждый девайс найдётся своя ниша =)
      Тем, кто приведёт аргументы типа «Но можно же было взять Raspberry Pi», поясняю:
      1) Ethernet не на USB, а, по всей видимости, на своей шине, как и SATA. Это сразу решает часть проблем с пропускной способностью.
      2) Нормальный (по сравнению с Pi не + версии) звук
      3) VGA выход
      Тем, кто сталкивался с похожими проблемами, используя Raspberry Pi, понятно, о чём речь.

      +Иногда такое устройство просто валяется дома и его хочется куда-то применить. Этот вот фактор доступности и является причиной того, что у меня на стене висит похожий тонкий клиент, только x86. Занимается проигрыванием музыки и стримингом с видеокамер, ну и машинка для экспериментов. Планирую на него повесить ещё проигрывание видео. А если попадёт в руки такая же железка, как у автора — точно найду ей применение. К примеру, сделаю бекап-сервер в квартиру родственников, пусть важную информацию со всех компьютеров хранит. 10/100 сеть, конечно, удручает… Но внутридомовые сети обычно всё равно 100МБ/с, так что для среднестатистической квартиры сойдёт.


      1. wmlex Автор
        19.06.2015 06:50
        +1

        Вы правы, Ethernet и SATA висят на своих шинах. Вот тест производительности дисковой подсистемы:

        Скорости чтения

        ~# sync; dd if=/dev/zero of=tempfile bs=1M count=1024; sync
        1024+0 records in
        1024+0 records out
        1073741824 bytes (1.1 GB) copied, 14.9024 s, 72.1 MB/s
        


        Скорости чтения
        # dd if=tempfile of=/dev/null bs=1M count=1024
        1024+0 records in
        1024+0 records out
        1073741824 bytes (1.1 GB) copied, 12.4199 s, 86.5 MB/s
        


        1. CRImier
          19.06.2015 06:54

          Вау. По сравнению с Raspberry Pi это мощно =) Будь процессор помощнее, могло бы быть торрент-боксом. Кстати, если не секрет, для чего его используете Вы? И всё же — как прикручены диски? =) У VGA-разъёма и у мелких жёстких вроде разная резьба…


          1. wmlex Автор
            19.06.2015 08:24
            +1

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


          1. wmlex Автор
            20.06.2015 13:55

            По поводу производительности, поднял на нем transmission и samba. Для теста поставил на загрузку торренты и параллельно копировал файлы на шару. Load average конечно высокий, но система была вполне отзывчива. Температура диска 38 градусов.

            Фото





  1. CRImier
    19.06.2015 04:03
    +4

    Для тех, кто будет повторять, классическое напоминание — сначала продеть кабель SATA в отверстия в крышке, потом паять! =)


    1. wmlex Автор
      19.06.2015 06:38
      +1

      Очень правильное замечание! =)


  1. dr1v3
    19.06.2015 07:27

    Расскажите, как завести на этом клиенте встроенную видеокарту, т.к. драйвера из коробки не поддерживают нужное мне разрешение 1600х900.


    1. dr1v3
      19.06.2015 08:11

      Т.е. драйвера из коробки в ThinPro.


      1. wmlex Автор
        19.06.2015 08:31
        +2

        Судя по этому документу Ваше разрешение не поддерживается. Как вариант предлагаю посмотреть вот тут.


        1. dr1v3
          19.06.2015 08:43

          Спасибо, поковыряю на досуге.


        1. CRImier
          19.06.2015 09:10

          Правильная ссылка, вкладка Technical Specifications.