Встановлення дистрибутивів Linux поряд з Android. Linux чи android - що краще в телевізорі? Операційна система linux або андроїд що краще

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

Для цього вони створюють спеціальні прошивки, як правило, для конкретної моделі телефону. У цьому випадку ми маємо звичайний телефон, на який можна купити якщо запчастини, а якщо щось не підемо, повернути телефону початковий вигляд.

Які моделі телефонів можна, наприклад, встановити Linux? На сайті www.linuxmobile.org є прошивки принаймні кілька моделей. На ці моделі можна встановити прошивку, що базується на Android. Якщо ви не знали, то Android це теж Linux.

На які телефони його можна встановити linux?

Motorola Atrix Motorola Razr HD Cyanogen Mod 10 Cyanogen Mod 9 Cyanogen Mod 7

Можливо, якась із цих моделей є у вашому магазині і ви можете купивши цей телефон, встановити на нього Linux. Як це буде виглядати? Ось так виглядає урізаний Android Лінукс на телефоні:

Звичайно, розробники попереджають, що ви використовуєте ці прошивки на свій страх та ризик, і це зрозуміло. Але з іншого боку, хіба звичайний юзер візьметься ставити Linux на телефон? Йому це просто не потрібно, це доля людей, які добре знаються на темі. Так, було б чудово встановити на мій старий телефон Linux, шкода його немає в списку.

Linux на планшет – чи варто ставити?

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

Перше питання, яке виникає у тих, хто хоче завантажити Linux у планшет, це питання про те, який Linux поставити? Тут відразу варто зняти рожеві окуляри: будь-який Linux, який ви ставите на звичайний комп'ютер, планшет не встановити.

Справа в тому, що більшість планшетів сьогодні роблять на базі процесорів, які мають структуру ARM. Тому найпростіший варіант встановити Linux на свій гаджет - це купити планшет саме зі звичайною архітектурою x86. Обчислити такий планшет не важко, тому що на ньому швидше за все буде встановлена ​​Windows 7 або щось подібне. Купивши такий планшет, ви зможете встановити на нього будь-який Linux.

Але знайти такий планшет сьогодні не так легко, та й знайшовши, він вам, можливо, не сподобається зовні або за характеристиками.

Запуск Linux на Android

Який вихід? А вихід один: знайти OS Linux, що вже портували під процесор ARM. Таких розробок сьогодні вже не багато, і один із варіантів – це Kali Linux. Але це лише один із варіантів. Якщо ви наберете в пошуковій системі фразу "Linux ARM", то можете побачити, які Linux вже працюють на цьому процесорі. Ось деякі з них:

Arch LinuxARM Debian Linuxна ARM Ubuntu Linuxна ARM Gentoo Linuxна ARM

Отже, вибір є і можна спробувати встановити Linux на своєму планшеті. Але в мене виникло таке питання: а чи достатньо портовано програм Linux під цю платформу? Чи варто гра свічок? Адже мало просто портувати Linux, важливо також портувати і додатки для нього.

А я, взагалі, захоплююся великою кількістю програм для Android, яких вже не менше, ніж для Linux. І багато хто з них мені хотілося б бачити і в Linux. Але чи не вийде так, що встановивши Linux на планшет, я позбавлю себе цієї різноманітності додатків, які є в Android?

Загалом потрібно тисячу разів подумати, перш ніж ставити Linux на свій планшет. Може, його час ще не настав?

18+ © Seclub.org 2003-2018

У рамках цієї статті ми детально розповімо, як встановити Linuxна Android-пристрій. Для встановлення та повноцінної роботи альтернативної системи вам знадобиться: смартфон або планшет, програмний емулятор, права root та кілька гігабайт вільного місця.

1. Встановлення програми complete linux installer

Вводимо в меню пошуку Google Play слово "emulator" і отримуємо список з декількох десятків приблизно однакових утиліт. Всі вони хороші, але ми зупинили увагу на програмі Complete Linux Installer. Воно абсолютно безкоштовне, чудово локалізоване та забезпечене докладною інструкцією для новачків.

