Re: [gentoo-user] different strange kernel name - 2.6.24-gentoo-r4-g506ab20b-dirty

2008-04-29 Thread Willie Wong
On Tue, Apr 29, 2008 at 11:05:07AM +0800, Penguin Lover Chuanwen Wu squawked:
 1, Why I got a new  kernel  image(2.6.24-gentoo-r4-gb921d0de-dirty)
 instead of using the old one (2.6.24-gentoo-r4-g506ab20b-dirty) ? As I
 know if I add/change something as modules, all I need to do is make
  make modules_install, and I don't need to install the kernel image
 again and reboot my OS because all the changes are  in modules and the
 kernel image is all the same - fixed me please if I'm wrong.
  2, Why the kernel image  including my codes  have a very strange name
 - 2.6.24-gentoo-r4-g506ab20b-dirty.
 

If you are coding for the kernel, I certainly hope you read the docs!

Here's something from the help menu that pops up when you go to
  make menuconfig
   General Setup  Automatically append version information to the version 
string
  and hit help for that entry

  This will try to automatically determine if the current tree is a
  release tree by looking for git tags that belong to the current top
  of tree revision. 

  A string of the format -g will be added to the localversion
  if a git based tree is found. The string generated by this will be
  appended after any matching localversion files, and after the value
  set in CONFIG_LOCALVERSION

If you are maintainig a git repository, you'd be dealing with a tree
always in flux (with the same versioning number I think), so it helps
tremendously if there's some way of differentiating between different
kernel images. 

This also means that if you don't want this behaviour, just uncheck
that option in the configs. 

W
-- 
When a clock is hungry it goes back four seconds.
Sortir en Pantoufles: up 508 days, 12:29
-- 
gentoo-user@lists.gentoo.org mailing list



Re: [gentoo-user] different strange kernel name - 2.6.24-gentoo-r4-g506ab20b-dirty

2008-04-29 Thread Chuanwen Wu
Thank Willie!
On Tue, Apr 29, 2008 at 9:59 PM, Willie Wong [EMAIL PROTECTED] wrote:
 On Tue, Apr 29, 2008 at 11:05:07AM +0800, Penguin Lover Chuanwen Wu squawked:

  1, Why I got a new  kernel  image(2.6.24-gentoo-r4-gb921d0de-dirty)
   instead of using the old one (2.6.24-gentoo-r4-g506ab20b-dirty) ? As I
   know if I add/change something as modules, all I need to do is make
make modules_install, and I don't need to install the kernel image
   again and reboot my OS because all the changes are  in modules and the
   kernel image is all the same - fixed me please if I'm wrong.
2, Why the kernel image  including my codes  have a very strange name
   - 2.6.24-gentoo-r4-g506ab20b-dirty.
  

  If you are coding for the kernel, I certainly hope you read the docs!
I have tried more than two hours.
In fact, at last I fixed this problem by READ Makefile in the root of
the kernel tree(/usr/src/linux).
From this Makefile, I find this section:
/***/
# If CONFIG_LOCALVERSION_AUTO is set scripts/setlocalversion is called
# and if the SCM is know a tag from the SCM is appended.
# The appended tag is determined by the SCM used.
#
# Currently, only git is supported.
# Other SCMs can edit scripts/setlocalversion and add the appropriate
# checks as needed.
ifdef CONFIG_LOCALVERSION_AUTO
_localver-auto = $(shell $(CONFIG_SHELL) \
  $(srctree)/scripts/setlocalversion $(srctree))
localver-auto  = $(LOCALVERSION)$(_localver-auto)
endif

localver-full = $(localver)$(localver-auto)
//
I thought the localver-auto may be something like -gb921d0de-dirty.
Then I checked out the file scripts/setlocalversion, and commend all
the git thing. Now my scripts/setlocalversion is:

$ cat scripts/setlocalversion
#!/bin/sh
# Print additional version information for non-release trees.

usage() {
echo Usage: $0 [srctree] 2
exit 1
}

cd ${1:-.} || usage

