|
GettingStartedForDevelopers
Provides the initial steps a developer needs to download the source and get it working
Featured, Developers THIS PAGE HAS MOVEDThe current page and all updates can be found at: https://sourceforge.net/apps/mediawiki/ohsm/index.php?title=GettingStartedForDevelopers IntroductionThe 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 branchesYou can find the most stable code (least interesting code) at: But the most recent code for a developer can be found in sandeep's repository: 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: 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 sourceThen 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 You can see which other branches are available via "cd ohsm_test; git branch -r". PrerequisitesBefore 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 withThis 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 moduleOnce you have the source you need to configure the compiler, and compile the code cd sandeep ./configure make make install Testing OHSMOnce 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 bugsIn 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:
|