Програму можна завантажити за адресою http://goo.gl/5C6Xa. Алгоритм установки Complete Linux Installer нічим не відрізняється встановлення будь-якого іншого програмного забезпечення, тому на цьому моменті ми зупинятися не будемо.

2. Робота з програмою Complete Linux Installer

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

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

Як і згадувалося раніше, Complete Linux Installer вимагає для повноцінного функціонування прав root, про що програма і нагадає вам у спливаючому вікні.

Надаємо програмі повний доступ до системних функцій мобільного пристрою.

На цьому початкову підготовку емулятора до роботи закінчено. Перед вами відкриється основне меню програми. Переходимо до підпункту “Посібник зі встановлення”.

Емулятор просканує апаратну начинку гаджета і видасть список операційних систем, які гарантовано запустяться на вашому мобільному пристрої. Вибираємо для прикладу Ubuntu 13.10.

З цього моменту програма починає "вести" вас по етапах встановлення операційної системи, супроводжуючи кожну необхідну дію найдокладнішими інструкціями. Наприклад, ознайомившись із вимогами емулятора на першому кроці, обов'язково встановіть “Термінал” та “VNCViewer” на другому кроці. Тільки після цього вибирайте пункт "Завантажити образ".

Прочитайте опис відмінностей між дистрибутивами операційної системи лінукс та виберіть потрібний саме вам.

Створіть докорінно зовнішнього накопичувача гаджета папку з ім'ям майбутньої системи. Це спростить програмі пошук необхідних файлів. У нашому випадку ми створюємо директорію "ubuntu". Розпакуйте завантажений архів у цю папку.

У результаті в каталозі "ubuntu" повинні з'явитися два файли. Один із них – з розширенням.img.

Чи можна встановити телефонний лінукс?

Це і є образ системи лінукс, що запускається.

Після виконання зазначених дій перейдіть до підпункт “Запуск” основного меню Complete Linux Installer та натисніть допоміжне меню “Settings” у верхньому правому кутку вікна. Вибравши опцію “Змінити”, вкажіть програмі повний шлях до файлу системи, що виконується. Підтвердьте свій вибір натисканням кнопки “Зберегти зміни”.

На цьому черговий етап встановлення альтернативної операційної системи на згадку вашого гаджета закінчено. Можете сміливо вибирати опцію "Запуск Linux".

Програма у фоновому режимі запустить термінал для виконання тестових команд і запросить для нього root-доступ до системних функцій пристрою. Дозволяємо.

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

Чому :

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

Просто в андроїді багато всього і активно використовують інтерфейси у вигляді файлових систем.

Ну буває.

Чи можна встановити Linux на телефоні?

Розвиток завжди через помилки.
Може, просто так не робити?

Та де завгодно. Це швидше питання щодо андроїда, ніж до unix-форуму. Відсутність рядків fstab не забороняє монтувати просто командою.

Після якої я наважився придбати диво китайського планшетобудування: 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. If false, auto-login is performed only # when a display session starts up. # Default is false #AutoLoginAgain=true # Збереження в секундах після автоматичного підписання kicks in. # 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 or 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.

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

Навіщо?

На перший погляд може здатися дивним, що хтось намагається запустити на мобільному пристрої операційну систему, яка в принципі не призначена для роботи з екраном невеликих розмірів і без точного маніпулятора (миша) і клавіатури. Однак не варто робити поспішних висновків. Дистрибутив Linux може дати власнику смартфона досить багато переваг, серед яких набір старих перевірених інструментів, таких як утиліти командного рядка, передові редактори, FTP- та SSH-сервери, мережеві інструменти та засоби розробки програм. Запустивши Linux без графічної оболонки на смартфоні з хардварною клавіатурою (Motorola Droid, наприклад), можна досить зручно всім цим скористатися просто на ходу без необхідності залишати сам Android. Всі інструменти доступні будь-якої миті, а смартфон продовжує залишатися смартфоном, дозволяючи приймати дзвінки та слухати інтернет-радіо.

Другий аргумент за встановлення Linux на смартфоні - це можливість використовувати його як переносну робочу станцію, яку можна підключити до будь-якого ПК і відразу отримати доступ до терміналу за допомогою SSH/Telnet-клієнта або клієнта VNC/RDesktop. Це за визначенням краще, ніж флешки зі встановленим Linux, тому що немає необхідності, по-перше, перезавантажувати машину, а по-друге, ганяти туди-сюди дані; результати твоєї роботи будуть доступні відразу після того, як відключиш смартфон від комп'ютера.

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

Як?

Перенести Linux на Android справді просто, і головну роль тут відіграє ядро ​​Linux. Будь-який Linux-дистрибутив є набір додатків і бібліотек, що працюють поверх ядра Linux, а так як Android сам заснований на майже незміненому ядрі Linux, ці програми та бібліотеки можна без будь-яких проблем запустити всередині середовища Android. Достатньо лише підшукати дистрибутив, для якого існує порт на платформу ARM (не забуваємо, що 99% всіх Android-девайсів працюють на ARM), встановити його за допомогою ARM-емулятора на віртуальний жорсткий диск (тобто файл), скинути цей файл на SD-карту пристрою, відкрити термінал, змонтувати образ як loopback-пристрій та зробити chroot усередину. Всі! Це так само просто, як запуск FTP-сервера в chroot-оточенні - простий та перевірений десятиліттями метод.

Єдиний камінь спотикання, коли вирішуєш запустити дистрибутив Linux всередині Android, - графічне середовище. У той час як з доступом до консолі жодних труднощів не виникає завдяки наявності повноцінного емулятора терміналу, з графічними програмами починаються проблеми - нативного X-сервера для Android немає, а запустити звичайний X-сервер усередині самого дистрибутива неможливо через корінні відмінності в графічній архітектурі підсистеми зелений робот. Незважаючи на те, що в основі вона використовує стандартний Linux Framebuffer, поверх якого можна запустити X-сервер, ексклюзивне право його використання спочатку належить більш високорівневим бібліотекам Android, тому залишається або завантажувати Linux-дистрибутив замість Android (що зовсім непрактично), або вигадувати обхідні шляхи. .

Перевірка роботи необхідних модулів

Майте на увазі, що підтримка loopback-пристроїв та файлових систем ext2/ext3, необхідних для підключення образу, є далеко не у всіх ядрах Linux, встановлених на смартфонах під керуванням Android. Перевірити наявність підтримки можна за допомогою lsmod | grep -e loop -e ext2.

Ентузіасти вийшли з цієї ситуації, використовуючи простий метод «віддаленого» підключення до робочого столу за допомогою будь-якого доступного для Android VNC-клієнта. Всередині chroot-оточення запускається X-сервер Xvnc, і всі програми працюють під його керуванням. Користувачеві залишається лише встановити VNC-клієнт, вбити локальну адресу - і вуаля, на екрані з'являється повноцінний робочий стіл.

Єдине вузьке місце при використанні віддаленого робочого столу – це продуктивність. Навіть працюючи локально, VNC не може забезпечити належний її рівень, якого вистачило б для плавного прокручування або переміщення вікон без лагів. Вирішити цю проблему поки що не вдалося, проекти розробки нативного X-сервера, який би використовував графічну підсистему Android, ще дуже сирі і не можуть бути використані для запуску повноцінних графічних середовищ. Проте ніхто не забороняє їх використовувати; Наприклад, X Server від Darkside Technologies Pty Ltd (goo.gl/ap3uD) цілком згодиться для запуску простого софту.

