Re: kernel building procedure changed?

From: Cyrill Gorcunov
Date: Mon Feb 23 2009 - 03:14:34 EST


[Cyrill Gorcunov - Mon, Feb 23, 2009 at 10:48:37AM +0300]

...

| Sam, it seems I never paid attention on Makefile
| rules before. Which means -- I don't know if kernel
| build procedure should behave like it do now.
|
| We have the following rule (arch/x86/kernel/Makefile)
|
| extra-y := head_$(BITS).o head$(BITS).o head.o init_task.o
| vmlinux.lds
|
| Does it mean that any obj-y targets should be built before
| extra-y? If "yes" -- all is fine and works well and I'm just
| noising here (sorry for that).
|
| To be precise -- I don't remember how it worked before :)
| I mean it's possible that my previous workflow was:
|
| 1) build whole kernel by "make"
| 2) modify head_64.S
| 3) run "make arch/x86/kernel/head_64.o"
|
| So I will try to repeat these 3 points and report.
|
| - Cyrill -

Ok, I just finished building the whole kernel.
And now building this particular single file is
passed fine.

---

cyrill@lenovo linux-2.6.git $ make
...
Root device is (8, 5)
Setup is 11388 bytes (padded to 11776 bytes).
System is 2819 kB
CRC 3cf5b442
Kernel: arch/x86/boot/bzImage is ready (#13)
Building modules, stage 2.
MODPOST 1 modules
CC drivers/scsi/scsi_wait_scan.mod.o
LD [M] drivers/scsi/scsi_wait_scan.ko
cyrill@lenovo linux-2.6.git $ patch -p1 < patches/x86-remove-balign
patching file arch/x86/kernel/head_64.S
cyrill@lenovo linux-2.6.git $ make arch/x86/kernel/head_64.o
CHK include/linux/version.h
CHK include/linux/utsrelease.h
UPD include/linux/utsrelease.h
SYMLINK include/asm -> include/asm-x86
CALL scripts/checksyscalls.sh
CHK include/linux/compile.h
CC init/version.o
LD init/built-in.o
AS arch/x86/kernel/head_64.o
VDSOSYM arch/x86/vdso/vdso-syms.lds
VDSOSYM arch/x86/vdso/vdso32-int80-syms.lds
VDSOSYM arch/x86/vdso/vdso32-syscall-syms.lds
VDSOSYM arch/x86/vdso/vdso32-sysenter-syms.lds
VDSOSYM arch/x86/vdso/vdso32-syms.lds
LD arch/x86/vdso/built-in.o
CC kernel/trace/trace.o
LD kernel/trace/built-in.o
CC kernel/module.o
CC kernel/kexec.o
LD kernel/built-in.o
---

So all builds fine Sam. But frankly I don't understand why
I have to build the whole kernel to be able to compile
head_64.S.

- Cyrill -
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/