Форум проекта PuppyRus Linux

Обсуждения операционных систем => Процессоры ARM архитектуры => Ядро Linux ARM, .dtb, uboot, initrd => Тема начата: sfs от 14 Январь 2019, 21:26:38

Название: Увидеть emmc (внутреннюю память) из linux
Отправлено: sfs от 14 Январь 2019, 21:26:38
Как и везде - править dtb?
На буржуйских форумах кому-нибудь удалось?

Я правильно понимаю - если инитрд будет на sd, а корень на emmc (в папке, чтобы не перепуталось) - будет быстрее, чем все на sd
А если корень на флэшке через usb3?
Название: Re: Увидеть emmc (внутреннюю память) из linux
Отправлено: midnighter от 15 Январь 2019, 04:51:35
Не важно где будет инитрд и ядро. Они загружаются в память и остаются там.
А вот emmc очень быстрая память. На много быстрее флешек и эсдишек. У меня на телефоне 3-х гиговый бэкап заливается у среднем за 45~48 секунд. И это, я так понимаю, происходит попеременное чтение-запись.
А dtb скорее всего придётся править.
Может эта инфа вам поможет:
https://pcminipro.ru/os/linux-armbian/izmenenie-zagruzochnogo-ustrojstva-sd-karty-emmc-nor-ili-nand-v-orangepi-otklyuchenie-zagruzki-s-sd-karty/
P.S.
Разные производители чипов "обзывают" этот файл по разному. Но принципы везде одинаковы. Возможно "подсмотреть" решение аналогичной проблемы на другом чипе.
Название: Re: Увидеть emmc (внутреннюю память) из linux
Отправлено: sfs от 15 Январь 2019, 09:04:29
А вот emmc очень быстрая память.
RAM еще быстрее, но ее жалко. Надо ужимать дистр для copy2ram
эта инфа вам поможет:
Похоже, это только для Пи
Название: Re: Увидеть emmc (внутреннюю память) из linux
Отправлено: balbes150 от 15 Январь 2019, 12:11:53
А если корень на флэшке через usb3?
Как пишет народ, работает весьма быстро, но зависит от носителя, не все USB 3.0 флэшки\диски  работают на полной скорости, есть хитрецы, которые выпускают типа 3.0, но оно плохо работает на запись, тогда система будет тормозить.

Как и везде - править dtb?
Да, и в этом нет ничего сверхсложного. Идеальный вариант - вытащить свой dtb из родной прошивки и его использовать как донора для данных.
Кстати, для простоты анализа - преобразовываешь утилитой dtc оба файла (dtb из прошивки и dtb который используется в Linux. Тогда сразу видно, в чём расхождение, тут же меняешь в Линуксовом те параметры, что отличаются для eMMC в родном и проверяешь.


Надо ужимать дистр для copy2ram
ИМХО нафик это не нужно, при правильных настройках системы, 2 а тем более 4 Гб для системы и размещение системы в eMMC (или на USB 3.0) вполне достаточно для нормальной работы. Говорю это из опыта использования Armbian.
Название: Re: Увидеть emmc (внутреннюю память) из linux
Отправлено: sfs от 15 Январь 2019, 12:35:28
Надо будет сравнить скорость при использовании разных носителей
Думаю copy2ram всех победит  ;)
Название: Re: Увидеть emmc (внутреннюю память) из linux
Отправлено: balbes150 от 15 Январь 2019, 12:52:50
Думаю copy2ram всех победит 
Не факт. Зачем тащить всю систему в RAM ?
Это раньше, когда носители NAND были очень медленными и очень маленькими, был смысл. Сейчас, я запустил полноценную (не сжатую) систему (разница время запуска в пределах нескольких секунд - не критична), запустил например браузер и пользую его, вся остальная часть ОЗУ используется для его данных. Возможно по этой причине у тебя проблемы с браузерами - ты занял всю ОЗУ всяким не нужным хламом (в данном случае кусками ОС, буферами и прочее).
Название: Re: Увидеть emmc (внутреннюю память) из linux
Отправлено: sfs от 15 Январь 2019, 12:56:47
Зачем тащить всю систему в RAM ?
Получить макс. скорость , экономить ресурс носителя и возможность его вытащить
Мы уже спорили на эту тему (в РС разделе). К однознакчному выводу не пришли
Название: Re: Увидеть emmc (внутреннюю память) из linux
Отправлено: balbes150 от 16 Январь 2019, 10:46:28
экономить ресурс носителя
Достаточно разместить в  ОЗУ только то, что активно используется на запись (логи и прочее), остальная часть системы практически используется в режиме чтения, а это не влияет на ресурс, но очень существенно влияет на общую работу системы - занимая мертвым грузом дефицитное ОЗУ.

