Bekijk de volledige versie : SquashFS Tools
В syslog наблюдается следующее:
Mar 4 02:56:52 kernel: SQUASHFS error: lzma returned unexpected result 0x1
Mar 4 02:56:52 kernel: SQUASHFS error: Unable to read page, block 234c8e, size 3d21
Чтобы это значило? Как бороться?
Это не во время прошивки? Если нет, то прошить ещё раз.
ConstAntz
13-10-2011, 18:15
Расчёт неправильный. Прошивка сжата.
Выходит, при обращении к любому файлу, происходит обращение к кэшу, а за неимением, к распаковке на лету из cramfs? Гугл явного ответа не подбросил.
Выходит, при обращении к любому файлу, происходит обращение к кэшу, а за неимением, к распаковке на лету из cramfs?
rootfs это squashfs!
Да, lzma-распаковка делается на лету.
ConstAntz
17-12-2011, 10:55
Похоже, мой косяк - оказывается на флешке нужно было вручную создать некоторые устройства в /dev. При создании squashfs, как я заметил, они добавляются с помощью rootprep.files. А корневую фс для флешки я создавал, просто заTARивая target.
Непохоже.
mksquashfs игнорирует типы файлов b и c. Мне модификация rootprep.files не помогла.
Непохоже.
mksquashfs игнорирует типы файлов b и c. Мне модификация rootprep.files не помогла.
Неет.. Как раз в squashfs-образе файлы в /dev есть. Те, которые прописаны в rootprep.files.
ls /dev
console gpio null nvram zero
Зачем его вообще модифицировать?? :confused:
P.S. А вот проблему с umount /dev честно говоря не знаю как лучше решить. Ожидание завершения всех hotplug'ов и mdev'ов? Отключение hotplug перед rmmod (не будет ли каких-нибудь косяков от этого)?
theMIROn
17-12-2011, 16:09
Неет.. Как раз в squashfs-образе файлы в /dev есть. Те, которые прописаны в rootprep.files.
ls /dev
console gpio null nvram zero
Зачем его вообще модифицировать?? :confused:
P.S. А вот проблему с umount /dev честно говоря не знаю как лучше решить. Ожидание завершения всех hotplug'ов и mdev'ов? Отключение hotplug перед rmmod (не будет ли каких-нибудь косяков от этого)?
относительно /dev устройств в squashfs - создаются только те, которые прописаны в rootprep.files.
функционал портирован с более старшей версии squashfs, сделано для раннего доступа к консоли, null и nvram. далее в процессе загрузки на /dev монтируется tmpfs, соответственно /dev становится девственно чист и устройства пересоздаются mdev-ом (mdev --help). те, которые не создаются автоматически mdev-ом, до-создаются вручную.
ConstAntz
17-12-2011, 16:15
Неет.. Как раз в squashfs-образе файлы в /dev есть. Те, которые прописаны в rootprep.files.
ls /dev
console gpio null nvram zero
правильнее было бы смотреть через
unsquashfs-lzma -l target.cramfs | grep "dev/"
Зачем его вообще модифицировать?? :confused:
т.к. флаги -p|pf в mksquashfs-lzma сильно не помогли
theMIROn
17-12-2011, 16:24
т.к. флаги -p|pf в mksquashfs-lzma сильно не помогли
оно не могло не помочь, т.к
package-%: $(filter-out lib-install www-install,$(obj-install)) $(LINUXDIR)/.config mksquashfs-lzma
...
# Make rootfs image
$(LINUXDIR)/scripts/squashfs/mksquashfs-lzma $(TARGETDIR) $(PLATFORMDIR)/target.cramfs \
-all-root -noappend -nopad -pf $(TOP)/misc/rootprep.files
Вывод ls - из linuxrc, до монтирования tmpfs в /dev. Про unsquashfs-lzma не знал, спасибо.
К чему все это написано и чем флаги не помогли? Я говорил о том, что -pf $(TOP)/misc/rootprep.files создает все необходимые файлы в /dev в squashfs-образе и этот момент при создании обычного tar-архива из содержимого target я упустил.
Зачем вообще трогать и модифицировать rootprep.files, если там и так все нормально работает - мне не понятно. :confused:
ConstAntz
17-12-2011, 16:46
и чем флаги не помогли?
Точно не помню. Либо они не создавались, либо создавались, но были неэффективными. В ручную - заработало.
Pasha_ZZZ
28-02-2012, 08:26
Возможно ли запустить сабж? Нужна работа с .sqfs на самом раутере, версия 4.0 или выше, LZMA и XZ не надо, ZLIB достаточно. Без unsquashfs еще можно обойтись, распаковав через 7-Zip, но как потом обратно собрать? Нужно как минимум mksquashfs
А смысл сего мероприятия? Кто это потом читать/монтировать будет?
P.S. В нашем ядре squashfs-lzma 3.4 с парой бекпортов из 4.0
Pasha_ZZZ
28-02-2012, 08:40
А смысл сего мероприятия? В скрипте нужно скачать и перепаковать ISO. Распакую ISO через 7-Zip, внутри есть несколько .sqfs файлов. Их надо распаковать (unsquashfs), изменить содержимое и запаковать обратно (mksquashfs). Потом через mkisofs получаем обратно ISO
Тогда только собрать SquashFS Tools самостоятельно любым из подходящих тулчейнов (нашим, Optware, OpenWRT-opt (http://wl500g.info/showthread.php?t=28036)).
Pasha_ZZZ
28-02-2012, 08:56
Где-то бы хотя б примерную инструкцию, сейчас стоит Optware с репозиторием ipkg.nslu2-linux.org
ryzhov_al
28-02-2012, 09:16
Где-то бы хотя б примерную инструкцию, сейчас стоит Optware с репозиторием ipkg.nslu2-linux.orgНе вопрос (http://www.nslu2-linux.org/wiki/Optware/AddAPackageToOptware).