Как узнать версию Linux и ядра 11

Разгон, вольтаж и энергосбережение

Разгон популярен не только среди владельцев стационарных компов и ноутбуков, но и в среде энтузиастов мобильной техники. Как и камни архитектуры x86, процессоры и графические ядра мобильной техники отлично гонятся. Однако сам способ разгона и предпринимаемые для его осуществления шаги здесь несколько другие. Дело в том, что стандартные драйверы для SoC’ов, отвечающие за энергосбережение и изменение частоты процессора, обычно залочены на стандартных частотах, поэтому для тонкого тюнинга приходится устанавливать либо альтернативный драйвер, либо кастомное ядро.

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

Всем этим можно управлять с помощью известной платной утилиты SetCPU или же бесплатной Trickster MOD. Рекомендации по управлению все те же, что и для настольных систем. Нижнюю частоту процессора лучше установить минимальной, но не ниже 200 МГц (чтобы избежать лагов), верхний порог повышается постепенно с тестированием стабильности работы, при падении которой рекомендуется немного поднять вольтаж для данной частоты. Каких-то рекомендаций по вольтажу нет, так как каждый процессор уникален и значения будут для всех разными.

Кроме изменения частот, сборщики зачастую добавляют в ядро новые алгоритмы управления энергосбережением (автоматическим управлением частотой процессора), которые, по их мнению, могут показать лучшие результаты в сравнении со стандартными. Почти все из них базируются на используемом по умолчанию в новых версиях Android алгоритме Interactive, суть которого заключается в том, чтобы резко поднять частоту процессора до максимальной в случае повышения нагрузки, а затем постепенно снижать до минимальной. Он пришел на смену используемому раньше алгоритму OnDemand, который плавно регулировал частоту в обе стороны соразмерно нагрузке, и позволяет сделать систему более отзывчивой. Сборщики альтернативных ядер предлагают на замену Interactive следующие алгоритмы:

  • SmartAssV2
     — переосмысление алгоритма Interactive с фокусом на сохранение батареи. Основное отличие в том, чтобы не дергать процессор на высокие частоты в случае кратковременных всплесков нагрузки, для которых хватит и низкой производительности процессора. По умолчанию используется в ядре Matr1x.
  • InteractiveX
     — тюнингованный алгоритм Interactive, главная особенность которого в залочке процессора на минимальной указанной пользователем частоте и обесточивании второго ядра процессора во время отключения экрана. По умолчанию используется в Leankernel.
  • LulzactiveV2
     — по сути, изобретенный заново OnDemand. Когда нагрузка на процессор превышает указанную (по умолчанию 60%), алгоритм поднимает частоту на определенное число делений (по умолчанию 1), при понижении нагрузки — опускает. Особый интерес представляет тем, что позволяет самостоятельно задавать параметры работы, поэтому подходит для прожженных гиков.

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

Делаем свое кастомное ядро

И вполне естественно, что операционная система старается по максимуму занять оперативную память, кешируя свои приложения. Процитирую Криса Джонстона ”Чистить буферы и кеши в ОЗУ довольно-таки глупо. Представьте себе учителя, который вместо того, чтоб писать на всю длину классной доски, как только заканчивает предложение тут же его стирает и СНОВА и СНОВА пишет начиная с верхнего левого края доски». При большем количестве памяти — система кеширует приложений больше. При меньшем — меньше. Далее, если приложению, запросившему оперативную память, ее не хватает, операционная система выгружает из памяти некоторое количество неработающих в данный момент приложений, освобождая оперативную память. Подробнее о работе Android с оперативной памятью, можно прочесть в этой статье «Почему не стоит использовать Таск Киллеры на Андроиде» и этой статье «Нужен ли тасккиллер в Android». Давайте посмотрим, как это организовано в смартфоне Samsung Galaxy Y s5360. Для этого я установил приложение "Android System Info
"
. В этом приложении, во вкладке «System», есть пункт «Low Memory Killer Levels». Параллельно, можно использовать приложение "System Panel Lite
"
. С его помощью Вы сможете увидеть, какое приложение больше всего использует память и ресурсы. Как увеличить оперативную память на Android с помощью sd карты

Память Андроид устройств(Куда девается память?)

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

Ядро операционной системы Андроид и его прошивка

