1,下载kernel源码 src
2,安装源码(fedora)
$ rpm -Uvh kernel-<version>.src.rpm
$ cd ~/rpmbuild/SPECS
$ rpmbuild -bp --target=`uname -m` kernel.spec
3,安装linuxpps补丁
在src目录:
$ patch -p1 < "ntp-linuxpps补丁文件"
4,设置编译内核
$ make menuconfig
$ make
$ make modules
$ make modules_install
$ make install
编译后内核会自动建立到 /boot 下
重启后系统会在boot界面选择新建的内核文件进入系统
进入系统后会建立设备/dev/pps0, /sys/class/pps/pps0,(pps0可能是系统时钟出发的pps 随时用ppstest测试都有输出)
参考:
http://fedoraproject.org/wiki/Docs/CustomKernel
http://www.cyberciti.biz/tips/compiling-linux-kernel-26.html
5,编译ppstest文件
重连接文件,我的系统示例:
cd /usr/include/
mv /usr/include/linux /usr/include/linux.old
mv /usr/include/asm /usr/include/asm.old
mv /usr/include/asm-generic /usr/include/asm-generic.old
ln -s /usr/source/include/linux /usr/include/linux
ln -s /usr/source/include/asm /usr/include/asm
ln -s /usr/source/include/asm-generic /usr/include/asm-generic
cp /usr/source/Documentation/pps/timepps.h /usr/include/timepps.h
编译ppstest
$ cd my-linuxpps-clone/Documentation/pps
$ make
常用命令:
查看pps输出 /usr/source/Documentation/pps/ppstest /dev/pps1
查看串口输出 cat /dev/ttyS0
使用ppsctl可以开启新的pps设备,示例:
ppsctl /dev/ttyS0 enable
命令成功后会建立pps1设备,/sys/class/pps/pps1/device 目录会显示出此设备的数据源 ttyS0
参考:
http://wiki.enneenne.com/index.php/LinuxPPS_installation
6,建立可能用到的设备gps pps连接
在rc.local中键入
ln -s /dev/ttyS0 /dev/gps0
ln -s /dev/pps0 /dev/gpspps0
未完待续, 继续测试 模拟外界dcd信号 从而测试pps1是否好用
浙公网安备 33010602011771号