Спочатку Linux для Android існував тільки у вигляді образу з вже встановленою системою, а також пояснювальної інструкції, як цей образ підключити та використовувати. Потім з'явилися скрипти, які автоматизували процес підключення образу та запуску Linux, але вони вимагали деякої роботи головою. Нарешті, останнім часом з'явилися інсталятори, доступні в Google Play (наприклад, goo.gl/RSA1j), які певною мірою автоматизують процес запуску дистрибутива, хоча, по суті, це все те ж посібник зі встановлення, але інтерактивний, з прямими посиланнями на скачування образів та скриптів.

Альтернативні варіанти

Вище я вже згадав про те, що дистрибутив Linux може бути завантажений замість Android, завдяки чому вдасться задіяти Framebuffer для прямого доступу до відеоадаптера і істотно прискорити роботу графічного інтерфейсу. Однак робити це на смартфоні практично безглуздо - Linux непридатний як основна система на невеликих екранах, до того ж приймати дзвінки і користуватися інтернетом буде неможливо. А ось на планшеті Linux виглядатиме цілком гідно.

Зазвичай на пристрій, що спочатку працює під керуванням Android, так звана нативна версія Linux-дистрибутиву встановлюється таким чином. На внутрішньому NAND-накопичувачі планшета створюється додатковий розділ, на який копіюється Linux-дистрибутив. Потім завантажувач U-Boot (він застосовується в більшості планшетів) налаштовується таким чином, щоб використовувати цей розділ як завантажувальний. В результаті планшет автоматично завантажуватиме Linux-систему після включення живлення.

Щоб залишити можливість завантаження Android, завантажувач U-Boot переналаштовують таким чином, щоб розділ з Linux-системою був не основним, а виконував функцію «розділу для відновлення» (Recovery Mode), доступного за допомогою увімкнення пристрою із затиснутою клавішою гучності (той самий, який використовується для перепрошивки пристрою та виконання різних відновлювальних операцій). Таким чином, вдається отримати пристрій з подвійним завантаженням: Android за замовчуванням і дистрибутив Linux при завантаженні в режимі відновлення. Сам Recovery Mode залишається доступним лише за допомогою спеціальних інструментів.

Якщо NAND-пам'яті виявляється недостатньо для розміщення повноцінної Linux-системи, її частини (зазвичай розділ /usr) виносять в образ або розділ на карті SD. До речі, ext2-розділ на карті пам'яті також можна використовувати для встановлення Linux, що запускається в chroot-оточенні.

Встановити нативний Linux-дистрибутив складніше, ніж у chroot-оточенні, але це варте того, якщо у тебе є планшет і OTG-кабель, за допомогою якого можна підключити клавіатуру і мишу.

Практичне заняття

Як я вже казав, для запуску під керуванням Android придатні лише дистрибутиви, портовані на архітектуру ARM. Насамперед це Ubuntu та Debian, причому перший зі зрозумілих причин користується значно більшим інтересом серед роботоводів. Також можна встановити Gentoo та кілька спеціалізованих дистрибутивів, наприклад Backtrack. Розглянемо типовий випадок, тобто встановлення Ubuntu за стандартною схемою, без використання будь-яких автоматизованих інсталяторів та іншого.


Для початку нам потрібний образ жорсткого диска із встановленим дистрибутивом. Його можна створити самому, скориставшись емулятором QEMU, однак у зв'язку з тим, що процедура установки абсолютно стандартна і типова, описувати її я не буду, а просто направлю тебе за адресою goo.gl/9nvBi. Тут лежить архів з чином, на який встановлено Ubuntu 12.04 з графічним оточенням LXDE (було б нерозумно запускати Unity/Gnome на телефоні/планшеті). Архів слід розпакувати та покласти файл ubuntu.img на карту пам'яті.

