Re: How to check the kernel compile options ?

From: Rick A. Hohensee (rickh@Capaccess.org)
Date: Tue Feb 05 2002 - 23:55:10 EST


The following is my original post on "make appendage" and some other
goodies you'll find in cLIeNUX, assuming you can find cLIeNUX. Perhaps it
would have recieved more play at the time if the subject line had been

make state relink Linux appendage

The real reason I repeat posts like this though is I look at them later
and *I* can't readily see what I'm talking about. Oops.

make state snags the state of the shell and make environment for the
build. You need a hook in the makefile to get it.

Make relink allows a quick rebuild after one small source file edit
somewhere by zapping all the per-dir lib.o's and other rebuild snaggers.

make Linux saves newbies (We are all newbies) from having the
arch/bla/compressed/actual.img "learning" experience and not trying to
boot vmlinuz.

make appendage is the part that this thread resembles.

Other cLIeNUXisms are the 2-line Bash prompt, here in tawdry monochrome,
and the DISTRO shell variable.

            make state ; make relink ; make Linux ; make appendage

   From: Rick Hohensee ([1]humbubba@smarty.smart.net)
   Date: Mon Apr 10 2000 - 01:00:10 EST

     * Next message: [2]Web Administrator: "Re: /proc/net/dev reporting
       on virtual interfaces"
     * Previous message: [3]Eric W. Biederman: "Re: Suggested dual
       human/binary interface for proc/devfs"
     * Messages sorted by: [4][ date ] [5][ thread ] [6][ subject ] [7][
       author ]
     _________________________________________________________________

   cd linux

   The next 2 lines are an occurance of my Bash prompt...
   :; cLIeNUX0 /dev/tty4 r 20:08:30 /source/core/KERNEL/linux
   :;<cursor here>

   step-wise demo. Elapsed times per $PS1 are not quite realistic.
   ..................................................................
   :; cLIeNUX0 /dev/tty4 r 20:08:30 /source/core/KERNEL/linux
   :;make state
   set > .make_state
   :; cLIeNUX0 /dev/tty4 r 20:10:39 /source/core/KERNEL/linux
   :;cat .make_state
   AR=ar
   ARCH=i386
   AS=as
   AWKPATH=/source/script/awk
   BASH=/.bi/sh
   BASH_VERSINFO=([0]="2" [1]="02" [2]="0" [3]="1" [4]="release"
   [5]="i4<snip>
   BASH_VERSION='2.02.0(1)-release'
   CC='gcc -D__KERNEL__ -I/source/core/KERNEL/linux/include'
   CFLAGS='-Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -pipe
   -fno-s<snip>
   CFLAGS_NSR=-fno-strength-reduce
   CFLAGS_PIPE=-pipe
   COMPILER_PATH='~:/.roo/command:/.bi:/.sbi:/.bi/unix/:.:/.bi/background
   /C/'
   CONFIG_1GB=y
   CONFIG_M386=y
   CONFIG_SHELL=/.bi/sh
   CORE_FILES='arch/i386/kernel/kernel.o arch/i386/mm/mm.o
   kernel/kerne<snip>
   fs/fs.o ipc/ipc.o'
   CPP='gcc -D__KERNEL__ -I/source/core/KERNEL/linux/include -E'
   CROSS_COMPILE=
   C_INCLUDE_PATH=/.bi/background/C/include:/source/C/include/:/suit<snip
>
   DIRSTACK=()
   DISTRO=cLIeNUX
   <snip>

   :; cLIeNUX0 /dev/tty4 r 20:10:39 /source/core/KERNEL/linux
   :;make relink

   rm -v /source/core/KERNEL/linux/arch/i386/boot/bzImage
   /source/core/KERNEL/linux/arch/i386/boot/zImage
   /source/core/KERNEL/linux/vmlinux
   /source/core/KERNEL/linux/arch/i386/boot/compressed/bvmlinux
   /source/core/KERNEL/linux/arch/i386/boot/compressed/bvmlinux.out
   /source/core/KERNEL/linux/arch/i386/boot/compressed/piggy.o
   /source/core/KERNEL/linux/Linux arch/i386/kernel/kernel.o
   arch/i386/mm/mm.o kernel/kernel.o mm/mm.o fs/fs.o ipc/ipc.o
   fs/filesystems.a net/network.a \
           drivers/block/block.a drivers/char/char.a drivers/misc/misc.a
   drivers/net/net.a /source/core/KERNEL/linux/arch/i386/lib/lib.a
   /source/core/KERNEL/linux/lib/lib.a
   /source/core/KERNEL/linux/arch/i386/lib/lib.a
   /source/core/KERNEL/linux/arch/i386/boot/bzImage
   /source/core/KERNEL/linux/arch/i386/boot/zImage
   /source/core/KERNEL/linux/vmlinux
   /source/core/KERNEL/linux/arch/i386/boot/compressed/bvmlinux
   /source/core/KERNEL/linux/arch/i386/boot/compressed/bvmlinux.out
   /source/core/KERNEL/linux/arch/i386/boot/compressed/piggy.o
   /source/core/KERNEL/linux/Linux
   rm: /source/core/KERNEL/linux/arch/i386/boot/bzImage: No such file or
   directory
   rm: /source/core/KERNEL/linux/arch/i386/boot/zImage: No such file or
   directory
   /source/core/KERNEL/linux/vmlinux
   /source/core/KERNEL/linux/arch/i386/boot/compressed/bvmlinux
   /source/core/KERNEL/linux/arch/i386/boot/compressed/bvmlinux.out
   /source/core/KERNEL/linux/arch/i386/boot/compressed/piggy.o
   /source/core/KERNEL/linux/Linux
   arch/i386/kernel/kernel.o
   arch/i386/mm/mm.o
   kernel/kernel.o
   mm/mm.o
   fs/fs.o
   ipc/ipc.o
   fs/filesystems.a
   net/network.a
   drivers/block/block.a
   drivers/char/char.a
   drivers/misc/misc.a
   drivers/net/net.a
   /source/core/KERNEL/linux/arch/i386/lib/lib.a
   /source/core/KERNEL/linux/lib/lib.a
   make: [relink] Error 1 (ignored)
   :; cLIeNUX0 /dev/tty4 r 20:10:39 /source/core/KERNEL/linux
   :;make Linux
   make -C kernel
   make[1]: Entering directory `/source/core/KERNEL/linux/kernel'
   make all_targets
   make[2]: Entering directory `/source/core/KERNEL/linux/kernel'
   rm -f kernel.o
   ld -m elf_i386 -r -o kernel.o signal.o sched.o dma.o fork.o exe<snip>
   make[2]: Leaving directory `/source/core/KERNEL/linux/kernel'
   make[1]: Leaving directory `/source/core/KERNEL/linux/kernel'
   make -C drivers
   make[1]: Entering directory `/source/core/KERNEL/linux/drivers'
   make -C block
   make[2]: Entering directory `/source/core/KERNEL/linux/drivers/block'
   make all_targets
   make[3]: Entering directory `/source/core/KERNEL/linux/drivers/block'
   rm -f block.a
   ar rcs block.a ll_rw_blk.o genhd.o
   make[3]: Leaving directory `/source/core/KERNEL/linux/drivers/block'

   < ... much more re-linking and no actual compiling snipped...>

   Root device is (8, 1)
   Boot sector 512 bytes.
   Setup is 1288 bytes.
   System is 154 kB
   make[1]: Leaving directory `/source/core/KERNEL/linux/arch/i386/boot'
   mv /source/core/KERNEL/linux/arch/i386/boot/bzImage
   /source/core/<snip>
   :; cLIeNUX0 /dev/tty4 r 20:20:19 /source/core/KERNEL/linux
   :;make appendage
   set > .make_state
   echo -e "\n\nCONFIG_>> .config appendage..." >> /source/c
   grep -v "^#" /source/core/KERNEL/linux/.config >> /source/core/K<snip>
   echo -e "\nCONFIG_>> .make_state appendage..." >>
   /source/core/KERNE<snip>
   cat /source/core/KERNEL/linux/.make_state >>
   /source/core/KERNEL/linux/Linux
   :; cLIeNUX0 /dev/tty4 r 20:22:09 /source/core/KERNEL/linux
   :;grep CONFIG Linux
   Binary file Linux matches
   :; cLIeNUX0 /dev/tty4 r 20:22:25 /source/core/KERNEL/linux
   :;grep -a CONFIG Linux
   CONFIG_>> .config appendage...
   CONFIG_M386=y
   CONFIG_1GB=y
   CONFIG_>> .make_state appendage...
   CONFIG_1GB=y
   CONFIG_M386=y
   CONFIG_SHELL=/.bi/sh
   :; cLIeNUX0 /dev/tty4 r 20:22:32 /source/core/KERNEL/linux
   :;
   ....................................................................

   caused by...
           in linux/Makefile...
                   ..................................................
   relink:
           -rm -v $(IMAGES) $(CORE_FILES) $(FILESYSTEMS) $(NETWORKS) \
                   $(DRIVERS) $(LIBS)

   state:
           set > .make_state

   ................................................................
           In linux/arch/i386/Makefile...

                   ................................................

   IMAGES =$(TOPDIR)/arch/$(ARCH)/boot/bzImage \
                    $(TOPDIR)/arch/$(ARCH)/boot/zImage \
                    $(TOPDIR)/vmlinux \
                    $(TOPDIR)/arch/$(ARCH)/boot/compressed/bvmlinux \
                    $(TOPDIR)/arch/$(ARCH)/boot/compressed/bvmlinux.out \
                    $(TOPDIR)/arch/$(ARCH)/boot/compressed/piggy.o \
                    $(TOPDIR)/Linux

   Linux: bzImage
           mv $(TOPDIR)/arch/$(ARCH)/boot/bzImage $(TOPDIR)/Linux

   append appendage: state
           -echo -e "\n\nCONFIG_>> .config appendage..." >>
   $(TOPDIR)/Linux
           -grep -v "^#" $(TOPDIR)/.config >> $(TOPDIR)/Linux
           -echo -e "\nCONFIG_>> .make_state appendage..." >>
   $(TOPDIR)/Linux
           -cat $(TOPDIR)/.make_state >> $(TOPDIR)/Linux

   ......................................................................
   .

   I wasn't going to bother with make targets for these, not being real
   fond
   of make anyway, until I saw that the variables in the relink: target
   except for IMAGES already exist.

                           Cordially,

                                   Rick Hohensee

r

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



This archive was generated by hypermail 2b29 : Thu Feb 07 2002 - 21:00:46 EST