本帖最后由 keer_zu 于 2020-2-29 23:43 编辑
一个简单的示例,makefile:
- KERN_DIR = /home/xxx/ag35_0111_0708/ql-ol-sdk/ql-ol-kernel/msm-3.18
-
- all:
- make -C $(KERN_DIR) M=`pwd` modules
- clean:
- make -C $(KERN_DIR) M=`pwd` modules clean
- rm -rf modules.order
- obj-m += hello.o
出现错误:
- ././include/linux/kconfig.h:4:32: fatal error: generated/autoconf.h: No such file or directory
进入内核目录,执行:
输出结果:
- HOSTCC scripts/basic/fixdep
- HOSTCC scripts/kconfig/conf.o
- SHIPPED scripts/kconfig/zconf.tab.c
- SHIPPED scripts/kconfig/zconf.lex.c
- SHIPPED scripts/kconfig/zconf.hash.c
- HOSTCC scripts/kconfig/zconf.tab.o
- HOSTLD scripts/kconfig/conf
- scripts/kconfig/conf --silentoldconfig Kconfig
- ***
- *** Configuration file ".config" not found!
- ***
- *** Please run some configurator (e.g. "make oldconfig" or
- *** "make menuconfig" or "make xconfig").
- ***
- scripts/kconfig/Makefile:40: recipe for target 'silentoldconfig' failed
- make[2]: *** [silentoldconfig] Error 1
- Makefile:546: recipe for target 'silentoldconfig' failed
- make[1]: *** [silentoldconfig] Error 2
- make: *** No rule to make target 'include/config/auto.conf', needed by 'include/config/kernel.release'. Stop.
于是根据提示,在内核目录执行:
ok后,继续执行: make prepare
得到如下结果:
- CHK include/config/kernel.release
- UPD include/config/kernel.release
- WRAP arch/arm/include/generated/asm/auxvec.h
- WRAP arch/arm/include/generated/asm/bitsperlong.h
- WRAP arch/arm/include/generated/asm/cputime.h
- WRAP arch/arm/include/generated/asm/current.h
- WRAP arch/arm/include/generated/asm/early_ioremap.h
- WRAP arch/arm/include/generated/asm/emergency-restart.h
- WRAP arch/arm/include/generated/asm/errno.h
- WRAP arch/arm/include/generated/asm/exec.h
- WRAP arch/arm/include/generated/asm/hash.h
- WRAP arch/arm/include/generated/asm/ioctl.h
- WRAP arch/arm/include/generated/asm/ipcbuf.h
- WRAP arch/arm/include/generated/asm/irq_regs.h
- WRAP arch/arm/include/generated/asm/kdebug.h
- WRAP arch/arm/include/generated/asm/local.h
- WRAP arch/arm/include/generated/asm/local64.h
- WRAP arch/arm/include/generated/asm/mcs_spinlock.h
- WRAP arch/arm/include/generated/asm/msgbuf.h
- WRAP arch/arm/include/generated/asm/param.h
- WRAP arch/arm/include/generated/asm/parport.h
- WRAP arch/arm/include/generated/asm/poll.h
- WRAP arch/arm/include/generated/asm/preempt.h
- WRAP arch/arm/include/generated/asm/resource.h
- WRAP arch/arm/include/generated/asm/rwsem.h
- WRAP arch/arm/include/generated/asm/scatterlist.h
- WRAP arch/arm/include/generated/asm/sections.h
- WRAP arch/arm/include/generated/asm/segment.h
- WRAP arch/arm/include/generated/asm/sembuf.h
- WRAP arch/arm/include/generated/asm/serial.h
- WRAP arch/arm/include/generated/asm/shmbuf.h
- WRAP arch/arm/include/generated/asm/siginfo.h
- WRAP arch/arm/include/generated/asm/simd.h
- WRAP arch/arm/include/generated/asm/sizes.h
- WRAP arch/arm/include/generated/asm/socket.h
- WRAP arch/arm/include/generated/asm/sockios.h
- WRAP arch/arm/include/generated/asm/termbits.h
- WRAP arch/arm/include/generated/asm/termios.h
- WRAP arch/arm/include/generated/asm/timex.h
- WRAP arch/arm/include/generated/asm/trace_clock.h
- WRAP arch/arm/include/generated/asm/unaligned.h
- CHK include/generated/uapi/linux/version.h
- UPD include/generated/uapi/linux/version.h
- CHK include/generated/utsrelease.h
- UPD include/generated/utsrelease.h
- Generating include/generated/mach-types.h
- CC kernel/bounds.s
- GEN include/generated/bounds.h
- CC arch/arm/kernel/asm-offsets.s
- GEN include/generated/asm-offsets.h
- CALL scripts/checksyscalls.sh
然后继续编译驱动,得到以下错误:
- /bin/sh: 1: ./scripts/recordmcount: not found
于是继续在内核目录下执行:
|