Автор Тема: Альфа регулярных сборок для armh и aarch64  (Прочитано 79050 раз)

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
С наступающим новым годом!

Под конец года собрались первые пробные регулярные сборки (lxqt, mate, xfce) для armh и aarch64. Представляют собой они rootfs в архиве tar.xz.

Как приготовить SD-карту, ссылки на скачивание и о текущих проблемах читайте в статье на вики:

https://www.altlinux.org/Regular/arm

Желающие на каникулах поковыряться с Raspberry Pi 3 или каким иным одноплатным компьютером, пробуйте и пишите мне замечания, предложения.

Я тестил на Raspberry Pi 3B+.

Оффлайн Merblud

  • Давно тут
  • **
  • Сообщений: 460
Попробовал xfce-rootfs на chromebook с tegra k1.
Работает. Хотя звук и wifi не завелись. Но тут вряд ли дело в изъянах данной регулярной сборки.
Тем не менее, то что я хотел - увидел.
Спасибо Антон. Полезное дело делаете.

P.s.: с новым годом.

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Хотя звук и wifi не завелись. Но тут вряд ли дело в изъянах данной регулярной сборки.

Как раз изъяны. Чего-то не создали, не доложили.
Через что звук? Hdmi? Или есть своя звуковая?
Что там за wifi?

Расскажите, как устанавливали, кстати. Всё ли в инструкции понятно описано?

Оффлайн Merblud

  • Давно тут
  • **
  • Сообщений: 460
Как раз изъяны. Чего-то не создали, не доложили.

Ну вообще то верно - чего-то не создали, не доложили. Другое дело, что в большинстве случаев у каждой arm-железки своя специфика. Тут единым для всех образом не обойдешься. Я это имел в виду.

Через что звук? Hdmi? Или есть своя звуковая?

Это cromebook, так что в первую очередь я проверял звук из встроенных динамиков. Есть и HDMI, но до его проверки дело не дошло. Как там все устроено аппаратно гляну чуть позже. Если мне не изменяет память, там надо как-то попинать ALSA.

Что там за wifi?

Чуть позже посмотрю и отпишусь. Продираться через кучу мусора, выкинутого systemd не хватило терпения. Тут нужны железные нервы.
С другой стороны network manager точки доступа увидел. Судя по всему проблема не аппаратная.

Расскажите, как устанавливали, кстати. Всё ли в инструкции понятно описано?

Сделал копию sd-карточки, сформированной ранее с помощью chrubuntu скрипта. Смонтировал с неё rootfs, сохранил каталог с родными модулями ядра и firmware. Далее по инструкции залил туда rootfs регулярной сборки. Дальше все завелось с описанными выше особенностями.
В инструкции несколько поставило в тупик, что не были указаны пароли и логины. Потом стало ясно, что это устанавливающийся образ. Может я просто не заметил упоминания данного факта в инструкции.

В инструкции, на мой взгляд, не помешало бы четче выделить общую часть, касающуюся подготовки rootfs на карточке/флэшке и специфичную для конкретной аппаратной платформы часть. Хотя тут могут возникнуть сложности, так как для некоторых железок все может быть слишком специфичность. Но в любом случае только на одном Raspberry Pi останавливаться не стоит.

Оффлайн Merblud

  • Давно тут
  • **
  • Сообщений: 460
wifi чип Marwell SD8897.
Странно апплет nm колесиком вертит, а соединение установить не может.
А nm нигде отдельно не сохраняет лог, надо journal шерстить? Могли бы выдавать что-нибудь поинформативнее, чем простое "соединение разорвано".

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Чуть позже посмотрю и отпишусь. Продираться через кучу мусора, выкинутого systemd не хватило терпения. Тут нужны железные нервы.
С другой стороны network manager точки доступа увидел. Судя по всему проблема не аппаратная.

Так значит wifi работает? Может дело в точке доступа. Я к своей не мог подключиться сперва, пока видимой не сделал. Чего-то сам косячил. Можно попробовать вообще беспарольный доступ на точке доступа включить и проверить.

