Vnx-rootfs-uml-kernel

From VNX
Revision as of 18:07, 10 June 2012 by David (talk | contribs)
Jump to: navigation, search

How to create a User-Mode-Linux Kernel for VNX

This document describes how to create a UML kernel to be used with VNX.

  • Download and uncompress kernel sources:
  • wget http://www.kernel.org/pub/linux/kernel/v3.x/linux-3.3.8.tar.gz
    tar xfvz linux-3.3.8.tar.gz
    cd linux-3.3.8
    
  • Download mconsole exec kernel patch:
  • wget vnx.dit.upm.es/vnx/kernels/mconsole-exec-3.3.8.patch
    
  • Apply mconsole-exec patch:
  • patch -p1 < mconsole-exec-3.3.8.patch
    
  • Configure kernel options (do not forget to enable support in kernel for ISO9660 and EXT4 file system format support):
  • make defconfig ARCH=um SUBARCH=i386
    make menuconfig ARCH=um SUBARCH=i386
    
  • Compile the kernel
  • make ARCH=um SUBARCH=i386
    strip linux
    
  • Check the kernel having a look at the version and options:
  • ./linux --version
    ./linux --showconfig
    
  • Create tar file for distribution:
  • mkdir linux-3.3.8-um-src
    cp linux linux-3.3.8-um-src/linux-3.3.8-um
    mkdir linux-3.3.8-um-src/modules
    make modules_install INSTALL_MOD_PATH=linux-3.3.8-um-src/modules/ ARCH=um SUBARCH=i386
    cd linux-3.3.8-um-src/modules/lib/modules/
    tar cfv modules-3.3.8.tar 3.3.8
    mv modules-3.3.8.tar ../../../
    cd ../../../
    rm -rf modules
    vi README-linux-3.3.8-um
    cp ../.config config-linux-3.3.8-um
    cd ..
    tar cfvz linux-3.3.8-um.tgz linux-3.3.8-um-src