Комментарии 21
Можно ли поставить арч/что-нибудь вместо андроида? Чисто теоретически.
Если systemd удастся запустить, то и оставшаяся часть не составит проблем.
Большой вопрос как это сделать в условиях разметки Android.
Можно собрать libhybris, но даже с ним нет никакого способа подружить Xorg андроидом (имеется ввиду с графическим ускорителем, framebuffer, XServer XSDL и VNC не считаются). Glamor пробовали запустить напрямую на EGL, глючит не по-детски. Использование Wayland+Xwayland пока не опробовал, но я слышл что там какие-то проблемы с GLX.
Звук можно вывести даже без драйверов, в связке PulseAudio/Alsa и прогой, которая читает звук из pipe и выводит через OpenSL ES. У меня уже несколько версий лежит. В том числе можно выводить через SimpleProtocol. Есть несколько приложений на Java.
Нет поддержки многих SysV механизмов в ядре, в том числе shared memory, RPC и прочего. Взамен там есть ashmem и binder, но чтобы заменить использовать их в glibc-дистрибутиве придется писать библиотеку, в которой shmget, shmctl и функции RPC будут использовать ashmem и binder.
И таких нюансов очень много. Тем, что уже есть (Linux Deploy, GnuRoot) пользоваться уже можно, но везде выскакивают разные косяки.
Звук можно вывести даже без драйверов, в связке PulseAudio/Alsa и прогой, которая читает звук из pipe и выводит через OpenSL ES. У меня уже несколько версий лежит. В том числе можно выводить через SimpleProtocol. Есть несколько приложений на Java.
Уже есть версия pulseaudio которая поддерживает вывод через OpenSL ES. Должна компилироваться при помощи Android NDK.
github.com/twaik/pulseaudio-sles-ndk
А чем Вам не угодило chroot окружение, что потребовалось так поиздеваться над "хост" системой? Вычистить этого мутанта будет та ещё проблема, если вдруг что-то пойдёт не так, да и если новую прошивку ставить, то гораздо проще использовать chroot, который может даже на SD карте жить, чем как-то это дело бекапить. Кстати, гораздо удобнее сделать раздел с ext2/3/4 файловой системой вместо использования файла в качестве root раздела, но если карта памяти не поддерживается, то да, файловый "раздел" очень выручит.
«Подружить» Android и ArchLinux ARM на одном root — первый шаг к запуску systemd парралельно с андроидом.
Плюс не нужно переключатся между консолью chroot и самим андроидом.
По поводу проблем — они маловероятны, во всяком случае я их не заметил.
Все основные бинарнки находятся в /system/bin, а арч его не трогает.
Раздел действительно более лучший вариант в плане производительности, однако моя карта памяти имеет лишь 1 FAT раздел, весь занятый данными. Об этом в статье упоминается.
Ну и ставить лучше на отдельный раздел, согласен с предыдущим комментатором, производительность всё же не высокая.
Если уж хочется поиграть с Linux-based OS на АРМе, то можно купить за 15 евро какой-нибудь Orange Pi Zero и на нем играть, а попутно упражняться на нем в поднятии любых сервисов, ибо будет полноценная система.
PID 1 только один, не больше. Вариантов как такое сделать много, и это тема для отдельной статьи. Возможно эти попытки будут успешны. Возможно и нет.
не выйдет и подменить один другим.А вот это спорное утверждение. Можно пересобрать Android Init и потом в init.rc добавить что-то вроде
service systemd /bin/systemd
#class main
oneshot
Когда система загрузится и примонтируется выполнить команду
setprop ctl.start systemd
Тогда запустится systemd. Но андроидовые сервисы похоже нельзя будет запустить/остановить с помощью «start/stop/setprop ctl.start/setprop ctl.stop». Я не знаю, использует ли андроид этот функционал после полной загрузки.
А вместо systemd классический инит или другие использовать?
Удачи в твоих начинаниях.
Если нужна помощь админа с большим опытом, то стучись в личку. Я начинал админить, когда ты еще не родился и опыта накопилось много, чем-нибудь поделюсь.
Задолго до этой статьи я успел посмотреть и nginx, и php, и mysql, и еще много всего. Этот «гибрид» Android и арча не является средством изучения Linux-based ОС, и тем более не первая моя Linux-based ОС.
Сейчас есть один плюс, что даже рач использует systemd, как настоящие рабочие дистрибутивы, таким образом не придется переучиваться к новым условиям, когда окажешься в реальной жизни. Но все остальное, включая расположение конфигов, нужно знать из настоящих систем.
Еще раз могу пожелать удачи, молодец, что учишься и развиваешься. Рад, что такие как ты есть и будут, так спокойней жить, зная, что наши сервера будет кому принять, когда нас понесут на кладбище.
Никогда не говори "никогда" :-)
Тоже думал что рач в вакансии это прикол такой, тем более что собеседование это вроде бы неявно подтверждало. Но нет, кучка рачей в продуктиве и (квалифицированный) человек понаставивший их ушел т.к. ему перестало быть интересно. Не надо так.
Да, системд унифицирует, но рачу это не помогает не разваливаться от дуновения ветра. Всё не доходят руки расформировать последний экземпляр.
Рач используется сугубо для того, что бы с ним играться. Ты никогда его не встретишь в реальной жизни.
Можете объяснить? Использовал Арч для разработки, использую дома, не играюсь с системой. По вашему «реальная жизнь» — это только сервера?
настраивай nginx, настраивай к нему php-fpm, поднимай какой-нибудь сайтне привязаны к дистрибутиву.
Проблема нашего поколения как раз в том, что мы за свои 20-30 лет опыта слишком хорошо узнали, что возможно, а что нет. А вот головастая молодёжь иной раз делает сногсшибательные вещи просто потому, что ещё не знает, что это невозможно. Им ещё никто этого не сказал.
Людей, способных настроить nginx с php-fpm на рынке — навалом. А вот умеющих поставить линукс на андроид — крайне мало. При этом вот лично у меня есть задачи, требующие именно таких решений (а не линукса на арме за $15).
Этот чувак — он примерно как тульский Левша. А Вы ему предлагаете превратиться в ремесленника, которых и так навалом. Да чёрт побери, я таких, как он, днём с огнём не могу найти, потому что все кругом старые и умные и достоверно знающие, с какой стороны у бутерброда масло.
Установка ArchLinux ARM рядом с Android без chroot