Далі треба змонтувати образ і зробити chroot в оточенні дистрибутива. Для цього потрібні права root, прошивка з підтримкою блокових loopback-пристроїв та встановлений busybox (шукаємо в Маркеті на запит «busybox installer», у CyanogenMod є за замовчуванням). Послідовність дій:

  1. Відкриваємо емулятор терміналу в Android (якщо ні, можна встановити з Маркета Terminal Emulator). Або підключаємо смартфон/планшет до комп'ютера і отримуємо доступ до терміналу за допомогою adb: $ cd шлях-до-Android-SDK/platform-tools $ sudo ./adb shell

    Не забуваймо, що режим налагодження в цьому випадку має бути включений: «Налаштування -> Для розробників -> Налагодження Android».

  2. Отримуємо права root:$ su
  3. Створюємо блоковий loopback-пристрій, підключаємо до нього образ диска та монтуємо його:# mknod /dev/block/loop255 b 7 255 # mount -o remount,rw / # mkdir /mnt/ubuntu # mount -o loop,noatime -t ext2 \ /sdcard/ubuntu.img /mnt/ubuntu

    Вміст образу має з'явитися у каталозі /sdcard/ubuntu. Перевір, щоб це було так.

  4. Підключаємо всі необхідні для роботи дистрибутива віртуальні ФС:# mount -t proc proc /mnt/ubuntu/proc # mount -t sysfs sysfs /mnt/ubuntu/sys # mount -o bind /dev /mnt/ubuntu/dev
  5. Налаштовуємо так, щоб із chroot-оточення можна було отримати повноцінний доступ до мережі:# sysctl -w net.ipv4.ip_forward=1 # echo "nameserver 8.8.8.8" > /mnt/ubuntu/etc/resolv.conf # echo "nameserver 8.8.4.4" >> /mnt/ubuntu/etc/resolv.conf # echo "127.0.0.1 localhost" > /mnt/ubuntu/etc/hosts
  6. Переходимо в chroot-оточення:# chroot /mnt/ubuntu

Власне, у цьому установка закінчується. Тепер можна запускати консольний софт, проводити оновлення системи, стартувати мережеві сервіси і робити майже все, що можна зробити зі звичайною десктопною Linux-системою, не забуваючи, звичайно, що деякий софт, що безпосередньо взаємодіє з залізом і різними спеціалізованими псевдодевайсами, працювати не буде. Також не забуваємо, що віртуальні ФС після завершення роботи слід розмонтувати.

Тепер нам необхідно встановити та запустити X-сервер Xvnc, експортуючий дисплей та пристрої введення з використанням протоколу VNC. TightVNCserver вже є у представленому образі і навіть налаштований, але щоб ти краще зрозумів процес і зміг вирішити проблеми, що виникли, я докладно опишу процес його встановлення та запуску.

  1. Оновлюємося та встановлюємо TightVNCserver:# apt-get update # apt-get install tightvncserver
  2. Створюємо файл /root/.vnc/xstartup і пишемо до нього наступне:#!/bin/sh xrdb $HOME/.Xresources xsetroot -solid grey export XKL_XMODMAP_DISABLE=1 icewm & lxsession

    Третя команда тут потрібна, щоб вирішити проблеми, які можуть виникнути через фізичну відсутність на пристрої клавіатури.

  3. Запускаємо Xvnc за допомогою враппера vncserver з правами root:# export USER = root # vncserver -geometry 1024x800

    В результаті виконання останньої команди на екран буде виведено запит на пароль для доступу до VNC-сервера, краще вказати щось просте на кшталт «123». Дозвіл можна встановити фактично будь-який, проте краще, якщо воно співпадатиме з фізичною роздільною здатністю екрана пристрою.

  4. Встановлюємо на смартфон додаток AndroidVNC, запускаємо його, вказуємо IP-адресу та порт 5901, підключаємося.На екрані з'явиться робочий стіл LXDE.

