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

Автор Тема: Установка Linux в NAND  (Прочитано 2376 раз)

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

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 23468
  • Репутация: +172/-0
    • PuppyRus-A
Установка Linux в NAND
« : 12 Апрель 2017, 14:23:02 »
У кого получилось?
Бэкап и залив alexelec делается nand-install
Вероятно для установки линукса надо залить linux.img в /dev/boot , а корень в /system dtb.img в /dev/dtb?
linux.img - собранный и обработанный для использования u-boot образ ядра+initrd+тестовый_dtb_заглушка , он используется при установке системы во внутреннюю память, точнее - это и есть то ядро, котрое используется при старте Linux из eMMC

eMMC и NAND - это одно и то же - память на плате девайса?

Как собрать linux.img и dtb.img?

Раскирпичивание проводить по этой инструкции?

Оффлайн balbes150

  • Модератор
  • Постоялец
  • ****
  • Сообщений: 179
  • Репутация: +2/-0
Re: Установка Linux в NAND
« Ответ #1 : 12 Апрель 2017, 20:38:08 »
У кого получилось?
Насколько мне известно, кол. установок во внутреннюю память Armbian перевалило за несколько сотен (с учётом "размножения" системы некоторыми продавцами перед продажей по заказу пользователя).
На форуме armbian много описаний от пользователей разных моделей об установке и использовании.
Есть два типа памяти NAND и eMMC - это далеко не одно и тоже. Автоматическая установка (с использованием готового скрипта install.sh) для NAND появилась только в последних образах.
Вероятно для установки линукса надо залить linux.img в /dev/boot , а корень в /system dtb.img в /dev/dtb?
Не совсем так. Корень пишется в раздел data, т.к. размер system обычно ограничен 1 Гб (есть модели, где он увеличен до 1.5 или 2 Гб, но это редкость).
И нужно не просто скопировать корень, а выполнить еще перенастройку служебных файлов (fstab, s905_init.sh)
Как собрать linux.img и dtb.img?
Он собирается из готовых ядра, initrd и dtb утилитами mkbootimg или abootimg. Обращаю внимание, что ядро и initrd используются исходные, не обработанные mkimage.
Раскирпичивание проводить по этой инструкции?
Методика восстановления зависит от модели и глубины окирпичивания. Если предварительно, перед установкой системы во внутреннюю память с использованием скрипта /root/install.sh , сделать полную резервную копию (кстати, в составе armbian уже есть все необходимые инструменты для этого под оба вида памяти), то процесс возврата к прежнему состоянию системы существенно легче - достаточно подключить носитель, загрузиться с него и выполнить команду восстановления. При использовании скрипта установки, u-boot остаётся не тронутым (кроме добавки в виде одной переменной) т позволяет запускать внешние системы не зависимо от того, что во внутренней памяти.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 23468
  • Репутация: +172/-0
    • PuppyRus-A
Re: Установка Linux в NAND
« Ответ #2 : 13 Апрель 2017, 09:25:28 »
"размножения" системы некоторыми продавцами перед продажей по заказу пользователя).
Есть такие? Можно примеры...
Есть два типа памяти NAND и eMMC
В чем разница и как понять какая?
s905_init.sh
amlogics905x_init.sh - скрипт активации монитора с настройками через /etc/rc.local  ?
собирается из готовых ядра, initrd и dtb утилитами mkbootimg или abootimg.
Есть примеры или мануал?
с использованием скрипта /root/install.sh
Приаттачил
сделать полную резервную копию (кстати, в составе armbian уже есть все необходимые инструменты для этого под оба вида памяти),
Можно подробнее....
Хорошо бы закончить статьейв вики с пошаговыми действиями

dtb.img связан с ядром или только с железом?
Т.е. надо его менять вместе с ядром или лучше брать из /dev/dtb железки
Как переделать dtb.img в папку. Как лучше?
« Последнее редактирование: 13 Апрель 2017, 09:28:05 от sfs »

Оффлайн balbes150

  • Модератор
  • Постоялец
  • ****
  • Сообщений: 179
  • Репутация: +2/-0
Re: Установка Linux в NAND
« Ответ #3 : 15 Апрель 2017, 22:15:37 »
Есть такие? Можно примеры...
Есть. Ты готов закупить от 100 единиц ? Есть модели, которые используют в качестве тонких клиентов, подробности обсуждать не хочу, это коммерческий проект. Если будет реальный интерес - сведу с поставщиками.
В чем разница и как понять какая?
Уже же объяснял ...
amlogics905x_init.sh - скрипт активации монитора с настройками через /etc/rc.local  ?
угу. привычка сокращать ....

