My favorites | Sign in
Project Home Downloads Wiki Issues Source
READ-ONLY: This project has been archived. For more information see this post.
Search
for
GettingStartedForDevelopers  
Provides the initial steps a developer needs to download the source and get it working
Featured, Developers
Updated Sep 25, 2009 by greg.fre...@gmail.com

THIS PAGE HAS MOVED

The current page and all updates can be found at:

https://sourceforge.net/apps/mediawiki/ohsm/index.php?title=GettingStartedForDevelopers

Introduction

The most recent code for ext4 is in git's ohsm_next branch. You will need checkout the latest master branch via git and compile the code.

In addition you need a Linux environment that has a 2.6.31 kernel.

For opensuse as an example that requires 11.2 milestone 7 or newer. Release 11.1 has only experimental ext4 support and is not usable for the current development branch of ohsm.

Browsing the code and branches

You can find the most stable code (least interesting code) at:
http://ohsm.git.sourceforge.net/git/gitweb.cgi?p=ohsm/latest;a=summary

But the most recent code for a developer can be found in sandeep's repository:
http://ohsm.git.sourceforge.net/git/gitweb.cgi?p=ohsm/sandeep;a=summary

Sandeep's repo does not always compile, so it is very bleeding edge. At present Sandeep only has a master branch.

Alternatively, Manish is maintaining stable but not released code at:
http://ohsm.git.sourceforge.net/git/gitweb.cgi?p=ohsm/mkatiyar;a=summary

Within Manish's repo you will find 3 branches:

ohsmv1.1 - This is stable code and will not see any future changes

master - This is the latest stable code. The ohsm team endeavors to keep this usable, but patches are routinely pushed here after they are tested.

ohsm_next - This is the first place patches become publicly available in Manish'es repo.

Downloading the ohsm source

Then you will need the ohsm source which includes a patched version of the ext4 module source

You can use either of below two repositories. Latest working code could be found in the ohsm_next branch of git.

git clone git://ohsm.git.sourceforge.net/gitroot/ohsm/sandeep ohsm_test
git clone git://ohsm.git.sourceforge.net/gitroot/ohsm/mkatiyar ohsm_test

You can see which other branches are available via "cd ohsm_test; git branch -r".

Prerequisites

Before starting, you will eventually need make, gcc, sparse, device-mapper-devel and libxml2-devel, so go ahead and install them now.

With opensuse you can install those with: zypper in make gcc sparse device-mapper-devel libxml2-devel

Compiling and patching the base kernel which the ohsm module will work with

This varies by distribution I believe, but using the OpenSUSE 11.2 milestone 7 distro, the below works:

Ensure you have the milestone 7 repository in your list of repos:

This URL points to the latest milestone: http://widehat.opensuse.org/factory-snapshot/repo/oss/

Once 11.2 is released, you won't have to worry with that repo anymore. From that repo install the kernel source. I believe the command is:

zypper in kernel-source-2.6.31-7.1

I like to ensure that the kernel source compiles and runs, so:

cd /usr/src/linux (this should be a symbolic link to the new source) make cloneconfig (causes .config to be created per your current running kernel) make make install_modules make install

reboot and verify all is well.

Now, I like to create my own custom kernel by duplicating the above.

cd /usr/src cp -a kernel-default-2.6.31-7.1 linux-ohsm cd linux-ohsm # and change the subversion to be something unique to your kernel vi Makefile # copy the patched ext4 module source to your custom kernel source cp -a ../ohsm_test/ext4 fs/ext4 # configure OHSM make oldconfig #answer yes

# Do a normal kernel compile and install make make modules_install make install

Reboot and verify all is well.

Compiling the ohsm module

Once you have the source you need to configure the compiler, and compile the code

cd sandeep ./configure make make install

Testing OHSM

Once you have successfully built and compiled ohsm, test.sh present in scripts folder can be used to test basic functionality.

Unfortunately, it is out of date as of Sept. 24, 2009. So that sounds like something a new developer could work on.

The same is true of the README file.

Reporting bugs

In case you encounter bugs/suggestions feel free to either open a bug at http://sourceforge.net/projects/ohsm or send a mail to ohsm-devel@lists.sourceforge.net.

For now you have to be a team member to post a bug at sourceforge.

Add your content here. Format your content with:

  • Text in bold or italic
  • Headings, paragraphs, and lists
  • Automatic links to other wiki pages

Powered by Google Project Hosting