и возможность его вытащить
Не могу найти ни одной причины, зачем мне вытаскивать носитель. Тем более , каждое вытаскивание\втыкание - это реальное снижение ресурса устройства. А если система в eMMC - что вытаскивать ?
Название: Re: Увидеть emmc (внутреннюю память) из linux
Отправлено: sfs от 16 Январь 2019, 11:03:57
Достаточно разместить в  ОЗУ только то, что активно используется на запись
Это основной FRUGAL вариант . Причем можно выбрать какие модули в RAM
Собрал такой инитрд (загрузка из папки сквоша , заморозка корня и т.п.)
http://wiki.puppyrus.org/soft/arch-initrd-rootaufs2
http://wiki.puppyrus.org/soft/arch-initrd#mkinitcpio-overlayfs_mkinitcpio-lf-overlayfs_mkinitcpio-lf-aufs
Работает без модулей ядра. Т.е. подойдет к любой версии ядра от balbes
Перенес армбиан в папку (надо только /sbin/init переделать на относительный путь)
Выложу по запросу
если система в eMMC - что вытаскивать ?
Об этом только мечтаем
Название: Re: Увидеть emmc (внутреннюю память) из linux
Отправлено: balbes150 от 16 Январь 2019, 14:24:48
Об этом только мечтаем
Ну, кто-то мечтает, а кто-то давно пользуется, каждому своё ... :)
Название: Re: Увидеть emmc (внутреннюю память) из linux
Отправлено: sfs от 16 Январь 2019, 14:29:29
Т.е. независимо от того, видит линукс emmc - можно его прошить в emmc?
Если да - можно пошаговую инструкцию отдельной темой...
Название: Re: Увидеть emmc (внутреннюю память) из linux
Отправлено: sfs от 24 Январь 2019, 10:37:42
При загруженном линуксе видны /dev/mcblk2boot0 /dev/mcblk2boot1 /dev/mcblk2rpmb
Это не sd (/dev/mcblk0*)
Но по blkid они уже не видны и не монтируются
Название: Re: Увидеть emmc (внутреннюю память) из linux
Отправлено: balbes150 от 28 Январь 2019, 22:01:27
При загруженном линуксе видны /dev/mcblk2boot0 /dev/mcblk2boot1 /dev/mcblk2rpmb
Это не sd (/dev/mcblk0*)
Но по blkid они уже не видны и не монтируются
/dev/mcblk2boot0 /dev/mcblk2boot1 /dev/mcblk2rpmb - это и есть eMMC с андройдом.
мля ... интересно, сколько раз нужно повторить, что-бы вы запомнили - что в eMMC с андройд нет разделов, которые можно монтировать в обычном линуксе без специальных драйверов, которые умеют эмулировать из псевдо-разделов андройда, разделы понятные линуксу ?
Название: Re: Увидеть emmc (внутреннюю память) из linux
Отправлено: sfs от 29 Январь 2019, 09:42:28
сколько раз нужно повторить, что-бы вы запомнили - что в eMMC с андройд нет разделов, которые можно монтировать в обычном линуксе без специальных драйверов
Думаю - достаточно 1 раз дать рецепт
Ты что-то во всех темах обнадежил - что все можно , но как не говоришь
В чем смысл держать интригу?
Название: Re: Увидеть emmc (внутреннюю память) из linux
Отправлено: balbes150 от 30 Январь 2019, 22:18:40
Думаю - достаточно 1 раз дать рецепт
Рецепт чего ?

Ты что-то во всех темах обнадежил - что все можно , но как не говоришь
В чем смысл держать интригу?
Что не "говоришь", конкретно ?
Как установить систему в eMMC ?
Дык я тебе уже не один раз писал, для установки Armbian используй скрипт из состава Armbian (подробности расписаны на форуме Armbian для каждого ядра), либо смотришь его и пишешь свою процедуру (для своей системы). Ты хоть открывал этот скрипт , что-бы посмотреть , как это работает ?
Название: Re: Увидеть emmc (внутреннюю память) из linux
Отправлено: sfs от 03 Февраль 2019, 18:03:08
Ты хоть открывал этот скрипт , что-бы посмотреть , как это работает ?
dd в андроид. На выходе возможен кирпич и андроид пока не готов сливать

