Встановити лінукс на телефон з андроїд ОС. Встановлюємо Linux-дистрибутив на телефон та планшет під керуванням Android. Тонка підстроювання всього і вся під себе

Головна / Усунення несправностей

Android проти Linux

Android - це операційна система з відкритим кодом, розроблена для мобільних пристроїв компанією Google. Початковий розробник програмного забезпечення Android, Android, Inc. був придбаний Google, Inc. у 2005 році. Він був розроблений на базі ядра Linux 2.6. Операційна система Linux була розроблена в 1991 як операційна система з відкритим вихідним кодом для настільних комп'ютерів Linus Torvalds. Операційна система Linux була розроблена як операційна система MINIX і не підтримувала 32-бітові функції з комп'ютерами Intel 80386. Хоча Android розроблено на базі Linux, операційна система не повністю використовує стандартне ядро ​​Linux. В даний час архітектура Android підтримує лише два типи архітектури: x86 та ARM. Однак ядро ​​Linux підтримує різні типи архітектур, включаючи архітектуру x86, яка найчастіше використовується в системах настільних комп'ютерів та ноутбуків/серверів. Система Android використовує архітектуру x86 для мобільних інтернет-пристроїв (MID) та платформу ARM для мобільних телефонів.

При розробці операційної системи Android в ядро ​​Linux було додано кілька функцій, які включають: драйвер аварійної сигналізації, відладчик ядра, реєстратор, управління живленням і драйвер загальної пам'яті Android. Ці удосконалення були побудовані поверх стандартного ядра Linux.

Операційна система Android мала багато оновлень з моменту її випуску. Кожне оновлення операційної системи включає кілька виправлень помилок, а також деякі нові функції. Кожна нова версія операційної системи Android випускається під унікальним ім'ям, що базується на десертному елементі. Ці версії випливають в алфавітному порядку, наприклад; Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomb і т.д. Майбутню версію Android назвуть Ice Cream Sandwich, випущену в четвертому кварталі 2011 року. Linux поширюється в різних варіантах: debian, ubuntu, knoppix, gentoo, pacman, RPM, Fedora, Red Hat Enterprise Linux, mandriva Linux, slackware та slax. Розповсюдження на основі ubuntu має декілька варіантів, таких як; Edubuntu, Gobuntu, Kubuntu, Lubuntu, Xubuntu, Ubuntu Netbook, Ubuntu mobile та версія Ubuntu Server.

Більшість Linux-дистрибутивів використовують бібліотеку GNU C для задоволення потреб бібліотеки. Операційна система Android має свою власну бібліотеку C, відому як Bionic, яка призначена для забезпечення швидких шляхів виконання та запобігання збоям. Бібліотека включає вміст із бібліотеки BS BSD і вихідний вихідний код Android. Крім того, Android, Inc. розробила власну віртуальну машину Dalvik на відміну від віртуальної машини Java, яка використовує власний байт-код замість байт-коду Java.

Середовище зберігання, що використовується Android, відоме як ще одна файлова система Flash (YAFFS). Флеш-пам'ять використовується через обмеження простору мобільних пристроїв. Флеш-пам'ять також забезпечує швидкий час доступу до читання та кращу стійкість до кінетичних ударів, ніж традиційні жорсткі диски. Флеш-система, що використовується в Android є типом NAND. Стандартна система Linux використовує магнітні диски, а не флеш-пам'ять. Ext3 є найбільш широко використовуваною файловою системою у стандартній системі Linux. У пристроях, що працюють під керуванням Android, скорочення втрат електроенергії керується власними Linux Power Manager, а не функціями Advanced Power Management (APM) або розширеної конфігурації та інтерфейсу живлення (ACPI), які використовуються в Linux.

1. Android – це операційна система з відкритим вихідним кодом, розроблена Android, Inc., яка зараз

належить Google, Inc., тоді як Linux розробляється як операційна система з відкритим вихідним кодом у рамках проекту GNU Лінуса Торвальдса та багатьох інших.

2. Android розроблений для мобільних інтернет-пристроїв та мобільних телефонів, тоді як Linux розроблений для настільних комп'ютерів/ноутбуків/серверів.

