MiniDevicesTop ИТ блоги 2024-05-18 2024-05-18 Отображаются все разделы
123456

root
0

Linux Ubuntu
Windows 10
Планшеты
Tweaks


Без комментариев
Unbranded UB-15MS10 Windows 10 installation. Установка Windows 10



Unbranded UB-15MS10 - это неплохой себе планшет x86 на Intel Atom. Судя по внешнему виду и внутренней конфигурации, это украденный ушлыми китайцами сразу с заводов, будущий Asus T100. Боюсь это первая в интернете статья, на тему этого планшета. Итак,


Конфигурация этого девайса:

Процессор: 4-ядерный Intel Atom Z3735F с кодовым именем BayTrail;
ОЗУ: 2 Гб DDR3;
Видео: Intel HD;
Дисплей: 10.1" WXGA TFT разрешением 1280х800 пикселей и тачскрином фирмы Goodix;
Носитель: 32GB eMMC;
Тыловая и фронтальная камеры на 2 мпикс, на непонятном сенсоре hm2056, с непонятным подключением по шине;
WiFI + BT на чипе Realtek 8273bs;
GPS на чипсете Broadcm BCM4751;
Гироско, датчик освещенности, светодиоды зарядкиактивности вебкамер;
Батарея: 3.7V 6300 mAh;
HDMI выход;
USB-OTG;
Слот под MicroSD.
Установленная ОС по умолчанию - Windows 8.1, которая может быть обновлена до Windows 10 со всем оставшимся мусором.

Однако при установке Windows 10 или Linux, нас ждет увлекательный процесс, кое-что мне так и не удалось победить, поэтому перед экспериментами, не забывайте делать бэкапы.
Начну сразу с того, что получается бескровно.
Windows 10: без проблем находится WiFi, драйверы на системные устройства и на видео с тачскрином, ставятся из архива для SoC Intel Z3xx series. Не сразу завелся звук. Дебильная система, фактически звуковой чип - Intel SST, но он подключен через примитивную I2s шину, которая совсем не Plug&Play, и вообще непонятно как работает. Чтобы вывести звук через эту штуку, система должна знать, что на шине i2s находится звуковой чипсет. Эта система работает при помощи Realtek i2s, он же Realetk ALC5621 кодеков. Кодек прописывается наглухо в систему, и говорит звуковым устройствам, что звук надо гнать ВОТ СЮДА. Запинка при установке драйверов на звук в том, что драйверы на Realtek нужно ставить от Realtek, и только тогда звук становится слышно. Фичи вроде гироскопа и датчика света, я не ставил, судя по всему им в комплекте нужен софт или патч, который будет переворачивать экран. Но мне это не нужно.
Linux: здесь все сложнее и зависит от ядра. Некоторые дистрибутивы не запускаются вовсе, потому что планшет собран на 64 битном процессоре, но с поддержкой сугубо 32 битного UEFI, посему мало какие 64-битные дистры с ним идут. С UEFI запустился Debian 8 NetInstall, и Ubuntu Linuxium, специальная сборка под планшеты Asus T100. На ядре ниже 4.1 по умолчанию не работает тачскрин, а так же идут мерцающие артефакты.

Продолжение следует...


root
0

Старое железо
Linux Ubuntu


2 комментариев
Тонкая настройка и компиляция ядра Linux

Есть у двух операционных систем Windows и Linux, два недостатка, которые при перекрестном сравнении, оказываются очень даже достоинствами, хотя чаще всего все же недостатками: универсальность.

Когда-то давным давно, мы все сталкивались с необходимостью переустанавливать Windows, после смены всего лишь материнской платы. Кто-то не заморачивался и переустанавливал, кто-то лез в дебри и узнавал, что во всем виноват контроллер жесткого диска, и можно было всего лишь переустанавливать драйверы. С тех времен (2001 г., Windows XP) мало что поменялось - 2015 г., Windows 10 ведет себя так же само. Установленная на одном ПК Windows, отказывается работать на другом ПК.

С Линуксом таких проблем нет. Установленный один раз, на флешку, на жесткий диск, он будет работать примерно одинаково на любом компьютере, где будет стоять эта флешка или жесткий диск. Смена видеокарты - не помеха, смена материнской платы - тоже. Линукс будет работать везде.

Это происходит потому что, ядро Линукса (и необходимые для работы устройств модули) - УЖЕ содержит в себе все необходимые драйверы. Их реально много. И они реально работают.

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

