Android powered by linux

85% of all Smartphones are powered by Linux

Smartphones powered by Linux are, for a fact, dominating the smartphone market. A few of you may be scratching your heads at this point. Stop, you’ll go bald. Others are filled with “The Sound of Music” – “The Hills are Alive” kind of Linux pride! Read on, and I’ll provide some pudding, filled with proof that 85% of all Smartphones are powered by Linux.

Very often, when I meet professionals outside of work, especially socially, they’ll ask: “what type of work do you do?”. When I inform them that I’m a Linux Systems Analyst, many respond with “I don’t really like Linux because it can’t open or edit Microsoft Word files.”* or sometimes say: “You mean that desktop OS that has all text and no GUI?”** or even “Linux, what is that. ” To which I’ll often reply with a snide look perched on my face… “Do you realize you’re using a smartphone powered by Linux right now?”

Yes, indeed, as most of you know, Google’s Android and Chrome OS are operating distributions both originally based on the Linux kernel.

Android smartphones are powered by Linux.

Android is an operating system based on the Linux kernel. Or, as Google’s developers put it, “Android is built on the open Linux Kernel” . As of Android 11, Android sits on a Long-Term-Support (LTS) Linux kernel. Namely, based on Linux kernel versions 4. 19, and 5.4.

To be more specific: “since 2019, the Linux mainline is now merged into the android-mainline whenever Linus Torvalds posts a release or release candidate. Before 2019, Android common kernels were constructed by cloning the recently declared LTS kernel and adding the Android-specific patches. This new model avoids the significant effort to forward port and test Android patches by accomplishing the same result incrementally.” – Source.

There’s an informative video (recorded with a potato) about Android’s architecture where Google explains that Android’s Linux kernel has further architectural changes outside the typical Linux kernel. There’s also a more recent and better quality video that answers the question: Is Android really just Linux? Google’s open-source chief, Chris DiBona, refers to Android as a “Linux desktop dream come true.”

Now that we’ve confirmed that Android smartphones are powered by Linux, let’s look at the dominating popularity of Linux-powered smartphones, namely Android. We will also look at some other up-and-coming Linux smartphones.

Linux kernel runs on 85% of all Smartphones.

A recent study done by IDC reveals that Android has fortified itself in the smartphone market. The study, released in November 2020, said that 261.1 million smartphones shipped during that quarter, and 85 percent were Androids.

According to Gartner and Statista, Android now boasts a global market share of 86 percent. Look at the graph below for more details on the smartphone market share by mainly the top two smartphone OS distributors, Andoird and Apple (iOS).

Additional Linux based smartphones

If you would like additional Linux smartphone options, have a look at the following Linux smartphones. Read on for details on the Ubuntu Touch, Librem 5, Pinephone, and the F(x)tec Pro1, to name a few.

Читайте также:  Активация windows 10 код ошибки 0x8007000d как исправить

Ubuntu Touch for smartphones and tablets.

Ubuntu Touch (previously Ubuntu Phone) is a mobile version of the Ubuntu operating system initially developed by Canonical Ltd. but is now being developed by the UBports community. It is designed primarily for touchscreen mobile devices such as smartphones and tablet computers. Ubuntu Touch is 100% community-driven and independent.

Also, check out this list, which shows currently supported smartphones in the Ubuntu Linux Touch ecosystem. There’s growing support for the Fairphone 3. Mature devices have easy access to installation through the UBports Installer. Devices in an early state generally need to follow a manual installation procedure. – ubuntu-touch.io

Librem 5 – Security and Privacy focused Linux OS smartphone.

Purism, known for making amazing Linux laptops focusing on privacy and free software, successfully ran a crowdfunding campaign for a brand new smartphone called Librem 5. They raised 1 million dollars more than the goal.

The Librem 5 smartphone focuses on security by design and privacy protection by default and is based on Debian Linux. Running Free Open-Source software and a GNU+Linux Operating System.

The Librem 5 phone will be the world’s first IP-native mobile handset, using end-to-end encrypted decentralized communication. – puri.sm/products/librem-5/

Pinephone – runs mainline Linux-based mobile operating systems.

The PinePhone is a smartphone developed by computer manufacturer Pine64 – the makers of the Pinebook Pro – intended to allow users to have complete control over their smartphone. Measures to ensure this are running mainline Linux-based mobile operating systems, assembling the phone with screws to simplify repairs and upgrades, and including six kill switches/security switches for its hardware, accessible by removing the back cover of the phone. – pine64.org/pinephone/

F(x)tec Pro ¹ Linux smartphone – full physical slide-out QWERTY keyboard.

The Pro1 is a touchscreen smartphone with a slide-out horizontal physical keyboard. This Linux smartphone is designed and manufactured by London-based smartphone brand F(x)tec. The Pro1 is an evolution from the early Moto Mod Livermorium keyboard. Currently, the Pro1 community has helped develop a clean Linux operating system, with Sailfish soon to come. – fxtec.com

Plasma Mobile – from the creators of KDE Plasma Linux desktop.