Загрузка исходников

Перечисленные манипуляции по настройке системы справедливы для сборки любой версии и любой модификации Android. Дальнейшие наши действия уже зависят от наших желаний. Для примера давай начнем со сборки AOSP для Galaxy Nexus. Это типичнейший вариант. Для этого создадим каталог (можешь назвать его как угодно, это непринципиально), в котором собственно и будут лежать исходники:

Далее необходимо инициализировать репозиторий с помощью repo:

Далее можно приступить к загрузке файлов:

Чтобы загрузка происходила в несколько потоков, можно указать опцию -j#, где # — число потоков. Сам процесс загрузки довольно длительный (на канале 1 Мб/с загрузка заняла больше трех часов), поэтому можешь спокойно идти заниматься своими делами. В случае если загрузка оборвется, достаточно будет вновь выполнить «repo sync» для ее восстановления с прерванного места. После окончания загрузки на экран будет выведена надпись вида «Syncing work tree: 100% (305/305) done» (см. скриншот 1). Это значит, что уже можно приступать к сборке.

Скриншот 1. Успешная загрузка исходников
Другие статьи в выпуске:

Возможные ошибки

Например: 

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

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

2. [] Ошибка 127

Например: [include/generated/timeconst.h] Ошибка 127

Причина: как и с предыдущей ошибкой, в системе не установлен один из пакетов, содержащий необходимые библиотеки.

Решение: аналогично предыдущему примеру решения проблемы, необходимо воспользоваться поисковиком, чтобы определить, какой именно пакет необходим для продолжения установки и воспользоваться командой yum install для его установки.

Версии

Торвальдс продолжает выпускать новые версии ядра, объединяя изменения, вносимые другими программистами, и внося свои. Оно обычно называется «ванильным» (vanilla), то есть официальное ядро без каких-либо сторонних изменений. В дополнение к официальным версиям ядра существуют альтернативные ветки, которые могут быть взяты из различных источников. Как правило, разработчики дистрибутивов Linux поддерживают свои собственные версии ядра, например, включая в них драйверы устройств, которые ещё не включены в официальную версию. С 30 мая 2011 изменена политика нумерации версий ядра.

Нумерация версий до 30 мая 2011

Номер версии ядра Linux до 30 мая 2011 содержал четыре числа, согласно недавнему изменению в политике именования версий, схема которой долгое время была основана на трёх числах. Для иллюстрации допустим, что номер версии составлен таким образом: A.B.C (например, 2.2.1, 2.4.13 или 2.6.12.3).

  • Число A обозначает версию ядра. Изначально задумывалось, что оно будет изменяться редко и только тогда, когда вносятся значительные изменения в код и концепцию ядра, первые такие изменения произошли в 1994 году (версия 1.0) и в 1996 году (версия 2.0). Впоследствии правило значительности изменений было нарушено, и дважды очередные версии ядра выходили с обновлённой первой цифрой — 31 мая 2011 года (3.0.0) и 21 апреля 2015 (4.0.0).
  • Число B обозначает старшую версию ревизии ядра. В ядрах до версии 3.0 Чётные числа обозначали стабильные ревизии, то есть те, которые предназначены для продуктивного использования, такие, как 1.2, 2.4 или 2.6, а нечётные — ревизии для разработчиков, предназначенные для того, чтобы тестировать новые улучшения и драйвера до тех пор, пока они не станут достаточно стабильными для того, чтобы включить их в стабильный выпуск.
  • Число C обозначает младшую версию ревизии ядра. В старой трёхчисловой схеме нумерации оно изменялось тогда, когда в ядро включались заплатки, связанные с безопасностью, исправления ошибок, новые улучшения или драйверы. С новой политикой нумерации, однако, оно изменяется только тогда, когда вносятся новые драйверы или улучшения; небольшие исправления поддерживаются числом D.
  • Число D впервые появилось после случая, когда в коде ядра версии 2.6.8 была обнаружена грубая, требующая незамедлительного исправления ошибка, связанная с NFS. Однако других изменений было недостаточно для того, чтобы это послужило причиной для выпуска новой младшей ревизии (которой должна была стать 2.6.9). Поэтому была выпущена версия 2.6.8.1 с единственным изменением в виде исправления этой ошибки. С ядра 2.6.11 эта нумерация была адаптирована в качестве новой официальной политики версий. Исправления ошибок и заплатки безопасности теперь обозначаются с помощью четвёртого числа, тогда как большие изменения отражаются в увеличении младшей версии ревизии ядра (число C).

