聶永的博客

          記錄工作/學習的點點滴滴。

          Fastsocket學習筆記之安裝篇

          前言

          運行環境為Centos 6.5系統,默認內核為2.6.32-431.el6.x86_64,下面所有編譯安裝操作是以root用戶權限進行操作。

          編譯安裝fastsocket內核

          第一步需要下載代碼,當然這是廢話了,下載到/opt目錄下:

           git clone https://github.com/fastos/fastsocket.git
          

          編譯安裝

          下載之后,需要進入其目錄中:

           cd fastsocket/kernel
          

          因為是涉及到內核嘛,編譯之前需要做一些參數選項配置,使用make config會累死人的,好幾千個選項參數需要你一一配置,大部分時間,默認配置就挺好的:

           make defconfig
          

          然后嘛,編譯內核的節奏:

           make
          

          內核編譯相當耗費時間,至少20分鐘時間。之后緊接著是編譯所需的內核模塊,fastsocket模塊:

           make modules_install
          

          編譯完成之后,最后一條輸出,會看到:

          DEPMOD 2.6.32-431.17.1.el6.FASTSOCKET

          fastsocket內核模塊編譯好之后,需要安裝內核:

           make install
          

          上面命令其實執行shell腳本進行安裝:

          sh /opt/fastsocket/kernel/arch/x86/boot/install.sh 2.6.32-431.17.1.el6.FASTSOCKET arch/x86/boot/bzImage \ System.map "/boot"

          基本上,fastsocket內核模塊已經構建安裝完畢了,但需要告知Linux系統在下次啟動的時候切換到新編譯的、包含有fastsocket模塊的內核。

          配置啟動時需要切換的內核

          這部分需要在/etc/grup.conf中配置,現在看一下其文件內容:

          default=1
          timeout=5
          splashimage=(hd0,0)/grub/splash.xpm.gz
          hiddenmenu
          title CentOS (2.6.32-431.17.1.el6.FASTSOCKET)
                  root (hd0,0)
                  kernel /vmlinuz-2.6.32-431.17.1.el6.FASTSOCKET ro root=/dev/mapper/vg_centos6-lv_root rd_NO_LUKS rd_NO_MD rd_LVM_LV=vg_centos6/lv_swap crashkernel=auto LANG=zh_CN.UTF-8 rd_LVM_LV=vg_centos6/lv_root  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
                  initrd /initramfs-2.6.32-431.17.1.el6.FASTSOCKET.img
          title CentOS (2.6.32-431.el6.x86_64)
                  root (hd0,0)
                  kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/mapper/vg_centos6-lv_root rd_NO_LUKS rd_NO_MD rd_LVM_LV=vg_centos6/lv_swap crashkernel=auto LANG=zh_CN.UTF-8 rd_LVM_LV=vg_centos6/lv_root  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
                  initrd /initramfs-2.6.32-431.el6.x86_64.img
          

          defautl=1,表示目前系統選擇的以原先內核作作為啟動項,原先位于第二個root (hd0,0)后面,需要切換到新的內核下面,需要修改default=0,保存后,reboot重啟系統,使之生效。

          檢測生效

          系統重啟后,需要加載fastsocket模塊到系統運行中去,下面以默認選項參數方式加載:

          modprobe fastsocket
          

          加載之后,列出當前系統所加載模塊列表,檢查是否成功

          lsmod | grep fastsocket
          

          若能看到類似輸出信息,表示OK:

          fastsocket 39766 0

          開始構建libfastsocket.so鏈接庫文件

          上面內核模塊安裝好之后,可以構建fastsocket的動態鏈接庫文件了:

          cd /opt/fastsocket/library/
          make
          

          可能會收到一些警告信息,無礙:

          gcc -g -shared -ldl -fPIC libsocket.c -o libfsocket.so -Wall
          libsocket.c: 在函數‘fastsocket_init’中:
          libsocket.c:59: 警告:隱式聲明函數‘open’
          libsocket.c: 在函數‘fastsocket_expand_fdset’中:
          libsocket.c:109: 警告:隱式聲明函數‘ioctl’
          libsocket.c: 在函數‘accept’中:
          libsocket.c:186: 警告:對指針賦值時目標與指針符號不一致
          libsocket.c: 在函數‘accept4’中:
          libsocket.c:214: 警告:對指針賦值時目標與指針符號不一致
          

          最后,可以看到gcc編譯之后生成的libfsocket.so庫文件,說明編譯成功。

          小結

          OK,編譯安裝到此結束,后面就是如何使用fastsocket的示范程序進行測試了。

          posted on 2015-01-30 13:14 nieyong 閱讀(2191) 評論(2)  編輯  收藏 所屬分類: Socket

          評論

          # re: Fastsocket學習筆記之安裝篇 2015-01-30 22:27 京山游俠

          mark,也許有天用的上。  回復  更多評論   

          # re: Fastsocket學習筆記之安裝篇 2015-02-10 14:35 用牙膏洗臉能祛痘嗎

          不錯,學習了,總有用得上的時候  回復  更多評論   

          公告

          所有文章皆為原創,若轉載請標明出處,謝謝~

          新浪微博,歡迎關注:

          導航

          <2015年1月>
          28293031123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          統計

          常用鏈接

          留言簿(58)

          隨筆分類(130)

          隨筆檔案(151)

          個人收藏

          最新隨筆

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 射洪县| 绥芬河市| 偃师市| 连云港市| 木兰县| 汾阳市| 当涂县| 青川县| 洛阳市| 台州市| 宁城县| 丽江市| 湘潭市| 高雄市| 江津市| 松阳县| 盈江县| 读书| 瑞昌市| 友谊县| 马山县| 青海省| 南充市| 育儿| 崇明县| 湛江市| 安西县| 高清| 龙江县| 金湖县| 瓦房店市| 和平县| 花垣县| 湖北省| 武功县| 比如县| 宾川县| 汝城县| 青浦区| 东乌| 潮安县|