Перейти к содержанию
    

On 10/31/2024 at 6:05 PM, AlexVRud said:

корень ОС - директория в /var/lib/docker/...

правильно понимаю что это обычная директория на диске а не ramfs там смонтирована ? насколько я понял весь смысл докера что окружение а рам

On 10/31/2024 at 6:05 PM, AlexVRud said:

Что нужно для сборки старого u-boot? Самый минимальный дистрибутив со старой ОС + пакеты из требований buildroot.

там по зависимостям нехило вытягивает, только буилдрут после сборки небольшой ос с qt будет больше 10 гигов, мне показалось он не убут а весь sdk собирает

On 10/31/2024 at 6:10 PM, mantech said:

а ядро потом как узнает, что у него памяти в 2 раза больше вдруг стало?

через загрузчик в параметрах передаётся

On 10/31/2024 at 6:05 PM, AlexVRud said:

Для повторения сборки Docker-образа на любой другой машине нужен маленький текстовый файлик Dockerfile и одна команда.

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

Изменено пользователем sasamy

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ура я завел руками через твою утилиту fel-dfu-t113-emmc.exe подставил uboot-dfu-t113_work.emmc как его теперь нормально на флеху интегрировать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 10/31/2024 at 6:35 PM, xplayerx said:

подставил uboot-dfu-t113_work.emmc как его теперь нормально на флеху интегрировать?

надо образ смотреть - нет единого стиля, я хз что там у вас - где ядро с dt

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 минуты назад, sasamy сказал:

надо образ смотреть - нет единого стиля, я хз что там у вас - где ядро с dt

попробую для начала заменить с офсетом если не пройдет нужно думать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 10/31/2024 at 6:55 PM, xplayerx said:

попробую для начала заменить с офсетом если не пройдет нужно думать

записать загрузчик не проблема и однозачно - убут пишется со смещением 8 * 1024 байт от начала диска, хотя если убут из китайского sdk ему еще отдельный spl нужен который у них boot0 называется, но убут должен как-то ядро и dt найти на диске, это указывают либо в самом убуте либо через внешние  boot.scr, extlinux.conf  и тд. И если вы его запишете как я вам давал пример через sdcard.img вы затрете mbr на диске

Изменено пользователем sasamy

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

37 минут назад, sasamy сказал:

записать загрузчик не проблема и однозачно - убут пишется со смещением 8 * 1024 байт от начала диска, хотя если убут из китайского sdk ему еще отдельный spl нужен который у них boot0 называется, но убут должен как-то ядро и dt найти на диске, это указывают либо в самом убуте либо через внешние  boot.scr, extlinux.conf  и тд. И если вы его запишете как я вам давал пример через sdcard.img вы затрете mbr на диске

 

там gpt  пока смотрю со структурой и разбираюсь 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 10/31/2024 at 7:38 PM, xplayerx said:

там gpt  пока смотрю со структурой и разбираюсь

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

Quote

ums 0 mmc 0

на хостовой машине вин/лин к которой подключено по usb должен появиться usb диск с содержимым emmc, и с ним можно какой-нибуть программой разбираться. В линуксе проще - можно дамп emmc смапить на /dev/loop и работать как с обычным диском и потом зашить скорректированный имидж на emmc

Изменено пользователем sasamy

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

усе завел, пропатчикл дамп и как не странно он юзает boot0 на emmc точнее мой бут))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 часа назад, sasamy сказал:

правильно понимаю что это обычная директория на диске а не ramfs там смонтирована ? насколько я понял весь смысл докера что окружение а рам

Сразу скажу, я цать лет сижу в Linux, как базовой системе, и детали и отличия Windows не затрагиваю.

Если быть точнее, docker создаёт overlayfs в /var/lib/docker/... из слоёв docker-образа. В отдельное окружение (аля chroot) "монтирует" корневой образ и volumes, и в этом окружении запускает заданный процесс.

Т.е. ramfs тут не причём. Всё идёт через обычное ядро, поэтому по diff выхлопа mount можно увидеть что смонтировалось для запущеенного контейнера.