Щоб не перейматися ручним введенням усіх команд, можна використовувати скрипт ubuntu.sh, розташований тут: goo.gl/xSpK4 . Просто поклади його і образ ubuntu.img в каталог ubuntu на SD-карті та запусти скрипт командою sh ubuntu.sh, а через 5–10 секунд підключись до робочого столу за допомогою AndroidVNC. Май на увазі, що скрипт монтує образ до каталогу /data/local/mnt.


Установка Gentoo на ext2-розділ

Отже, ми встановили Ubuntu за допомогою образу з файловою системою та шаманств з loopback-пристроєм та chroot-оточенням. Зробити це виявилося нескладно, а із застосуванням скриптів так і взагалі дуже легко, але що, якщо піти далі і встановити хардкорніший дистрибутив, і не з використанням образів, а на виділений ext2-розділ на карті пам'яті? Так ми зможемо вирішити проблему деяких прошивок і ядер без підтримки loopback-пристроїв і, до того ж, зможемо насолодитися нормальним дистрибутивом, встановленим за всіма правилами.


Візьмемо як піддослідну систему Gentoo. Щоб встановити його на ext2-розділ, нам знадобиться карта пам'яті об'ємом не менше 2 Гб та рутований смартфон зі встановленим busybox. Послідовність дій така.

  1. Робимо бекап даних з картки пам'яті та створюємо на ній додатковий розділ, об'ємом не менше двох гігабайт. Зробити це можна за допомогою будь-якої програми для розбивки дисків, однак май на увазі, що якщо ти хочеш продовжувати використовувати SD-карту за прямим призначенням, то створювати FAT32-розділ слід на початку карти, так, щоб він став першим, а додатковий розділ для установки дистрибутива має бути другим.
  2. Форматуємо розділи SD-картки:$ sudo mkfs.vfat /dev/sdc1 $ sudo mkfs.ext2 /dev/sdc2
  3. Беремо телефон, заходимо в "Налаштування -> Про телефон" і дивимося, який встановлений процесор.Далі переходимо на сторінку goo.gl/PRfux і викачуємо stage3 для потрібної архітектури, наприклад, stage3 для ARM v7 лежить в каталозі current-stage3-armv7a.
  4. Монтуємо ext2-розділ карти пам'яті на комп'ютері і розпаковуємо в нього вміст отриманого архіву:$ sudo mount /dev/sdc2 /mnt $ sudo tar -xxpf stage3-*.bz2 -C /mnt

    Відразу редагуємо конфіги та все, що потрібно, до смаку, включаючи виправлення /etc/resolv.conf за зразком з попереднього розділу.

  5. Запускаємо емулятор терміналу (або виконуємо «adb shell»), монтуємо все необхідне і переходимо в chroot (майже так само, як у випадку з Ubuntu): # mount -o remount, rw / # mkdir / mnt / gentoo block/mmcblk0p2 /mnt/gentoo # mount -t proc /mnt/ubuntu/proc # mount -t sysfs sysfs /mnt/ubuntu/sys # mount -o bind /dev /mnt/ubuntu/dev # sysctl -w net. ipv4.ip_forward=1 # chroot /mnt/gentoo

Доступ до робочого столу здійснюється таким же способом, як у Ubuntu, за винятком того, що тепер прямо на телефоні доведеться зібрати купу софту:). Втім, можна налаштувати середовище для крос-компіляції на комп'ютері, але це вже тема для окремої статті.


Нативна установка

