Как получить резервную копию встроенных корневых файлов Linux?

У меня хорошо работает встроенная среда Linux, и я хочу сохранить часть rootfs, а затем прошить другую новую плату с пустым nand.

Итак, что я пробовал. Из barebox (до загрузки ядра) я поместил /dev/nand0.root.bb на tftp-сервер своего ПК.

Затем я попытался переименовать его в rootfs.ubifs и в нужном месте вызвать скрипт «update -t ​​rootfs» с другой (и новой) платы.

Размеры разные: 17301504 оригинальный rootfs.ubifs 264630784 /dev/nand0.root.bb

Проблема в том, что система загружается некорректно.

Есть здесь кто-нибудь, кто работает таким образом? Мне нужна помощь...


person vincenet    schedule 18.02.2015    source источник


Ответы (1)


виценет,

Вы должны сделать это по-другому. Файловая система UBI не похожа на другие образы (MLO, barebox, ядро) на вашей флэш-памяти nand или даже на образ жесткого диска. Поэтому его нельзя просто скопировать с помощью cp на раздел nand0.root.bb. Вот почему ваша новая система не загружается правильно.

К сожалению, я также ищу решение для этого, но я знаю только, что другое направление (копирование из образа ubifs во флэш-память) также не может быть выполнено подобным образом.

Я думаю, что вы должны сначала иметь инструменты UBI (ubimkvol, ubiattach, ubiformat) внутри вашего barebox. Если вы этого не сделаете, возможно, поищите barebox-версию для вашей системы и прошейте ее (конечно, ПЕРЕД созданием резервной копии старой). Это была одна из моих проблем ранее. Если вы знаете, как скомпилировать его, точно подходящий для вашей системы, то зайдите в меню конфигурации, и вы должны найти подходящие команды ubi.

Однако при наличии этих команд я думаю, что можно было бы подключить /dev/nand0.root.bb к системе как новое символьное устройство, например:

ubiattach /dev/nand0.root
UBI: attaching mtd0 to ubi0
...
...

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

mount /dev/ubi0 /mnt/rootfs
mount: bad file number

Итак, если даже монтирование не удается, я думаю, что это не правильный способ создания образа, но, возможно, правильное направление к нему. Может быть, кто-то другой знает полное решение?

Золи

person user3711145    schedule 04.09.2015
comment
@Zoli: я понятия не имею о решении, так как теперь я предпочитаю работать над сборкой yocto, чтобы интегрировать приложение и любую конфигурацию непосредственно в образ rootfs. - person vincenet; 07.09.2015