PDA

Bekijk de volledige versie : SquashFS Tools



AndrewN
04-03-2008, 01:00
В 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


Чтобы это значило? Как бороться?

Oleg
04-03-2008, 07:58
Это не во время прошивки? Если нет, то прошить ещё раз.

ConstAntz
13-10-2011, 19:15
Расчёт неправильный. Прошивка сжата.


Выходит, при обращении к любому файлу, происходит обращение к кэшу, а за неимением, к распаковке на лету из cramfs? Гугл явного ответа не подбросил.

lly
13-10-2011, 19:26
Выходит, при обращении к любому файлу, происходит обращение к кэшу, а за неимением, к распаковке на лету из cramfs?
rootfs это squashfs!
Да, lzma-распаковка делается на лету.

ConstAntz
17-12-2011, 11:55
Похоже, мой косяк - оказывается на флешке нужно было вручную создать некоторые устройства в /dev. При создании squashfs, как я заметил, они добавляются с помощью rootprep.files. А корневую фс для флешки я создавал, просто заTARивая target.


Непохоже.
mksquashfs игнорирует типы файлов b и c. Мне модификация rootprep.files не помогла.

Vampik
17-12-2011, 12:15
Непохоже.
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, 17: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, 17: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, 17: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

Vampik
17-12-2011, 17:32
Вывод ls - из linuxrc, до монтирования tmpfs в /dev. Про unsquashfs-lzma не знал, спасибо.
К чему все это написано и чем флаги не помогли? Я говорил о том, что -pf $(TOP)/misc/rootprep.files создает все необходимые файлы в /dev в squashfs-образе и этот момент при создании обычного tar-архива из содержимого target я упустил.
Зачем вообще трогать и модифицировать rootprep.files, если там и так все нормально работает - мне не понятно. :confused:

ConstAntz
17-12-2011, 17:46
и чем флаги не помогли?

Точно не помню. Либо они не создавались, либо создавались, но были неэффективными. В ручную - заработало.

Pasha_ZZZ
28-02-2012, 09:26
Возможно ли запустить сабж? Нужна работа с .sqfs на самом раутере, версия 4.0 или выше, LZMA и XZ не надо, ZLIB достаточно. Без unsquashfs еще можно обойтись, распаковав через 7-Zip, но как потом обратно собрать? Нужно как минимум mksquashfs

lly
28-02-2012, 09:35
А смысл сего мероприятия? Кто это потом читать/монтировать будет?

P.S. В нашем ядре squashfs-lzma 3.4 с парой бекпортов из 4.0

Pasha_ZZZ
28-02-2012, 09:40
А смысл сего мероприятия? В скрипте нужно скачать и перепаковать ISO. Распакую ISO через 7-Zip, внутри есть несколько .sqfs файлов. Их надо распаковать (unsquashfs), изменить содержимое и запаковать обратно (mksquashfs). Потом через mkisofs получаем обратно ISO

lly
28-02-2012, 09:47
Тогда только собрать SquashFS Tools самостоятельно любым из подходящих тулчейнов (нашим, Optware, OpenWRT-opt (http://wl500g.info/showthread.php?t=28036)).

Pasha_ZZZ
28-02-2012, 09:56
Где-то бы хотя б примерную инструкцию, сейчас стоит Optware с репозиторием ipkg.nslu2-linux.org

ryzhov_al
28-02-2012, 10:16
Где-то бы хотя б примерную инструкцию, сейчас стоит Optware с репозиторием ipkg.nslu2-linux.orgНе вопрос (http://www.nslu2-linux.org/wiki/Optware/AddAPackageToOptware).