Однако есть средство, способное неплохо ускорить работу систем Linux - перекомпиляция и оптимизация ядра под свои нужды.

По сути, этот процесс представляет собой весьма долгое и упорное конфигурирование настроек под нужды именно своего компьютера, с только используемым оборудованием и настройками, специфичными только для одного компьютера. Его мы и рассмотрим подробнее, на примере ОС на базе Debian, такими как Ubuntu, Mint и прочий зоопарк. С остальными Линуксами процесс сборки ядра может немного различаться, хотя скомпилированное под одной ОС ядро, вы запросто можете использовать в других своих ОС. Но суть не в этом.

Итак, для начала сборки ядра, нам нужно поставить несколько дополнительных программ. В Debian-based это делается так:

sudo apt-get install kernel-package libssl-dev libncurses5-dev patch

После чего, нам нужно найти исходники нашего будущего ядра. Проще всего, их скачать с сайта https://www.kernel.org/, они представляют собой один файл в формате tar.xz. После скачивания, нам нужно открыть консоль, и распаковать архив командой 

tar -xvf <имя архива>

У нас будет новая папка с именем ядра, где будут распакованы наши исходники. Кстати на данный момент, советую качать ядро по ссылке https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.3.4.tar.xz поскольку оно самое стабильное, и под него выпущено некоторое количество полезных патчей, речь о которых пойдет ниже.

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

Планировщики задач планируют время по разным алгоритмам. Например, каждая из трех программ, может получать одинаковое число процессорного времени. Например по 200мс. Реализация такого алгоритма весьма простая, однако на практике может приводить как к простою, так и к дефициту ресурсов. Ведь программе может потребоваться не 200мс, а 10мс, и тогда оставшиеся 190мс процессор будет зря работать, а остальные две программы будут ждать. Планировщик задач может отдавать процессорное время в зависимости от аппетитов приложения. Этот алгоритм чуть сложнее в реализации, работает чуть получше, однако в этом случае недостаток из плоскости "что если мало" перейдет в плоскость "что если много". Понятным языком, если какой-то программе захочется слишком много времени, то остальные программы просто зависнут.

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

К счастью, система разработки (в частности, это C++) поддерживает систему патчей. Это значит, что при помощи одного маленького файлика, мы можем улучшить (или поломать) огромный исходный год. В нашем с вами случае, мы будем патчить планировщик задач.

Поскольку мы с вами скачали исходники ядра 4.3, то и патч нам подойдет только для ядра 4.3. Скачать его можно здесь: http://ck.kolivas.org/patches/bfs/4.0/4.3/4.3-sched-bfs-467.patch и положить в папку с исходными кодами ядра. После чего, находясь в этой самой папке, выполнить команду

patch -p1 -i 4.3-sched-bfs-467.patch

На этом патчинг ядра улучшенным планировщиком задач, закончен 

Кроме планировщика процессорного времени, существует так же планировщик для ввода-вывода. Его задачи сходны с планировщиком CPU, однако направлены на оптимизацию операций чтениязаписи. Давным давно, умные люди поняли, что нет смысла гонять жесткий диск каждый раз для чтениязаписи нескольких байтов. Гораздо логичнее эти операции поставить в очередь, и по прошествии какого-либо времени пакетно выполнить все и сразу. Буферизация, типа. Планировщик ввода-вывода, компонует такие задачи, в зависимости от требований приложений, скорости диска, вспышек на Солнце, и так же само как и планировщик процессорного времени, может работать по разным алгоритмам, начиная от примитивных, и заканчивая навороченными. По умолчанию, Линукс использует примитивный планировщик, который раздает каждому процессу, равные промежутки времени для записи. Это хорошо. Но только если у вас одна задача, например торрент-клиент. Если же задач больше, то каждый процесс чтениязаписи, будет требовать и процессорное время, что на практике оборачивается лагами, заиканиями звука, и просто снижением скорости чтениязаписи.

Аналогично планировщику процессорного времени, существует патч для планировщика IO. BFQ.

Скачивать его придется тремя частями, в ту же самую папку с ядром:

http://algo.ing.unimo.it/people/paolo/disk_sched/patches/4.3.0-v7r8/0001-block-cgroups-kconfig-build-bits-for-BFQ-v7r8-4.3.patch

http://algo.ing.unimo.it/people/paolo/disk_sched/patches/4.3.0-v7r8/0002-block-introduce-the-BFQ-v7r8-I-O-sched-for-4.3.patch