Запустивши Ubuntu з використанням VNC-сервера, ти помітиш неквапливість його роботи, пов'язану з витратами протоколу VNC на передачу картинки "по мережі". Щоб уникнути цієї проблеми, можна встановити Ubuntu як основну систему поряд з Android, так, щоб вона змогла використовувати відеоадаптер безпосередньо. На жаль, універсального способу зробити це немає. Кожен пристрій по-своєму унікальний, включаючи різні таблиці розділів NAND-пам'яті, на які виконується установка, різні пристрої та драйвери для їх роботи.


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

  • Окремий або основний розділ NAND. Linux-дистрибутив може бути встановлений як у заздалегідь створений розділ NAND-пам'яті, так і в основний завантажувальний розділ. У першому випадку розробник прошивки зазвичай залишає можливість завантаження Android за допомогою спеціального скрипту або через завантаження Linux-дистрибутиву в режимі відновлення, у другому його буде встановлено замість Android і для повернення можливості завантаження робота доведеться знову перепрошувати пристрій.
  • Можливість подвійного завантаження. Якщо Linux-дистрибутив буде встановлений на окремий розділ, розробник може залишити можливість завантаження Android. Однак варто відразу звернути увагу, як це завантаження відбувається: за допомогою режиму відновлення або скрипта, що запускається зі звичайного комп'ютера. Все-таки другий спосіб буде незручним у дорозі.
  • Підтримка обладнання. Оригінальне Linux-ядро Android-прошивки вже включає всі необхідні драйвери, які можуть знадобитися для роботи повноцінної Linux-системи, проте далеко не у всіх Linux-прошивках все заведеться само собою. Часто виникають проблеми з Wi-Fi-адаптером та сенсорним екраном, який неадекватно реагує на дотик. Тому перед встановленням прошивки варто уважно прочитати про можливі ускладнення.

У будь-якому разі будь готовий до того, що під час встановлення Linux-дистрибутиву всі твої дані будуть знищені. Без цього ніяк.

Що далі

Linux-дистрибутив, встановлений поряд з оригінальною Android-системою, може стати дуже зручним робочим інструментом, проте на даний момент "Linux всередині Android" вважається швидше іграшкою і способом покрасуватися перед друзями, ніж серйозним рішенням. Впевнений, що незабаром, коли для Android з'явиться повноцінна реалізація графічного сервера Wayland, ситуація почне змінюватися і ми побачимо дистрибутиви з адаптованим для невеликих екранів інтерфейсом, а також повноцінні Linux-програми, що розповсюджуються у формі звичайних APK-пакетів. Також не варто забувати про проект Ubuntu for Android - в його рамках йде робота над офіційним портом Ubuntu для Android, який дозволить використовувати смартфон як переносний системник, що підключається до будь-якого монітора.

Ті з вас, хто використовує ОС 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.

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


Існує кілька способів встановлення Linux у вигляді різних дистрибутивів (наприклад, Ubuntu). Ми покажемо найпростіший спосіб швидко встановити базову, необроблену версію Linux на основі Debian на нашому смартфоні або планшеті без root. Ми також покажемо вам, як встановлювати такі програми, як текстовий редактор, графічний редактор та веб-браузер.

Операція повністю безпечна, файли Android не змінено. Установка Linux не впливає на нашу оригінальну мобільну систему на вашому смартфоні, Linux просто буде іншою програмою на вашому телефоні / планшеті, яку ми можемо видалити в будь-який час. Все, що нам потрібно становить близько 600 МБ вільного місця у внутрішній пам'яті телефону.

Вся установка автоматизована завдяки Debian Noroot. Він дозволяє миттєво завантажувати всі необхідні файли та встановлювати їх на Android. Linux буде відображатися як інша програма для Android і може бути запущений або закритий у будь-який час.

Завантажити Debian Noroot

Ми завантажуємо програму з наведеного вище посилання. Сама програма займає близько десятка мегабайт у Play Маркеті, але пізніше ми все одно завантажуємо близько 200 МБ файлів Linux, тому обов'язково підключайтеся до Інтернету через Wi-Fi.

Після завантаження програми ми запустимо його. З'явиться повідомлення про те, що програма завантажить згаданий 200 МБ, і після розпакування він займе близько 600 МБ у пам'яті телефону. Ми ще раз переконуємось, що у нас достатньо вільного місця на телефоні, і ми підключаємось до Інтернету через Wi-Fi. Після натискання кнопки «ОК», програма також попросить вас виконати калібрування гіроскопа — ми повинні помістити телефон на рівну поверхню і дочекатися завершення операції.