Есть примеры или мануал?
дык там весь мануал - запустить утилиту без параметров и она сама подскажет, если кратко - берёшь три нужных файла и выполняешь команду с параметрами сборки и именами этих файлов.
Приаттачил
В смысле ?
Можно подробнее....
Для eMMC - запустить от root скрипт dd_backup_x (в новых образах имя упрощено до ddbr), он сам подскажет что дальше.
Для NAND - два скрипта ddbr_backup_nand  ddbr_restore_nand , у них все понятно из названия - один создает копию, второй восстанавливает.
Хорошо бы закончить статьейв вики с пошаговыми действиями
Попробую.
dtb.img связан с ядром или только с железом?
dtb описывает параметры железа для ядра.
Т.е. надо его менять вместе с ядром или лучше брать из /dev/dtb железки
Лучше использовать те, что собраны вместе с ядром, переменные могут измениться и новое ядро не сможет работать со старыми описаниями.
Как переделать dtb.img в папку. Как лучше?
Не понял вопроса.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 23468
  • Репутация: +172/-0
    • PuppyRus-A
Re: Установка Linux в NAND
« Ответ #4 : 16 Апрель 2017, 09:29:00 »
Ты готов закупить от 100 единиц ? Есть модели, которые используют в качестве тонких клиентов, подробности обсуждать не хочу, это коммерческий проект. Если будет реальный интерес - сведу с поставщиками.
У себя в конторе планирую переводить тонкие клиенты на s905. Как сделать - почти понятно. Надо оптимизировать по цене. Если есть готовое решение - интересно. Прямо сразу 100 не уверен. Надо xfreerdp c сетевой или NAND загрузкой

Приаттачил
Твой скрипт приаттачит с своему сообщению выше - чтобы не искали сложно
Не понял вопроса.
Как из папки dtb сделать dtb.img?

Оффлайн balbes150

  • Модератор
  • Постоялец
  • ****
  • Сообщений: 179
  • Репутация: +2/-0
Re: Установка Linux в NAND
« Ответ #5 : 23 Апрель 2017, 18:03:22 »
У себя в конторе планирую переводить тонкие клиенты на s905. Как сделать - почти понятно. Надо оптимизировать по цене. Если есть готовое решение - интересно. Прямо сразу 100 не уверен. Надо xfreerdp c сетевой или NAND загрузкой
Опиши задачи\технологию которую планируешь использовать, возможно подскажу что-то полезное. У каждого ТВ бокса есть свои особенности, которые желательно учитывать при выборке под конкретные задачи.
Советую сразу исключить из потенциальных кандидатов нонеймы с мизерной ценой - экономия в несколько долларов, почти на 100%, вылезет в дальнейшем проблемами (это из опыта общения с этими железками).
Кстати, ты сам наверное уже много раз натыкался на 4pda на не приятные "особенности" самых дешевых вариантов.
Твой скрипт приаттачит с своему сообщению выше - чтобы не искали сложно
Этот скрипта периодически изменяется (под текущие особенности новых образов, исправляются ошибки, добавляется новый функционал т.д.), поэтому очень скоро он станет не актуален. На мой взгляд - нет такой необходимости его выдёргивать из образов, сейчас все образы идут с самой актуальной (на текущий момент) версией, которая как раз рассчитана на образ, в состав которого входит этот скрипт.
Как из папки dtb сделать dtb.img?
dtb.img - не делают из файлов из этой папки. Из этой папки выбирают один подходящий файл (или перебирают все подходящие по очереди) и копирую в корень носителя (в FAT раздел) с именем "dtb.img". Это связано с тем, что в самих dtb файлах содержится индексная информация, по которой u-boot определяет, что этот файл подходит для ТВ бокса (если в dtb.img содержится несколько данных для разных платформ). Поэтому при попытке собрать все файлы в один мультифайл - там окажутся файлы с одинаковыми индексами (описанием одной платформы) и система не сможет выбрать нужный, тупо зависнет , как в случае с отсутствующим полностью dtb набором.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 23468
  • Репутация: +172/-0
    • PuppyRus-A
Re: Установка Linux в NAND
« Ответ #6 : 24 Апрель 2017, 09:29:15 »
Из этой папки выбирают один подходящий файл (или перебирают все подходящие по очереди) и копирую в корень носителя (в FAT раздел) с именем "dtb.img"
Именно этот рецепт помог здесь

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 23468
  • Репутация: +172/-0
    • PuppyRus-A
Re: Установка Linux в NAND
« Ответ #7 : 17 Май 2017, 12:30:05 »
Если 2А базируется на том же ядре , что и Armbian, всё элементарно, есть специальный скрипт , который переносит систему с внешнего носителя во внутреннюю память с сохранением штатного загрузчика и всех служебных разделов. Система размещается в разделе /data, а готовый образ ядра - копируется в раздел /boot , вместо андройда.
2А и LAB на твоем ядре из armbian-ubuntu 3.14.29 #10 SMP PREEMPT Thu Mar 23 09:58:41 MSK 2017
Это получается вместо андроида. А хотелось бы его сохранить.
С другой стороны пользы от него мало:
kodi не хуже, но и не лучше
браузер : хром без мультимедиа, дефолтный - кастрированный
Полезных приложений именно для тв-бокс для себя не нашел...