3. Операційна система Android має свою C-бібліотеку під назвою Bionic, тоді як Linux-системи використовують бібліотеку GNU C.

4. Системи Android використовують флеш-пам'ять замість жорстких дисків, тоді як у стандартних системах Linux використовуються магнітні диски.

5. Системи Android мають власний диспетчер потужності, тоді як у системах Linux використовуються APM та ACPI для керування потужністю.

Ті з вас, хто використовує ОС Linux на своїх комп'ютерах, знають, що вона сильно відрізняється від ОС Android, яка зазвичай використовується на мобільному телефоні або планшеті. Одна з очевидних відмінностей, яку можна помітити в двох ОС, полягає в тому, що Android значною мірою орієнтований на сенсорні операції, тоді як Linux обмежений операціями з клавіатурою та мишею. Однак обидві операційні системи мають загальне походження і використовують одне ядро.

Linux найкраще визначити як операційну систему, яка підходить для роботи на пристрої з фіксованою або обмеженою функціональністю – наприклад, вбудований Linux на інтелектуальному холодильнику чи тостері. Це дозволяє пристрою повною мірою використовувати величезну обчислювальну потужність Linux та максимально використовувати периферійні пристрої. При використанні на пристрої з фіксованою функціональністю вбудований Linux має безпрецедентну операційну ефективність і продуктивність, використовує мінімальні обсяги пам'яті та потужність, забезпечуючи при цьому користувачу максимальну простоту використання пристрою за призначенням.

Сайт networkcenter.ru. Інструкції та лайфаки для людей. Статті про гаджити, програми, залізо, авторські статті.

Смартфони та планшети, хоч і є вбудованими пристроями, безумовно не мають фіксованої функції (різні моделі з безліччю функцій). Величезний обсяг цих пристроїв має тенденцію спотворювати традиційне визначення вбудованого Linux. Зі збільшенням можливостей апаратного забезпечення визначення вбудованого Linux також зазнає змін, особливо щодо обмежень щодо можливостей зберігання і процесора.

З іншого боку, Android, хоч і є настільною мобільною операційною системою та платформою Linux, дозволяє користувачам (виробникам) визначати свої власні схеми використання. Це також дозволяє постачальникам динамічно оновлювати платформу. Однак деякі програми стирають різницю між Android і вбудованим Linux.

Один із прикладів такого типу програм можна побачити у телевізійній приставці. Раніше це був пристрій із фіксованою функцією, що працює на вбудованому Linux. Завдяки збільшенню функціональності та динамічності телевізора в приставці тепер можна завантажувати програми та оновлювати програмне забезпечення, аналогічно до пристроїв Android. Більш того, в Android відбуваються зміни, аналогічні до тих, з якими стикається вбудований Linux. Це не просто операційна система для планшета або мобільного зв'язку.

Багато людей не знають, що Android і Linux використовують те саме ядро. Тим не менш, Android фокусується на вертикальній інтеграції своїх компонентів простору користувача з самим ядром Linux. У більшості випадків Android можна розглядати як ще один варіант вбудованого Linux - точно так, як кожен вбудований Linux адаптований до архітектури процесора, периферійних пристроїв, підтримки SoC і призначення пристрою, на якому передбачається працювати.

Особливість Android полягає в його здатності налаштовуватися та оптимізуватися, зберігаючи при цьому загальні компоненти та стандартизовані API. Це дозволяє середовищу розробки додатків бути більш послідовним. Звичайно, це також означає, що образи ядра Android мають дуже великий розмір для підтримки цієї узгодженості або стандартизації. Крім того, це збільшує поверхню для профілів уразливості.

З Android у вас є багато функціональності. Останнім часом деякі з провідних розробок для підтримки нових графічних прискорювачів та SoC вперше з'являються у середовищі Android. Потім їх підштовхують до інших проектів, пов'язаних із ядром Linux.

Здрастуйте у мене є міні-PC ug 802, як я можу встановити на нього лінукс? teltar

Це дуже цікава для мене тема, друзі, оскільки я професійно займаюсь адмініструванням Linux-серверів. На серверах це цікаво, але для мене вже буденно і буденно. А ось встановлення дистрибутивів Linux на пристрої з ARM-архітектурою – це цікавіше на порядок.

