arhiv6 18 26 июня, 2017 Опубликовано 26 июня, 2017 · Жалоба Добрый день. Начал ковырять отладочную плату с ARM9 и изучать Linux во встраиваемых системах. Пока изучаю примеры, которые идут с платой, читаю информацию. Появились некоторые вопросы, например: 1) в системах с ramfs/tmpfs есть возможность сохранить все изменений в файловой системе? Сейчас, если хочу поменять какой-то конфиг или скрипт, приходится пересобирать rootfs и заново целиком переписывать. 2) как правильно хранить настройки, которые периодически меняются (например, какой-то один конфигурационный файл)? 3) посоветуйте, пожалуйста, где можно почитать (блоги, статьи, книжки) про по Embedded Linux? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Olej 0 26 июня, 2017 Опубликовано 26 июня, 2017 · Жалоба 3) посоветуйте, пожалуйста, где можно почитать (блоги, статьи, книжки) про по Embedded Linux? Linux по-русски Linux для программиста 2) как правильно хранить настройки, которые периодически меняются (например, какой-то один конфигурационный файл)? Зачем вам один? Здесь нет реестров, ульев, здесь не водятся пчёлы ... одним словом "здесь вам не вынь-да" :laughing: Основные принципы UNIX (а Linux один из них), сформулированные лет 45 назад: 1. все конфигурации (настройки) хранятся в текстовых файлах 2. в форматах по принципу: <имя_параметра> = <значение> 3. конфигурации каждой подсистемы хранятся в своём отдельном файле конфига Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
arhiv6 18 26 июня, 2017 Опубликовано 26 июня, 2017 · Жалоба Olej, с философией UNIX-way знаком, одобряю, Вы меня неправильно поняли просто. Как я себе представляю: в целях экономии ресурса флешки при старте системы образ rootfs разворачивается в ram и вся работа идёт там, т.е. на флешку ничего не пишется. Запись может потребоваться в двух случаях: 1) Вносится изменение в образ rootfs (например, меняется како-то системный скрипт). 2) Сохранение пользовательских настроек (например, для этого есть один конфигурационный файл) Сейчас я для обоих пунктов вынужден делать полную пересборку rootfs на компьютере и потом переписывать её на флешку на плате. На одной сторонней железке я когда-то встречал другое - при старте системы самописная утилита из последнего сектора флешки вычитывает данные в файл с пользовательскими настройками и когда необходимо - туда же сохраняла; rootfs тоже самописной утилитой обновлять можно было, минуты 4 длилось. А других способов я не знаю - у меня просто опыта нету, вот я и хочу узнать, как такие вещи делаются (какие вообще бывают подходы и как это делать правильно). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 18 26 июня, 2017 Опубликовано 26 июня, 2017 · Жалоба Для этого применяют OverlayFS. Я как-то поднимал такую на openwrt, всё работало. К сожалению, подробностей не помню - сделал и забыл. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
gerber 8 26 июня, 2017 Опубликовано 26 июня, 2017 · Жалоба Как я себе представляю: в целях экономии ресурса флешки при старте системы образ rootfs разворачивается в ram и вся работа идёт там, т.е. на флешку ничего не пишется. Запись может потребоваться в двух случаях: 1) Вносится изменение в образ rootfs (например, меняется како-то системный скрипт). 2) Сохранение пользовательских настроек (например, для этого есть один конфигурационный файл) Цель ramfs - вовсе не экономия ресурса флэшки, а стремление сделать систему "неубиваемой", то есть 1) устойчивой к внезапному выключению питания, даже во время записи файлов, 2) самоочищаемой от всяких временных файлов, логов и т. п. , которые могут со временем переполнить небольшой (как правило, в таких системах) носитель. Запись туда может понадобиться в 2-х случаях (как вы правильно заметили) - 1) на этапе отладки, для правки какого-то скрипта или конфига, 2) в процессе работы системы для сохранения каких-либо данных (настроек), меняемых в процессе работы. В первом случае, чтобы каждый раз не пересобирать rootfs, нужно вам разобраться, как смонтировать образ rootfs с правами записи. После чего монтируем его с правами rw, вносим изменения в файлы, sync, размонтируем. Если образ - это gzip-архив (даже его имя не оканчивается на .gz), то вносить изменения можно стандартными средствами gzip, вплоть до mc. Второй случай рушит основную цель ramfs (см. выше). Поэтому сохранение настроек в таких системах продумывается особо, с оглядкой на то, что процесс записи в любой момент может быть прерван. Поэтому "тупо" обычный флэш-носитель, смонтированный при загрузке с правами RW не очень правильное решение. Во всяком случае, софт должен быть готов, что настройки окажутся недоступными, и стартануть с настройками по умолчанию и восстановить хранилище этих настроек. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tarbal 4 26 июня, 2017 Опубликовано 26 июня, 2017 · Жалоба Скажу банальность, но поскольку вы начинающий, то можете и не знать. Для разработки часто монтируют файловую систему на NFS. Еще ядро грузят с TFTP. Это два разных момента. Их можно и по отдельности использовать. Прикол вот в чем. На самом устройстве нет ни ядра ни файловой системы. В конфигурации загрузчика вы указываете где (IP address комьпьютера) брать ядро и где монтировать файловую систему. Так ваша система будет не в оперативной памяти вашего устройства, а на удаленном компьютере. В интернете много рессурсов с объяснениями как делать. Будут вопросы -- отвечу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vvu 0 15 августа, 2017 Опубликовано 15 августа, 2017 · Жалоба Добрый день. Начал ковырять отладочную плату с ARM9 и изучать Linux во встраиваемых системах. Пока изучаю примеры, которые идут с платой, читаю информацию. Появились некоторые вопросы, например: 1) в системах с ramfs/tmpfs есть возможность сохранить все изменений в файловой системе? Сейчас, если хочу поменять какой-то конфиг или скрипт, приходится пересобирать rootfs и заново целиком переписывать. 2) как правильно хранить настройки, которые периодически меняются (например, какой-то один конфигурационный файл)? 3) посоветуйте, пожалуйста, где можно почитать (блоги, статьи, книжки) про по Embedded Linux? Если еще актуально... Скорее всего конфиги придется хранить вне файловой системы. Как это делалось в игровых автоматах. На I2C шине сидел контроллер с лампочками/кнопочками и пр., заодно его NVRAM юзалась для конфигов и как storage для апликухи. Вы же можете прямо на шину какую-нибудь 24Сxx подцепить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tarbal 4 21 августа, 2017 Опубликовано 21 августа, 2017 · Жалоба Если еще актуально... Скорее всего конфиги придется хранить вне файловой системы. Как это делалось в игровых автоматах. На I2C шине сидел контроллер с лампочками/кнопочками и пр., заодно его NVRAM юзалась для конфигов и как storage для апликухи. Вы же можете прямо на шину какую-нибудь 24Сxx подцепить. Ну почему же? Можно подлключить флешку, смонтировать ее и на ней все хранить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vvu 0 22 августа, 2017 Опубликовано 22 августа, 2017 · Жалоба Ну почему же? Можно подлключить флешку, смонтировать ее и на ней все хранить. То уже не будет ramfs/tmpfs, как изначально требовалось. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tarbal 4 23 августа, 2017 Опубликовано 23 августа, 2017 · Жалоба То уже не будет ramfs/tmpfs, как изначально требовалось. Чудес на свете не бывает. В ОЗУ информация не переживает выключения питания. Я советовал место хранения скриптов, которые можно скриптом переписать в те места ramfs где им место. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
krux 8 23 августа, 2017 Опубликовано 23 августа, 2017 · Жалоба а в чем проблема сделать второй раздел на флешке? в нормальной жизни монтировать его в RO, читать настройки в ramfs, размонтировать. при необходимости сохранить - cмонтировать в RW, записать, размонтировать. если уровень паранойи повышен - можно даже сделать разделов два - основной-резервный, с контрольными суммами, и прочим блэкджеком и танцовщицами. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться