Android от А до Я: Что такое ядро Андроид
Проведя какое-то время на форумах и блогах, посвященных Android, вы заметите много упоминаний этого термина. Но ядро не является чем-то уникальным, используемым только в Android. iOS и MacOS, Windows, BlackBerry’s QNXВсе и другие операционные системы используют его. Так как Android использует ядро Linux, то дальше речь пойдет именно о нем.
Ядро Linux, которое используют Android устройства, отличается от того, которое используют различные операционные системы. Оно содержит в себе множество особых кодов. Производители оборудования также вовлечены в процесс, так как должны выпускать драйвера для используемого железа под текущую версию ядра. По этой причине у независимых разработчиков уходит какое-то время на то, чтобы заставить новую версию работать на старом устройстве без лаж. Драйвера, написанные под Gingerbread, вполне могут не работать на ядре Ice Cream Sandwich. И это очень важный момент, так как одной из основных функций ядра является то, что оно необходимо для контроля железа. Внутри продолжение описания ядра Андроид.
Для каких-либо действий железа и софта необходимо ядро. Например, вы нажимаете на кнопку поиска на вашем телефоне, таким образом вы даете команду открыть соответствующее приложение. Происходит следующее: вы касаетесь определенной точки дигитайзера, который передает информацию софту про касание к экрану в определенных координатах. Софт знает, что при воздействии на определенную точку необходимо открыть поисковое окно. Ядро в этой ситуации заставляет дигитайзер воспринимать касания, находить их координаты, и говорить системе об осуществлении этого действия. В конечном итоге, когда система получает информацию о касание от ядра (через драйвер), она знает, что необходимо выдать на экран. Софт и железо связанны с ядром, что позволяет телефону совершать необходимые действия. Входящая информация с одной стороны становится исходящей с другой и приводит к действиям.
Без ядра, которое принимает и отправляет информацию, разработчикам пришлось бы создавать коды для каждого события и для каждого элемента железа в вашем устройстве. С ядром же все намного проще. Разработчикам необходимо только связать все необходимые элементы воедино.
Источник
Android, из чего состоит прошивка ROM
Сегодня я постараюсь объяснить, что такое прошивка популярным языком, рассчитанным на неискушенного пользователя.
Для начала давайте определимся с происхождением самого этого термина.
Итак, что такое прошивка, в изначальном понимании этого термина. Давным давно, когда вычислительные устройства были большими и некоторые их экземпляры занимали целые комнаты, их встроенная (постоянная) память изготавливалась весьма оригинальным образом.
Каждая ее ячейка состояла из небольшого кольца, выполненного из специального материала – феррита, который легко намагничивается. И в каждое кольцо продевалось две петельки провода, предназначенные для записи (намагничивания), стирания (размагничивания) и считывания информации из этого кольца. А информации в нем хранилось всего лишь один бит: 0 – когда кольцо размагничено и 1, когда намагничено. Знаете, сколько таких колец нужно, чтобы обеспечить устройству 1 гигабайт встроенной памяти? Я вам скажу: всего лишь 8 589 934 592 штуки.
И вот процесс продевания проводов в эти кольца при изготовлении постоянной памяти для старых устройств так и назывался – прошивка.
А теперь вернемся к нашим планшетам и смартфонам. Они, как и любой современный компьютер работают под управлением операционной системы (Windows, Linux, iOS, Android и т.п), которая полностью отвечает за их работу. Иными словами, если внутреннее железо компьютера – это его мозг, то операционная система – это его сознание, которое управляет компьютером.
Без операционной системы любой компьютер, планшет или смартфон – набор мертвого железа. И если на компьютер, операционную систему мы устанавливаем, записывая ее на его жесткий диск, то в планшете или смартфоне операционная система хранится в его внутренней памяти, занимая часть тех 4, 8, 16, 32 или даже 64 гигабайт, которые имеют современные устройства.
Вы наверное уже догадались, что именно эта процедура «установки» операционной системы на планшет или смартфон и называется прошивкой, поскольку система записывается (прошивается) в его постоянную, внутреннюю память.
Теперь вы понимаете, что выражение «сменить пошивку» на планшете или телефоне означает примерно то же самое, что «переустановить Виндовс» на компьютере.
Кроме того, и сам файл с операционной системой, которая записывается на устройство называют прошивкой. Так как начинка или «мозги» у каждого планшета или телефона разные, прошивка создается для каждого устройства отдельно. Прошивки бывают двух типов:
1. Официальные, выпущенные производителем устройства, которые или автоматически загружаются на планшет или телефон через интернет подключение (так называемые прошивки по «воздуху»). Их также чаще всего можно скачать на планшет с сайта производителя и установить вручную. Этот тип прошивок еще часто называют обновлением системы.
2. Самодельные прошивки, их еще называют «кастомные» или «альтернативные». Обычно это улучшенные или доработанные независимыми разработчиками официальные прошивки. К ним также относятся прошивки основанные на официальных версиях «чистой» операционной системы Android от компании Google, такие как CyanogenMod или MIUI.
Рассмотрим состав прошивки , на примере состава прошивки от ZTE , в принципе она с небольшими изменениями идентична на всех Android устройствах
0.25 Мб.) — предзагрузчик. Обеспечивает связь телефона с FlashTool-ом в «режиме USB» для прошивки, а также обеспечивает запуск устройства. Предположительно грузит в оперативную память uboot и передаёт ему управление.
dsp_bl (
0.75 Мб.) — Малоизвестная вещь. Судя по названию микропрограмма процессора. Порча его превращает телефон в планшет без комуникаций. Какими потом прошивками не прошивай телефон беспроводные сети работать не будут. Решение: прошить рабочий dsp_bl. (Только MT65x3, MT65x5, MT65x7!)
nvram (
3.0 Мб.) — хранит калибровки железок, IMEI, MAC-адреса BT и WIFI и другое. Точка монтирования /data/nvram.
seccnfg (
0,125Мб.) — неизвестная штука, обычно содержит только пустоту «FF FF. «.
uboot (
0.375 Мб.) — загрузчик операционной системы + драйверы для инициализации основного оборудования (дисплей, процессор, GPIO).
boot (
6.0 Мб.) — ядро и драйверы операционной системы (камеры, датчики, сенсоры). Точка монтирования /.
recovery (
6.0 Мб.) — минисистема (система в ядре) функцией которой является только резервирование/восстановление приложений системы, сброс до заводских установок. В расширенном recovery функционал конечно же намного богаче.
secstatic (
1.156 Мб.) — sec_ro , зачем нужно не понятно, при стирании на Android 2.2.1 и 2.3.5 ничего не происходит. На Android 2.2.2 (преимущественно у Fly-ying) этот раздел занимает хороший кусок ROM и в нём находятся службы Google. Точка монтирования /system/secro. Файловая система yaffs2.
misc (
0.375 Мб.) — неизвестная штука, обычно содержит только пустоту «FF FF. «.
logo (
3.0 Мб.) — Первая картинка при включении, картинка зарядки. На 95% содержит только пустоту «FF FF. «.
expdb (
0.65 Мб.) — неизвестная штука, обычно содержит только пустоту «FF FF. «.
system (
160-210 Мб.) — системный раздел Android. Тут всё что относится к функционированию аппарата, от «морды» до поддерживаемых функций операционной системы. Всё, что здесь изменяется не подлежит востановлению заводским сбросом. Точка монтирования /system. Файловая система yaffs2.
cache (
62.0 Мб.) — раздел для расположения временных файлов. Обычно используется приложениями («Маркет», «ROM Manager» . ). При утрате содержимого раздела функционирование системы не пострадает. Неверное же содержимое может привести к зависанию при загрузке устройства. Полностью стирается при заводском сбросе. Точка монтирования /cache. Файловая система yaffs2.
userdata (
220-290 Мб.) — data, это раздел для установки программ календарей, телефонок, профилей, настроек различных программ и системы. При утрате содержимого раздела обычно* функционирование системы не страдает. Неверное же содержимое может привести к зависанию при загрузке устройства. Полностью стирается при заводском сбросе. Точка монтирования /data. Файловая система yaffs2.
Источник
Изучаем Android. Ядро (Kernel) — что это такое.
Многие владельцы Android устройств на различных форумах и сайтах часто встречают упоминание о чем-то непонятном, что называют ядром, или по-английски kernel. Его можно поменять и упоминание о нем встречается в меню настроек устройства, в разделе «О планшете (телефоне)».
Если копнуть поглубже, то окажется, что ядро – это часть операционной системы, и оно есть не только у Android, но и у других операционных систем: Windows, iOS, MacOS и прочих. Но нас будет интересовать ядро Android, и что это такое я попытаюсь объяснить на уровне начинающих пользователей.
Вы, наверное, знаете, что любая операционная система, и Android в том числе – это, по большому счету, набор программ, которые управляют работой всего устройства, и отвечают за запуск пользовательских приложений, таких как игры, менеджеры файлов, веб-браузеры и прочие.
А ядро Android является, практически, самой главной частью операционной системы, которая отвечает за взаимодействие между всем «железом» и программной частью системы. Ядро состоит из набора драйверов всего имеющегося в устройстве оборудования и подсистемы управления памятью, сетью, безопасностью, и прочих основных функций операционной системы.
Например, когда вы касаетесь экрана, чтобы запустить какое-либо приложение, драйвер сенсорной панели экрана определяет место, в котором произошло нажатие и сообщает координаты другим программам, которые опять же с помощью ядра найдут в памяти устройства нужное приложение и запустят его. Это конечно, очень упрощенная модель, но суть работы операционной системы она отражает.
Таким образом, мы выяснили, что когда любое программное обеспечение нуждается в том, чтобы оборудование планшета или телефона что-нибудь сделало, оно обращается за этим к ядру операционной системы.
Ядро управляет абсолютно всем оборудованием: Wi-Fi, Bluetooth, GPS, памятью и прочими устройствами. Не является исключением и «сердце» устройства – его процессор. Ядро может управлять его частотой и энергоснабжением.
Ядро операционной системы Android, позаимствовано ее разработчиками, компанией Google, у операционной системы Linux.
Так как ядро управляет всем оборудованием, а оборудование у всех планшетов и телефонов разное, базовое ядро Android дорабатывается производителем для каждого устройства отдельно.
Как и прошивки, ядра бывают стоковыми (заводскими) и кастомными – альтернативными, созданные независимыми разработчиками.
Зачем нужны кастомные ядра? Стоковое ядро максимально оптимизируется производителем для конкретного устройства, но в нем обычно заблокированы такие важные функции ядра, как, например, управление частотой процессора. И если вам понадобится разогнать процессор своего планшета, вам нужно будет сменить ядро на кастомное, в котором функция управления частотой процессора разблокирована.
Кроме того, кастомные ядра, обычно основаны на более свежих версиях Linux ядер. Вот примерный перечень возможностей, которые нам дают кастомные ядра:
- Изменение частоты процессора в широких пределах;
- Разгон графической подсистемы (GPU);
- Снижение частоты и напряжения питания процессора, что позволяет достичь более длительного времени работы от батареи;
- Более свежие и качественные драйверы, например, ускоряющие работу GPS или добавляющие новые функции;
- Широкие возможности по настройки и конфигурации звука и цветовой гаммы экрана;
- Поддержка альтернативных файловых систем (XFS, ReiserFS и прочих).
Так как альтернативные ядра создаются независимыми разработчиками, нет никакой гарантии, что после установки кастомного ядра ваш планшет или телефон будут работать без сбоев. Поэтому перед прошивкой нового ядра желательно сделать полную резервную копию системы.
Источник
Как установить ядра на телефоны Android [Custom ROMS]
Что такое ядро?
Центральный компонент большинства операционных систем. В его обязанности входит управление ресурсами системы (обмен данными между аппаратными и программными компонентами) и обеспечение нижнего уровня абстракции для ресурсов (особенно памяти, процессоров и устройств ввода-вывода).
[Definition Courtesy CyanogenMod Wiki]
Как установить ядра:
Многие из нас любят устанавливать пользовательские ПЗУ CyanogenMod на совместимые телефоны Android сразу после их выпуска. Хотя большинство из нас ждут стабильной и обширной версии, протестированной в CM, многие энтузиасты предпочитают ночные сборки и релиз-кандидаты. RC и ночные сборки обычно представляют собой версии ПЗУ CyanogenMod с ошибками и предназначены только для целей тестирования и отчетности. Cyanogen также периодически выпускает тестовые ядра между разными сборками, чтобы протестировать новые настройки производительности или исправить некоторые ошибки в текущей версии. Вы можете найти тестовые ядра от Cyanogen на CyanogenMod.com, а иногда и от других разработчиков на форумах, таких как XDA и Samdroid. Мы также можем обобщить
Вот пошаговое руководство по установке тестовых ядер. [boot.img] на телефонах Android:
Установка boot.img с телефона
Примечание: flash_image может иметь проблемы, связанные с памятью на CM5, которые приводят к сбою с различными ошибками. Повторный запуск команды flash_image до тех пор, пока она не исчезнет, может работать, но предпочтительнее использовать метод быстрой загрузки. Запуск этого из консоли восстановления / оболочки adb в режиме восстановления не должен иметь тех же проблем, что и в эмуляторе терминала на загруженной ОС.
- Загрузите boot (-new) .img в корневой каталог вашей SD-карты
- При использовании эмулятора терминала введите su, а при использовании консоли восстановления введите mount / sdcard, затем:
Установка boot.img из fastboot
- Есть Android SDK установлен и работает, с бинарным файлом fastboot в sdk / tools
- Загрузите boot.img в каталог / tools SDK.
- Подключите телефон и загрузитесь в режиме быстрой загрузки (назад + питание или камера + питание)
- Когда появится экран с катающимися на коньках дроидами, нажмите кнопку «Назад» (на центральной панели должно быть написано «Fastboot» или «Fastboot USB»).
- На компьютере из каталога / tools:
Обратите внимание, что мы не рекомендуем это руководство для начинающих пользователей, так как полные и стабильные версии CyanogenMod Releases имеют предварительно интегрированные ядра. Это руководство предназначено только для опытных пользователей, желающих получить больше знаний об установке ядер.
Источник