У чому різниця між комп'ютером та смартфоном чи планшетом?

Насправді концептуально різниця невелика - і мобільні і десктопні пристрої, або навіть сервери зроблені за одними і тими ж принципами. Однак для мобільних пристроїв використовують іншу архітектуру процесора. CPU для робочих столів розроблені на архітектурах x86 або amd64. А у більшості мобільних пристроїв встановлений процесор на ARM-архітектурі. Історично це пов'язано з тим, що такі процесори мають значно менше енергоспоживання, що є життєвою необхідністю для мобільних пристроїв.

Які операційні системи можна встановити на мобільні пристрої?

Так ось, усі програми, у тому числі й операційна система, мають бути розроблені спеціально під цю архітектуру, щоб працювати на цьому обладнанні. Тому звичайні версії Linux, що встановлюються на робочі столи або сервери, тут не підійдуть. На щастя, є безліч дистрибутивів та версій для цієї архітектури. Починаючи з горезвісної Android, якою оснащено більшість смартфонів і закінчуючи екзотичними дистрибутивами, як спеціалізований Backtrack (нині Kali Linux). Але більший інтерес, звичайно, представляють якісь відоміші дистрибутиви.

Що таке Android?

Андроїд - це операційна система на основі Linux, розроблена Google для мобільних пристроїв. Найпопулярніша у світі мобільна операційна система. Слід розуміти, що насправді LInux це лише ядро ​​операційної системи. А на основі його побудовано безліч операційних систем і Андроїд лише одна з них.

Ядро - базовий функціонал, який дозволяє використовувати всі пристрої та опції апаратної платформи - тобто драйвера та керування пристроями. Також в ядро ​​включені деякі базові програми та утиліти командного рядка. Справа в тому, що в сімействі Linux (саме в цьому значенні найчастіше мається на увазі – сімейство операційних систем на цьому ядрі, а не саме ядро) – графічна оболонка – це окрема частина, свій рівень абстракції.

І мінімальна конфігурація цих ОС — без графічної оболонки, лише текстовий інтерфейс командного рядка. Це дозволяє вбудовувати ці ОС у незвичайні місця. Наприклад, у мережеве обладнання, верстати, комп'ютери інших складних пристроїв, наприклад у літаках та автомобілях. Навіть у вашій пральній машині та мікрохвильовій печі може бути встановлено щось подібне:)

Це android-девайс. Відповідно, в ньому за замовчуванням має бути встановлена ​​Android. Яка, власне, і є Linux. Але із деякими серйозними обмеженнями. Встановлення якогось іншого Linux може значно розширити можливості мобільного пристрою. Можливості використання стають практично безмежними. Ну уявіть собі, використовувати мобільник як сервер! Багато інструментів стають доступними. Якщо цей планшет, підключивши до нього периферійні пристрої через кабель OTG, можна використовувати його як повноцінний комп'ютер! Навіщо? Це вже інше питання. Сподіваюся, наш читач поділиться своїми витівками у коментарях.

Як встановити Linux на Android-пристрій?

Отже, встановлення.

Варіантів два – можна зробити повноцінну установку, що називається – на «залізо». Це фактично перепрошивка пристрою. При цьому, ми втрачаємо нативний функціонал пристрою, передбачений виробником. А це може бути зовсім не тим, що нам хотілося. Наприклад, міні-комп'ютер UG 802, за який цікавиться наш читач - це пристрій, призначений для розширення функціональності телевізорів. Бо його можна вставити прямо в HDMI-порт будь-якого телевізора, перетворивши його на Smart.

На щастя, є другий спосіб встановлення Linux - прямо всередині основної операційної системи пристрою, в даному випадку Android. Це дозволяє запустити так зване chroot-оточення всередині Android. При цьому ви отримаєте дві споріднені операційні системи, що працюють паралельно на одному ядрі - андроїдівському. І між ними можна буде перемикатися.

Такий підхід зручний для смартфонів та планшетів, але може не підійти для UG 802. У випадку з ним може знадобитися перепрошивка потрібної операційної системи. А це вже певний ризик, що можна зіпсувати пристрій.