"весь смыл докера" я бы тогда уж описал как простой способ создания chroot подобного окружения для нужной программы.

В рамках сборки старой версии buildroot. Основной облом - это сборка toolchain. Если есть готовый toolchain, то собрать проект можно почти на любой системе. Если нет, то возникает чёртов парадокс новый gcc&Co не могут собрать старый gcc&Co.

Поэтому нужна старая ОС. В рамках докера это можно сделать так:

1. Описать окружение в Dockerfile

FROM ubuntu:18.04
RUN apt-get update && apt-get install -y ....
...

2. собрать образ (аля `docker build -t buildroot-x-x .`)

3. В хостовой системе собрать рабочую директорию

/home/user/projects/
├── buildroot-x.x
├── my-buildroot-external
└── out

4. Подготовить директорию для кеша загрузки (аля, /data/buildroot-downloads)

5. Запустить контейнер интерактивно, примонтировав нужные директории (аля `docker run -t -i --rm --volume /home/user/projects:/data/projects --volume /data/buildroot-downloads:/data/dl --env 'BR2_DL_DIR=/data/dl` buildroot-x-x /bin/bash`)

6. И собирай в окружении как надо. По сути в контейнере будет только один процесс bash и смонтированы корень+projects+dl

Когда соберёшь и выйдешь, на хостовой системе в projects останутся артифакты сборки, в DL кеш скаченных файлов на следующий раз.

В рамках винды будет чуть посложнее с монтированием обычных директорий. Возможно, надо будет использовать docker volumes - это чуть больше гемора по копированию файлов между контейнером и хостовой системой.

По накладным расходом, контейнеры в разы легче виртуалок. У меня на рабочем компе их с десяток запущенно, и как бы ничего. Есть память и процессор начинает разве что buildbot в момент сборки проектов.

5 часов назад, sasamy сказал:

буилдрут после сборки небольшой ос с qt будет больше 10 гигов,

Для сборки Qt есть Yocto. Тот, хотя бы, имеет кеш результатов сборки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 10/31/2024 at 11:29 PM, AlexVRud said:

Т.е. ramfs тут не причём.

понятно, у меня после чтения обзорной статьи сложилось впечатление что контейнеры в tmpfs крутятся

On 10/31/2024 at 11:29 PM, AlexVRud said:

В рамках сборки старой версии buildroot. Основной облом - это сборка toolchain.

buildroot в виртуалке достаточно собрать один раз, закачаются все исходники и компиляторы, положить имидж на полку, соберётся и через 10 лет даже если и убунта и докер рассосется.

On 10/31/2024 at 11:29 PM, AlexVRud said:

Для сборки Qt есть Yocto. Тот, хотя бы, имеет кеш результатов сборки.

https://buildroot.org/downloads/manual/manual.html#ccache

 

PS Спасибо за краткое и очень доходчивое пояснение по докеру

Изменено пользователем sasamy

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 10/31/2024 at 11:29 PM, AlexVRud said:

В рамках докера это можно сделать так:

собрать корневую и чрутнуться можно  не менее удобно

https://github.com/bdrung/bdebstrap

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

9 часов назад, sasamy сказал:

что контейнеры в tmpfs крутятся

Верхний слой overlayfs у запущенного контейнера временная директория. Что поведением и похоже на tmpfs.

9 часов назад, sasamy сказал:

buildroot в виртуалке достаточно собрать один раз, закачаются все исходники и компиляторы, положить имидж на полку, соберётся и через 10 лет даже если и убунта и докер рассосется.

Так и докер так же. Сейчас проверил, распакованный образ докера для buildroot на базе u18.04 весит 480 МБ, после `docker save` архив 150 МБ. Сюда не входят исходники проектов, но они всё таки должны лежать отдельно в репе.

У нас gitea для хранения реп и докер образов. Любой может сделать `docker run ... dev.example.com/buildroot:u18.04` т.е. образ собран один раз и доступен для всех. Когда работаешь один, не так важно докер или виртуалка, вопрос привычки. Когда в коллективе и есть ещё боты для сборки, то докер более выгоден.

9 часов назад, sasamy сказал:

Не сравнимые категории. Yocto хранит в кеше результаты шагов сборки. И полная пересборка "толстого проекта" занимает пару минут. При этом SSTATE_DIR можно шарить между несколькими машинами и проектами под разные камни.

У каждого свои преимущества. Buildroot хорош для запуска нового камня или платы. Yocto для коллективной работы, "толстых образов" и ведения нескольких проектов одновременно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 11/1/2024 at 1:12 PM, AlexVRud said:

Так и докер так же. Сейчас проверил, распакованный образ докера для buildroot

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

https://www.cnews.ru/news/top/2024-05-30_rossijskih_programmistov

https://www.rbc.ru/technology_and_media/06/03/2022/62221a5b9a79472b4f07b5e1

интересно куда весь девопс будет щемиться если кислород перекроют, а ведь по сути докер банальный помогатор без которого любой разработчик  спокойно обходится. К настоящему свободному ПО типа linux, debian с qemu просто так кислород не перекрыть, я как то даже не переживаю что наши образы в вмваре сделаны

https://foswiki.org/Support/HowToRunVirtualMachineImageOnKvmQemu

Изменено пользователем sasamy

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, sasamy сказал:

интересно куда весь девопс будет щемиться если кислород перекроют,

Так уж сколько лет и РКН проблем подкидывает. Тот же dokerhub блочили частично. Мы просто послали все облака куда подальше. Не забанят так скажут что это теперь деприкетед.

У нас свой gitea. На нём не только git-репы, но и артефакты сборки и docker контейнеры (свои и копии используемых). Последнее существенно экономит сетевой трафик. Всего-то поменять имя контейнера с `debian:latest` на `example.ru/debian:latest`

Поднят свой buildbot для автоматизации сборки, в том числе Yocto-проектов. Есть ребята, что просто разрабатывают приложения на хостовых системах (Linux/Windows), комитят в мастер, а buildbot забирает изменения и выплёвывает swupdate-прошивку для девайсов.

git-зеркала для крупных проектов, аля Linux Kernel от разных компаний. Настроили всё что легко кешировать и зеркалировать.

Так что давно адаптировались ко всем этим "недоступно". Но и новенькое пользуем.

Не меньше вопросов к Альтиум, Qt, ti-linux и т.п. Что будет если Debian, Ubuntu, Flatpack и т.д. и т.п. взбрыкнут как ядро Linux?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 11/1/2024 at 4:46 PM, AlexVRud said:

Так что давно адаптировались ко всем этим "недоступно". Но и новенькое пользуем.

Не меньше вопросов к Альтиум, Qt, ti-linux и т.п. Что будет если Debian, Ubuntu, Flatpack и т.д. и т.п. взбрыкнут как ядро Linux?

как то вы в кучу всё смешиваете - "кручу верчу запутать хочу". Начнём с докера - это американская компания, продукт в дебиане устанавливается через стороннюю репу, отключить вас от неё со стороны докера не составляет труда. Сам дебиан некоммерческое сообщество с зеркалами по всему миру - как вы представляете отключить вас от дебиана. Убунта коммерческий клон дебиана, спрыгнуть с него никакого труда не составляет. Ядро linux сложный вопрос - там есть банда из представителей корпораций которая им управляет, но доступ к коду перекрыть я не представляю как это возможно. То что майнтэйнеров с российским следом отключили  - какая-то ерунда, у нас нет такого производства электроники как у основателей linux foundation чтобы это событие хоть на что-то  повляло. Причём один из них казахстанец вообще, давно живет в штатах и работает в амазоне. flatpak - кто им вообще пользуется ? По поводу линукс еще - торвальдс это известный троль, раньше он еще код писал а сейчас просто троль,  бывало его даже в угол ставили за это

https://vc.ru/hr/45905-sozdatel-linux-linus-torvalds-vremenno-pokinet-razrabotku-iz-za-plohogo-otnosheniya-k-lyudyam

 

Изменено пользователем sasamy

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...