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; |
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. Скачивать его придется тремя частями, в ту же самую папку с ядром: Патчить по аналогии с предыдущим:
patch -p1 -i 0001-block-cgroups-kconfig-build-bits-for-BFQ-v7r8-4.3.patch На этом патчинг закончен, можно переходить к преконфигурации. Система поддерживает преконфигурацию нескольких видов: 1) На основе текущей конфигурации ядра. То есть, все что активировано в вашем текущем ядре (включая весь мусор), будет активировано и в новом ядре. Нам это как бы не нужно. 2) На основе загруженных на данный момент модулей, которые будут скомпилированы как модули. 3) На основе загруженных на данный момент модулей, которые будут вшиты в ядро. Последние два пункта различаются только результирующим размером ядра и количеством отдельно находящихся драйверов. Оба эти метода имеют свои недостатки, которые впрочем настолько мизерны, что ими можно пренебречь: если модули будут вкомпилированы в ядро, оно будет больше в размерах, будет чуть дольше грузиться при старте системы, однако система будет меньше обращаться к файлам, и в теории будет загружаться на секунду быстрее в зависимости от скорости линейного чтения вашего диска. Однако, если модули будут находиться отдельно, ядро быстрее загрузится, а модули будут вызваны только те, которые необходимы и как результат больше ресурсов будет свободно. Например модуль драйвера вебкамеры может быть загружен только тогда, когда камера подключена. В случае вкомпилирования в ядро, он будет просто висеть в памяти. Решать вам. Итак, для преконфигурации, нам необходимо выполнить одну из команд:
1) make oldconfig
Затем можно перейти непосредственно к тонкой настройке ядра, набрав команду
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 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. Вроде как ноутбуками поддерживается. А поддерживается ли этой платой - неизвестно.
Как видим, большинство минусов - субъективные, плана "хотелось бы". А все что "должно быть" - в этом ПК присутствует! |