На жаль, я не маю досвіду таких експериментів. Але інформації в мережі із цього приводу достатньо. Вивчайте, спробуйте встановлювати.

Тому я наведу кілька посилань, з яких ви можете почати своє ознайомлення зі світом хакінгу мобільних пристроїв:)

Хто такі хакери?

Так-так, не дивуйтеся, це саме хакінг - нестандартне втручання в роботу та влаштування систем та програм, їх зміна та розширення функціональності. Саме таке споконвічне значення цього слова. А хакер — це не зломщик і письменник вірусів, як більшість людей звикли думати. Це насамперед дослідник. Так, він ламає системи, розкриває те, що було задумено бути розкритим, але робить це з метою пізнати, а чи не нашкодити.

https://xakep.ru/2012/10/22/android-tablet-linux-install/ - стаття про встановлення Linux на смартфони в найстарішому журналі, який якраз є відображенням суті хакерства.

https://habrahabr.ru/post/221543/ - хабр, не менш старий і навіть більш відомий ресурс. А стаття тут свіжа, і дуже докладно описує досвід установки Arch Linux поверх Android у вигляді chroot-оточення.

https://geektimes.ru/post/44220/ - гіктаймс - сайт від творців хабра, і на ньому знайшовся докладний мануал зі встановлення Debian поверх Android на смартфон. Стаття хоч і дуже стара, але торкається фундаментальних речей, які необхідно розуміти перш ніж приступати до такої операції. Це якщо і не допоможе вам встановити, але допоможе набратися знань, без яких неможливий подальший розвиток теми та вирішення проблеми. А вивчивши такі статті, ви почуватиметеся вже впевненіше і зможете шукати інформацію по темі вже точніше, на конкретні питання, які потрібно буде вирішувати під час встановлення.

Наприклад, напевно, на вищезгаданих сайтах ці статті на тему не єдині. Можна завжди спробувати пошукати статті про це на таких спеціалізованих ресурсах. Я знайшов і переглянув пару топіків про встановлення linux на мобільні пристрої на 4pda.ru ось так, наприклад

На цьому маю все на сьогодні. Але завжди може статися, що мені захочеться продовження банкету цієї теми:)

При виникненні проблем (а вони виникнуть з ймовірністю 99% :)) можете також ставити питання тут, будемо збирати інформацію, вирішувати проблеми разом, мені це теж дуже цікаво.

Після якої я і наважився придбати диво китайського планшетобудування: superpad. Даний планшет брався як іграшка для «поколупати небагато», за сумісництвом, читалка, гралка на пари і дивлячись у довгу дорогу… Відразу зазначу, що у мене два usb вінчестери на 500 гб і 1тб, на яких і зберігається все найважливіше для веселого життя , і вони розбиті в ntfs і ext4. І, звісно, ​​планшет їх бачить.

Ось мій доброволець

Ось і перша причина поколупатися. Після перегляду 200 сторінок форуму на xda-developers.com окреслилися певні

На даному етапі всі спроби розтину планшета відклалися в довгий ящик. До славного часу для студента – сесії. Оскільки на сесії студенти роблять абсолютно все, аби не по предмету, то веселі нічні посиденьки в інтернеті на завідомо буржуазних сайтах відновилися. І прийшла геніальна ідея поставити на цей планшет православний linux, у моєму випадку – ubuntu.
Що з цього вийшло, дивимось нижче.

Зрозуміло, що просто так взяти і встановити не вийде… ну що ж, де наша не пропадала…

Нам знадобляться:

розглянемо основні етапи завантаження android та linux
1. Power on and boot ROM code execution Power on and boot ROM code execution
2. The boot loader The boot loader
3. The Linux kernel The Linux kernel
4. The init process The init process
5. Zygote and Dalvik console(bash, zsh...) / wm(kde, gnome...)
6. The system server Boot completed
7. Boot completed

Як бачимо, відмінності починаються з етапу виконання init.
Його й найпростіше поміняти.

Чесно напишу, думав, що можна використовувати лише адроїдовський ініт і що він намертво прикручений до ядра. І навіть отримавши приклад робочого ramdiskа від іншого планшета, не думав, що він заведеться.

