Ump:version Magic ' 3.0.0 SMP preempt mod_unload ARMv7 ' should be ' 3.0.0+ SMP preempt mod_unload AR

Source: Internet
Author: User
Tags svn

Recently in TI's DVSDK write drive module is old by the Linux kernel SVN version number problem, such as "2.6.37-svn41", "2.6.37-svn51" and so on, SVN version of the change, from the above the code kernel version of the change will be changed once, This results in the original driver module KO files must be copied to the new lib/modules/2.6.37-svn51, very cumbersome and not conducive to the release.

So find a blog post "Remove SVN management kernel compiled version of automatic change", see my reprint.

According to its claim will arch/arm/configs/omap3_evm_defconfig inside

Config_localversion_auto=y

Modified to #config_localversion_auto=y

Or #config_localversion_auto is not set

After cleaning the. config file in the kernel source root directory, re-make omap3_evm_defconfig or make Linux_config,config_localversion_auto dependencies are not set but are still built.

It was later found to be set to:

Config_localversion_auto=n

To make it default, the principle of the study and then fill.

But after doing so, compiling the Linux kernel and booting the kernel version into a "2.6.37+" with a "+" number

This will need to modify the Scripts/setlocalversion script, first look at a piece of code[Plain] View plain Copy scm_version ()    {       local short    & nbsp;  short=false          cd  "$srctree"        if test -e .scmversion; then        cat .scmversion       return       fi        if test  "$"  =  "--short"; then            short=true       fi        # Check for git and a git repo.        if test -d .git && head= ' Git rev-parse --verify --short  head 2>/dev/null ';then           # if  we are at a tagged commit  (like  "V2.6.30-RC6"), we ignore           # it, because this version is  defined in the top level makefile.            if [ -z  "' Git describe --exact-match 2>/dev/null '"  ];  then               # if only  the short version is requested, don ' t bother                # running further git commands                    if  $short; then                        echo  "+"                         return                    fi            ......           fi            ......       fi  }   Here's an echo. + ", the" 2.6.37+ "inside the" + "in the end is this statement produced it. started to see some blogs say modify here, comment out "echo" + "", but did not work. Need to analyze, look at the 3rd F statement, meaning that there are at least. Git directory exists to execute this later, but we use SVN, No. git, so here's echo "+" is not executed. Let's look at a piece of code: [Plain] View Plain Copy # scm version string if not at a tagged commit    if test  "$CONFIG _localversion_auto"  =  "y"; then        # full scm version string       res= "$res $ (scm_version) "   else       # append a plus sign if the  repository is not in a clean       #  annotated or signed tagged state  (as git describe only       # looks at signed or annotated tags - git  tag -a/-s)  and       # LOCALVERSION= is not  specified       if test  "${localversion+set}"  !=  "Set";  then          scm=$ (scm_version --short)             res= "$res ${scm:++}"        fi   fi    Here if that means that if the Config_localversion_auto is defined, the SVN version number will be added, we are already set to N, so the else part is executed, scm=$ (scm_version--short) Although the--short passed to Scm_version makes short=true, but. Git does not exist, so scm_version does not print "+", and then see res= "$res ${scm:++}" What does this mean? Scm:++ is actually saying that if the SCM is undefined, the default value "+" is used to mean: + indicates the meaning of using the default value, while the second "+" represents the default value. So the second "+" can be removed. That is, change to res= "$res ${scm:+}", you can print without "+" version number "2.6.37".

Hope to help the peers who have the same problem.


Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.