Кстати запустил s912 c 3.14 ядром. Там blkid видит /system /data и пр. ext4 разделы андроида
*.dtb нигде нет
Как бы с новыми ядрами такое увидеть.... Сравнивать dtb 3 и 4 версий ядер...?
В новом ядре специально не включены драйвера для работы с андройд разделами Aml. Это принципиальная позиция разработчиков ядра.
Есть патчи для ядра 4.14 Khadas, которые включают эти драйверы, но копаться с ними , если хочешь использовать - тебе надо самому.
Ага - вот когда все открылось
Чем обусловлена позиция разраба?
А андроидного ядра 314 для 3328 нет?
Патч - дай ссылку. Пусть хотя бы будет...

В alexelec 314 ядро . Есть и под 905 912 3328
Никак его не выковырить? Только по этим же исходникам компилить...?
Название: Re: Увидеть emmc (внутреннюю память) из linux
Отправлено: sfs от 03 Февраль 2019, 18:19:28
В новом ядре специально не включены драйвера для работы с андройд разделами Aml.
запустил на MX10 Armbian (на нём в eMMC еще стоит штатный андройд, ни разу не использовался)  и пощёлкал по ярлыкам от носителей на рабочем столе - это и есть разделы андройда с eMMC и они отлично открываются. Надо теперь покапаться в них на предмет чего полезного для WiFi и остального. Так что как оказалось, с правильным dtb и ведройд виден в eMMC.
Что-то "путаешься в показаниях" Или проблема только в 4х ядрах aml?
Название: Re: 2019.02 Выбор Тв-бокс под Linux
Отправлено: balbes150 от 03 Февраль 2019, 18:30:37
Ничего. blkid видит только SD и , видимо андроид здесь
Код
# ls /dev/mmcblk1*
/dev/mmcblk1  /dev/mmcblk1boot0  /dev/mmcblk1boot1  /dev/mmcblk1rpmb
Получается не видно все-таки из-за dtb...

Это скрин с MX10 из запущенной последней версии NEXT 5.74 с ядром 5.0
Я думаю то же самое будет и на ядре 4.4, просто я как лох не обращал на это внимания, начитавшись ваших сообщений, что eMMC не видно ....  :laugh:

https://yadi.sk/i/kYCnsa8bKIS6ug

Кстати, я же ни разу не запускал андройд, может у вас после запуска ведройд что-то нахимичил с видимостью данных (зашифровал) ?
Интересно, что будет у вас, если восстановить штатную прошивку через кабель USB и до запуска андройда, запустить Armbian ?
Название: Re: Увидеть emmc (внутреннюю память) из linux
Отправлено: sfs от 03 Февраль 2019, 18:40:11
eMMC не видно
Скрин с s912. На 905 3328 с 4х ядрами - так же плохо
может у вас после запуска ведройд что-то нахимичил с видимостью данных (зашифровал) ?
Вряд ли
Дело в ядре или dtb
На ядре 314 - все видно
Название: Re: Увидеть emmc (внутреннюю память) из linux
Отправлено: balbes150 от 03 Февраль 2019, 19:30:21
dd в андроид. На выходе возможен кирпич и андроид пока не готов сливать
Ты видел, ЧТО записывается и куда через DD ?
Запомни, RK работает не так, как AML с загрузкой и u-boot.
В RK , при запуске с SD карты, используется свой u-boot, поэтому, если система запускается с SD, значит u-boot, который в нём используется, рабочий для этой модели.
Единственное, что используется из штатного u-boot из eMMC, это первый кусок idbloader, но он не заменяется при установке в eMMC Armbian.
Поэтому полного кирпича не будет, максимум, что возможен конфликт устанавливаемой второй части u-boot с третьей частью, но загрузка с SD остаётся рабочей и можно легко вернуть прежний вариант (для этого он сохраняется перед заменой). Да ведройд уничтожается, и это правильно, хочешь установить систему в eMMC - долой ведройд. Хочешь иметь ведройд - запускай другую систему с внешнего носителя.

Чем обусловлена позиция разраба?
Тем, что тот код, который для этого используется в ядре 3.14 очень сильно говняный (по наследию от самых первых чипов хакался много раз по принципу, лишбы заработало, а там без разницы).

