RSS feed
  • OpenVZ with Archlinux (back in business)

    Linux smsitraining 2.6.26.8-OVZ26-gogol.1 #1 SMP Thu Jan 28 15:49:59 PST 2010 x86_64 Intel(R) Xeon(R) CPU E5520 @ 2.27GHz GenuineIntel GNU/Linux

    Success! I’ve been working all day on a working OpenVZ kernel on my dev machine. 2.6.18, 2.6.24, 2.6.18rhel5; all borked out on the machine (either mid compile, or crapped out at boot) Anywho I setup a PKGBUILD for 2.6.26 Gogol & made a few modifications, and BAM everything is golden.

    I’ve updated git & uploaded the package to AUR: http://aur.archlinux.org/packages.php?ID=34116

    BTW, I just found out that an online friend of mine (Wonder) that is heavily involved in ArchLinux has created an Arch template for OpenVZ. Previous to this wonderful contribution OpenVZ has been without an Arch Linux template (that is updated), and it’s been a real drag. You can find the template on the standard templates page:

    http://wiki.openvz.org/Download/template/precreated

  • Last Compile?

    I sure hope so… Here is the latest from my Arch Linux PKGBUILD for the OpenVZ 2.6.24 ovz008.1 kernel build. I found what I hope is the last bug, and am just waiting for it to finish (takes 21 minutes total on my 2.0 Ghz Core Duo).

    I hope to release 2.6.18, 2.6.24 (WIP), 2.6.26 bulgakov.1/chekhov.1, and 2.6.27 aivazovsky.1 in the future. I’ll let you know when it’s finished.

  • First Arch Linux Post & some other little tidbits

    Well, as you probably don’t know (since I have yet to advertise on my *new* blog) I’m an avid Arch Linux User. I just love it to pieces. I use it on my personal servers & clients. I recently have been dumping some time into updating my packages: Link to my AUR Packages

    I recently acquired the rtorrent-svn / libtorrent-svn / xmlrpc-c-svn packages. I deleted the *-wt packages and merged them with the standard -svn packages. Hooray!

    I have also been working on the OpenVZ package (updating the hell out of it). I updated it using the theroy behind this wiki link : Kernel_Compilation_with_ABS I have compiled the darn thing about 10 times as of now, and atm I’m hoping that I’m on the last compile (crossing my fingers that it will work) :)

    I have started using subversion a little more in depth, and have been trying out branches:

    http://github.com/fsk141

    I’m trying my hand at a new wiki solution to keep my notes. The one that I’m using now (Zim Desktop Wiki) works on Mac OS X, yet isn’t native, and runs poorly. For the longest time I was using Arch Linux in a Virtual Container on my Mac Book Pro, yet recently have become fed up with the resource hog also know as VMWare Fusion. :( Back to the wiki solution, my overall goal is to have a git repo, and either use a popular wiki platform and ‘git’ it. Or try my hand at a git-wiki. I found a couple, and am turned off at git-wiki because or it’s unconventional web server, so I’m most definitely going to try WiGit.

    WiGit

    git-wiki

    I’ll make sure to post my results…

  • Container enter failed [OpenVZ]

    The VE will start, but you are unable to ‘vzctl enter VE#’ right?

    You get something like:

    container enter failed(?)
    

    To get past this you need to manually create the pty/tty devices:

    vzctl exec  101 /sbin/MAKEDEV tty
    vzctl exec 101 /sbin/MAKEDEV pty
    vzctl enter 101
    

    Where 101 = VE# in question…

  • 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