Plasma Mobile is a Plasma variant for smartphones. It is currently available for the Nexus 5 and Nexus 5X, supported devices on postmarketOS, and the PinePhone. Plasma Mobile runs on Wayland, and it is compatible with Ubuntu Touch applications. PinePhone – KDE Community Edition was made available as pre-orders on 1 December 2020. – plasma-mobile.org.

Linux kernel on your Android

You’ll get more access to Linux on a rooted device, but for the fun of it, let’s use the default Android OS and look at what version of the Linux Kernel your Android has installed. For most Android smartphones, you can view the Linux Kernel version on your Android smartphone by going to the “settings” > “about phone” section (you may have to tap on the Android version).

If you have a rooted Android, you can usually install “Termux,” then launch it and type the following command:

Which will output something like this from a OnePlus device:

Of course, you can do a bunch of cool stuff on a rooted Android with terminal access. For example, using top or htop you can use the command line to install packages, kill apps, launch services, and so on.

Conclusion

The Android army of smartphones continues to invade the smartphone market. Mainly because it’s open-source, allowing power-users and developers alike the freedom to explore, develop and break new ground like never before.

I’m hopeful to see these aforementioned Linux-based smartphone startups take a more significant stake in the smartphone market. Other notable Linux smartphones are NecunOS NE_1, Fenniy, Cosmo Communicator, and Volla Phone.

Lastly, I hope that more users will become aware of Linux and, as such, embrace its power and the community that comes with it. More power to users!

Читайте также:  Кнопки для windows forms

* Linux can indeed open and edit Word files, Excel spreadsheets, etc., on desktops, tablets, and smartphones.
** There are more GUI options available for Linux (example. Gnome, KDE, Xfce, etc., etc.) than any other operating system out there.

Tags: linux

Download my free 101 Useful Linux Commands (PDF).

Also, I’ll notify you when new Linux articles are published. — Subscribe now and receive my free PDF.
(Average of 1 or 2 emails per month, sent only on Mondays.)

Источник

Android для юниксоида. Используем смартфон в связке с Linux

Содержание статьи

Начнем с излюбленного инструмента всех продвинутых пользователей Android — ADB. Мы уже много раз писали о нем, однако здесь просто обязаны повториться. Итак, ADB расшифровывается как Android Debug Bridge, и по сути это нечто вроде системы управления смартфоном с компа. ADB позволяет устанавливать и запускать софт, перемещать файлы с устройства и на устройство и выполнять многие другие задачи.

Чтобы настроить ADB в Windows, пришлось бы устанавливать драйверы и перезагружать машину, в Linux он просто работает. Достаточно активировать ADB на смартфоне (Настройки → Для разработчиков → Отладка по USB) и установить пакет с утилитой adb в систему:

Далее необходимо подключить смартфон к компу и начать отдавать команды.

Получение списка подключенных устройств:

Установка на подключенное устройство APK:

Перемещение файла на устройство:

Скачивание файла с устройства:

Сделать скриншот и скачать его на комп:

Нажатие кнопки Power:

Ну и конечно же, ADB можно использовать для получения доступа к командной строке смартфона:

Важно отметить, что ADB может работать не только по USB, но и по Wi-Fi, однако для этого нужны права root на устройстве и приложение WiFi ADB. Запускаем приложение, включаем переключатель и подсоединяемся к смартфону с помощью adb connect и показанного приложением IP-адреса:

WARNING

В некоторых дистрибутивах ADB может не работать без прав root. Так происходит из-за отсутствия специальных правил Udev в дистрибутиве. Придется либо устанавливать их как отдельный пакет ( android-udev в Arch Linux), либо настраивать Udev самостоятельно.

Adb-sync

ADB можно использовать и для синхронизации файлов между устройствами (для этого даже есть опция sync ), однако удобнее воспользоваться скриптом adb-sync. Его достаточно скачать и запустить. Например, так можно синхронизировать музыку на устройстве и на ПК:

А так выполнить ту же синхронизацию, но с удалением файлов, которые были удалены на ПК:

Простой способ скачать файлы на комп (обратная синхронизация):

Adbfs

Еще один интересный способ получить доступ к файлам на устройстве с помощью ADB — использовать adbfs, псевдоФС, которая позволяет смонтировать устройство так, будто это флешка или любой другой накопитель.

Проще всего установить adbfs в Arch Linux. Здесь она есть в AUR, поэтому достаточно выполнить одну команду:

В Ubuntu и других системах adbfs придется собирать вручную:

Ну а дальше можно подключать файловую систему:

Go-mtpfs

Еще один вариант подключения устройства как файловой системы — go-mtpfs, файловая система, позволяющая передавать данные по протоколу MTP. Именно этот протокол используется в смартфонах без карты памяти.

В Arch Linux установить go-mtpfs очень просто:

В других дистрибутивах несколько сложнее:

Дальше все так же элементарно, как с adbfs:

