The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Инициатива по передаче в основное ядро Linux специфичных для Android изменений

22.11.2018 11:54

Разработчики из компании Google возобновили попытки переноса в основное ядро Linux изменений, развиваемых в варианте ядра для платформы Android. В настоящее время в устройствах с платформой Android применяются отдельные модифицированные ветки ядра, на поддержание которых тратятся большие ресурсы. Первые попытки передачи в основное ядро всех специфичных для Android исправлений были предприняты в 2010 и 2011 годах, но привели лишь к частичной передаче кода.

Разработка всех развиваемых для Android дополнений в основном ядре даст возможность пользователям и авторам прошивок применять свежие выпуски обычного ядра Linux, не ограничиваясь ядрами, предлагаемыми Google. В свою очередь разработчики Android смогут существенно упростить сопровождение ядра для Android, избавившись от трудоёмкого процесса переноса исправлений ошибок в старые Android-ядра и портирования изменений при подготовке очередной новой ветки ядра для Android.

Последнее стабильное ядро для Android базируется на выпуске 4.14, но сохраняется поддержка веток 3.18, 4.4 и 4.9, которые продолжают применяться в актуальных прошивках на основе Android 8. Отличия ядер для Android включают как необходимые для платформы изменения (MTP/PTP, параноидальный режим для сетевой подсистемы, интерактивный cpufreq governor, EAS (Energy Aware Scheduling)), так и изменения для поддержки оборудования, продвигаемые поставщиками устройств (sdcardfs, специфичные драйверы).

Судя по прозвучавшему на конференции Linux Plumbers Conference 2018 докладу, в последнее время процесс синхронизации с основным ядром существенно продвинулся вперёд и возможность использования обычного ядра Linux вместе с Android, хоть ещё не достигнута, но уже достаточно близка к воплощению. Команда сопровождающих ядро для Android теперь пытается вначале продвинуть изменения в основное ядро перед публикацией, а также ведёт работу по решению проблем и уязвимостей непосредственно в upstream.

В текущем виде число специфичных изменений в Android Common Kernel, необходимых для загрузки платформы Android, сокращено до 30 патчей, охватывающих 6500 строк кода (ранее размер изменений достигал нескольких миллионов строк). Из целей на будущее отмечается перенос модулей ashmem и ion из дерева staging, улучшение использования в Android структуры "Device Tree", решение проблемы с наследованием приоритетов в binder и перенос кода EAS (Energy Aware Scheduling) и SDCardFS в основное ядро.

Несмотря на то, что Google регулярно выпускает обновления своих Android-ядер (Android Common Kernel), часто поставщики не спешат поставлять эти обновления или вообще используют одно ядро на протяжении всего жизненного цикла устройства. Для исправления ситуации Google развивает систему Treble, позволяющую производителям создавать универсальные компоненты поддержки оборудования, не привязанные к конкретным версиям Android и используемым выпускам ядра Linux. Treble даёт возможность использовать в качестве основы уже готовые обновления от Google, интегрируя в них специфичные для конкретного устройства компоненты. Для стимулирования доставки обновлений Google намерен применить административный ресурс на уровне отдельного требования в OEM-соглашении.

В конечном счёте, Google планирует предложить поставщикам базовое ядро на основе свежей кодовой базы основного ядра Linux. Компоненты для поддержки оборудования должны будут поставляться поставщиками только в виде дополнительных модулей ядра, без возможности использования патчей для изменения основного ядра (например, поставщик не сможет изменить логику работы штатного планировщика процессов). В модулях обязательно должна будет обеспечиваться совместимость с основным ядром на уровне пространства имён символов ядра. Все изменения, затрагивающие основное ядро должны будут продвигаться в upstream.

Дополнительно можно отметить другую инициативу Google, связанную с обеспечением сборки ядра Linux с использованием компилятора Clang. Утверждается, что ядра для устройств Pixel 2 и Pixel 3 уже успешно собираются с использованием Clang. Более того, ядро для Pixel 3 собирается с включением оптимизаций на этапе связывания (LTO) и механизма проверки целостности выполнения программы CFI (Control Flow Integrity). Варианты ядра, собираемые при помощи Clang, также развивают проекты Linaro и CrOS.