вміст ramdiska
bin dev etc home init init.rc lib linuxrc mnt newroot opt ​​proc root sbin sys tmp usr var
/bin лежить busybox, /sbin – switch_root посиланням на нього.
Код init із ramdiskу від zt-180

#!/bin/sh echo Starting from initram image. Echo Waiting for SD-CARD wake up... sleep 3 echo "Mounting new rootfs" mount -t ext2 /dev/mmcblk0p2 /newroot && echo OK echo Hold on, switching root... exec switch_root /newroot /s hrm, have a shell instead exec /bin/ash

Залишається прошити ramdisk на згадку (я використав burntool під xp) і - вуаля, етап завантаження. Так, я прошивав замість recovery, так що для запуску Linux доводиться затискати клавіші при старті.

Так, етап завантаження пройдено і варто запастися терпінням, тому що консоль не подає ознак життя, а все вантажиться досить повільно.

Налаштовуємо автологін на першу консоль
У /etc/init/tty1.conf замінюємо останній рядок на exec /bin/login -f Yor_Login< /dev/tty1 >/dev/tty1 2>&1 потім у своєму ~/.bashrc можна прописати команди, які стартуватимуть при автоматичному логіні.
Боремося з ікс-сервером
У мене він напевно не дружив з тачскрином, xorg.conf та xterm… видалив драйвер synaptic, закинув у ~/.xinitrc наступне:
#!/bin/bash # $Xorg: xinitrc.cpp,v 1.3 2000/08/17 19:54:30 cpqbld Exp $ by xinit (startx) # invoke global X session script #. /etc/X11/Xsession xclock -geometry 50x50-1+1 & exec xterm -geometry 80x66+0+0 -name login
Боремося з робочим середовищем
Я захотів поставити kde, тому що мені дуже подобається малювання графіки бібліотекою qt. Відразу скажу: так, поставилось і завелося, але ЯК.
По-перше, відразу налаштував автологін:
в /etc/kde4/kdm/kdmrc знаходимо і змінюємо під себе наступне
AutoLoginEnable=true # If true, auto-login after logout. Якщо false, auto-login is performed only # when a display session starts up. # Default is false #AutoLoginAgain=true # Розділ в секундах автоматично підтримує клацання. # Default is 0 AutoLoginDelay=3 # User to log in automatically. NEVER specify root! # Default is "" AutoLoginUser=Login # password for user to log in automatically. Це не потрібно # unless the user loged in NIS або Kerberos domain. Якщо ви використовуєте це # option, ви повинні "chmod 600 kdmrc" для певних умов. # Default is "" AutoLoginPass=Password
і, як написано, робимо chmod 600 kdmrc в консолі під рутом, щоб погані особи не підглянули наш пароль.
По-друге, при вході підозріло довго висіла заставка, і я, засумнівавшись, викликав startkde з консолі. Після тривалого та нудного показу всіляких помилок нарешті завантажилася плазма в режимі нетбука. Графічні ефекти вимкнені, тому що ми сидимо під framebufferом, і спостерігаються місцями дикі гальма, але все ж таки це kde і воно завантажилося!
Тонка підстроювання всього і вся під себе
У кожного своя, оптимізацію я поки що не проводив, а зробити треба дуже багато: прискорити завантаження, оптимізувати робочий простір. Подивлюся у бік легковажнішого wm – e16 – але поки що основним не зробив. так само потрібно відкалібрувати тачскрин, благо, що віртуальна клавіатура вже є в kde.
Подивлюся у бік openbox + razor-qt.
«Насолоджуємося!»
Підсумки

Підключив репозиторії debian 6. Не працює в упор звук, не налаштований тач та робочий простір. Дуже не вистачає модулів ядра, тож спробую зібрати та прикрутити…
Збито багато служб і політиків, в інтернет ходить тільки під root, але інтернет налаштований і це тішить.

Ps: Так, без модулів ядра підключається тільки розділи в fat і ext2, що не тішить.
usb клавіатура + миша будуть дуже цінними при налагодженні та налаштуванні.

Тепер про те, що можна використовувати у процесі
ramdisk від zt-180
burntool
Набір для перепакування ramdiskа. Бінарники треба закинути у свій PATH.

© 2023 androidas.ru - Все про Android