Нумерация версий с 30 мая 2011

30 мая 2011 Линус Торвальдс выпустил ядро версии 3.0-rc1. Вместе с ним изменена политика нумерации версий ядра. Отменено использование чётных и нечётных номеров для обозначения стабильности ядра, а третье число означает стабильность ядра. Версия 3.0 практически не несёт никаких изменений, кроме изменения политики нумерации ядра. Таким образом, стабильные версии ядра 3.0 будут именоваться 3.0.X, а следующий после этого релиз будет иметь номер 3.1.

Поддержка

В то время как Торвальдс продолжает выпускать новые экспериментальные версии, руководство LTS (англ. Long-term support) -версиями передаётся другим лицам:

СерияВерсииРуководителиОкончание поддержки
3.23.2.101Бэн ХатчингсМай 2018
3.43.4.113Ли ЗифанОктябрь 2016
3.103.10.108Уилли ТароуНоябрь 2017
3.123.12.74Иржи СлабиМай 2017
3.143.14.79 Грег Кроа-ХартманСентябрь 2016
3.163.16.58Бэн ХатчингсАпрель 2020
3.183.18.123Саша ЛевинЯнварь 2017
4.14.1.51Саша ЛевинМай 2018
4.44.4.159 Грег Кроа-ХартманФевраль 2022
4.94.9.130 Грег Кроа-ХартманЯнварь 2023
4.144.14.73 Грег Кроа-ХартманЯнварь 2020
4.194.19-rc6 Грег Кроа-Хартман

Другими программистами ядра Linux являются и .

restart

Тоже интересный для изучения файл. В нем описываются возможные варианты загрузки телефона:

  • adb reboot bootloader — режим fastboot, в моём телефоне не доступен ( — hex метка 00556677 в разделе sbl1)
  • adb reboot recovery — режим recovery ( — hex метка 02556677 в разделе sbl1)
  • adb reboot rtc — так называемый ALARM_BOOT. Так и не понял для чего, метки в sbl1 нет. Возможно имеется в виду https://developer.android.com/reference/android/app/AlarmManager.html
  • adb reboot oem-X (в моём случае oem-1, — hex метка 016d656f в разделе sbl1). Что происходит во время этого режима устанавливается производителем. Судя по исходникам, в этот режим телефон перезагружается при ошибке аутентификации прошивок из раздела modem.
  • adb reboot edl — emergency download, переводит телефон в штатный qualcomm'овский download mode. Телефон определяется как QHSUSB__BULK COM port, по которому можно передать подписанный загрузчик (если не ошибаюсь, то каждый загрузчик предназначен для одного типа SoC и производителя телефонов) и выполнять низкоуровневые операции с телефоном, в том числе и прошить. Обычно используется вкупе с QPST. Для некоторых телефонов загрузчики утекают в сеть, например для Kyocera KYL22. Откуда они берутся — мне неизвестно.
  • Некий download mode, в который через adb reboot не зайти. Вот тут интересно… Но об этом позже.

Немного о том, как происходит загрузка на телефонах с процессором Qualcomm:

Встроенный ROM загрузчик Qualcomm (pbl — primary bootloader) загружает раздел sbl1 (secondary bootloader). sbl1 загружает tz (trust zone), затем aboot (android boot, little kernel, lk). Aboot в свою очередь загружает boot, recovery или fota.

Описание разделов, участвующих при загрузке:

  • tz — Qualcomm Trust Zone. Выполняет низкоуровневые операции, в том числе работает с QFuses (раздел rpmb).
  • rpm — Resource and Power Manager firmware. Прошивка для специализированного SoC, отвечающего за ресурсы и питание.
  • sdi — trust zone storage partition. Данные, которые используются Trust Zone.

Все эти разделы подписаны цепочкой сертификатов.

Оценка стоимости разработки с нуля

