Сайт | Скачать | Видео | Wiki

Автор Тема: Мультизагрузка : android + linux. Скорость nand emmc sd usb nvme  (Прочитано 7110 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33966
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Скорость nand emmc sd usb nvme

при установленной мультизагрузке можно запустить линукс с флешки или (если отключить флешку) андроид. Если записать линукс во внутреннюю память, то грузится только он, хотя раздел с андроидом не удалён. Возможен ли запуск андроида в этом случае?
В старом ядре 3.14 - котороя в дистре 2А - на s905w мне удавалось примонтировать разделы андроид и использовать их для свопа, профиля браузера и т.п.
rootdir= я тогда не владел. Поэтому всю систему (только ядро и инитрд с флэшки - остальное с nand) c nand не грузил
Но это должно было получиться
В 4 и выше ядрах можно только увидеть nand в /dev. Чтобы его примонтировать - надо его хитро переформатировать. Хитрость - в dd сохранении тела uboot и возврате его на место после форматирования. Подробнее см. скрипт /root/install.sh в дистрах balbes150

Так же в 2A инитрд с меню (т.е. с выбором)- аналогов конфига grub в uboot нет. Реализовал через изменение регистров внутренних регистров железки. Т.е можно через меню изменить какую-то переменную, запомнить ее в железке и reboot. А потом в загрузочном скрипте считать эту переменную и обработать - подставив разные варианты параметров загрузки ядра
Насколько мне известно  параметры загрузки ядра (т.е. cat /proc/cmdline ) после загрузки ядра не изменить

В итоге просматриваются 2 варианта:
1. Как-то примонтировать разделы андроида без переформатирования. Этого бы очень хотелось
2. Научиться запускать андроид с внешнего носителя

Кроме того надо еще определиться - а есть ли за что бороться. Тесты скорости nand по сравнению с SD особо никто не проводил
От тех кто юзает Raspberry pi c sd (умный дом) - слышал что sd часто умирают на таких задачах
Прикрутил (собрал инитрд с rootaufs2 и udev) им к ядру 5.4 от balbes150 загрузку с ssd-usb3
Грузится. Тесты скорости не проводил

Ну и наше стандартное решение - максимально ужать дистр в squash + copy2ram
Для этого надо разобраться с AUFS. Оно есть в ядре, но есть какти-то проблемы на уровне initrd
« Последнее редактирование: 15 Январь 2020, 11:11:33 от sfs »

Оффлайн balbes150

  • Ветеран
  • *****
  • Сообщений: 599
  • Репутация: +5/-0
Re: Мультизагрузка : android + linux
« Ответ #1 : 13 Январь 2020, 11:37:51 »
Так же в 2A инитрд с меню (т.е. с выбором)- аналогов конфига grub в uboot нет
Дык новые версии u-boot-2020 уже умеют работать с HDMI , но это относится только к моделям, для которых есть оф. поддержка в новом u-boot.

1. Как-то примонтировать разделы андроида без переформатирования. Этого бы очень хотелось
про это можешь забыть, новое ядро принципиально не поддерживает дерьмо с псевдоразделами от AML, в котором нет нормальных разделов.

Тесты скорости nand по сравнению с SD особо никто не проводил
Да ладно, этих тестов - вагон. Если кратко, NAND - самое тормозное, SD чуть лучше и хорошее стоит дорого, eMMC - побыстрее (примерно раза в 2-3 от SD), USB 3.0 быстрее eMMC так же примерно в 2 раза, и самое быстрое NVMe - тут скорости на порядок выше и стандартное оборудование.

быстрые носители 3.0 - будет быстрее SD и eMMC, при условии подключения к USB 3.0 и что носитель действительно полноценный 3.0.
« Последнее редактирование: 15 Январь 2020, 11:05:27 от sfs »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33966
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
новые версии u-boot-2020 уже умеют работать с HDMI
HDMI - это же видео+аудио выход... Какая связь с мультизагрузкой?
тестов - вагон
Имел ввиду на нашем форуме
Опять я подзабыл - nand и emmc это разные варианты встроенных носителей. С типом чипа не связано - что производитель поставит. Из доки не понять - только разборкой корпуса
SD чуть лучше и хорошее стоит дорого
Получается это самый оптимальный из простых. А какие модели хорошие? SanDisk ?
usb3 медленнее ?
NVMe - тут скорости на порядок выше и стандартное оборудование.
А разве можно подключить к noname боксу не через usb? Ну и это по любому не бюджетный вариант
Через usb3 я как раз выше и подключал. Норм. Скорость не тестировал

Оффлайн balbes150

  • Ветеран
  • *****
  • Сообщений: 599
  • Репутация: +5/-0
HDMI - это же видео+аудио выход... Какая связь с мультизагрузкой?
Прямая. HDMI - это основное средство подключения ТВ\монитора. Если есть HDMI -> есть картинка.

С типом чипа не связано - что производитель поставит. Из доки не понять - только разборкой корпуса
По маркировке можно узнать тип, если получить доступ к даташитам. Косвенно можно отличить по размеру. NAND обычно не выпускались больше 16Гб.

usb3 медленнее ?
USB 3.0 существенно быстрее SD. Я исправил сообщение, там все типы по возрастанию скорости описаны.

Ну и это по любому не бюджетный вариант
Это смотря как считать. Хорошая eMMC стоит не сильно дешевле NVME, я заказывал с фли для тестов 128 Гб несколько не сильно брэндовых моделей, на удивление работают вполне сносно (за свои деньги) и при этом это стандартное оборудование, которое можно легко использовать везде.  На RK3399 есть поддержка и если включена на всю ширину, скорости впечатляют, сборка большого коммерческого проекта на NVMe укладывается в несколько часов, а если брать подключение через USB 3.0, то время сильно увеличивается (больше десяти) , это с использованием того же модуля NVMe через USB.

тут в середине есть таблички сравнения скоростей
https://www.friendlyarm.com/index.php?route=product/product&product_id=254

тут для половинной скорости
https://www.friendlyarm.com/index.php?route=product/product&product_id=262

а тут для полной скорости (когда используется вся шина)
https://www.friendlyarm.com/index.php?route=product/product&path=69&product_id=225

 

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33966
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Прямая. HDMI - это основное средство подключения ТВ\монитора. Если есть HDMI -> есть картинка.
Понятнее про мультизагрузку не стало. Она уже возможна? если да - как?
По маркировке можно узнать тип, если получить доступ к даташитам
А как получить даташит? И главное - кто гарантирует что приедет именно это...
USB 3.0 существенно быстрее SD
Т.е. из дешевых вариантов оптимально быстрая usb-flash ? Будет быстрее SD и emmc ?

разве можно подключить NVMe к noname боксу не через usb?
4x SATA HAT for NanoPi M4 возможно подключить к noname боксу?

Оффлайн Garin

  • Старожил
  • ****
  • Сообщений: 241
  • Репутация: +3/-0
  Если правильно понял, то после установки во внутреннюю память бокса, загрузка андроида не предусмотренна? Лично мне он и не нужен.  Жалко места, оставленного под раздел с андроидом.
AMD E350 - вещь!  Amlogic S912, наверное, тоже...

Оффлайн Garin

  • Старожил
  • ****
  • Сообщений: 241
  • Репутация: +3/-0
  Активация мультизагрузки происходит с помощью aml_autoscript. Тот, что входит в состав "свежих" образов Armbian, не принимает андроид (7-й, кажется) на моём боксе. Срабатывает только из "старого" образа 2018-го года. Это связано с версией андроида, или мой бокс "кривой"?
AMD E350 - вещь!  Amlogic S912, наверное, тоже...

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33966
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
загрузка андроида не предусмотренна? Лично мне он и не нужен. 
Какой софт юзаете под линуксом и для каких задач?
Активация мультизагрузки происходит с помощью aml_autoscript.
т.е. туда уже можно прикрутить мепню с интерактивным выбором вариантов? Можно подробнее, с примерами

Оффлайн balbes150

  • Ветеран
  • *****
  • Сообщений: 599
  • Репутация: +5/-0
Понятнее про мультизагрузку не стало. Она уже возможна? если да - как?
Имея текст на мониторе и клаву, ты выбираешь систему , как в обычном ПК (меню , что запускать). Теперь понятно ?

Т.е. из дешевых вариантов оптимально быстрая usb-flash ? Будет быстрее SD и emmc ?
Да, быстрые носители 3.0 - будет быстрее SD и eMMC, при условии подключения к USB 3.0 и что носитель действительно полноценный 3.0.

4x SATA HAT for NanoPi M4 возможно подключить к noname боксу?
Можно .... если ты добавишь гребёнку с контактами, как у M4, на которые выведены нужные шины от чипа.  (т.е. превратишь твой тв бокс в M4) :)