http://algo.ing.unimo.it/people/paolo/disk_sched/patches/4.3.0-v7r8/0003-block-bfq-add-Early-Queue-Merge-EQM-to-BFQ-v7r8-for-4.3.0.patch

Патчить по аналогии с предыдущим:


patch -p1 -i 0001-block-cgroups-kconfig-build-bits-for-BFQ-v7r8-4.3.patch
patch -p1 -i 0002-block-introduce-the-BFQ-v7r8-I-O-sched-for-4.3.patch
patch -p1 -i 0003-block-bfq-add-Early-Queue-Merge-EQM-to-BFQ-v7r8-for-4.3.0.patch

На этом патчинг закончен, можно переходить к преконфигурации. Система поддерживает преконфигурацию нескольких видов:

1) На основе текущей конфигурации ядра. То есть, все что активировано в вашем текущем ядре (включая весь мусор), будет активировано и в новом ядре. Нам это как бы не нужно.

2) На основе загруженных на данный момент модулей, которые будут скомпилированы как модули.

3) На основе загруженных на данный момент модулей, которые будут вшиты в ядро.

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

Итак, для преконфигурации, нам необходимо выполнить одну из команд:


1) make oldconfig
2) make localmodconfig
3) make localyesconfig


Система задаст вам несколько вопросов, на которые можно ответить Y,N, а просто нажатие Ентера, ответит по умолчанию.


Затем можно перейти непосредственно к тонкой настройке ядра, набрав команду


make menuconfig


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



С этого момента, лирично-сюсюкающий тон пропадает, начинается сугубо технический язык.


[*] 64-bit kernel - используется, если в результате мы хотим получить 64-битное ядро, которое будет поддерживать больше 4 Гб памяти.

General setup  --->

 [*] BFS cpu scheduler - процессорный шедулер, который мы патчили выше. Выбираем.

 Kernel compression mode (XZ)  ---> Советую выбрать XZ-алгоритм, ибо он чуть быстрее, чем Gzip

 Timers subsystem  --->

  Снимаем чекбоксы со всего, что видим, а Timer tick handling устанавливаем в Periodic timer ticks (constant rate, no dynticks), это позволит шедулеру   BFS самому распоряжаться процессорным временем.

 <*> Kernel .config support 

 [*]   Enable access to .config through /proc/config.gz - пригодится, для быстрого доступа к конфигурации нового загруженного ядра.

 [ ] Checkpoint/restore support - снимаем чекбокс

 [*] Optimize for size - ставим чекбокс, это немного сократит результирующий размер ядра

  [*] Configure standard kernel features (expert users)  --->

[ ]   Enable PC-Speaker support - снимаем чекбокс, этим мы сократим немного размер ядра и сэкономим на поддержке того, что нам не нужно

[ ] Enable AIO support - снимаем чекбокс, эта фича нужна для тяжелых приложений, которые должны быть заточены под ее использование

[ ] Enable madvise/fadvise syscalls - снимаем чекбокс. Этот параметр позволяет ядру реагировать заранее на предупреждения программ о том, сколько они памяти будут использовать.

[ ] Profiling support

[ ] Kprobes - ловит вызовы ядра, и адреса этих вызовов, во время дебаггинга..

Stack Protector buffer overflow detection (None)  --->















... продолжение следует



root
2

Старое железо
Linux ElementaryOS
Windows 10
Игровое железо
Апгрейды ПК


2 комментариев
Апгрейд убийцы Intel NUC из Китая, SSD RAID0 и многое другое

Меньше года прошло после покупки убийцы Intel NUC из Китая - маленького бесшумного неттопа за 210 долларов, который по всем факторам порвал Intel NUC с аналогичными параметрами.

Когда-то давно писал о нем статью на Geektimes, которая к счастью не уцелела после того как я оттуда удалился. Мои жизненные принципы оказались несовместимы с коммерциализацией и ухудшением юзабилити Хабра с его подразделами. Статья сохранена в кеше, например https://sohabr.net/gt/post/249788/?version=96724 


Мой маленький китайский друг меня вполне устраивал, тем более что летом я его порадовал новеньким SSD mSATA Crucial на 240 Гб, и тогда его конфигурацию можно представить как i3 4015U, 8Gb DDR3L, 240Gb SSD + 500Gb HDD. Для жизни, серфинга, фильмов и периодического Скайрима - хватало. 

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

