Могу ли я использовать файл squashfs, сидящий на жестком диске, в качестве моего rootfs?

798
user2679165

Мне нужно сделать удаленные обновления на встроенной Linux-системе, у которой есть свои rootfs в / dev / sda1.

Моей первой мыслью было добавить раздел обновления и переключиться на него при обновлении, но по причинам, характерным для нашего решения, я ограничен загрузкой только / dev / sda1.

Тогда я подумал, что мог бы включить файл squashfs rootfs и переключиться на его монтирование, что позволило бы мне обновить / dev / sda1. Файл squashfs должен находиться в / dev / sda1.

До сих пор я не понял, как смонтировать файл squashfs в качестве моей корневой файловой системы. Я попытался сделать это вручную, чтобы проверить:

mkdir /tmp/sda1 mount /dev/sda1 /tmp/sda1 mount -t squashfs /tmp/sda1/rootfs.sqsh / 

что неудивительно, что приводит к отказу монтирования (32).

И если этого было недостаточно, я не могу сделать chroot в моей системе.

Есть идеи?

1
То, что вам нужно, это что-то вроде `pivot_root`, которое, естественно, обычно используется в сценариях инициализации. Перезагрузка в порядке? Как именно работает процесс загрузки? Daniel B 10 лет назад 0
Rebooting is definitely ok, and in some cases ideal. I'd never heard of pivot_root, it looks very useful, but from what I see on the man page, it still needs chroot. The boot process uses an EFI boot loader to boot GPT partition /dev/sda1. The linux we're using doesn't allow booting to /dev/sda2, which would have made my life much easier. user2679165 10 лет назад 0

0 ответов на вопрос

Похожие вопросы