Linux вместо android 4pda
Итак, это мой мануал по сборке Linux для Спики. Строго говоря, тема относится только к этому аппарату, но будет полезна всем, кто хочет собрать Linux под свой смартфон.
90-100МБ, с запущенным Firefox 3.6 (две вкладки с ошибкой соединения)
50МБ.
Работает:
- Экран
- Xorg
- Тачскрин
- SD
Не работает:
- Звук
- Клавиатура (есть виртуальная)
- Модем (даже самой звонилки нет)
- Wi-Fi
- Bluetooth
- NAND
- .
Стоит отметить, что большинство нерабочих вещей на самом деле работают, но не видятся системой. Ядро то стандартное.
Благодарности:
Список людей, которые прямо или косвенно помогли в портировании.
tom3q — за пофиксенный драйвер framebuffer’а
reali — за активную помощь
Сообщение отредактировал -WOLF- — 12.02.18, 23:56
Часть 1. Подготовка.
Что понадобится:
1) Galaxy Spica
2) Карточка памяти (я использую 1ГБ из комплекта)
3) Linux на ПК (можно Live CD или виртуалку). У меня установлена Mageia 1
4) Windows. Для прошивки.
5) Интернет, чем быстрее, тем лучше. Качать надо будет много.
Ставим crosstool.
Берём отсюда свежую CodeSourcery. Нам нужна GNU/Linux, лучше инсталлер.
Делаем скачанный файл исполняемым.
Подготовка.
Берём ядро от Android. Я брал стоковое ядро от самуснга Update2 (отсюда)
Для самсунговского ядра нужно скопировать содержимое папки delta в папку kernel с заменой. Аккуратнее, не перепутайте, внутри kernel есть ещё одна папка kernel, копировать надо в первую. Здесь папка kernel (котрая рядом с delta и modules) будет являться отправной точкой для всех путей.
Если берёте другие ядра, то вам не нужна initramfs, потому что сейчас она не используется.
На этом шаге вам понадобится патч фреймбуфера от tom3q. Если нет аккаунта на Самдроиде, то внизу сообщения есть версия 4 этого патча. 5я пока не совместима с 2D/3D дровами от Самса.
Применяем патч к ядру.
Теперь у фреймбуфера появилась поддержка косноли. НО, пока консоль будет пустой, нам надо ещё перевести вывод на неё. Для этого находим в файле kernel/arch/arm/kernel/setup.c строчку и комментируем:
//fb_class = class_create(THIS_MODULE, «graphics»);
//if (IS_ERR(fb_class)) <
printk(KERN_WARNING «Unable to create fb class; errno = %ld\n», PTR_ERR(fb_class));
fb_class = NULL;
//>
return 0;
>
Естественно, путь у вас будет другой.
На этом подготовка исходников ядра заканчивается.
Конфигурирование.
В качестве начальной настройки ядра можно взять конфиг из arch/arm/configs/ он называется spica_android_defconfig, а можно взять мой из аттача.
В дефолтном не забываем вырубить initramfs. И добавить Default kernel command string
В моём конфиге отключено всё, что содержит упоминание Android, исключая драйвер звуковухи.
Теперь можете конфигурировать ядро как захотите, только помните, что в нём не должно быть ни одного модуля . У нас же нет initramfs.
Сборка ядра.
Тут всё просто:
скрипт запаковывает ядро в архив, копирует на флешку и извлекает её. Потом я прошиваю ядро с нетбука. Если подправите пути, то и вам этот скрипт будет хорошо служить.
Прошивать надо как и другие прошивки, но только PDA.
Всё, на этом описани сборки ядра закончено.
framebuffer_v4.patch.zip ( 4.23 КБ )
config.zip ( 9.31 КБ )
Сообщение отредактировал -WOLF- — 26.02.12, 14:25
Супер! Поддерживаем всеми руками!
Тестеры точно уже есть)
Кстати если нужна помощь с удовольствием поможем чем сможем!)
Сообщение отредактировал reali — 23.01.12, 04:23
Дык там же в конфиге есть параметр, где можно прописать строку консоли и отключить бутлодерную консоль.
Y U NO USE OPENEMBEDDED? Ведь есть же SHR, с гуем для телефона, RIL. И система пакетов ipkg.
Также, на тебе initrd — http://www.kaa.org.ua/alex/rootfs.img.gz, там по дефолту телнет включается и usb0 присваивается адрес 10.8.0.2 — полезно для отладки, когда microsd не работает (как у меня на sgs2)
Ну просвети, где.
Знаю, но буду собирать с нуля, хотя, наверное, и сопру у них многое. Пакетным менеджером, скорее всего, будет rpm.
Для отладки удобнее грузиться с microSD с монолитным ядром. Меньше прошиваться надо.
Boot options —> Kernel command line type (Always use the default kernel command string)
Это только в новых ядрах, в том, что я собирал, такого ещё нет.
Что именно ты хочешь этим сказать? Я не собираюсь всё с нуля писать, я просто собираю систему.
В качестве оболочки, наверное, возьму что-нибудь на GTK. Может GPE.
rpm’ки из MeeGo я тоже хочу, в шапке ж написано
Впрочем, никто ж не запрещает тебе собирать на базе этой всё, что захочешь. Я не против, если будет выбор оболочек, только за, в этом и есть смысл.
Сообщение отредактировал -WOLF- — 23.01.12, 18:40
Я хочу сказать, что если есть готовое окружение для сборки пакетов, то надо пользоваться им, а не придумывать еще одно. Проще пару пакетов в апстрим закинуть, чем из апстрима руками все копировать и мучаться с совместимостью (имена пакетов, имена библиотек и симлинков на них внутри пакета). Ведь все пакеты уже есть в OE, тебе достаточно будет сделать пакеты с ядром и модулями для диалера и прочих демонов. Вот я в упор не понимаю, зачем некоторые так угорают по LFS и пишут свою систему инициализации — это же огромные грабли при апдейтах.
Кстати. GPE мертво, и никто его не пилит. Сейчас основной гуй SHR — E17, альтернативный — Aurora на qt4. Мне самому не нравится openembedded, я хочу юзать убунту/генту, но мне лень делать пакеты для актуальной версии freesmartphone (потому что сначала надо портировать все на ванильное ядро, загнать в апстрим и портировать из старого андроидного ядра драйвер модема).
В общем, рекомендую разобраться сначала с тем, какой протокол модема используется, как настраивать alsa для каждого сценария (звонок/музыка/блютус), какие фирмвари нужны, а потом взять образ SHR для близкого девайса (например, с самсунговским модемом, типа nexus s) и добиться работы иксов, модема, звука. Потом подготовить патчи для freesmartphone.org и интегрировать их (советую посещать #openmoko-cdevel во freenode, там всегда помогут с интеграцией и расскажут, что и как работает). Строго говоря, если работа модема и телефонные функции не интересны, можно забить на это все и использовать обычный «десктопный» дистрибутив.
В общем, я думаю, что внимание надо заострять на том, как собирать ядро, как портировать драйвера между версиями и как управлять железом (модем, wifi) из юзерспейса, какие есть демоны для телефонной периферии (сенсоры освещенности, гироскоп, акселлерометр). А в качестве дистрибутива выбрать стандартный — ubuntu/fedora/meego/OE, чтобы была большая база собранных пакетов, и где есть сообщество, занимающееся подготовкой пакетов и исправлением багов.
Источник
Linux вместо android 4pda
Краткое описание:
Установка Linux на Android в Termux без рут-прав
Andronix lets you install a Linux system on your Android Device without root. We found out that using Linux on Android is quite useful and lets you do many heavy tasks on your Android device.
This app lets you install various popular Linux distributions on your Android device by using Termux and PRoot functionality on the Android system. The application also provides you a graphics layer or Desktop environment (Xfce, MATE, LXDE, LXQT and KDE) on the top of the Linux shell which makes the user experience much better than working on a Linux command line.
* Manjaro is now available with xfce, lxqt, lxde and mate.
* Ubuntu KDE is now available which is great success.
* KDE Performance optimization — Better performance.
* Added multiple Window manager — Better look in KDE.
* Prinstalled softwares and themes — Makes a better aesthetic.
* AndroNix Premium — We have released AndroNix Premium with tons of features.
* Dark Mode — Use AndroNix at night comfortably.
* AndroNix Commands — A special addition to the family of AndroNix. It’s all you need to manage your commands throughout your life. Just copy and paste!
* AndroNix Web App — We have also released our web app to compliment AndroNix commands on Android, so you can now access Commands on any internet connected device.
* AndroNix Feed — We saw that since the last release you guys were really happy about the blogs we posted. So now we have a dedicated blog feed to make a better use of Linux and the power it offers.
* Offline Downloads — Internet can be unpredictable sometimes, but don’t worry we’re introducing offline support of Linux distros, though you’ll be still needing internet to download some files depending upon your device at the time of installing.
* Robust Documentation — We’ve been working on writing some documentations for weeks now. This will enable you to help yourself without waiting for us to reply.
* Priority Support — AndroNix Premium bring priority support with it at no extra cost. IF you’re an AndroNix Premium member just enjoy the blazing fast support, on the platform you like!
* Communities budding — We now support official AndroNix communities on Telegram and WhatsApp. We will soon expand to other platforms as well.
* UI overhaul — We’ve redisgned almost every element the our app and worked on user experience more than ever
* Automation Added — If you choose AndroNix Premium, we’ll handle everything for you. Just login and forget the rest.
* Profile Tab Added — Profile let’s you see your current status (Premium or not). If you’re a premium member, profile section has many things for you.
* Termux is now available offline — We now offer an offline copy of Termux within
AndroNix.
If you are new to Linux, we provide you easy and hassle-free instructions which makes your first impression of Linux a lot better. In case you still face some issues you can easily contact us on various platforms mentioned in the app. We ensure you that we will contact you as soon as possible.
— No root permissions required.
— Distros we support:
* Manjaro
* Ubuntu
* Kali Linux
* Debian
* Parrot OS
* Fedora
* Arch Linux
— Desktop environments we support:
* KDE
* LXDE
* LXQT
* MATE
* XFCE
— One click install/uninstall feature.
— Features multiboot linux system.
— Termux in required.
— Android version should be at least 5.1
— Device architecture supported: ARMv7, ARM64, x64.
Требуется Android: 5.1 и выше
Русский интерфейс: Нет
Источник
Linux вместо android 4pda
Итак, это мой мануал по сборке Linux для Спики. Строго говоря, тема относится только к этому аппарату, но будет полезна всем, кто хочет собрать Linux под свой смартфон.
90-100МБ, с запущенным Firefox 3.6 (две вкладки с ошибкой соединения)
50МБ.
Работает:
- Экран
- Xorg
- Тачскрин
- SD
Не работает:
- Звук
- Клавиатура (есть виртуальная)
- Модем (даже самой звонилки нет)
- Wi-Fi
- Bluetooth
- NAND
- .
Стоит отметить, что большинство нерабочих вещей на самом деле работают, но не видятся системой. Ядро то стандартное.
Благодарности:
Список людей, которые прямо или косвенно помогли в портировании.
tom3q — за пофиксенный драйвер framebuffer’а
reali — за активную помощь
Сообщение отредактировал -WOLF- — 12.02.18, 23:56
Часть 1. Подготовка.
Что понадобится:
1) Galaxy Spica
2) Карточка памяти (я использую 1ГБ из комплекта)
3) Linux на ПК (можно Live CD или виртуалку). У меня установлена Mageia 1
4) Windows. Для прошивки.
5) Интернет, чем быстрее, тем лучше. Качать надо будет много.
Ставим crosstool.
Берём отсюда свежую CodeSourcery. Нам нужна GNU/Linux, лучше инсталлер.
Делаем скачанный файл исполняемым.
Подготовка.
Берём ядро от Android. Я брал стоковое ядро от самуснга Update2 (отсюда)
Для самсунговского ядра нужно скопировать содержимое папки delta в папку kernel с заменой. Аккуратнее, не перепутайте, внутри kernel есть ещё одна папка kernel, копировать надо в первую. Здесь папка kernel (котрая рядом с delta и modules) будет являться отправной точкой для всех путей.
Если берёте другие ядра, то вам не нужна initramfs, потому что сейчас она не используется.
На этом шаге вам понадобится патч фреймбуфера от tom3q. Если нет аккаунта на Самдроиде, то внизу сообщения есть версия 4 этого патча. 5я пока не совместима с 2D/3D дровами от Самса.
Применяем патч к ядру.
Теперь у фреймбуфера появилась поддержка косноли. НО, пока консоль будет пустой, нам надо ещё перевести вывод на неё. Для этого находим в файле kernel/arch/arm/kernel/setup.c строчку и комментируем:
//fb_class = class_create(THIS_MODULE, «graphics»);
//if (IS_ERR(fb_class)) <
printk(KERN_WARNING «Unable to create fb class; errno = %ld\n», PTR_ERR(fb_class));
fb_class = NULL;
//>
return 0;
>
Естественно, путь у вас будет другой.
На этом подготовка исходников ядра заканчивается.
Конфигурирование.
В качестве начальной настройки ядра можно взять конфиг из arch/arm/configs/ он называется spica_android_defconfig, а можно взять мой из аттача.
В дефолтном не забываем вырубить initramfs. И добавить Default kernel command string
В моём конфиге отключено всё, что содержит упоминание Android, исключая драйвер звуковухи.
Теперь можете конфигурировать ядро как захотите, только помните, что в нём не должно быть ни одного модуля . У нас же нет initramfs.
Сборка ядра.
Тут всё просто:
скрипт запаковывает ядро в архив, копирует на флешку и извлекает её. Потом я прошиваю ядро с нетбука. Если подправите пути, то и вам этот скрипт будет хорошо служить.
Прошивать надо как и другие прошивки, но только PDA.
Всё, на этом описани сборки ядра закончено.
framebuffer_v4.patch.zip ( 4.23 КБ )
config.zip ( 9.31 КБ )
Сообщение отредактировал -WOLF- — 26.02.12, 14:25
Супер! Поддерживаем всеми руками!
Тестеры точно уже есть)
Кстати если нужна помощь с удовольствием поможем чем сможем!)
Сообщение отредактировал reali — 23.01.12, 04:23
Дык там же в конфиге есть параметр, где можно прописать строку консоли и отключить бутлодерную консоль.
Y U NO USE OPENEMBEDDED? Ведь есть же SHR, с гуем для телефона, RIL. И система пакетов ipkg.
Также, на тебе initrd — http://www.kaa.org.ua/alex/rootfs.img.gz, там по дефолту телнет включается и usb0 присваивается адрес 10.8.0.2 — полезно для отладки, когда microsd не работает (как у меня на sgs2)
Ну просвети, где.
Знаю, но буду собирать с нуля, хотя, наверное, и сопру у них многое. Пакетным менеджером, скорее всего, будет rpm.
Для отладки удобнее грузиться с microSD с монолитным ядром. Меньше прошиваться надо.
Boot options —> Kernel command line type (Always use the default kernel command string)
Это только в новых ядрах, в том, что я собирал, такого ещё нет.
Что именно ты хочешь этим сказать? Я не собираюсь всё с нуля писать, я просто собираю систему.
В качестве оболочки, наверное, возьму что-нибудь на GTK. Может GPE.
rpm’ки из MeeGo я тоже хочу, в шапке ж написано
Впрочем, никто ж не запрещает тебе собирать на базе этой всё, что захочешь. Я не против, если будет выбор оболочек, только за, в этом и есть смысл.
Сообщение отредактировал -WOLF- — 23.01.12, 18:40
Я хочу сказать, что если есть готовое окружение для сборки пакетов, то надо пользоваться им, а не придумывать еще одно. Проще пару пакетов в апстрим закинуть, чем из апстрима руками все копировать и мучаться с совместимостью (имена пакетов, имена библиотек и симлинков на них внутри пакета). Ведь все пакеты уже есть в OE, тебе достаточно будет сделать пакеты с ядром и модулями для диалера и прочих демонов. Вот я в упор не понимаю, зачем некоторые так угорают по LFS и пишут свою систему инициализации — это же огромные грабли при апдейтах.
Кстати. GPE мертво, и никто его не пилит. Сейчас основной гуй SHR — E17, альтернативный — Aurora на qt4. Мне самому не нравится openembedded, я хочу юзать убунту/генту, но мне лень делать пакеты для актуальной версии freesmartphone (потому что сначала надо портировать все на ванильное ядро, загнать в апстрим и портировать из старого андроидного ядра драйвер модема).
В общем, рекомендую разобраться сначала с тем, какой протокол модема используется, как настраивать alsa для каждого сценария (звонок/музыка/блютус), какие фирмвари нужны, а потом взять образ SHR для близкого девайса (например, с самсунговским модемом, типа nexus s) и добиться работы иксов, модема, звука. Потом подготовить патчи для freesmartphone.org и интегрировать их (советую посещать #openmoko-cdevel во freenode, там всегда помогут с интеграцией и расскажут, что и как работает). Строго говоря, если работа модема и телефонные функции не интересны, можно забить на это все и использовать обычный «десктопный» дистрибутив.
В общем, я думаю, что внимание надо заострять на том, как собирать ядро, как портировать драйвера между версиями и как управлять железом (модем, wifi) из юзерспейса, какие есть демоны для телефонной периферии (сенсоры освещенности, гироскоп, акселлерометр). А в качестве дистрибутива выбрать стандартный — ubuntu/fedora/meego/OE, чтобы была большая база собранных пакетов, и где есть сообщество, занимающееся подготовкой пакетов и исправлением багов.
Источник