Are linux android the samsung
Итак, это мой мануал по сборке 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, чтобы была большая база собранных пакетов, и где есть сообщество, занимающееся подготовкой пакетов и исправлением багов.
Источник
Как превратить флагманский смартфон Samsung в ПК на Linux
Высокая вычислительная мощность современных смартфонов, позволяющая им спорить даже с компьютерами, в конце концов не могла не привести к тому, чтобы не превратить их самих в компьютеры. Но какой бы мощной ни была аппаратная начинка аппарата, воплотить эту задумку в жизнь без полнофункциональной операционной системы было невозможно. К счастью, Samsung нашла выход и выпустила приложение Linux on DeX, которое буквально позволяет подключить к флагманским смартфонам монитор и работать с ними как с полноценными ПК.
История DeX началась с одноименной док-станции, которую Samsung представила вместе с Galaxy Note 8. К ней можно было подключать периферийные устройства, в том числе монитор, мышь и клавиатуру. Однако низкий спрос на док-станцию дал понять компании, что возможность работать в режиме ПК можно сделать программной. Так появилось приложение Linux on DeX, которое можно установить на смартфон и, подключившись к внешнему монитору, пользоваться настольной ОС без каких-либо затруднений.
Устройства Samsung с поддержкой Linux
На данный момент Linux on DeX поддерживает следующие устройства:
- Galaxy S9/S9+
- Galaxy Note 9
- Galaxy S10e/S10/S10+/S10 5G
- Galaxy Tab S4
- Galaxy Tab S5e
Как запустить Linux
Чтобы превратить смартфон или планшет Samsung в ПК на Linux, необходимо проделать следующее:
- Скачайте из каталога Galaxy Apps приложение Linux on DeX;
- Авторизуйтесь, введя логин “dextop” и пароль “secret” (без кавычек);
- Скачайте образ Linux, следуя инструкциям на экране, либо загрузите его на компьютер отсюда, а потом поместите в память своего устройства Galaxy;
- Подключите внешний монитор и запустите среду Linux on DeX.
При желании вы можете подключить беспроводные клавиатуру и мышь. Однако можно использовать сенсорный экран смартфона в качестве тачпада. А благодаря поддержке 64-битных приложений вы сможете запускать на импровизированном компьютере колоссальное количество программ для работы и не чувствовать каких-либо ограничений.
Подписывайся на наш канал в Яндекс.Дзен. Там каждый день выходит интересные материалы и полезные инструкции, которых нет на сайте.
Источник
Are linux android the samsung
Итак, это мой мануал по сборке 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, чтобы была большая база собранных пакетов, и где есть сообщество, занимающееся подготовкой пакетов и исправлением багов.
Источник