Messages in this thread | | | Date | Mon, 23 Feb 2009 11:14:29 +0300 | From | Cyrill Gorcunov <> | Subject | Re: kernel building procedure changed? |
| |
[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 -
| |