Проблема
Иногда бывает нужно внести некоторые маленькие изменения в образ LiveCD, упакованного в squashfs. Например - сбросить неизвестный пароль root.
Решение
Смонтировать squashfs непосредственно для записи нельзя. Можно только распаковать, изменить и запаковать обратно.
Устанавливаем нужные для работы пакеты:
sudo apt-get install squashfs-tools
Копируем файлик squashfs в директорию, где мы сможем его распаковать:
cp /mnt/clonezilla/live/filesystem.squashfs /path/to/workdir cd /path/to/workdir
Распаковываем:
unsquashfs filesystem.squashfs
Дальше в директории /path/to/workdir/squashfs-root меняем нужные файлики.
Напрмер - меняем пароль в ./etc/shadow.
Генерируем новый пароль (он будет password):
perl -e 'print crypt("password","\$6\$saltsalt\$") . "\n"'
Записываем получившееся значение в соответствующую строку в ./etc/passwd и пакуем squashfs обратно:
cd /path/to/workdir sudo mksquashfs squashfs-root filesystem.squashfs -b 1024k -comp xz -Xbcj x86 -e boot
Однако, некоторые LiveCD не могут работать со сжатой squashfs (возникают ошибки монтирования root), поэтому пакуем без сжатия:
sudo mksquashfs squashfs-root filesystem.squashfs -b 1024k -e boot
Discussion