Потом стало ясно, что это устанавливающийся образ. Может я просто не заметил упоминания данного факта в инструкции.

Это OEM. Про стандартные шаги:

"Затем должен загрузиться мастер первого запуска из шести стандартных шагов."

А nm нигде отдельно не сохраняет лог, надо journal шерстить? Могли бы выдавать что-нибудь поинформативнее, чем простое "соединение разорвано".

systemctl status NerworkManager

должен показать последние сообщения. Кстати, может его стоит рестартнуть.

Оффлайн sb

  • Модератор глобальный
  • *****
  • Сообщений: 8 991
Может всё же перенести тему в раздел "Сизиф" -> "Регулярные сборки" ? Ибо ей там самое место, как мне думается (хоть статус и альфа).

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Может всё же перенести тему в раздел "Сизиф" -> "Регулярные сборки" ? Ибо ей там самое место, как мне думается (хоть статус и альфа).

Для раздела ARM подходит больше. Здесь эту тему могут найти люди, у которых есть девайсы на armh и aarch64. А там могут и не найти.

Оффлайн Merblud

  • Давно тут
  • **
  • Сообщений: 460
А вот это к чему:
[root@localhost ~]# apt-get update
Получено: 1 http://mirror.yandex.ru Sisyphus/armh release [585B]
Ошибка http://mirror.yandex.ru Sisyphus/armh release
  no signatures in file /var/lib/apt/lists/partial/mirror.yandex.ru_altlinux_Sisyphus_armh_base_release
Получено 585B за 0s (4058B/s).
Невозможно получить http://mirror.yandex.ru/altlinux/Sisyphus/armh/base/release  no signatures in file /var/lib/apt/lists/partial/mirror.yandex.ru_altlinux_Sisyphus_armh_base_release
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
W: Невозможно получить или проверить файлы описания некоторых репозиториев. Эти репозитории будут игнорироваться.
W: Возможно, Вам потребуется запустить `apt-get update' для исправления.
E: Некоторые индексные файлы не удалось скачать, они либо были проигнорированы, либо вместо них были использованы старые версии.

Не получается ничего установить из репозитория.

Оффлайн Merblud

  • Давно тут
  • **
  • Сообщений: 460
Вот это выдал systemctl:
● NetworkManager.service - Network Manager
   Loaded: loaded (/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2019-01-05 17:22:45 MSK; 9min ago
     Docs: man:NetworkManager(8)
  Process: 342 ExecStartPre=/usr/sbin/NetworkManager-prestart (code=exited, status=0/SUCCESS)
 Main PID: 361 (NetworkManager)
   CGroup: /system.slice/NetworkManager.service
           └─361 /usr/sbin/NetworkManager --no-daemon

янв 05 17:22:46 localhost.localdomain NetworkManager[361]: <info>  [1546698166.0892] device (mlan0): supplicant interface state: starti
янв 05 17:22:46 localhost.localdomain NetworkManager[361]: <info>  [1546698166.0895] device (mlan0): state change: unavailable -> disco
янв 05 17:22:53 localhost.localdomain NetworkManager[361]: <info>  [1546698173.7483] manager: startup complete
янв 05 17:22:57 localhost.localdomain NetworkManager[361]: <info>  [1546698177.0598] agent-manager: req[0x21265d8, :1.46/org.freedeskto
янв 05 17:28:31 localhost.localdomain NetworkManager[361]: <info>  [1546698511.2611] device (uap0): set-hw-addr: set MAC address to F2:
янв 05 17:28:31 localhost.localdomain NetworkManager[361]: <info>  [1546698511.3932] device (uap0): supplicant interface state: ready -
янв 05 17:28:31 localhost.localdomain NetworkManager[361]: <info>  [1546698511.3987] device (uap0): supplicant interface state: disconn
янв 05 17:28:35 localhost.localdomain NetworkManager[361]: <info>  [1546698515.2098] device (mlan0): set-hw-addr: set MAC address to BE
янв 05 17:28:35 localhost.localdomain NetworkManager[361]: <info>  [1546698515.2296] device (mlan0): supplicant interface state: ready
янв 05 17:28:35 localhost.localdomain NetworkManager[361]: <info>  [1546698515.2298] device (mlan0): supplicant interface state: disabl

По сравнению с нормальным выводом на нормально функционирующей системе вроде ругани хватает. Но чего конкретно не хватает для установления соединения мне непонятно.

Вывод lsmod:
Module                  Size  Used by
cmac                   12589  2
rfcomm                 30254  4
snd_soc_tegra30_i2s    12877  2
snd_soc_tegra_pcm      12395  1 snd_soc_tegra30_i2s
snd_hda_codec_hdmi     34664  1
snd_soc_tegra_max98090    12544  2
snd_soc_tegra_utils    12470  1 snd_soc_tegra_max98090
uvcvideo               64338  0
mwifiex_sdio           29713  0
mwifiex               195596  1 mwifiex_sdio
videobuf2_vmalloc      12720  1 uvcvideo
videobuf2_memops       12471  1 videobuf2_vmalloc
videobuf2_core         29785  1 uvcvideo
btmrvl_sdio            16778  0
btmrvl                 17429  1 btmrvl_sdio
cfg80211              344355  1 mwifiex
bluetooth             308166  24 btmrvl,rfcomm,btmrvl_sdio
snd_hda_tegra          12950  0
snd_hda_controller     25891  1 snd_hda_tegra
snd_soc_tegra30_ahub    17375  1 snd_soc_tegra30_i2s
snd_hda_codec          77155  3 snd_hda_codec_hdmi,snd_hda_tegra,snd_hda_controller
joydev                 16757  0
snd_soc_max98090       46018  1
snd_seq_midi           12668  0
snd_seq_midi_event     13083  1 snd_seq_midi
snd_rawmidi            21698  1 snd_seq_midi
snd_seq                54620  2 snd_seq_midi_event,snd_seq_midi
snd_seq_device         12786  3 snd_seq,snd_rawmidi,snd_seq_midi

Тут разницы с нормально работающей системой я не вижу.
Ну и до кучи:
[goga@localhost ~]$ ifconfig -a
lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

mlan0     Link encap:Ethernet  HWaddr E2:F6:33:37:E8:2A 
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

p2p0      Link encap:Ethernet  HWaddr 40:E2:30:1C:29:BB 
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

uap0      Link encap:Ethernet  HWaddr 8E:10:AD:D5:A1:E6 
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

[goga@localhost ~]$ ip addres show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: mlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether e2:f6:33:37:e8:2a brd ff:ff:ff:ff:ff:ff
3: uap0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 8e:10:ad:d5:a1:e6 brd ff:ff:ff:ff:ff:ff
4: p2p0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 40:e2:30:1c:29:bb brd ff:ff:ff:ff:ff:ff
Настораживает нулевое количество пакетов. Но может быть так и должно быть, пока не установлено соединение с точкой доступа?

Оффлайн Merblud

  • Давно тут
  • **
  • Сообщений: 460
wifi все таки работает. Marvell-ый чип двухканальный. NetworkManager что под ubuntu, что под регулярной сборкой в меню показывает два одинаковых перечня доступных точек доступа. Почему-то, если выбирать точку доступа из первого списка, то коннекта не происходит. А вот, если из второго списка, то иногда не с первой попытки но коннект устанавливается. В ubuntu коннект тоже не всегда автоматом устанавливался, но какой-то разницы между каналами не обнаруживалось.
« Последнее редактирование: 05.01.2019 23:17:48 от Merblud »

Оффлайн sb

  • Модератор глобальный
  • *****
  • Сообщений: 8 991
Для раздела ARM подходит больше. Здесь эту тему могут найти люди, у которых есть девайсы на armh и aarch64. А там могут и не найти.
Хорошо, тогда создам ещё один подраздел "регулярные сборки", но уже в этом разделе и перенесу эту тему туда.

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
А вот это к чему:
[root@localhost ~]# apt-get update
Получено: 1 http://mirror.yandex.ru Sisyphus/armh release [585B]
Ошибка http://mirror.yandex.ru Sisyphus/armh release
  no signatures in file /var/lib/apt/lists/partial/mirror.yandex.ru_altlinux_Sisyphus_armh_base_release
Получено 585B за 0s (4058B/s).
Невозможно получить http://mirror.yandex.ru/altlinux/Sisyphus/armh/base/release  no signatures in file /var/lib/apt/lists/partial/mirror.yandex.ru_altlinux_Sisyphus_armh_base_release
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
W: Невозможно получить или проверить файлы описания некоторых репозиториев. Эти репозитории будут игнорироваться.
W: Возможно, Вам потребуется запустить `apt-get update' для исправления.
E: Некоторые индексные файлы не удалось скачать, они либо были проигнорированы, либо вместо них были использованы старые версии.

