Модератор: Модераторы разделов
intersolar
Сообщения: 5
ОС: Linux 2.6
Сообщение
intersolar » 20.04.2010 19:42
При сборке ядра для firmware обновлял пакеты tools
Компилирую firmware (WPN824 on linux 2.6)
Заменил исходник squashfs с 3.0 на 4.0
Есть проблема - к исходнику 3.0 прилагался небольшой патч для LZMA:
Код: Выделить всё
diff -Nur squashfs3.0/squashfs-tools/Makefile squashfs3.0-owrt/squashfs-tools/Makefile
--- squashfs3.0/squashfs-tools/Makefile 2006-03-15 22:36:20.000000000 +0100
+++ squashfs3.0-owrt/squashfs-tools/Makefile 2006-03-21 11:14:08.000000000 +0100
@@ -1,4 +1,5 @@
INCLUDEDIR = .
+#LZMAPATH = ../lzma/SRC/7zip/Compress/LZMA_Lib
CFLAGS := -I$(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -O2
@@ -7,6 +8,9 @@
mksquashfs: mksquashfs.o read_fs.o sort.o
$(CC) mksquashfs.o read_fs.o sort.o -lz -o $@
+mksquashfs-lzma: mksquashfs.o read_fs.o sort.o
+ $(CXX) mksquashfs.o read_fs.o sort.o -L$(LZMAPATH) -llzma -o $@
+
mksquashfs.o: mksquashfs.c squashfs_fs.h mksquashfs.h global.h sort.h
read_fs.o: read_fs.c squashfs_fs.h read_fs.h global.h
@@ -17,3 +21,5 @@
$(CC) unsquashfs.o -lz -o $@
unsquashfs.o: unsquashfs.c squashfs_fs.h read_fs.h global.h
+
+clean:
=> пытается запуститься и есстественно пишет ошибку:
gzip -dc /home/intersolar/Desktop/WPN824N-new/dl/squashfs4.0.tar.gz | /bin/gtar -C /home/intersolar/Desktop/WPN824N-new/tool_build/squashfs4.0/.. -xf -
Applying ./patches/100-lzma.patch using plaintext:
patching file squashfs-tools/Makefile
Hunk #1 succeeded at 3 with fuzz 2 (offset 2 lines).
Hunk #2 FAILED at 8.
Hunk #3 FAILED at 18.
2 out of 3 hunks FAILED -- saving rejects to file squashfs-tools/Makefile.rej
Patch failed! Please fix ./patches/100-lzma.patch!
Что нужно исправить?
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU
Сообщение
sash-kan » 22.04.2010 11:10
intersolar писал(а): ↑ 20.04.2010 19:42
Что нужно исправить?
патч. ориентируясь на новое содержимое исправляемого файла.
не справитесь — выкладывайте исходного содержимое этого makefile-а. подсобим советом.
intersolar
Сообщения: 5
ОС: Linux 2.6
Сообщение
intersolar » 23.04.2010 00:42
sash-kan писал(а): ↑ 22.04.2010 11:10
intersolar писал(а): ↑ 20.04.2010 19:42
Что нужно исправить?
патч. ориентируясь на новое содержимое исправляемого файла.
не справитесь — выкладывайте исходного содержимое этого makefile-а. подсобим советом.
Для интереса попробовал вхитрую закомментировать патч. Не помогло.
intersolar
Сообщения: 5
ОС: Linux 2.6
Сообщение
intersolar » 23.04.2010 00:53
#
# Copyright © 2006 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=squashfs
PKG_VERSION:=4.0
PKG_SOURCE:=$(PKG_NAME)$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/squashfs
PKG_CAT:=zcat
PKG_BUILD_DIR:=$(TOOL_BUILD_DIR)/$(PKG_NAME)$(PKG_VERSION)
include $(INCLUDE_DIR)/host-build.mk
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR)/squashfs-tools mksquashfs-lzma LZMAPATH=$(STAGING_DIR)/host/lib
endef
define Build/Install
mkdir -p $(STAGING_DIR)/bin
$(CP) $(PKG_BUILD_DIR)/squashfs-tools/mksquashfs-lzma $(STAGING_DIR)/bin/
endef
define Build/Clean
rm -f $(STAGING_DIR)/bin/mksquashfs-lzma
endef
$(eval $(call HostBuild))
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU
Сообщение
sash-kan » 23.04.2010 01:31
во-первых, как я и ожидал, в этом файле всё кардинально поменялось.
патч можете записать на болванку и использовать в качестве подставки под кружку (улыбка).
во-вторых, судя по упоманинию mksquash-lzma в приведённом makefile, lzma таки очень даже учавствует в деле.
может вы документацию/changelog-и лучше почитаете? или у разработчиков влоб спросите — как нужно собирать, чтобы задействовать lzma.
p.s. боюсь, они могут ответить встречным вопросом: а что, можно собрать _без_ использования lzma? (шучу, конечно, но в каждой шутке… в общем, почитайте для начала вышеозвученное).
intersolar
Сообщения: 5
ОС: Linux 2.6
Сообщение
intersolar » 23.04.2010 10:39
я собираю старую версию. Отвечают мало и неохотно.
Пока у меня не достаточно знаний, как обновить ядро в сборке.
вот сайт разработчиков -
http://www.squashfs-lzma.org/