Изменения, необходимые для сборки применяемых в Android ядер Linux, уже включены в Clang 7.0 и находящуюся в разработке ветку 8.0. Например, добавлена поддержка конструкции "asm goto", применения регистров rN для AArch64, режимов "-fno-delete-null-pointer-checks", "-fcall-used" и "-fcall-saved". Подготовлены патчи для поддержи "__builtin_constant_p". Из достижений на уровне ядра стало избавление от использования в коде массивов переменной длины, реализуемых GCC-расширением VLAiS (Variable Length Arrays, возможность использования переменной в качестве размера при создании массива, например "void foo(int n){ int m[n];").

  1. Главная ссылка к новости (https://news.ycombinator.com/i...)
  2. OpenNews: Google представил прослойку для отделения поддержки оборудования от версий Android
  3. OpenNews: Для Android реализована возможность применения штатных видеодрайверов Linux
  4. OpenNews: Проект по продвижению Android-патчей в ядро Linux
  5. OpenNews: Компания Google наймет двух разработчиков для работы над поддержкой Android в Linux-ядре
  6. OpenNews: Google намерен вернуть в Linux-ядро код, разработанный для платформы Android
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/49648-android
Ключевые слова: android, linux, kernel
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (131) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 13:27, 22/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –75 +/
    Это хорошая новость. Гуглу бы я развитие Линукса доверил.
     
     
  • 2.2, emg81 (ok), 13:30, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +79 +/
    Ага, сбор данных и рекламный зонд на уровне ядра - то, что нужно :-)
     
     
  • 3.4, OH (??), 13:36, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • –40 +/
    Вот не пофигу ли с какого уровня это собирать/принимать? ))
     
     
  • 4.5, emg81 (ok), 13:50, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +19 +/
    Если ответить "да, пофигу", то зонд в мозг напрямую в подарок? :-D
     
     
  • 5.111, Аноним (111), 14:51, 23/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Морфеус, ты ли это?
     
  • 4.11, Аноним (11), 14:07, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Был бы умный, знал бы - не пофигу. На уровне приложений ты ещё можешь что-то блокировать. Как только зонд всунут глубже - всё, из ведра ты уже ничего не вынешь и не запретишь. Ну разве что будешь делать реверс-патчи к гуглозондам :)
     
     
  • 5.141, neit95 (ok), 18:57, 30/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Уже всунули. Привет от Intel.
     
  • 5.142, neit95 (ok), 18:58, 30/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    При этом реверс-патчи к фирмвари вообще не сделаешь, плюс не опен сорсю
     
  • 4.127, Аноним (127), 06:23, 24/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Не пофигу когда у тебя через iptables заблокирован гугл :)
     
     
  • 5.147, Аноним (147), 09:46, 03/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    А если айпитаблес откажется блокировать гугл, потому что в целях безопасности гугл это запретил - тогда как? :)
     
  • 3.143, neit95 (ok), 18:59, 30/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Не беспокойтесь так, на уровне проца уже есть.
     
  • 2.3, Ананананим (?), 13:34, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +10 +/
    Слишком толсто
     
  • 2.8, КО (?), 14:01, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Это точно, пора уже Алфавиту прикупить МежДелМаш
     
     
  • 3.148, Аноним (147), 09:46, 03/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Или межделмашу алфавит. Какая на... разница...
     
  • 2.58, AntonAlekseevich (ok), 17:12, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Есть такое правило. Никогда не доверяй корпорациям!

    И это правило работает.

     
     
  • 3.67, Аноним (67), 18:36, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Почему только корпорациям? Доверять нельзя никому, даже себе.

    // Мне - можно.

     
     
  • 4.76, AntonAlekseevich (ok), 21:25, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Почему только корпорациям? Доверять нельзя никому, даже себе. // Мне - можно.

    Не вижу смысла доверять лично вам, ведь можно доверять всем кроме корпораций и людям из черного списка.

    Тем более если не доверяешь себе, то уж тогда не делай то что хочешь делать ведь результат действия будет равен результату бездействия и вообще несет явный вред. А если хочешь бездействия то боюсь ты точно наносишь себе вред сильнее чем мышьяк наносит вред остальным.

     
     
  • 5.105, Аноним (105), 11:19, 23/11/2018 [^] [^^] [^^^] [ответить]  
  • +4 +/
    вот и выросло поколение, которое Мюллера не видело...
     
     
  • 6.106, Andrey Mitrofanov (?), 11:25, 23/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > вот и выросло поколение, которое Мюллера не видело...

    [I]--Битнер, опять допрашивали пастора [/I]моим[I] двухтомником на 70тыс?  Тоньше надо, тоньше!  Мастера справляются и с однотомным 40тыс-ным изданием.

     
  • 4.138, анонимус (??), 17:25, 27/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Товарищ полковник, перелогиньтесь и цитату не искажайте.
     
  • 3.78, Тот_Самый_Анонимус (?), 22:05, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Компаниям тоже не доверяй. Linux Foundation, например.
     
     
  • 4.91, paver (?), 07:08, 23/11/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Linux Foundation, например, не компания.
     
     
  • 5.145, neit95 (ok), 19:03, 30/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Консорциум.
    С вики:
    Консорциум (от лат. Consortium — соучастие, сообщество) — организационная форма временного объединения независимых предприятий и организаций с целью координации их предпринимательской деятельности.

    Короче, та же корпорация.

     
  • 3.144, neit95 (ok), 19:00, 30/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Только нынче в линукс корпорации и коммитят.
     
  • 2.81, Аноним (81), 23:12, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Гуглу бы я развитие Линукса доверил

    Да ты первому встречному доверил бы, лишь бы самому этим не заниматься.

     
  • 2.130, Иваныч (??), 21:25, 24/11/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Только Apple. Благодаря им FreeBSD занимает больше в процентном соотношении чем Linux на дектопе.
     
     
  • 3.149, Аноним (149), 15:31, 06/07/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А если еще посчитать инсталляции Windows, в которых тоже есть код, надерганный из BSD, то превосходство вообще ошеломительное
     
  • 2.135, adolfus (ok), 15:51, 27/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Пусть сначала сделает доступ к файловой системе пользователя через USB, чтобы ее можно было примонтировать, причем не заморачиваясь, типа всунул шнурок в принтер и печатай. В базовый набор программ надо включить ftp, rsync и ssh, просмотрщики pdf и djvu. Ну и нормальный калькулятор, чтобы ленту вычислений держал.
     
     
  • 3.137, Andrey Mitrofanov (?), 17:22, 27/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >к файловой системе пользователя через USB
    >ftp, rsync и ssh, просмотрщики pdf и djvu

    ghostscript(, +его "активацию" на все иконки), telnet, samba, wine, php, js+npm, ....
        ...и все-все-все другие резиново-продырявленные изделия...
    не забыл??

    >Ну и нормальный калькулятор, чтобы ленту

     

  • 1.6, Аноним (6), 13:56, 22/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >даст возможность пользователям и авторам прошивок применять свежие выпуски обычного ядра Linux, не ограничиваясь ядрами, предлагаемыми Google.

    ага, щаз.

     
     
  • 2.63, zzz (??), 17:58, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Конечно, главная задача - скинуть на комьюнити поддержку своего барахла. Гугл в этом плане не первый и не последний, куча корпораций влила в ядро своего кода, чтобы не заморачиваться с поддержкой - если комьюнити готово забесплатно работать, то что бы и нет: компьюнити получает плюшки и таски, корпорации снижают нагрузку по сопровождению и портированию.
     
     
  • 3.75, Qwerty (??), 21:06, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Распиаренное линуксовое "камюнити" составляет 3% от числа всех разработчиков ядра Linux. Их мнение никого не интересует.

    И да, держу пари, что ты в эти 3% даже не входишь.

     
     
  • 4.82, Ку (?), 00:12, 23/11/2018 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Это золотое правило жизни - 5 человек скромно работают, 95 подбадривают давай-давай, не останавливайтесь, раз-два, раз-два...
     

  • 1.7, Дока (?), 14:00, 22/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    CrOs разве ещё что-то развивает? вроде уже лет пять как помер..
     
  • 1.10, Аноним (11), 14:05, 22/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Какой смысл продавливать патчи под своё ведроподелие, если они же сами и хотят его похоронить?!
     
     
  • 2.13, Anonim (??), 14:11, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Видимо это только слухи
     
  • 2.14, Андроид (?), 14:13, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Похоронить и перейти на Фунчезу(или как ее там)?
     
     
  • 3.21, Аноним (21), 14:33, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Фуксию.
    Но с учетом того что самые прибыльные приложения в Гуглезинчике - игры, а игры собираются под target native-gnu-linux, ждать еще долго.
     
     
  • 4.113, Аноним (113), 15:30, 23/11/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >игры собираются под target native-gnu-linux

    в андроиде нет никакого "gnu"

     
  • 4.146, neit95 (ok), 19:07, 30/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Симбу в своё время за 5-6 лет завернули. Так что если захотят - не долго. Особенно учитывая современный жизненный цикл девайсов в 3-4 года максимум.
     
  • 3.28, Аноним (28), 14:54, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В данном случае, без разницы.
     

  • 1.12, Android (??), 14:10, 22/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Давно пора, чтобы не тратить впустую человеко-часы на мержинг.
     
     
  • 2.16, Аноним (21), 14:20, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Нет спасибо. У меня куча серверов на линуксе и они стабильны как скала.
    При этом каждый мой телефон на андроиде глючил как трындец.
    Пожалуйста, мухи отдельно котлеты отдельно.
     
     
  • 3.29, Аноним (28), 14:56, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    linux/.config ?
     
     
  • 4.40, Линус (?), 15:33, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > linux/.config

    ты уже kpti оттуда выпилил, вместе с ibrs? Ну, вот и эти 6500 строк мутного кода не сможешь.

     
     
  • 5.51, Аноним (28), 16:21, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    KPTI я низачто выпиливать не стану, ибо на сервере точно есть sshd и бывает VPN.
     
     
  • 6.80, Аноним (81), 23:09, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > KPTI я низачто выпиливать не стану, ибо на сервере точно есть sshd и бывает VPN.

    ... а ещё потому что не могу. Но в основном из-за sshd и VPN, да.

     
  • 3.34, Аноним (34), 15:04, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > При этом каждый мой телефон на андроиде глючил как трындец.

    А причём тут ядро? Или он глючил непосредственно на его уровне?

    Да, я видел несколько раз глючные драйвера в Андроиде, но в so called премиум брендах такое бывает редко. Ну а дешевые и noname-устройства глючат и в серверах с десктопами.

     
  • 3.48, svsd_val (ok), 16:10, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Дык, глюки в ведройде поставляются не на уровне ядра а на уровне софта и то спецом, что бы вынудить тебя выкупать новый, "более быстрый" смартфон, так делают @все "умные" производители. в месте с обновлением подкидывают кучу багов и новых тормозо-фич.

    А вот само ядрышко работает кстати там исправно.

     
  • 3.64, Аноним (64), 18:20, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ну да, тормоза то наверное патчи для mtp вызывают, конечно
     

  • 1.15, Zenitur (ok), 14:18, 22/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Я не видел на мобильных телефонах с Android - бага 12309. Эти изменения нужно перенести в апстрим
     
     
  • 2.18, Аноним (21), 14:28, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +5 +/
    А я видел на устройствах с Android
    - рандомные перезагрузки и отключения
    - тормоза
    - зависания
    - окирпичивание
    - кучу костылей размером с галактику(в Toshiba AC100 команды модулю ядра передавали через в текстовом формате в одну сторону и бинарным в другую http://stoplinux.org.ru/forum/viewtopic.php?id=1861)
    - блобы, блобы, блобы.
    Это тоже надо перенести в апстрим?
     
     
  • 3.43, Аноним (43), 15:55, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > AC100

    Это худшее поделие, что мне попадалось в жизни. Не стоит его упоминать.

     
     
  • 4.95, Аноним (95), 09:23, 23/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    лучший девайс, что мне попадался. жаль, таких больше не будет. а с по да, подвели тошибы
     
  • 3.83, Ку (?), 00:19, 23/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Часто проблемы в железе, тут уж без разницы какая ОС.
     
  • 2.30, Аноним (28), 15:01, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Я его на десктопе не видел.
     
  • 2.39, Линус (?), 15:32, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    я ж вам закрыл этот баг, как вы можете его видеть, когда его нет?!

     

  • 1.17, Акакжев (?), 14:25, 22/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Это позволит запускать произвольный юзерленд (читай: GNU/Linux) на любом телефоне?

    Так... Значит состав алюминия ты мне сейчас, а душу тебе после смерти?

     
     
  • 2.19, Аноним (21), 14:31, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Нет. Зато это позволит серверам на линуксе обновлять ядро через зажатие RESET+POWER+F1, держать 10 секунд, в 10% случаев возможно окирпичивание сервера.
     
     
  • 3.32, Акакжев (?), 15:03, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Останется передать код google-playd.
     
  • 3.35, Аноним (28), 15:13, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +4 +/
    А серверное ПО можно будет устанавливать прямо из Google Play.
     
     
  • 4.62, daemontux (?), 17:53, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Вам мало бардока тврюорящегося в npm?
     
     
  • 5.96, Аноним (95), 09:25, 23/11/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    что такое npm?
     
  • 3.42, продавец серверов (?), 15:55, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    ну мы же заменим вам его по гарантии! Все те полтора года, что она действует.

     
     
  • 4.89, Акакжев (?), 06:56, 23/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > ну мы же заменим вам его по гарантии!

    И даже перенесём на новый фоточки котиков. :)

     
  • 2.72, Аноним (72), 19:21, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    А вот и нет. Дров-то так и не видать.
     
     
  • 3.90, Акакжев (?), 07:04, 23/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > А вот и нет. Дров-то так и не видать.

    Драйвера как раз якобы должны иметься в установленном на устройстве ядре:

    "Компоненты для поддержки оборудования должны будут поставляться поставщиками в только в виде дополнительных модулей ядра, без возможности использования патчей для изменения основного ядра"

    То есть: берём готовое ядро, накатываем свой юзерленд. Зачем нужен Гуглу такой поворот? Вероятно, в ядре будут ещё какие-то интересные компоненты. :)

     

  • 1.20, КГБ СССР (?), 14:33, 22/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Очень хочет хвост вертеть собакой. :)
     
  • 1.23, Аноним (23), 14:35, 22/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Почему сборка Clang'ом намного круче, чем Gcc? Из-за возможности собирать полуоткрытые исходники?
     
     
  • 2.26, НяшМяш (ok), 14:49, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Скорее всего разработчики андроида хотят его собирать на своих макбуках прямо из икскода и не заморачиваться на установку гцц.
     
     
  • 3.84, Pavel (??), 00:45, 23/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Я: конечно понимаю, что шутка... Но блин, страшно представить сколько часов(дней?) будет оно собираться на топовом макбуке
     
     
  • 4.86, iPony (?), 06:02, 23/11/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Но блин, страшно представить сколько часов(дней?)

    Ядро линуксовое? У тебя всё нормально?
    Что тут старшного? Часа всяко хватит.

     
     
  • 5.87, Аноним (87), 06:29, 23/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    минут 15...
     
     
  • 6.97, Аноним (95), 09:27, 23/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    секунд 15
     
  • 5.103, Павел (??), 11:09, 23/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Я почему-то про Android целиком подумал вместе с ядром
     
     
  • 6.108, iPony (?), 12:06, 23/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ну этак часа три. Тоже не особо страшно для такого крупного проекта.
     
  • 2.33, Аноним (28), 15:03, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Потому, что стильно, модно, молодёжно!
     
  • 2.44, Аноним (43), 15:57, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Потому что проприетарщикам не подходит лицензия GCC.
     
  • 2.49, iPony (?), 16:11, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Нет.
    https://github.com/android-ndk/ndk/issues/26#issuecomment-198067100
     
     
  • 3.52, Andrey Mitrofanov (?), 16:27, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    #>> круче, чем Gcc? Из-за возможности собирать полуоткрытые исходники?
    > Нет.
    > https://github.com/android-ndk/ndk/issues/26#issuecomment-198067100

    А-а-а!...  Да, из-за оплаты работы отдела маркетинга.  Понел-понел.

     
     
  • 4.114, Аноним (113), 15:45, 23/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Причем тут маркетинг? Всякие санитайзеры и прочую инструментацию впиливать в llvm тупо удобнее
     
     
  • 5.118, Andrey Mitrofanov (?), 16:08, 23/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Причем тут маркетинг? Всякие санитайзеры и прочую инструментацию впиливать в llvm тупо
    > удобнее

    Да, именно!  То, что вы это говорите, то, чито оне там в баге пишут, что лицензии совсем-совсем не при чём, не при чём -- это и есть маркетинг, оправдание действий пустой болтовнёй.

     
     
  • 6.120, Аноним (113), 16:12, 23/11/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Т.е. экономия человекочасов - это пустая болтовня? По-моему тут только вы болтовней занимаетесь
     
  • 4.119, Аноним (113), 16:11, 23/11/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Еще гугловцы любят допиливать компилятор, когда он генерирует тормозной код. Но в gcc править оптимизатор это та еще работенка, поэтому им приходилось использовать гравицапы вроде http://web.archive.org/web/20160118223444/http://code.google.com/p/mao чтобы проверить, стоит ли конкретная оптимизация затраченной на ее раализацию работы. А с llvm можно быстро и просто прикрутить свою оптимизацию в любом месте пайплайна
     
  • 2.85, Аноним (85), 00:59, 23/11/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Потому что шланг - это кросскомпилятор. Один шланг заменяет все специализированные тулчейны для разных платформ. То есть ставишь 1 шланг, и им можешь собирать хоть под ARM, хоть под MIPS, хоть под x86, всего лишь target triple задать надо и путь к sysroot .
     
  • 2.123, Аноним (113), 18:14, 23/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >Из-за возможности собирать полуоткрытые исходники?

    Что такое полуоткрытые исходники, и почему их можно собирать только clang'ом?

     
     
  • 3.126, пох (?), 22:46, 23/11/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    что-то, что даже может и открытое - но не gpl почему - поинтересуйся, что такое... большой текст свёрнут, показать
     
     
  • 4.131, Аноним (149), 01:22, 25/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >почему - поинтересуйся, что такое libgcc_s.so и зачем она линкуется к чему ни попадя

    Рантаймовая библиотека компилятора, через нее с++ исключения работают, например. Никаких ограничений на лицензию программ, слинкованных с ней, она не накладывает

    >программа в которую намеренно засунут заведомо вредный код с исключительно идеологическими целями

    Щито?

     
     
  • 5.136, Анонимный Алкоголик (??), 16:39, 27/11/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    короче нахуй
    ублюдомодеры как хуёвая идиотская замена блядской кнопки удаления...
     

  • 1.24, Аноним (21), 14:39, 22/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > Дополнительно можно отметить другую инициативу Google, связанную с обеспечением сборки ядра Linux с использованием компилятора Clang. Утверждается, что ядра для устройств Pixel 2 и Pixel 3
    > Пользователи жалуются на большое количество багов в телефоне Pixel 3, среди которых:

    - перезагрузки
    - появление второй челки сбоку,
    - невозможность использовать камеру...
    Хм...

     
     
  • 2.54, DerRoteBaron (ok), 16:39, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Собирал я одну индусскую прошивку для китайфона, где для ядра использовался clang.
    Все бы ничего, но с некоторых коммитов собиралось ядро, не способное загрузиться, а еще при каждой сборке линковщик раз по 20 выпадал в segfault.

    Правда когда прошивка собиралась и загружалась, серьёзных проблем с ней не было.

     
     
  • 3.68, Аноним (68), 18:52, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Падение линковщика говорит лишь о качестве самого линковщика. Привет пишущим на си/крестах.
     
     
  • 4.99, Аноним (95), 09:30, 23/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    пока пишущим скрипты
     
  • 3.115, Аноним (113), 15:47, 23/11/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >а еще при каждой сборке линковщик раз по 20 выпадал в segfault

    на телефоне собирал?

     

  • 1.25, dimqua (ok), 14:48, 22/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > сохраняется поддержка веток 3.18, 4.4 и 4.9

    А 3.10 всё?

    Судя по тому, что последний коммит был октябре - пока нет.
    https://android.googlesource.com/kernel/common/+/android-3.10

     
  • 1.36, knike (?), 15:18, 22/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > В настоящее время в устройствах с платформой Android применяются отдельные модифицированные ветки ядра, на поддержание которых тратятся большие ресурсы.

    Вот и надо писать свой Android так, чтобы он работал на основной ветке ядра. Зачем всякое Г тащить в него.

     
     
  • 2.38, гугль (?), 15:30, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Вот и надо писать свой Android так, чтобы он работал на основной ветке ядра.
    > Зачем всякое Г тащить в него.

    иначе вы будете вынуждены тащить с собой вместо лопатки - жужжащий ящик весом в 15 килограмм, на котором работает "основная ветка ядра".

    правда, зачем этот код владельцам тех ящиков - нам пока не удалось правдоподобно придумать. Мы работаем над этим.

     
     
  • 3.41, knike (?), 15:47, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > правда, зачем этот код владельцам тех ящиков - нам пока не удалось правдоподобно придумать. Мы работаем над этим.

    В этом и проблема. Если это Г нужно всем, его в ядро примут без особых разговоров. Придумайте уже что-нибудь действительно полезное.

     
     
  • 4.65, Аноним (64), 18:25, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    EAS, Interactive говернор и прочее не нужны на десктопе. Сюрприз, да? Стоит обращать внимание хотя бы на содержание патчей, прежде чем демонстрировать свое невежество
     
     
  • 5.71, knike (?), 19:12, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Кажется, невежество - это ваше.
    Во-первых, про десктоп я ничего не говорил. Здесь речь о ядре Linux, которое используется и в серверах, и во всяких роутерах и даже в кофеварках.
    Во-вторых, то что вам не нужно, не означает что это не нужно другим, дорогой мой обращатель внимание на содержание патчей.
     
     
  • 6.74, Аноним (64), 20:30, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    В том то и дело, что нужно. На портативных устройствах. Вы же говорите "ааа не надо это тащить в ядро". Определитесь
     
  • 5.109, J.L. (?), 13:07, 23/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > EAS, Interactive говернор и прочее не нужны на десктопе. Сюрприз, да? Стоит
    > обращать внимание хотя бы на содержание патчей, прежде чем демонстрировать свое
    > невежество

    а десктопный гувернёр не нужен на серверах (больших типо кластеров и маленьких типо роутеров), накой он в линуксе?
    и вы не нужны, ибо несёте ненужно

     
     
  • 6.110, J.L. (?), 13:09, 23/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >> EAS, Interactive говернор и прочее не нужны на десктопе. Сюрприз, да? Стоит
    >> обращать внимание хотя бы на содержание патчей, прежде чем демонстрировать свое
    >> невежество

    так как это был ответ на
    "В этом и проблема. Если это Г нужно всем, его в ядро примут без особых разговоров. Придумайте уже что-нибудь действительно полезное."
    извиняюсь, неправильно понял

     
  • 5.116, Аноним (113), 15:48, 23/11/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >EAS, Interactive говернор и прочее не нужны на десктопе

    И че? Как будто кому-то есть дело до линукса на десктопе

     

  • 1.37, Аноним (37), 15:26, 22/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Если на Линуксе наконец-то нативно можно будет запускать Андроидные игры, то это будет тортище. Вайн или стим с его доработкой для виндовых игр, плюс нативные линуксовые игры, плюс андроидные - винда на домашних десктопах сможет пойти лесом наконец-то.
     
     
  • 2.45, anonymous (??), 16:00, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ядро != либы поверх него, плюс в ведре же совя реализация графического сервера
     
  • 2.46, .. (?), 16:05, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    андроед это не только изувеченное китайцами ядро, но ещё и написанный индусами юзерспейс который таки сильно отличается от gnu/linux

    ссылку на губозакатывательную машинку за недорого дать?

     
  • 2.47, Аноним (43), 16:06, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Есть уже, anbox.io, но официально поддерживается (пока) только убунта.
     
  • 2.56, Аноним (56), 17:04, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    там, в андроид-е, когда-то решили пойти другим путём, и потому сели на другие базовые библиотеки ( BIONIC ( https://en.wikipedia.org/wiki/Bionic_(software) ))
     

  • 1.50, svsd_val (ok), 16:18, 22/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    С одной стороны это неплохо можно будет запустить линуху на любом кирпиче без применения тонны патчей и костылей ... С другой стороны дашь Им(гуглу) палец они руку по уши откусят (в данном случае возможно засрут ядро)
     
     
  • 2.53, Andrey Mitrofanov (?), 16:29, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > С одной стороны это неплохо можно будет запустить линуху на любом кирпиче

    Ты почему-то думаешь, что там наверху гугль что-то делает для тебя?

    Правда??

     
     
  • 3.59, svsd_val (ok), 17:28, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А Я и не думаю, гугл решает свои задачи Я свои.
     
     
  • 4.77, Q2W (?), 21:31, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Гугл решает свои задачи, ты - нет.
     
     
  • 5.132, svsd_val (ok), 07:20, 27/11/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Расскажи ко мне О ВЕЛИКИЙ Диванный специалист почему это Я не решаю свои задачи ? Я жду чётких доказательств, а не мямленье малолетних всё знающих и всевидящих ..
    Вы знаете обо мне всё и вся ? Знаете какие задачи я решаю а какие нет ?
     
  • 4.129, Anonim (??), 15:36, 24/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > гугл решает свои задачи Я свои.

    Точнее, ты тоже решаешь его задачи.

     
     
  • 5.133, svsd_val (ok), 07:23, 27/11/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >> гугл решает свои задачи Я свои.
    > Точнее, ты тоже решаешь его задачи.

    Ок, поясните мне Великий диванный спец №2 какие задачи гугла Я решаю ? И докажите пожалуйста почему =)

     
  • 2.57, Аноним (56), 17:05, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    нельзя будет, потому-что ядро в Андроид не обеспечивает полной поддержки работы устройства
     
  • 2.124, Аноним (113), 18:18, 23/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >в данном случае возможно засрут ядро

    В лучшем случае в ядро добавится код, полезный для разработчиков embedded-систем на неандроидовом линуксе. В худшем случае будет куча кода под CONFIG_ANDROID, который никто, кроме андроидоводов не будет собирать

     

  • 1.55, Аноним (55), 16:43, 22/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Ага, Линус "подобрел", теперь ему можно всякую чушь в ядро совать?
    Надеюсь он их пошлет куда подальше, просто в более деликатно форме.
     
  • 1.66, Аноним (66), 18:28, 22/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    C код он такой да
     
     
  • 2.79, Аноним (79), 22:12, 22/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Java код был бы в 500 миллионов строк больше кода еще включая и скачку из Maven/Ant.
     

  • 1.70, Аноним (-), 19:12, 22/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Google возобновили попытки переноса в основное ядро Linux изменений

    Значит скоро появится проект Ungoogled-Linux?

     
  • 1.73, Аноним (73), 19:42, 22/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Интересно будет посмотреть, как они свой чудесный CONFIG_ANDROID_PARANOID_NETWORK будут пробовать запихнуть в ядро.
     
  • 1.88, Аноним (88), 06:49, 23/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Изменения, необходимые для сборки применяемых в Android ядер Linux, уже включены в Clang
    >Например, добавлена поддержка <...> "-fno-delete-null-pointer-checks"

    Но зачем удалять такие проверки? Что это за компилятор?!

     
     
  • 2.93, Аноним (93), 07:50, 23/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Тут или падать или быть с дыркой. Андроид хочет не падать с открытым зондом.
     
     
  • 3.104, Аноним (104), 11:14, 23/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Судя по названию опции, она как раз отключает удаление таких проверок компилятором на этапе оптимизиации.
     
     
  • 4.112, Акакжев (?), 15:03, 23/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Судя по названию опции, она как раз отключает удаление таких проверок компилятором
    > на этапе оптимизиации.

           -fdelete-null-pointer-checks
               Assume that programs cannot safely dereference null pointers, and that no code or data element resides at address zero.
               This option enables simple constant folding optimizations at all optimization levels.  In addition, other optimization
               passes in GCC use this flag to control global dataflow analyses that eliminate useless checks for null pointers; these
               assume that a memory access to address zero always results in a trap, so that if a pointer is checked after it has already
               been dereferenced, it cannot be null.

               Note however that in some environments this assumption is not true.  Use -fno-delete-null-pointer-checks to disable this
               optimization for programs that depend on that behavior
    .

               This option is enabled by default on most targets.  On Nios II ELF, it defaults to off.  On AVR, CR16, and MSP430, this
               option is completely disabled.

     
  • 2.117, Аноним (113), 15:54, 23/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >Но зачем удалять такие проверки? Что это за компилятор?!

    Ваш любимый GCC по-умолчанию это делает: https://habr.com/company/abbyy/blog/234033/

     
     
  • 3.125, Аноним (125), 19:36, 23/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >>Но зачем удалять такие проверки? Что это за компилятор?!
    >Ваш любимый GCC по-умолчанию это делает

    И зачем нам тогда два компилятора с подобной ерундой?

     
     
  • 4.139, гугль (?), 11:45, 28/11/2018 [^] [^^] [^^^] [ответить]  
  • +/
    не вам, а нам. У нас без подобной ерунды ведроид неработоспособный получается.

    вот такая хрень примерно происходит: https://www.opennet.me/opennews/art.shtml?num=39992
    причем искать по всему коду подобные проблемные места, которые раньше чисто по недоразумению работали (ну вызовется ненужный memmove на нулевой указатель но с нулевой же длинной - ничего, разумеется, не мувнет, и не испортит, проверка потом этот ноль заметит и ничего туда класть тоже не будет) нам как-то не хочется, проще заставить разработчиков компилятора переделать.

    они, в принципе, не особо и возражали - так и так undefined behavior.


     

  • 1.140, darkshvein (ok), 15:33, 28/11/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >инициативу Google, связанную с обеспечением сборки ядра Linux с использованием компилятора Clang

    в чём смысл собирать ядро другим компилятором?

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру