Re: script for compiling the kernel

Riley Williams (rhw@MemAlpha.CX)
Tue, 13 Jul 1999 12:45:47 +0100 (GMT)


Hi again Steffen.

>> Q> make zImage
>> Q> if [ $? -gt 0 -a -f vmlinux ]; then
>> Q> make bzImage
>> Q> fi
>> Q> exit $?

> I like that.

8-)

>> I've had zImage fail and bzImage not fail due to a problem with
>> the setup dependancy that wasn't there with the bsetup
>> dependancy. The root cause was that the kernel was too big, but
>> it hit in a different place, and didn't produce the "Kernel is
>> too big" message as a result.

> Does it also handle the problem that you've described above ?

It does.

> Was vmlinux generated in that case ?

Yes - vmlinux is generated before it gets on to the boot/bboot,
setup/bsetup dependancies, so this gets handled the same way.

Here's the relevant lines from arch/i386/Makefile...

Q> MAKEBOOT = $(MAKE) -C arch/$(ARCH)/boot
Q>
Q> zImage: vmlinux
Q> @$(MAKEBOOT) zImage
Q>
Q> bzImage: vmlinux
Q> @$(MAKEBOOT) bzImage

...and the relevant lines from arch/i386/boot/Makefile...

Q> zImage: $(CONFIGURE) bootsect setup compressed/vmlinux tools/build
Q> $(OBJCOPY) compressed/vmlinux compressed/vmlinux.out
Q> tools/build bootsect setup compressed/vmlinux.out $(ROOT_DEV) > zImage
Q>
Q> bzImage: $(CONFIGURE) bbootsect bsetup compressed/bvmlinux tools/build
Q> $(OBJCOPY) compressed/bvmlinux compressed/bvmlinux.out
Q> tools/build -b bbootsect bsetup compressed/bvmlinux.out $(ROOT_DEV) > bzImage

As you can see, the former have vmlinux as a dependancy, so it gets
compiled before their actions are called. In both cases, their actions
consist of a call to the latter, which then compile the boot sector
and setup code, and compress vmlinux, before performing their actions.

Best wishes from Riley.

+----------------------------------------------------------------------+
| There is something frustrating about the quality and speed of Linux |
| development, ie., the quality is too high and the speed is too high, |
| in other words, I can implement this XXXX feature, but I bet someone |
| else has already done so and is just about to release their patch. |
+----------------------------------------------------------------------+
* ftp://ftp.MemAlpha.cx/pub/rhw/Linux
* http://www.MemAlpha.cx/kernel.versions.html

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