|
|
各位大虾,我参照网上的教程来制作debian的liveCD,必须在内核中挂载cloop模块,cloop是个第三方内核模块,用来支持压缩文件系统映像,正确编译后应该得到一个驱动模块cloop.o和两个可执行应用create_compressed_fs和extract_compressed_fs,在编译时候报如下错误:
root@Knoppix:/home/knoppix/cloop-2.05~20060829# make KERNEL_DIR=/usr/src/linux
make modules -C /usr/src/linux M=/home/knoppix/cloop-2.05~20060829
make[1]: Entering directory `/usr/src/linux'
make[1]: *** No rule to make target `modules'. Stop.
make[1]: Leaving directory `/usr/src/linux'
make: *** [module] Error 2
我是开源新人,之前没有编译过这种第三方的内核模块,各位大虾帮忙看看,这个报的是个什么错误,如何修改?
下面把其Makefile的内容附上:
#!/usr/bin/make
KVERSION=$(shell uname -r)
KERNEL_DIR=/lib/modules/$(KVERSION)/build
DESTDIR=/usr/local
#INSTALL_MOD_PATH:=/tmp
# Add compressloop when it has been fixed
APPS=create_compressed_fs extract_compressed_fs
all: utils module
install: install-utils install-module
utils: $(APPS)
install-utils: utils
mkdir -p $(DESTDIR)/bin
install -m0755 $(APPS) $(DESTDIR)/bin
create_compressed_fs: advancecomp-1.15/advfs
ln -f $< $@
advancecomp-1.15/advfs: advancecomp-1.15/config.status advfs.cc
$(MAKE) -C advancecomp-1.15 advfs
advancecomp-1.15/config.status:
cd advancecomp-1.15 && ./configure
advancecomp-1.15:
@test -e advancecomp-1.15 || (echo advancecomp-1.15 missing, maybe you wanted to run \"make module\"? ; exit 1)
# bzcat advancecomp-1.15.tar.bz2 | tar -f - -x
# cd advancecomp-1.15 && bzcat ../advfs-1.15.diff.bz2 | patch -p1
clean:
-$(MAKE) -C advancecomp-1.15 distclean
#-$(MAKE) clean -C $(KERNEL_DIR) M=$(CURDIR)
rm -rf create_compressed_fs extract_compressed_fs zoom *.o *.ko *.mod.c .*cmd .tmp* *symvers
rm -f */config.status */config.log tmp
extract_compressed_fs: extract_compressed_fs.o
$(CC) -o $@ $< -lz
dist: clean
cd .. ; \
tar -cf - cloop/{Makefile,*.[ch],CHANGELOG,README} | \
bzip2 -9 > $(HOME)/redhat/SOURCES/cloop.tar.bz2
# to build packages for Knoppix
packages:
fakeroot debian/rules binary
cp -a . ../tmp-cloop-modbuild
cd ../tmp-cloop-modbuild && fakeroot debian/rules binary-modules && rm -rf ../tmp-cloop-modbuild
#EXTRA_CFLAGS := -I $(KERNEL_DIR)/include/asm/mach-default
obj-m += cloop.o
cloop-objs := compressed_loop.o
module: compressed_loop.h compressed_loop.c
$(MAKE) modules -C $(KERNEL_DIR) M=$(CURDIR)
install-module: module
$(MAKE) modules_install -C $(KERNEL_DIR) M=$(CURDIR) KERNELRELEASE=$(KVERSION) |
|