Tagged: CentOS RSS

  • Jonny Gerold 12:00 am on February 9, 2009 Permalink | Reply
    Tags: CentOS, ,   

    2.6.18 {i686 – PAE} [OpenVZ *newest* | DRBD 8.3.0 

    How to compile 2.6.18 with newest DRBD.

    It’s kinda a joke that OpenVZ just released a new RHEL5 kernel and it has DRBD 8.2.6 (meh) So I’m doing a short write up on the commands to semi-automatically build a 2.6.18 kernel with OpenVZ & DRBD 8.3.0. I’m choosing to do i686, but if you want to change it to x86_64 or remove PAE then just edit .config & download the correct OpenVZ patch.

    mkdir -p /usr/src/kernels/2.6.18_vz_drbd_ibcs/src
    cd /usr/src/kernels/2.6.18_vz_drbd_ibcs/src
    wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.18.tar.gz
    wget http://oss.linbit.com/drbd/8.3/drbd-8.3.0.tar.gz
    wget http://voxel.dl.sourceforge.net/sourceforge/linux-abi/ibcs-3_7.tgz
    wget http://download.openvz.org/kernel/branches/rhel5-2.6.18/028stab060.2/patches/patch-92.1.18.el5.028stab060.2-combined.gz
    wget http://download.openvz.org/kernel/branches/rhel5-2.6.18/028stab060.2/configs/kernel-2.6.18-i686-PAE.config.ovz
    
    tar xzf linux-2.6.18.tar.gz -C ..
    tar xzf drbd-8.3.0.tar.gz -C ..
    mkdir ../ibcs
    tar xzf ibcs-3_7.tgz -C ../ibcs
    cp patch-92.1.18.el5.028stab060.2-combined.gz ..
    cd ..
    
    gunzip -c patch-92.1.18.el5.028stab060.2-combined.gz | patch -p0 patch-92.1.18.el5.028stab060.2-combined.gz
    
    cd drbd-8.3.0
    make KDIR=/usr/src/kernels/2.6.18_vz_drbd_ibcs/linux-2.6.18 kernel-patch
    cp patch-linux-2.6.18-drbd-8.3.0 ..
    cd ..
    patch -p0 < patch-linux-2.6.18-drbd-8.3.0
    
    cd linux-2.6.18
    cp ../src/kernel-2.6.18-i686-PAE.config.ovz ./.config
    make menuconfig
    

    After you run: make menuconfig, this is the one important thing that you need to change...

    Device Drivers > Block devices >  <*>   DRBD Distributed Replicated Block Device support
    

    Then build the kernel:

    time make -j7 rpm
    

    Now install, and enjoy ;)

    Make the initrd image:

    mkinitrd /boot/initrd-2.6.18-PAE.img 2.6.18-prep
    

    Add this to /boot/grub/menu.lst

    title CentOS (2.6.18 OPENVZ|DRBD)
            root(hd0,0)
            kernel /vmlinuz-2.6.18-prep ro root=LABEL=/
            initrd /initrd-2.6.18-PAE.img
    
     
  • Jonny Gerold 12:00 am on December 11, 2008 Permalink | Reply
    Tags: CentOS, , ,   

    CentOS 2.6.24 (i686PAE) | OpenVZ ovz006.5 | DRBD 8.3.0 | IBCS 3.7 

    The goal is to have an i686 kernel with 4GB+ memory support (PAE) with OpenVZ, IBCS, and DRBD.

    Environment:
    Dell 2900
    -8 Cores (1.60Ghz)
    -24GB RAM

    Operating System:
    CentOS 5

    Lets start by making ourselves a working directory:

    mkdir -p /usr/src/kernels/2.6.24_vz_drbd_ibcs/src
    cd /usr/src/kernels/2.6.24_vz_drbd_ibcs/src
    

    Then we need to collect all the parts to build the patched kernel/modules:

    wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.24.tar.gz
    wget http://oss.linbit.com/drbd/8.3/drbd-8.3.0.tar.gz
    wget http://voxel.dl.sourceforge.net/sourceforge/linux-abi/ibcs-3_7.tgz
    wget http://download.openvz.org/kernel/branches/2.6.24/2.6.24-ovz006.5/patches/patch-ovz006.5-combined.gz
    wget http://download.openvz.org/kernel/branches/2.6.24/2.6.24-ovz006.5/configs/kernel-2.6.24-i686-PAE.config.ovz
    

    Now that we have all the pieces we need lets start extractin & patchin. BTW, I’ll start all the command blocks with a pwd to show you where I am…:

    pwd
    /usr/src/kernels/2.6.24_vz_drbd_ibcs/src
    tar xzf linux-2.6.24.tar.gz -C ..
    tar xzf drbd-8.3.0.tar.gz -C ..
    mkdir ../ibcs
    tar xzf ibcs-3_7.tgz -C ../ibcs
    cp patch-ovz006.5-combined.gz ..
    cd ..
    

    Ok stay calm, I just put all the source files in /src, and will build the kernel in 2.6.24_vz_drbd_ibcs.

    pwd
    /usr/src/kernels/2.6.24_vz_drbd_ibcs
    gunzip -c patch-ovz006.5-combined.gz | patch -p0 patch-ovz006.5-combined.gz
    

    Lets continue by patching in drbd. You have to actually patch this in as opposed to building it as a module since that doesn’t work.

    pwd
    /usr/src/kernels/2.6.24_vz_drbd_ibcs
    cd drbd-8.3.0
    make KDIR=/usr/src/kernels/2.6.24_vz_drbd_ibcs/linux-2.6.24 kernel-patch
    cp patch-linux-2.6.24-drbd-8.3.0 ..
    cd ..
    patch -p0 < patch-linux-2.6.24-drbd-8.3.0
    
    pwd
    /usr/src/kernels/2.6.24_vz_drbd_ibcs
    cd linux-2.6.24
    cp ../src/kernel-2.6.24-i686-PAE.config.ovz ./.config
    make menuconfig
    

    After you're dropped into menuconfig you need to set drbd to <*> (to compile drbd into the kernel)

    Device Drivers > Block devices >  <*>   DRBD Distributed Replicated Block Device support
    

    At the moment you have a vanilla 2.6.24 kernel with OpenVZ ovz006.5 (patched) and DRBD 8.3.0 RC2 (patched). The only thing left is IBCS which we will install as a module after we have compiled and booted into the OS. As for now lets go ahead and compile, install, and boot.

    time make -j7 rpm
    

    The build command 'time make -j7 rpm' will tell you how long it took to build at the end, the -j is how many jobs it can run at once (8 cores - 1 core for OS = 7 cores) and 'rpm' will do package it up for you in and store it at /usr/src/redhat/RPMS{*}

    If it compiles correctly you should get no errors, and see something like this:

    --output from compile--
    
    real	6m27.445s
    user	37m59.198s
    sys	6m18.564s
    

    Then navigate to /usr/src/redhat/{athlon, i386, i486, i586, i686, noarch} depending on your archetecture. Mine was in i386.

    ls
    kernel-2.6.24-2.i386.rpm
    pwd
    /usr/src/redhat/RPMS/i386
    rpm -i kernel-2.6.24-2.i386.rpm
    

    You should get something like the above...

    Then you need to make the ramdisk:

    mkinitrd /boot/initrd-2.6.24.img 2.6.24
    

    After that add an entry to grub to test your new kernel with OpenVZ and DRBD.

    title CentOS (2.6.24 VZ_DRBD_IBCS)
            root(hd0,0)
            kernel /vmlinuz-2.6.24 ro root=LABEL=/
            initrd /initrd-2.6.24.img
    

    If everything goes as expected, then you should boot up. If it doesn't boot, or boots into the wrong kernel then you should check that you did everything correctly... Anywho, you should now be booted into your new kernel.

    Lets continue by installing IBCS, and finishing up...

    pwd
    /usr/src/kernels/2.6.24_vz_drbd_ibcs/ibcs
    time make
    

    If you received no errors, then continue edit /etc/rc.local to startup icbs on startup. Add the following to the end of your /etc/rc.local:

    /usr/src/kernels/2.6.24_vz_drbd_ibcs/ibcs/abi_ldr
    

    You could move abi_ldr to /usr/bin if you would like, and just make sure to have the path above correspond where you decide to put abi_ldr.

    You're Finished!

    Resources:
    http://www.drbd.org/users-guide/s-build-from-source.html
    http://wiki.openvz.org/Download/kernel/2.6.24/2.6.24-ovz006.5
    http://www.howtoforge.com/kernel_compilation_centos

     
c
compose new post
j
next post/next comment
k
previous post/previous comment
r
reply
e
edit
o
show/hide comments
t
go to top
l
go to login
h
show/hide help
esc
cancel