Practical way to rename kernel-release on custom kernel

shhuiw shhuiw at 163.com
Thu Jul 10 20:47:07 EDT 2014


In Documentation/kbuild/makefiles.txt, you can see:


...
1365     VERSION, PATCHLEVEL, SUBLEVEL, EXTRAVERSION
1366
1367         These variables define the current kernel version.  A few arch
1368         Makefiles actually use these values directly; they should use
1369         $(KERNELRELEASE) instead.
1370
1371         $(VERSION), $(PATCHLEVEL), and $(SUBLEVEL) define the basic
1372         three-part version number, such as "2", "4", and "0".  These three
1373         values are always numeric.
1374
1375         $(EXTRAVERSION) defines an even tinier sublevel for pre-patches
1376         or additional patches.  It is usually some non-numeric string
1377         such as "-pre4", and is often blank.
1378
1379     KERNELRELEASE
1380
1381         $(KERNELRELEASE) is a single string such as "2.4.0-pre4", suitable
1382         for constructing installation directory names or showing in
1383         version strings.  Some arch Makefiles use it for this purpose.
1384
1385     ARCH
1386
1387         This variable defines the target architecture, such as "i386",
1388         "arm", or "sparc". Some kbuild Makefiles test $(ARCH) to
1389         determine which files to compile.
1390
1391         By default, the top Makefile sets $(ARCH) to be the same as the
1392         host system architecture.  For a cross build, a user may
1393         override the value of $(ARCH) on the command line:
1394
1395             make ARCH=m68k ..
...


--

Regards,
shhuiw




At 2014-07-10 11:28:39, "Safarin" <safarin87 at gmail.com> wrote:
>Hi Guys,
>
>This question might be very easy for all of you. But seem this is
>kernelnewbies mailing list. I need to ask this question.
>
>I in the middle of learning to build custom kernel and my question is
>how to have custom name for kernel version.
>
>$ uname -r
>
>I can see custom kernel print message.
>
>>From what I read, we can change inside .config 
>CONFIG_LOCALVERSION="-ARCH"
>will produce the kernel release naming something like this.
>3.16.0-rc3-ARCH
>
>But somehow, when I try to install the modules
>
>$make modules_install 
>
>I can see makefile create folder inside the lib/modules with naming
>3.16.0-rc3-ARCH-00570-g110e430
>
>110e430 is actually commit id and I check that naming is generated by 
>#define UTS_RELEASE "3.16.0-rc3-ARCH-00570-g110e430" in the
>"include/generated/utsrelease.h" header  which will
>overwrite "include/config/kernel.release".
>
>Back to the question, what is the practical way to naming the kernel
>release for custom kernel? with additional question for understanding
>more from where that utsrelease came from?
>
>Thanks,
>
>Regards,
>Safarin
>
>_______________________________________________
>Kernelnewbies mailing list
>Kernelnewbies at kernelnewbies.org
>http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20140711/b34c3522/attachment.html 


More information about the Kernelnewbies mailing list