Linux内核模块 — NetFilter

一方面自己开始写OS,一方面也开始做一些Linux kernel相关的研究,顺便写一下kernel的module,因为看到一篇论文是基于net-filter做一个P2P的流量监测器。 自己也对这个有点兴趣,于是乎就开始准备按图索骥了。 不过自己不做这个P2P测量,而是准备做一个网络监管的小module,一方面是来练手,一方面是熟悉linux kernel module的开发流程。 首先就是设计,因为是基于Net-Filter框架所以main函数一定一个钩子。 目前的一个设计的文件结构是这样: ├── COPYRIGHT ├── Makefile ├── README.md ├── conf │   └── websites.json ├── configure ├── src │   ├── Makefile │   ├── conf │   │   ├── conf.c │   │   ├── conf.h │   │   ├── str.c │   │   └── str.h │   ├── install.sh │   ├── net-filter │   │   ├── filter.c…

Mac 10.10上编译 Bochs

想开始写操作系统了,但是卡在Mac上编译Bochs上,看了几个issue,还是没有头绪, 因为Apple已经放弃了x11和carbon(有兴趣可以看这文档), 终于找到了如下的方法: 第一步,安装SDL库 可以使用HomeBrew的方式: brew install sdl 第二步,Configure Bochs ./configure –enable-ne2000             –enable-all-optimizations             –enable-cpu-level=6             –enable-x86-64             –enable-vmx=2             –enable-pci             –enable-usb             –enable-usb-ohci             –enable-e1000             –enable-debugger             –enable-disasm             –disable-debugger-gui             –with-sdl             –prefix=$HOME/opt/bochs 这边的$HOME需要修改成你希望安装的目录 第三步,make and make install 毫无技术含量的 make & make install 可选步骤,加入path export BXSHARE=”$HOME/opt/bochs/share/bochs” export PATH=”$PATH:$HOME/opt/bochs/bin” 主要参考: http://sourceforge.net/p/bochs/bugs/1204/…