Core i3 я отказался рассматривать, поскольку в этом смысле поменял бы шило на мыло, производительности моего 4015U хватало с головой, для любых задач кроме фаллометрических. А Core i7 оказался бы слишком дорогим, и избыточным для тех задач, которые мне предстояло выполнять, и именно поэтому было решено брать что-то на Core i5 пятого поколения. Неттопов на процессорах этой линейки было три вида: 5005U, 5200U, 5257U. 

Первые два процессора практически ничем не отличались друг от друга, кроме частот и встроенных видеокарт, Intel HD 5500/900Mhz в 5200U и Intel HD 6000/950MHz. А вот 5257U оказался вкуснее из-за повышенной тактовой частоты (2.7 против 1.6 и 2.2) и используемой видеокарты Intel Iris 6100, которая вроде как рвет предыдущие встроенные видеокарты аналогичного ценового диапазона, да и вообще работает на уровне дискретного GeForce 820M. В общем выбор был сделан.

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


Мой старенький девайс


Новый неттоп


Сразу бросается в глаза некрасивая передняя панель, здесь вам и кнопка питания, и USB-порты, и три аудио-разъема, и даже кардридер. Тут же хочется оторвать руки дизайнеру, хотя впоследствии оказалось, это еще не единственное его рукожопие.


Рядышком

И сзади...


Жопа. Вид спереди. Налицо два сетевых разъема и два HDMI


Снизу


А вот и сравнение внутренностей...Видно наличие места под 2.5" диск в стареньком девайсе, и его отсутствие в новеньком. Хотя четыре дырки под винты и присутствуют, но я почему-то не доверяю висящему над оголенной материнской платой, куску железа. Потенциальное короткое замыкание же.


На всякий случай, старенький девайс поближе. Какой большой спичечный коробок :)


И новый


Начинка жирнее, чем у его предшественника: 2 порта mSATA + 1 SATA, 2 miniPCIe, 1 из них резанный, второй полноразмерный, слот под сим-карту, разъемы под маленькие динамики 2х3 Вт. Ну и по мелочи, 8 USB-портов...


На этом, отступлю немного от основной темы, в сторону носителей информации. Валялся у меня SSD-диск SiliconPower, на 240 Гб, но что хуже, на печально известном контроллере Sandforce. SSD на этих контроллерах, имели свойство рандомно ломаться, и мою железку такая судьба не обошла. Лежал до лучших времен, а когда лучшие времена наступили, был ресетнут, перепрошит, и вместо SiliconPower'a стал называться Sandforce :) Что впрочем не уменьшило его емкость - 240 Гб.

И закралась мне в голову идея...А что если в порядке эксперимента, объединить мои два носителя в RAID0 (два диска, соединенных воедино с поочередным доступом к каждому, что по идее увеличивает скорость). 


В общем, соединил я все воедино, и получилось нечто такое


С программным обеспечением поначалу оказалось посложнее - не смог сразу найти комбинацию для вызова RAID-мастера, а через софтовый линуксячий RAID, не особо хотелось. Когда нашел комбинацию, все оказалось проще простого: утилита сама предложила выбрать устройства и создать разделы. Впоследствии пришлось поэкспериментировать, и несколько раз поменять конфигурацию, поскольку в утилите не было написано (каюсь, виндовая привычка), ЧЕМ будут созданные разделы. А будут они отдельными дисками. Которые будут видны утилитами разметок как независимые диски, на которых можно будет создавать разделы, и с которых можно будет загружаться. Теоретически можно создать 2048 таких дисков, но зачем?)) В общем оставил я один диск, который отныне в системе виден как Intel ssd.

Системы от этого поначалу были не в восторге. И если Windows 7 (а потом и 10) просто нашли один жесткий диск, то линуксячий разметчик, нашел целый зоопарк: тут и /dev/mapper/isw_jbebbehfj_ssd на 480 Гб, и два диска /dev/sda и /dev/sdb, и /dev/dm-0, а самое плохое - что Ubuntu не захотела продолжать установку после разметки, подкрепляя ошибку непонятной белибердой с вопросительными знаками.

Так и не понял, что ему не понравилось, однако создав заранее разделы, успешно установил все ОС, и пошел гонять...


Что я вам скажу...прирост скорости ощутим на глаз. Но только если на этом сосредотачиваться целенаправленно.

Прирост комфорта практически неощутим. В самом деле, система стала грузиться не 7 секунд, а 4, и это можно заметить. Но будет ли мне мешать, если ОС будет грузиться на 3 секунды дольше? Не думаю.

