[CentOS] rebuilding the kernel.

Mon Aug 11 05:48:46 UTC 2008
Yahia Tachwali <ytachwali at signalogic.com>

Akemi Yagi wrote:

>On Sun, Aug 10, 2008 at 4:04 PM, Yahia Tachwali
><ytachwali at signalogic.com> wrote:
>  
>
>>Akemi Yagi wrote:
>>    
>>
>>>>1- getting the kernel:
>>>> 1.1 access as root
>>>> 1.2 yum install rpm-build redhat-rpm-config
>>>> 1.3 su user
>>>> 1.4 cd
>>>> 1.5 mkdir -p rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
>>>> 1.6 echo "%_topdir %(echo $HOME)/rpmbuild" > .rpmmacros
>>>> 1.7 rpm -i
>>>>
>>>>http://mirror.centos.org/centos/4/updates/SRPMS/kernel-2.6.9-67.0.22.EL.src.rpm
>>>>    2> /dev/null
>>>> 1.8 cd ~/rpmbuild/SPECS
>>>> 1.9 rpmbuild -bp --target=`uname -m` kernel-2.6.spec 2> prep-err.log |
>>>>tee
>>>>prep-out.log
>>>>        
>>>>
>>>Looks good so far.
>>>      
>>>
>>>>These so far sound fine. but then I guess there might be a mistake or
>>>>missing step in my procdure to build the new kernel:
>>>>
>>>>2- building a new kernel:
>>>> 2.1 access as root
>>>> 2.2 rpmbuild -bp --target=`uname -m` kernel-2.6.spec 2> prep-err.log |
>>>>tee
>>>>prep-out.log
>>>>
>>>>        
>>>>
>>>The above rpmbuild is not necessary.  You have done it correctly in
>>>step 1.9 (as user).
>>>
>>>      
>>>
>>>> 2.3 su user
>>>> 2.4 cd ~/rpmbuild/BUILD/kernel-2.6.18/linux-2.6.18.`uname -m`
>>>> 2.5 cp configs/kernel-2.6.18-i686.config .config
>>>> 2.6 make oldconfig
>>>> 2.7 make menuconfig {here I left it as is and did not do any
>>>>modification
>>>>since I am                 planning to include HDLC as a module after
>>>>build
>>>>a complete custom kernel}
>>>>
>>>>        
>>>>
>>>I am confused.  If you did not make any changes here, why would you
>>>expect your new kernel to provide the HDLC support (see above) ???
>>>      
>>>
>>>> 2.8 [user at host SPECS]$ rpmbuild -bb --target=`uname -m` kernel-2.6.spec
>>>>2>
>>>>build-err.log |         tee build-out.log
>>>>        
>>>>
>>>Before that step (rpmbuild -bb), you should at least edit the line:
>>>
>>>%define buildid .your_identifier
>>>
>>>as written in the Wiki tutorial to make your rpm's version different
>>>from the distro's.
>>>
>>>      
>>>
>>>> 2.9 su
>>>> 2.10/ rpm -ivh kernel-*.rpm
>>>>
>>>> and after the last command I have got the conflict warning above. What
>>>>is
>>>>wrong in my             installation procedure! :( Please help.
>>>>/
>>>>
>>>>        
>>>>
>>>Your "customized" kernel has the same version/revision as the
>>>distro's.  So, it won't install unless you force it (not recommended
>>>at all).
>>>
>>>Akemi
>>>      
>>>
>
>  
>
>>Thank you. So if it is not recommended to force it , what should I do to get
>>it installed ?
>>    
>>
>
>Please read my reply to you in its entirety, not just the last part --
>especially the line about "buildid".
>
>Akemi
>_______________________________________________
>CentOS mailing list
>CentOS at centos.org
>http://lists.centos.org/mailman/listinfo/centos
>  
>
Hello Akemi,

I am sorry, I missed your extremely helpful notes. I got it working!!! 
Thank you very much... I got now my card running after getting the HDLC 
module loaded. Thank you very much to you and all the group for this 
support.

I am still wondering if what I did is an overkill to get the module 
loaded. I had the CentOS 4.4 with kernel 2.6.9.42 before installing this 
2.6.9.67 kernel. Is there a way to get the HDLC module built and 
installed with minimal steps rather than going into a complete fresh 
kernel rebuilt? My understanding from tutorials in the web that all what 
you need is to make and make install after editing the config file, but 
unfortunately that did not work in my original kernel, and that is why I 
decided to get a fresh kernel to experiment on.
If I can really get HDLC built and load without kernel build or download 
another kernel source. What could be missing in my original 2.6.9.42 
kernel that prevents me from doing make and make install after editing 
the config file?

Again, I appreciate alot the help and support from this group. You all 
have helped me alot and I am very thankful.