после установки во внутреннюю память бокса, загрузка андроида не предусмотренна?
В теории - возможно, но вам придётся собрать свой хитрый dtb, где будет переделана разметка андройд разделов и оставлено место для Linux.

не принимает андроид
Что значит "не принимает" ? В свежих образах есть функция  запуска ведройда без отключения носителя с Linux.


Оффлайн Garin

  • Старожил
  • ****
  • Сообщений: 241
  • Репутация: +3/-0
Цитата
В свежих образах есть функция  запуска ведройда без отключения носителя с Linux
Цитата
Что значит "не принимает" ?
  Каким образом это сделать?  У меня с флешкой грузится линукс, без - андроид. Возможно это из-за старого aml_autoscript. Из  свежих  образов aml_autoscript при попытке установки "кладёт робота на бок" (Бокс Beelink GT1 Ultimate).
AMD E350 - вещь!  Amlogic S912, наверное, тоже...

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33966
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Активация мультизагрузки происходит с помощью aml_autoscript
Я про другую мультизагрузку. Чтобы можно выбирать в интерактивном меню (как в grub) между несколькими линуксами, а в идеале и андроидом
Имея текст на мониторе и клаву, ты выбираешь систему , как в обычном ПК (меню , что запускать).
В каком файле это меню? В твоих дистрах есть?
    после установки во внутреннюю память бокса, загрузка андроида не предусмотренна?
В теории - возможно, но вам придётся собрать свой хитрый dtb, где будет переделана разметка андройд разделов и оставлено место для Linux.
Более подробных мануалов нет? У кого-то практически получалось?
В свежих образах есть функция  запуска ведройда без отключения носителя с Linux.
Как ей воспользоваться? Что где нажать?

Оффлайн balbes150

  • Ветеран
  • *****
  • Сообщений: 599
  • Репутация: +5/-0
Каким образом это сделать?
Создать на сменном носителе в разделе /boot пустой файл boot_android. При его наличии на сменном носителе, система будет автоматом выполнять чередование запуска внутренней системы и внешней. Для отключения такого поведения - удалить файл. В LE для этого есть специальные пукты в меню (включить и выключить запуск встроенной прошивки). В Armbian это нужно делать руками, либо на ПК, либо в запущенной системе Armbian.

Из  свежих  образов aml_autoscript при попытке установки "кладёт робота на бок"
Пишите подробно, что делаете.



Пытался по лету накатить Mate на серверный  армбиан, не взлетело.
Для серверного образа, нужно многое делать руками. Берёте десктоп и доустанавливаете mate, возможно понадобиться подправить запускающие скрипты\настройки в lightdm.

Оффлайн balbes150

  • Ветеран
  • *****
  • Сообщений: 599
  • Репутация: +5/-0
между несколькими линуксами, а в идеале и андроидом
Можешь забыть про ведройд на AML, он ни когда не сможет работать с современными u-boot.

В каком файле это меню? В твоих дистрах есть?
В стандартном файле настроек extlinux.conf (смотри документацию к u-boot). Я пока этого не делал (нужно обновлять u-boot до последней версии).

Более подробных мануалов нет? У кого-то практически получалось?
Мануалов нет. Мои версии 3 в одном для khadas были основаны на этом. Но для этого тебе нужно собрать специальную версию андройд, что-бы добавить в меню выключения, пункты для включения запуска другой системы. Это делали разработчики khadas в свою версию андройда.

Как ей воспользоваться? Что где нажать?
Это описано на сайте Armbian и LE. Так что полезно регулярно читать , что там пишут.  :)

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33966
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
на сменном носителе в разделе /boot пустой файл boot_android. При его наличии на сменном носителе, система будет автоматом выполнять чередование запуска внутренней системы и внешней. Для отключения такого поведения - удалить файл. В LE для этого есть специальные пукты в меню (включить и выключить запуск встроенной прошивки). В Armbian это нужно делать руками, либо на ПК, либо в запущенной системе Armbian.
Т.е. если я хочу reboot из линукса (с SD или usb) в андроид не вытаскивая SD или usb :
Код
sudo touch /boot/boot_android && sudo reboot
и попадаю в андроид (который в emmc),а когда перегружаю андроид - снова в линукс?
Кто может проверить?

Сразу не мог это написать? Опять играли в "допрос партизвна"...  На это Дядя Шурик и обижался

Оффлайн balbes150

  • Ветеран
  • *****
  • Сообщений: 599
  • Репутация: +5/-0
и попадаю в андроид (который в emmc),а когда перегружаю андроид - снова в линукс?
Да.

Кто может проверить?
Насколько помню, человек 10 этим пользуются в LE и Armbian. Мне без надобности, я проверял только когда создал этот функционал.

Сразу не мог это написать? Опять играли в "допрос партизвна"...  На это Дядя Шурик и обижался
Этот функционал добавлен давно и описано на оф.ресурсах.