Оффлайн balbes150

  • Модератор
  • Постоялец
  • ****
  • Сообщений: 179
  • Репутация: +2/-0
Re: Установка Linux в NAND
« Ответ #8 : 19 Май 2017, 21:02:41 »
Это получается вместо андроида. А хотелось бы его сохранить.
без переделки загрузки и разделов - не реально.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 23468
  • Репутация: +172/-0
    • PuppyRus-A
Re: Установка Linux в NAND
« Ответ #9 : 22 Май 2017, 09:29:07 »
без переделки загрузки и разделов - не реально.
Есть рецепт переделки?
Или может можно андроид с флэша запускать?

Оффлайн balbes150

  • Модератор
  • Постоялец
  • ****
  • Сообщений: 179
  • Репутация: +2/-0
Re: Установка Linux в NAND
« Ответ #10 : 28 Май 2017, 13:33:31 »
Есть рецепт переделки?
У Khadas есть вариант двойной системы в eMMC (Android + Ubuntu). Там же есть вариант загрузчика с такой поддержкой.
Или может можно андроид с флэша запускать?
Можно. Смотри , как это реализовано в Odroid C2. Там все системы запускаются, как с внешних носителей, в том числе и Android.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 23468
  • Репутация: +172/-0
    • PuppyRus-A
Re: Установка Linux в NAND
« Ответ #11 : 05 Июнь 2017, 12:54:46 »
Если найти рабочее ядро с aufs можно в NAND так поставить

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 23468
  • Репутация: +172/-0
    • PuppyRus-A
Re: Установка Linux в NAND
« Ответ #12 : 11 Октябрь 2018, 18:10:03 »
установкой системы во внутреннюю память с использованием скрипта /root/install.sh
А нельзя исхитриться и не удалять андроид, а просто записать ядро и прочее в отдельную папку в data
Запуск линукса из папки - будет уже в инитрд
Надо только его и ядро как-то загрузить
Т.е. поправить
echo "Write env bootargs"
/usr/sbin/fw_setenv initargs "root=/dev/data rootflags=data=writeback rw console=ttyS0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.repair=yes net.ifnames=0 mac=\${mac}"
Ну или может в aml_autoscript.zip что-то поменять чтобы грузилось как с флэшки, но из нанд?

Оффлайн balbes150

  • Модератор
  • Постоялец
  • ****
  • Сообщений: 179
  • Репутация: +2/-0
Re: Установка Linux в NAND
« Ответ #13 : 15 Октябрь 2018, 14:06:55 »
А нельзя исхитриться и не удалять андроид, а просто записать ядро и прочее в отдельную папку в data
Можно. Сейчас LE  устанавливается в двух вариантах - параллельно android в eMMC или вместо в его разделы system и data , но с сохранением важных частей android (u-boot ядро env и т.д.), так же можно установить и Linux с правкой скриптов установки или в ручную, а потом тиражировать.

Запуск линукса из папки - будет уже в инитрд
Надо только его и ядро как-то загрузить
ни чего в initrd менять не нужно, всё легко решается на уровне скрипта запуска с правильными переменными.
Сейчас уже используется новый вариант универсальной мультизагрузки и адаптированные скрипты запуска, которые всё это решают.
Кстати, в новых образах Armbian система с ядром 4.18 ставиться так, что имеет MBR и разделы и сохраняет штатный u-boot и прочие служебные разделы, то бишь убить ТВ бокс почти не реально, если самим не накосячить.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 23468
  • Репутация: +172/-0
    • PuppyRus-A
Re: Установка Linux в NAND
« Ответ #14 : 15 Октябрь 2018, 14:59:51 »
Сейчас LE  устанавливается в двух вариантах - параллельно android в eMMC
Где про такое прочитать?
всё легко решается на уровне скрипта запуска с правильными переменными.
Можно подробнее : как запустить линукс из nand, не убивая андроид
в новых образах Armbian система с ядром 4.18 ставиться так
скриптом install.sh ? Чем install-2018.sh отличается (чтобы не вчитываться)
DEV_EMMC=/dev/mmcblk1
echo "Start restore u-boot"
dd if=/boot/uboot.img of="${DEV_EMMC}" conv=fsync bs=1 count=442
dd if=/boot/uboot.img of="${DEV_EMMC}" conv=fsync bs=512 skip=1 seek=1
Разве этим потенциально не окирпичить...?
И не нашел в Вашем  armbian  uboot.img
« Последнее редактирование: 15 Октябрь 2018, 15:21:58 от sfs »