Приложения запускаются быстрее. На пол-секунды :) Но комфортнее не стало. Скайрим сохраненную игру загружал за 10 секунд, с RAID0 стал загружать за 5. Спорное преимущество, согласитесь.

Единственное место, где можно объективно увидеть прирост скорости: это копирование больших фильмов с раздела на раздел :) Ну и тесты. Стандартная Гномо-дисковая утилита показывает почти гигабайт в секунду на своем бенчмарке.



Впрочем, поскольку 2х240 SATA = 480Гб, и RAID0 = 480Гб, было решено оставить эту конфигурацию.


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

Помните, выше я был недоволен работой дизайнеров? Так это еще не все. Компоновка сторон этого устройства, тоже безгранично злит. Устройство способно стоять горизонтально, для этого на одной из его сторон, есть резиновые ножки. Устройство может стоять вертикально, для этого имеется специальная подставка. И я не знаю как ВЫ, дорогие друзья, а нормальные люди ставят системники СПРАВА. На столе, под столом - неважно, но СПРАВА. Китайские дизайнеры так скомпоновали железку, что расположив ее вертикально, лицевой панелью вперед (т.е. ко мне, пользователю), боковая сторона будет смотреть не красивой крышечкой, а ДНОМ! Ну и уродство.



И вниз головой (т.е. задней крышкой к стене) его тоже не перевернуть, ибо WiFi-антенны же. Повернуть задницей, тоже не вариант, поскольку металлический корпус снижает качество сигнала Wi-Fi. В общем по дизайну, сплошные разочарования.


Немного конфигурации...


Процессор Core i5 5257U (2.7 GHz)
RAM 8 Gb DDR3L
SSD 2x240 Gb mSATA/SATA3 RAID0
Видео     Intel Iris 6100, 1.05 GHz
LAN    2x1Gb Realtek 8111
WiFi Broadcom BCM43225, 150 Mbit
USB 4USB 3.0, 4xUSB 2.0
Доп.порты 2xHDMI, spdif, кардридер
Питание 12В, 5А
Кулеры     Нету таких



Немного попугаев, для сравнения с процессором Core i3 4-го поколения...



Итоги:


Плюсы.

Цена. Всего лишь 260 долларов;

Габариты. Маленький;

Бесшумность. Абсолютно бесшумный, в отличие от Intel NUC, и запросто приживется в вашей с супругой, спальне;

Скорость. I5-5257U - не самый маломощный процессор из вообще доступных мобильных. Серия i7 практически ничем не отличается, а стоит дороже;

Золотая середина между ценой и производительностью;

Наличие большого количества разъемов и двух гигабитных независимых сетевых устройств, благодаря чему ЭТО может быть не только домашним ПК, но и сервером;

Сплошное железо от Intel. С открытыми драйверами. Linux, Windows подхватывают ВСЕ, без дополнительных драйверов.


Минусы.

Сложности с гарантией, как таковой. Отправка в Китай за ваш счет;

Отсутствие классических PCI-ex и USB 3.1;

Абсолютно уродский дизайн с разъемами для колонок на передней панели, непродуманной вертикальной стойкой и креплением HDD на весу над платой;

Так же заметил непонятный мне баг - если с Linux перезагрузиться в 7-ю Винду - отрублены порты USB. С Win10 таких глюков нет. Если не перезагружать, а выключить и включить - глюков тоже нет;

Отсутствие M.2. Вроде как стандарту уже несколько лет, а в эту плату его не имплементили. А хотелось бы;

Отсутствие вменяемой документации на плату. Вот например, встретился мне SSD, 2x128 Gb, выполненный в форм-факторе двухстороннего mSATA. Вроде как ноутбуками поддерживается. А поддерживается ли этой платой - неизвестно.


Как видим, большинство минусов - субъективные, плана "хотелось бы". А все что "должно быть" - в этом ПК присутствует!

Посмотрите так же: Тонкая настройка и компиляция ядра Linux _ и Апгрейд убийцы Intel NUC из Китая, SSD RAID0 и многое другое _


Вы должны войти в систему, чтобы создавать блоги

2+2 / 2+1
В этой строке мы предупреждаем Вас, что можем использовать так называемые cookies
Нам искренне плевать на введенную Вами информацию о себе. Мы просто запоминаем у Вас на устройстве то, что Вы же и настроили.