# Check for git and a git repo.
#if head=`git rev-parse --verify HEAD 2/dev/null`; then
# Do we have an untagged version?
#   if git name-rev --tags HEAD | grep -E
'^HEAD[[:space:]]+(.*~[0-9]*|undefined)$'  /dev/null; then
#   printf '%s%s' -g `echo $head | cut -c1-8`
#   fi

# Are there uncommitted changes?
#   if git diff-index HEAD | read dummy; then
#   printf '%s' -dirty
#   fi
#fi

I am not familiar with Shell script, so maybe my solution is not very
good, but it fixed the problem :)


  Here's something from the help menu that pops up when you go to
   make menuconfig
General Setup  Automatically append version information to the version 
 string
   and hit help for that entry

   This will try to automatically determine if the current tree is a
   release tree by looking for git tags that belong to the current top
   of tree revision.

   A string of the format -g will be added to the localversion
   if a git based tree is found. The string generated by this will be
   appended after any matching localversion files, and after the value
   set in CONFIG_LOCALVERSION

  If you are maintainig a git repository, you'd be dealing with a tree
  always in flux (with the same versioning number I think), so it helps
  tremendously if there's some way of differentiating between different
  kernel images.

  This also means that if you don't want this behaviour, just uncheck
  that option in the configs.

  W
  --
  When a clock is hungry it goes back four seconds.
  Sortir en Pantoufles: up 508 days, 12:29
  --
  gentoo-user@lists.gentoo.org mailing list





-- 
wcw
-- 
gentoo-user@lists.gentoo.org mailing list



[gentoo-user] different strange kernel name - 2.6.24-gentoo-r4-g506ab20b-dirty

2008-04-28 Thread Chuanwen Wu
Hi,
I want to add my codes to the kernel source( I use gentoo-source ) and
compile it as modules.
All my codes are under the directory /usr/src/linu/fs/dnfs/.
The problem is why everytime after I changed my codes and re-complied
the kernel, I got a different strange kernel image.

Here is the details:
  linux # make  make modules_install
  CHK include/linux/version.h
  [...]
  LD  kernel/built-in.o
  CC [M]  fs/dnfs/dnfs.o
  my codes
fs/dnfs/dnfs.c: In function 'init_once':
fs/dnfs/dnfs.c:22: warning: ISO C90 forbids mixed declarations and code
fs/dnfs/dnfs.c: In function 'init_dnfs_fs':
fs/dnfs/dnfs.c:51: warning: ISO C90 forbids mixed declarations and code
  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.o
  MODPOST vmlinux.o
  LD  vmlinux
  SYSMAP  System.map
  SYSMAP  .tmp_System.map
  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/compressed/vmlinux.bin
  GZIParch/x86/boot/compressed/vmlinux.bin.gz
  LD  arch/x86/boot/compressed/piggy.o
  LD  arch/x86/boot/compressed/vmlinux
  OBJCOPY arch/x86/boot/vmlinux.bin
  BUILD   arch/x86/boot/bzImage
Root device is (8, 38)
Setup is 10904 bytes (padded to 11264 bytes).
System is 2763 kB
Kernel: arch/x86/boot/bzImage is ready  (#22)
  Building modules, stage 2.
  MODPOST 12 modules
  [...]
  CC  fs/dnfs/dnfs.mod.o# build modules
  LD [M]  fs/dnfs/dnfs.ko
  [...]
  INSTALL fs/dnfs/dnfs.ko # install modules
  [...]
  DEPMOD  2.6.24-gentoo-r4-gb921d0de-dirty  ###  a
different strange kernel image name

then, the kernel image I am using now is:
 # uname -r
2.6.24-gentoo-r4-g506ab20b-dirty

From the above, I get two questions:
1, Why I got a new  kernel  image(2.6.24-gentoo-r4-gb921d0de-dirty)
instead of using the old one (2.6.24-gentoo-r4-g506ab20b-dirty) ? As I
know if I add/change something as modules, all I need to do is make
 make modules_install, and I don't need to install the kernel image
again and reboot my OS because all the changes are  in modules and the
kernel image is all the same - fixed me please if I'm wrong.
 2, Why the kernel image  including my codes  have a very strange name
- 2.6.24-gentoo-r4-g506ab20b-dirty.

Any help will be appreciated!
-- 
wcw
-- 
gentoo-user@lists.gentoo.org mailing list