Не получается ничего установить из репозитория.

Измените репозитории с Яндекса на альт. В следующей сборке будет исправлено.

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
wifi все таки работает. Marvell-ый чип двухканальный. NetworkManager что под ubuntu, что под регулярной сборкой в меню показывает два одинаковых перечня доступных точек доступа. Почему-то, если выбирать точку доступа из первого списка, то коннекта не происходит. А вот, если из второго списка, то иногда не с первой попытки но коннект устанавливается. В ubuntu коннект тоже не всегда автоматом устанавливался, но какой-то разницы между каналами не обнаруживалось.

Может один канал без антенны и его надо выключить, чтоб не мешался?

Оффлайн Merblud

  • Давно тут
  • **
  • Сообщений: 460
Может один канал без антенны и его надо выключить, чтоб не мешался?

Нет, в chrubuntu работают вроде оба работают. Хотя сейчас прямо пришла в голову мысль, что, возможно там у них обратный порядок, и до того, который глючит обычно просто не доходит дело. Но это не столь важно. Tegra k1 по сути уже дохлая лошадь, которую не стоит пинать. Мне надо было проверить одну вещь. То, что в основном регулярка заработала, уже неплохо. Есть более интересные задачки.

Я попробовал запустить регулярку в версии Mate на одноплатнике с rk3399. В целом пока производит благоприятное впечатление с учетом некоторых нюансов. То есть работает. Но не было пока возможности проверить звук и wifi.
Однако, первый старт системы произвел "неизгладимое впечатление". Возможно, что под Raspberry Pi, на которую собственно прежде всего ориентирована данная регулярная сборка, есть драйвер GPU, использующий аппаратное ускорение. Кстати, если это так, то поделитесь впечатлением как там GUI шевелится. Но для mali GPU такого драйвера как бы нет. Так что невероятные тормоза меня крайне удивили.
По умолчанию modesetting использует режим ускорения glamoregl вместо обычного fb. Однако, в моей то ситуации драйвера аппаратного ускорения нету. Так что glamoregl работал через software rendering. Это неописуемые тормоза. По моему, если ориентироваться на относительно универсальную регулярную сборку, лучше таки добавить конфиг, в котором бы glamoregl явно выключался бы.

Кстати, насчет драйвера для mali. Хочу поинтересоваться. Как известно ядерный модуль там открытый. Хотя подозреваю, что там хватает проблем с его сборкой. Но ядра с таким модулем имеются. А вот библиотека в userspace, которой может пользоваться тот же glamoregl для использования аппаратного ускорения, - закрытый блоб. Более того какой-то странный блоб. Для каких-то SoC эти блобы можно свободно скачать с сайта ARM. А для каких-то их как бы нет. Но у каких-то разработчиков одноплатников они все же есть. А может быть ARM holding для каких-то чипмейкеров по их заказу эти блобы собирает. Со стороны трудно понять, как там это у них работает. Интересно, может ли Базальт попытаться оффициально получить такой блоб для своего дистрибутива. Понятно, что такая задача для Базальта скорее всего даже тертьестепенной важности не имеет. Но все таки интересно.