А андроидного ядра 314 для 3328 нет?
Насколько знаю (ведройд мне не интересен) - все андройды на rk3328 используют 4.4.

Патч - дай ссылку.
Заходишь на их гит и в поиск ...

Никак его не выковырить? Только по этим же исходникам компилить...?
Что ты собрался выковыривать и компилить ?

Что-то "путаешься в показаниях" Или проблема только в 4х ядрах aml?
Ты внимательно читаешь, о каких платформах цитаты ?

Дело в ядре или dtb
На ядре 314 - все видно
Так, не сваливай в одну кучу платформу RK и AML.
На AML сейчас используется ядро 4 или 5 , в них нет поддержки для разделов андройд
На RK используется своё ядро 4.4 или 5 - как оказалось, оно видит разделы андройд.
Если у тебя не видно на rk3328 - значит причина в твоём DTB , особенностях прошивки (после запуска) или самом железе.
Название: Re: Увидеть emmc (внутреннюю память) из linux
Отправлено: sfs от 03 Февраль 2019, 20:01:03
Хочешь иметь ведройд - запускай другую систему с внешнего носителя.
Или сумей увидеть emmc и запускай корень линукса с него, из папки
Название: Re: Увидеть emmc (внутреннюю память) из linux
Отправлено: balbes150 от 08 Февраль 2019, 15:34:05
Или сумей увидеть emmc и запускай корень линукса с него, из папки
Угу, а когда автоматом прилетит обновление ведройда или случайно вайпнеш в нём, вся твоя система Linux уйдёт в никуда и начинай с начала. :)
Название: Re: Увидеть emmc (внутреннюю память) из linux
Отправлено: sfs от 08 Февраль 2019, 15:44:51
Случайно грохнуть можно что угодно
Если бы запустить aufs - можно было бы туда неубиваемый squash кидать
Название: Re: Увидеть emmc (внутреннюю память) из linux
Отправлено: sfs от 10 Февраль 2019, 18:20:05
Сравнил свой андроидовский a5max (http://forum.puppyrus.org/index.php?topic=21237.msg154002#msg154002) и mx10 (http://forum.puppyrus.org/index.php?topic=21237.msg154009#msg154009) - на котором у balbes150 видно - покажи lsblk
A5:
Код
                android {
                        compatible = "android,firmware";

                        fstab {
                                compatible = "android,fstab";

                                system {
                                        compatible = "android,system";
                                        dev = "/dev/block/platform/ff520000.dwmmc/by-name/system";
                                        type = "ext4";
                                        mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
                                        fsmgr_flags = "wait,verify";
                                };

                                vendor {
                                        compatible = "android,vendor";
                                        dev = "/dev/block/platform/ff520000.dwmmc/by-name/vendor";
                                        type = "ext4";
                                        mnt_flags = "ro,barrier=1,inode_readahead_blks=8";
                                        fsmgr_flags = "wait,verify";
                                };
                        };

Mx10 (https://github.com/150balbes/rockchip-kernel/blob/le/arch/arm64/boot/dts/rockchip/rk3328-mx10-fast.dts)
Пересобрал mx10-fast.dts со своей этой секцией - без улучшений
Что еще можно сделать...?
Название: Re: Увидеть emmc (внутреннюю память) из linux
Отправлено: balbes150 от 10 Февраль 2019, 18:48:38
Случайно грохнуть можно что угодно
Раздел /dev/data - управляется ведройдом, и что он с ним начнёт делать в любой момент не известно (по своему усмотрению, без участия пользователя). ведройду может не понравиться появление "не учтённых" данных (или ошибок по его "мнению" в них) и запустит исправление файловой системы. Есть и другие причины, по которым все данные линукса в этом разделе могут быть разрушены (стёрты) ведройдом.

Пересобрал mx10-fast.dts со своей этой секцией - без улучшений
Можешь ее совсем удалить, она только для андройд и в линукс ни на что не влияет.
Название: Re: Увидеть emmc (внутреннюю память) из linux
Отправлено: sfs от 10 Февраль 2019, 18:52:26
Раздел /dev/data - управляется ведройдом, и что он с ним начнёт делать в любой момент не известно
На s905 c 3x ядром из линукса была видна data
Держал там файл свопа и LЕ (файл SYSTEM)
Проблем не было

у balbes150 видно - покажи lsblk