Debian Noroot тепер завантажить необхідні файли, а потім автоматично розпакує їх — це може зайняти від декількох до декількох хвилин в залежності від швидкості підключення до Інтернету та швидкості розпакування файлів на телефоні. Після завершення операції Linux запуститься автоматично.

Використання Linux на Android

Це дуже проста версія Linux, позбавлена ​​будь-якого додаткового програмного забезпечення — ми маємо лише робочу систему, решта має бути встановлена ​​сама.

Ви переміщаєте курсор миші, переміщаючи палець екраном. Натискання на екран імітує клацання лівою кнопкою миші. Клавіатура витягується за допомогою кнопки «Скасувати» на кришці телефону. Якщо ми маємо віртуальні кнопки замість фізичних, їх потрібно виштовхувати, переміщаючи палець з верхнього краю екрана вниз.

Тепер ми можемо оновити системні пакети та перейти до встановлення найбільш необхідних програм.

Оновлення системних файлів та встановлення програм

Ми не знайдемо тут невеликий магазин із додатками, подібними до Ubuntu, — ми повинні встановити все, використовуючи термінал та відповідні команди. Однак це не складно. На робочому столі ви знайдете значок "Кореневий термінал" - ми запускаємо його.

З'явиться вікно терміналу – тепер ми розширюємо клавіатуру та вводимо наступну команду:

Оновлення apt-get

Ми підтверджуємо це за допомогою Enter на віртуальній клавіатурі. Це дозволить завантажити та встановити відповідні системні пакети, необхідні для подальшого встановлення та запуску програм веб-браузера.

Після оновлення ми можемо перейти до встановлення програм. Ми робимо це за допомогою команди, аналогічної до наведеної вище, а також введіть ім'я пакета програми. Наприклад, щоб встановити браузер IceWeasel (браузер на основі Firefox), введіть наступну команду:

apt-get install iceweasel

Після підтвердження введення терміналу термінал підключиться до сервера і почне завантаження та встановлення пакета. Необхідно буде підтвердити літерою «t» («Так») бажання встановити — якщо з'явиться повідомлення, клавіатуру потрібно знову виштовхувати, ввести «t» і натиснути «Введення».

Ми робимо те саме з інсталяцією інших програм, таких як офісний пакет LibreOffice (apt-get install libreoffice) та графічний редактор Gimp (apt-get install gimp). Аналогічно ми встановлюємо інші програми, надаючи ім'я пакета. Імена можна знайти в репозиторій пакетів Debian Wheezy— усі програми поділяються на категорії, і для кожного з них ми знайдемо опис та ім'я для введення.

Після встановлення вони будуть відображатися в локальному меню "Пуск", яке доступне у верхньому лівому кутку. Програми, які йдуть туди, одразу поміщаються у відповідну категорію. Наприклад, веб-браузер Ice Weasel можна знайти в розділі Інтернет.

Зручне використання Linux на Android

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

Ми можемо піти далі і, наприклад, в Allegro або в місцевому комп'ютерному магазині, купіть кабель HDMI, який дозволить вам підключити свій телефон або планшет до монітора або планшета. Нам знадобиться кабель з мікро-USB-роз'ємом на одній стороні та HDMI на іншому (ми також маємо переконатися, що наш монітор підтримує цей вхід, або, можливо, він обладнаний лише з DVI). Вартість такого адаптера складає близько 15 злотих. Потім ми маємо справжній міні-комп'ютер, який ми контролюємо за допомогою клавіатури та миші, а зображення відображається на моніторі або телевізорі.

Щоб вийти з Linux, просто відкрийте меню у верхньому лівому кутку та виберіть опцію «Вихід». Система буде закрита і ми негайно повернемося до Android. Щоб перезапустити Linux, просто виберіть піктограму Debian у списку програм, встановлених на вашому телефоні.