Rebuild a changed kernel quickly with make?

Martin Kepplinger martink at posteo.de
Thu Jul 4 08:59:42 EDT 2013


On 04.07.2013 11:13, David kiarie wrote:
> 
> 
> On Thu, Jul 4, 2013 at 9:53 AM, Warlich, Christof
> <christof.warlich at siemens.com <mailto:christof.warlich at siemens.com>> wrote:
> 
>     > When I change something in the kernel and just hit make from toplevel
>     > dir, it always compiles everything again, no matter if it wasn't
>     changed
>     > at all in the meantime.
>     > I thought make should be able to make a second build time really
>     quick.
>     > What am I doing wrong? Is there a make target I don't know of? I don't
>     > type in any, just make.
> 
>     Are you sure it rebuilds _everything_, i.e. as in a fresh build or
>     after a "make clean?"
> 
>     When I rerun make without changing anything, it just does the
>     following, which is much
>     Less than a complete build:
> 
>     $ make
>     make -C /root/views/DCUOS_3/derived/tdc/kernel
>     O=/root/views/DCUOS_3/derived/tdc/kernelObjects/.
>       Using /root/views/DCUOS_3/derived/tdc/kernel as source for kernel
>       GEN     /root/views/DCUOS_3/derived/tdc/kernelObjects/Makefile
>       CHK     include/linux/version.h
>       CHK     include/linux/utsrelease.h
>       SYMLINK include/asm -> include/asm-x86
>       CALL  
>      /root/views/DCUOS_3/derived/tdc/kernel/scripts/checksyscalls.sh
>       CHK     include/linux/compile.h
>       VDSOSYM arch/x86/vdso/vdso32-int80-syms.lds
>       VDSOSYM arch/x86/vdso/vdso32-sysenter-syms.lds
>       VDSOSYM arch/x86/vdso/vdso32-syms.lds
>       LD      arch/x86/vdso/built-in.o
>       LD      arch/x86/built-in.o
>       LD      vmlinux.o
>       MODPOST vmlinux.o
>       GEN     .version
>       CHK     include/linux/compile.h
>       UPD     include/linux/compile.h
>       CC      init/version.o
>       LD      init/built-in.o
>       LD      .tmp_vmlinux1
>       KSYM    .tmp_kallsyms1.S
>       AS      .tmp_kallsyms1.o
>       LD      .tmp_vmlinux2
>       KSYM    .tmp_kallsyms2.S
>       AS      .tmp_kallsyms2.o
>       LD      vmlinux
>       SYSMAP  System.map
>       SYSMAP  .tmp_System.map
>       VOFFSET arch/x86/boot/voffset.h
>       OBJCOPY arch/x86/boot/compressed/vmlinux.bin
>       GZIP    arch/x86/boot/compressed/vmlinux.bin.gz
>       MKPIGGY arch/x86/boot/compressed/piggy.S
>       AS      arch/x86/boot/compressed/piggy.o
>       LD      arch/x86/boot/compressed/vmlinux
>       ZOFFSET arch/x86/boot/zoffset.h
>       AS      arch/x86/boot/header.o
>       CC      arch/x86/boot/version.o
>       LD      arch/x86/boot/setup.elf
>       OBJCOPY arch/x86/boot/setup.bin
>       OBJCOPY arch/x86/boot/vmlinux.bin
>       BUILD   arch/x86/boot/bzImag
>     Setup is 11148 bytes (padded to 11264 bytes).
>     System is 1759 kB
>     CRC f583db84
>     Kernel: arch/x86/boot/bzImage is ready  (#3)
>       Building modules, stage 2.
>       MODPOST 1 modules
>     _______________________________________________
>     Kernelnewbies mailing list
>     Kernelnewbies at kernelnewbies.org <mailto:Kernelnewbies at kernelnewbies.org>
>     http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
> 
> Am also pretty sure it does not compile everything.
> 
> 
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
> 
indeed it doesn't compile everything but a lot (or all?) modules for
example. A build with very little changes lasts more than half the time
a fresh clean build lasts. But I don't seem to do anything wrong then,
just wanted to check if I can do something about it. thanks!!

                 martin




More information about the Kernelnewbies mailing list