聂永的博客

记录工作/学习的点点滴滴。

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 阅读(2176) 评论(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)

个人收藏

最新随笔

搜索

最新评论

阅读排行榜

评论排行榜