I'm working on building a new filesystem as a prototype on Debian because existing file systems do not meet certain requirements that I have. It's meant to be a prototype to evaluate certain requirements we have.
To do this, I first thought of taking an example file system such as testfs from GitHub to attempt to compile it. I'm on step (e) in the read me but I'm not sure how exactly to compile the Linux.
Steps followed so far:
I'm trying to make using the provided MakeFile for the project but this is the error I get.
make -C /home/username/Workspace/testfs M=`pwd` modules make: Entering directory `/home/username/Workspace/testfs' make: *** No rule to make target `modules'. Stop. make: Leaving directory `/home/username/Workspace/testfs' make: *** [testfs] Error 2 From what I understand, it needs the kernel source (which is in my /usr/src).
debian:testfs karun$l /usr/src/ total 74M drwxr-xr-x 4 root root 4.0K Jan 8 18:34 linux-headers-3.2.0-4-686-pae drwxr-xr-x 4 root root 4.0K Jan 8 18:34 linux-headers-3.2.0-4-common lrwxrwxrwx 1 root root 23 Jun 24 2012 linux-kbuild-3.2 -> ../lib/linux-kbuild-3.2 -rw-r--r-- 1 root root 122K Sep 18 20:20 linux-patch-3.2-rt.patch.bz2 lrwxrwxrwx 1 root root 25 Jan 10 20:21 linux-source -> /usr/src/linux-source-3.2 drwxr-xr-x 22 root root 4.0K Sep 18 20:20 linux-source-3.2 -rw-r--r-- 1 root root 74M Sep 18 20:22 linux-source-3.2.tar.bz2 lrwxrwxrwx 1 root root 49 Jan 8 14:29 vboxguest-4.3.6 -> /opt/VBoxGuestAdditions-4.3.6/src/vboxguest-4.3.6 Alterantive attempt was to try to compile the Kernel with the FS code and then "install" it.
- I got the kernel source by following the instructions on the Debian page to compile a new kernel.
- I ran make menuconfig and went into the "File systems --->" section
Question: How do I make my module visible on menuconfig so as to ensure it gets compiled with the source and deployed?
My end goal is to be able to format a drive (HDD volume or flash drive) to my custom file system (let's call it CustFS, like NTFS or HFS :)) for storing data and not necessarily running the Linux OS off it. I've tried my best to come up with steps to do this but I can't find the right help.
From what I understand I need to do the following
- Write the FS code
- Compile it with the kernel source
- Deploy the new Kernel
FUSE, I believe, won't allow me to achieve what I want. I'd like to create a FS on a thumb drive (as a test) then on a HDD so as to be able to extend it to go past restrictions it currently has in terms of files per folder (one amongst a few).
- Debian 7.3 (wheezy) running off VirtualBox
- Linux Kernel version 3.2.0-4-686-pae (Dump from uname -r)
If there are any other question you might have or require clarification, please let me know. Pointing me towards some tutorial/steps of things I need to go through will really help. Thanks!
Side note, I'm a programmer who's spent most of his time working on Java. I (believe) I have a decent working knowledge in C/C++ and can build skills on top, as required. This is my first time attempting to compile the kernel and I'm not sure how to add modules to it.