Стоимость переразработки ядра Linux версии 2.6.0 способами, принятыми для разработки проприетарного ПО, была оценена в 612 млн долл. США (467 млн евро) в ценах 2004 года с использованием модели оценки человеко-месяцев COCOMO. В 2006 году исследование, профинансированное Евросоюзом, подняло стоимость разработки ядра Linux до уровня 882 млн евро (1,09 млрд долл. США).

Эта тема была снова поднята в октябре 2008 г. Амандой МакФерсон, Брайаном Проффиттом и Роном Хейл-Эвансом. Используя методологию Дэвида Э. Вилера, они оценили разработку ядра 2.6.25 в 1,3 млрд долл. США (часть от 10,8 млрд долл. США переразработки Fedora 9). Также Гарсиа-Гарсиа и Алонсо де Магдалено из университета Овьедо (Испания) оценили ежегодный прирост стоимости ядра приблизительно в 100 млн евро с 2005 по 2007 гг. и 225 млн евро в 2008 г. Совокупная стоимость разработки в Евросоюзе в 2009 году оценена в более чем 1 млрд евро (около 1,23 млрд долл. США).

Как проверить версию ядра Linux

uname -r

Ядро находится в активной разработке, поэтому постоянно появляются новые версии Linux.

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

В настоящее время я использую ядро ​​Linux версии 4.15.0-29deepin-generic. Давайте разберемся, что это значит.

  • 4 — версии ядра.
  • 15 — текущий крупный пересмотр.
  •  — текущие мелкие доработки.
  • 29 — относится к устранение ошибок и исправлений, применяемых к этой версии.

Информация отображаемая после данных значений будет зависеть от дистрибутива который вы используете. В моём случае, это Deepin 15.9.3.

Копаем исходники ядра

Лицензия GPL обязывает производителей смартфонов выкладывать исходники ядра. Спасибо Линусу и Столлману за это. Иногда производители выкладывают что-то левое, иногда правильные исходники, но без файла, иногда правильные и очень редко с инструкцией как их собирать (например LG).

В моём случае были исходники с правильным но без инструкции. Немного попотев я смог собрать ядро и убедился, что это не полная липа.

Через продолжительное время я остановился на двух файлах:

  • https://github.com/kayrus/kc-s701-torque-kernel/blob/master/security/selinux/hooks.c
  • https://github.com/kayrus/kc-s701-torque-kernel/blob/master/arch/arm/mach-msm/restart.c

Что такое ядро

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

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

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

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

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

Установка CyanogenMod через CWM

Установку кастомных прошивок следует выполнять из ClockworkMod Recovery (CWM). Это кастомная консоль восстановления, позволяющая устанавливать прошивки с любыми цифровыми подписями. Мануал о том, как установить CWM на твой конкретный девайс, ищи на xda-dev или просто погугли. Я опишу лишь установку CyanogenMod с его помощью.

Скриншот 5. Главное меню CWM

Для начала выключи телефон и включи его с зажатыми кнопками + + (комбинация может отличаться для разных устройств). После этого ты увидишь меню, показанное на скриншоте 5. Для навигации используй клавиши громкости, для выбора выделенного пункта — клавишу(или ). Для начала выполни сброс до заводских настроек с помощью пункта wipe data / factory reset, а затем смонтируй карту памяти с помощью меню mounts and storage -> mount USB storage и скопируй на нее файл прошивки. Далее выбери пункт «install zip from sdcard» и выбери файл с прошивкой (скриншот 6). Готово! CyanogenMod установлен.

Скриншот 6. Выбор архива для прошивки

Что такое ядро Linux

Технически, неверно думать о Linux как о полноценной операционной системе. Linux, фактически, относится именно к ядру, названному в честь основателя Линуса Торвальдса. Все остальное, что вы видите на экране, исходит от других проектов и разработчиков.

Линус Торвальдс создал ядро ​​Linux в 1991 году. Первоначально он назвал проект Freax (комбинация слов: «free», «freak» и «UNIX»). Коллега предпочитал название «Linux», и это название прижилось. Торвальдс выпустил первую версию Linux в 1992 году под лицензией GNU copyleft, что стало большой частью успеха проекта.

Большая часть опыта использования рабочего стола Linux происходит от проекта GNU, более старого проекта, который создал практически полноценную настольную операционную систему. Все, что ему не хватало — это ядро, и Linux удовлетворяет эту потребность. Вот почему некоторые люди называют операционная система GNU/Linux, что есть верно.

