[CentOS] rebuilding the kernel.

Sun Aug 10 22:07:49 UTC 2008
Yahia Tachwali <ytachwali at signalogic.com>

Johnny Hughes wrote:

> Yahia Tachwali wrote:
>
>> Yahia Tachwali wrote:
>>
>>> Thank you very much for the link.. I have built a new bootable 
>>> kernel 2.6.9-67 on my machine. However I still have a problem :(
>>>
>>> During the installation at "make menuconfig" stage after "make 
>>> oldconfig" I have added the generic HDLC package with synchronous 
>>> PPP support and saved the new config then run
>>>
>>> rpmbuild -bb --target=`uname -m` kernel-2.6.spec 2> build-err.log | 
>>> tee build-out.log.
>>>
>>> After reboot, I rechecked the menuconfig to make sure that the HDLC 
>>> setting is there. I am not sure if this setting took effect or I 
>>> have to make modules or build something else. So how would I know 
>>> that the HDLC package is availalbe and built in?
>>>
>>> To elaborate more on the reasons behind this HDLC package, I am 
>>> trying to build a device driver that asks for HDLC support. upon 
>>> building the driver, I get the following warnings:
>>>
>>>  Building modules, stage 2.
>>>  MODPOST
>>> *** Warning: "unregister_hdlc_device" 
>>> [/home/DS3/wanPTMC-256T3_2_0B/driver/wan256t3.ko] undefined!
>>> *** Warning: "hdlc_ioctl" 
>>> [/home/DS3/wanPTMC-256T3_2_0B/driver/wan256t3.ko] undefined!
>>> *** Warning: "hdlc_open" 
>>> [/home/DS3/wanPTMC-256T3_2_0B/driver/wan256t3.ko] undefined!
>>> *** Warning: "register_hdlc_device" 
>>> [/home/DS3/wanPTMC-256T3_2_0B/driver/wan256t3.ko] undefined!
>>> *** Warning: "hdlc_close" 
>>> [/home/DS3/wanPTMC-256T3_2_0B/driver/wan256t3.ko] undefined!
>>> *** Warning: "alloc_hdlcdev" 
>>> [/home/DS3/wanPTMC-256T3_2_0B/driver/wan256t3.ko] undefined!
>>>
>>> Therefore, I am suspecting that I need the HDLC package available. I 
>>> would be extremely thankful for anybody who can help me in this 
>>> problem. Am I going into the wrong direction?
>>>
>>>
>>>
>>> jancio_wodnik at wp.pl wrote:
>>>
>>>> Johnny Hughes pisze:
>>>>
>>>>> jancio_wodnik at wp.pl wrote:
>>>>>
>>>>>> Yahia Tachwali pisze:
>>>>>>
>>>>>>> Hello folks,
>>>>>>
>>>>>>
>>>>>>
>>>>>> Hi. It is request for it to add this in kernel for centosplus, 
>>>>>> look at this: http://bugs.centos.org/view.php?id=3019
>>>>>>
>>>>>>>
>>>>>>> I am trying to add HDLC module support in the menuconfig. 
>>>>>>> However, I am facing difficulties in rebuilding the kernel and 
>>>>>>> modules. My main objective is to get the HDLC supported in 
>>>>>>> kernel 2.6.9. I have a CentOS 4.4 with kernel 2.6.9.42. I need 
>>>>>>> help in finding the best way to add the HDLC support whether 
>>>>>>> through getting an RPM package for it or refering me to the 
>>>>>>> right procedure in rebuilding the kernel.
>>>>>>>
>>>>>>> Thank you very much in advance for your help.
>>>>>>
>>>>>>
>>>>>>
>>>>>> No problem.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> That request was for CentOS-5, not CentOS-4 :D
>>>>
>>>>
>>>>
>>>> ? I can see: Category: [CentOS-4] kernel-centosplus My request was 
>>>> exactly for centos 4 branch, but for 5 is good too. So, can i count 
>>>> for You to make it posible in centos4 to support hdlc ?
>>>>
>>>>>
>>>>> HDLC was added to the CentOS-5 plus kernel for the latest version.
>>>>
>>
>> Sorry about the top posting :(
>>
>> After reconfiguring the menuconfig to enable the HDLC suport package 
>> (under device drivers). I have tried also do:
>>
>> modinfo hdlc
>>
>> but i did not get any info in return... Also I have tried :
>>
>> lsmod
>>
>> to check for hdlc module but I could not find it... I guess I am 
>> missing something to activate my new settings in the menuconfig.  Is 
>> there a way to verify that my new settings active!! Does any body 
>> know about the HDLC modules loading in the 2.6.9. Please advise. And 
>> thank you all for your help.
>>
>
> After you rebuild the RPM, you need to install the new RPM you just 
> built.
>
> After that, modinfo should work
>
>------------------------------------------------------------------------
>
>_______________________________________________
>CentOS mailing list
>CentOS at centos.org
>http://lists.centos.org/mailman/listinfo/centos
>  
>
Hello,

Thank you for the info, I have installed the rpm and I ended up with the 
following :
----------------------------------------------------------------------------------------------------------
[root at localhost i686]# rpm -ivh kernel-*.rpm
Preparing...                ########################################### 
[100%]
        package kernel-2.6.9-67.0.22.EL is already installed
        package kernel-devel-2.6.9-67.0.22.EL is already installed
        package kernel-hugemem-devel-2.6.9-67.0.22.EL is already installed
        package kernel-smp-devel-2.6.9-67.0.22.EL is already installed
        file /boot/System.map-2.6.9-67.0.22.EL from install of 
kernel-2.6.9-67.0.22.EL conflicts with file from package 
kernel-2.6.9-67.0.22.EL
        file /boot/config-2.6.9-67.0.22.EL from install of 
kernel-2.6.9-67.0.22.EL conflicts with file from package 
kernel-2.6.9-67.0.22.EL
        file /boot/symvers-2.6.9-67.0.22.EL.gz from install of 
kernel-2.6.9-67.0.22.EL conflicts with file from package 
kernel-2.6.9-67.0.22.EL
        file /boot/vmlinuz-2.6.9-67.0.22.EL from install of 
kernel-2.6.9-67.0.22.EL conflicts with file from package 
kernel-2.6.9-67.0.22.EL
----------------------------------------------------------------------------------------------------------

However, I was able to reboot with the new kernel but still I can not 
find o files for my HDLC in the kernel path under driver/net/wan. I am 
listing below the steps that I did to install a new customized kernel 
starting from fresh installation of CentOS 4.4 with kernel 2.6.9-42

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

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
    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}
    2.8 [user at host SPECS]$ rpmbuild -bb --target=`uname -m` 
kernel-2.6.spec 2> build-err.log |         tee build-out.log
    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.
/