Идея использовать ADB для общения с устройством может показаться странной, если учитывать, что для Android существует сразу несколько различных SSH-серверов, не требующих права root. Так оно и есть, во многих случаях SSH будет удобнее и эффективнее. В качестве реализации сервера советую выбрать SimpleSSHD, простую бесплатную обертку для проверенного временем SSH-сервера DropBear для встраиваемых систем. Если у тебя есть root, то рекомендую также установить BusyBox On Rails, набор утилит командной строки, наиболее близкий к дистрибутивам Linux.

Использовать SimpleSSHD очень просто. Запускаешь, нажимаешь START и подключаешься к указанному IP-адресу (порт 2222):

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

Читайте также:  Как переключаться между экранами windows

/.ssh/id_rsa.pub ) в authorized_keys и положи в каталог ssh на карте памяти смартфона.

SimpleSSHD

Bash, tmux, mc

SSH-сервер на смартфоне сам по себе открывает широкие возможности, но еще шире их можно сделать, если установить на смартфон классические инструменты, такие как bash, tmux и mc. Последний позволит в том числе с удобством ходить по карте памяти и прибраться в случае необходимости.

О том, как установить на смартфон bash, tmux, mc и nano, я уже рассказывал в статье про сервер на базе смартфона, но позволю себе повториться. И сразу предупрежу, что тебе потребуются права root на смартфоне.

Итак, скачиваем Terminal IDE, переименовываем пакет APK в ZIP, распаковываем, находим файл assets/system-2.0.tar.gz.mp3 , переименовываем, убирая расширение mp3, и распаковываем. Внутри будет множество каталогов и файлов, из которых нас интересуют только system/bin и system/etc/terminfo . Первый содержит нужные нам утилиты; скопируй те, что тебе пригодятся, в отдельный каталог. Второй необходим для корректного функционирования утилит.

Выбранные утилиты и каталог terminfo скинь на карту памяти смартфона. Затем подключись к нему по SSH и введи следующие команды, чтобы получить возможность модификации системного каталога:

Далее скопируй все нужные утилиты в /system/xbin/ и установи на них бит исполнения (на примере bash):

Затем создай файл /sdcard/ssh/.bashrc , помести в него следующие строки:

Открой настройки SimpleSSHD на смартфоне и в опции Login Shell укажи /system/xbin/bash , останови и вновь запусти сервер. При следующем входе по SSH откроется bash и будут доступны скопированные тобой утилиты.

Чтобы добиться корректной работы Vim и mc, скопируй на карту памяти также каталоги etc/mc и etc/vim , а в файл /sdcard/ssh/.bashrc добавь строки:

Midnight commander, запущенный в Android

Xakep #228. Как крадут ICO

Rsync

SSH-сервер дает нам возможность использовать rsync, мощную утилиту для синхронизации и бэкапа файлов. Rsync позволяет осуществлять быструю двунаправленную синхронизацию файлов между двумя машинами (или машиной и смартфоном, как в нашем случае) с выкачиванием только новых и измененных файлов и возможностью возобновления прерванной синхронизации.

Простейший пример использования rsync в связке со смартфоном:

Эта команда скопирует все фотографии со смартфона в каталог

/Photos , пропустив те, что уже есть в каталоге. Связка опций -azv в данном случае означает, что каталог необходимо передать как есть со всеми его подкаталогами и правами доступа (флаг -a ) плюс использовать сжатие (флаг -z ).

Обратная команда — копирование данных с машины на смартфон:

Здесь мы использовали флаг —delete , чтобы удалить файлы, которые были удалены из локального каталога

По умолчанию при обрыве соединения rsync будет удалять частично переданные файлы. Чтобы этого избежать, можно использовать флаг —partial , который заставит rsync сохранять недокачанные файлы и возобновить их загрузку при следующем запуске команды.

SSHButton

Ок, к смартфону мы подключились, файлы синхронизировали, но что, если нам нужно обратное SSH-подключение от смартфона к компу? В этом случае подойдет любой из десятков SSH-клиентов для Android (тот же ConnectBot, например), если, конечно, ты готов вводить команды на сенсорной клавиатуре маленького экрана.

Если не готов, твой выбор — приложение SSH button, позволяющее запускать нужную команду на нужной машине по нажатию кнопки. Интерфейс у SSH button страшный, но приложение отлично работает. Просто запусти SSH button, далее Меню → Add. и введи нужную команду, адрес SSH-сервера, логин и пароль.

SSH button удобно использовать для выключения или усыпления компа (команды systemctl suspend и halt ), запуска и остановки торрентов, контролирования музыки (например, плеер mocp, о котором я рассказывал в одной из прошлых статей, позволяет управлять собой через командную строку).

SSH button

Выводы

Использовать Android в связке с Linux действительно удобно. В отличие от Windows здесь не нужны дополнительные драйверы, специальные серверы и прочие странные вещи. В большинстве случаев можно обойтись стандартными для мира Linux SSH и rsync, но в Сети всегда можно найти более интересные инструменты.

Евгений Зобнин

Редактор рубрики X-Mobile. По совместительству сисадмин. Большой фанат Linux, Plan 9, гаджетов и древних видеоигр.

Источник

Оцените статью