Другие бесплатные рабочие столы с открытым исходным кодом, такие как FreeBSD, выглядят и работают как Linux, потому что на них работает большая часть того же программного обеспечения GNU.

Поскольку ядро ​​Linux было доступно под лицензией GNU, было меньше интереса к продолжению разработки отдельного ядра в рамках проекта GNU. И вместо того, чтобы создавать другие конкурирующие ядра, такие как в Windows и macOS, многие компании решили использовать ядро ​​Linux и внести свой вклад в него.

Ядро Linux выросло в огромный проект, содержащий миллионы строк кода. Тысячи людей и более тысячи компаний внесли свой вклад в развитие ядра. Это один из самых ярких примеров бесплатного и открытого программного обеспечения в мире.

Обновление ядра Debian

Когда вы используете Debian, вы должны понимать, что самые новые версии пакетов вы не всегда можете получить. Один из таких компонентов — ядро. Вы можете взять ядро, собранное для других дистрибутивов, например, Ubuntu, но там использованы свои патчи, и скорее всего, оно не будет правильно работать в Debian. Самым простым способом получить новое ядро в этой системе будет использование тестовых репозиториев, таких, как backports и experimental. Например, сейчас самая новая версия Debian — 9. В ней используется ядро 4.9. Но в репозитории experimental есть ядро 4.13, на данный момент, это самая новая версия, доступная на Kernel.org.

Давайте рассмотрим как установить ядра из exprimental и backports. Пакеты из backports тоже свежие, но не настолько как из experimental, поэтому они более стабильны. Сначала рассмотрим backports, а уже затем experimental. Нам нужно добавить репозиторий в систему, для этого откройте файл /etc/apt/sources.list и добавьте туда такую строку:

Обновите список пакетов:

Дальше нужно обновить список пакетов, а затем смотрим, какие версии ядра появились в системе:

Как видите, в репозитории backports уже есть ядро 4.11, в то время как в официальном стабильном репозитории только 4.9. Теперь мы можем обновить ядро debian:

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

Обратите внимание, что если вы используете ноутбук, то вам еще нужно будет установить прошивку firmware из репозитория backports. Например, для iwlwifi:

Если вы хотите самую новую версию ядра, то вам придется использовать репозиторий experimental, но тут дела обстоят немного сложнее. Это экспериментальный репозиторий, поэтому перед добавлением нужно указать настройки чтобы по умолчанию он вообще не использовался и активировался для определенного пакета вручную. Для этого добавьте в файл /etc/apt/preferences:

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

Теперь добавьте репозиторий в систему:

И обновите список пакетов:

Проверьте, сработала ли настройка приоритета:

Дальше ищем доступные версии ядра:

Тут мы уже видим новую версию ядра Linux 4.13 из репозитория experimental, о которой я говорил выше. Дальше мы можем ее установить:

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

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

Как увеличить объём оперативной памяти Android

ЧТО ДЕЛАТЬ ЕСЛИ НЕ ХВАТАЕТ ПАМЯТИ НА ANDROID

Что можно сделать если в смартфоне мало оперативной памяти Samsung Galaxy Y s5360.

Сегодня, я хотел бы поговорить о ситуации, когда в смартфоне мало оперативной памяти (RAM). Со смартфоном Samsung Galaxy Y s5360 ситуация обстоит именно так. В этом смартфоне ее аж 289 Mb. Предварительно, для посетителей, которые попали на эту страницу с вопросом «что делать если нет свободного места во внутренней памяти смартфона?
» или «не могу установить приложения на смартфоне — нет свободного места»
, предлагаю перейти на страницу «как перенести приложения на SD-карту в смартфоне Samsung Galaxy Y s5360». Там довольно подробно все описано. Внутренняя память и оперативная память это совершенно разные типы памяти. Теперь давайте рассмотрим, что такое оперативная память. Оперативная память (RAM, Random-access memory, память с произвольным доступом) — энергозависимая часть системы компьютерной памяти, в которой временно хранятся данные и команды, необходимые процессору для выполнения операций. Ядро операционной системы и работающие приложения загружаются именно в нее.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Adblock
detector