2005/12/18

How to build MapFS from source

Build the MapFS from source

以下是我編譯mapfs.ko的步驟:

  • cd /tmp
  • tar zxvf mapfs-1.0-0.1035.tar.gz
  • cd /lib/modules/`uname -r`/build
  • make SUBDIRS=/tmp/mapfs-1.0-0.1035 modules
  • cd kernel/fs
  • mkdir mapfs
  • cp /tmp/mapfs-1.0-0.1035 modules/mapfs.ko mapfs
  • chmod 744 mapfs/mapfs.ko
  • depmod
  • Okay!

至於如何載入就比較傷腦筋了, 因為有幾個相關了kernel symbols需要設定, 找了半天卻找不到相關文件解釋如何設定, 網路上又好像沒什麼人在用這東西, 不過還好, 最後還是在它的mailing list中看到一篇文章有提到載入的方式, 我只有改了一下路徑

  • 建立一個script檔案loadmapfs內容如下
    #!/bin/sh
    mapfsargs=$(for ksym in $(strings /lib/modules/$(uname -r)/kernel/fs/mapfs/mapfs.ko | awk '/from System.map/ {match($0,"^parm=([^:]+):",a); print a[1];}'); do sym=${ksym#ksym_}; addr=$(awk '/ '$sym'$/ {print $1}' /boot/System.map-$(uname -r)); echo " $ksym=0x$addr "; done)
    modprobe mapfs $mapfsargs
  • 執行./loadmapfs即可

No comments: