GNU/Linux
文章平均质量分 82
李迟
李迟,男,已婚,字子徐,一字仲文,别号水田居士,木草山人。有一儿一女,李大锤和李大妞。来自广西岑山溪水之地,家在一垌之尾。毕业于桂林电子科技大学三院1专业。摄影师,金融学者,历史家,科学哲学爱好者,社会问题研究者,持证上岗者(架构师、项目管理师),爱好广泛而无精通者。古文、诗词、文学、小说、武侠、经济、社会等无所不涉。目前主要混迹于显示器、鼠标、键盘之间。于代码及兴趣之事中有所得,与好友谈之一二,足矣。
展开
-
记一次ubuntu虚拟机被挖矿木马攻击的过程
事由:今天发现虚拟机有点卡,用 top 查看发现2个未知进程占用大量CPU,遂查,发现被挖矿木马攻击了。原创 2020-06-05 23:13:35 · 11887 阅读 · 3 评论 -
ubuntu系统debootstrap的再三实验
## 0、背景及目的利用debootstrap构建一个可单独运行的镜像文件。 环境:ubuntu 16.04 64bit,虚拟机软件:vmware 12。原创 2019-10-29 23:30:34 · 1903 阅读 · 0 评论 -
linux下CPP的认识
linux下CPP的认识,由一个诡异的printf使用方法开始。原创 2010-12-10 10:14:00 · 2758 阅读 · 0 评论 -
常遇问题及一些可能的解决方案
本文记录在linux平台下开发遇到的一些常见问题及可能的解决方法。原创 2010-12-13 10:57:00 · 1122 阅读 · 0 评论 -
[学习备忘录]Linux平台静态库、动态库的一些笔记
本文讲述了Linux平台下静态库及动态库的一些知识,有实例。原创 2010-12-16 16:28:00 · 1429 阅读 · 6 评论 -
由“标准C”“纯C”引发的思考
第一次听到“纯C”这个词是在大四毕业设计期间。后来不断看到有讨论“标准”、“纯X”的文章、帖子,不过我从不参与这些争论。随着学习的深入,更加看淡这些争论,当然,也包括其它的那些经典的“门派斗争”。原创 2010-12-30 10:31:00 · 711 阅读 · 0 评论 -
[学习备忘录]编译gdb及gdbserver
本文介绍了在Linux系统中编译、安装调试器gdb以及在目标平台上运行的gdbserver。原创 2011-01-06 09:49:00 · 2272 阅读 · 0 评论 -
gcc及doxygen的安装过程
这几天捣鼓了doxygen,就是从源代码生成程序文档的工具,为了让gcc支持utf8编码,又下载一个比较高版本的gcc,测试通过。另外,我的系统中已经安装有了doxygen,但还是重新下载一个新版本,再次测试。原创 2011-01-12 17:08:00 · 998 阅读 · 0 评论 -
Linux下小型web服务器boa的使用
boa是一个小型的web服务器,可以用于多种平台,在嵌入式中比较常见。原创 2011-01-27 15:56:00 · 1271 阅读 · 0 评论 -
boa实例测试
在前面的文章里讲了如何安装、配置boa,这篇文章主要讲一下一些boa测试实例,主要涉及到html以及cgi程序的编写。原创 2011-01-27 16:00:00 · 1264 阅读 · 0 评论 -
关于Linux平台视频采集程序的修改
在真正开始编写程序前,我作了大量工作,包括了解Linux支持的摄像头类型、Linux摄像头驱动程序、摄像头采集模型,等等,——当然,还包括去买个摄像头。网上流行的是gspca驱动以及一些老式摄像头的程序,这些摄像头目前市面上比较难找了。而且驱动、应用程序的安装也比较麻烦。此外,网上能搜索到的资料绝大部分均为转载而不注明出处,因此许多资料十分相似。而且许多资料都是介绍基本的流程,每当涉及到关键算法及代码时,均一句话带过。因此,只参考网上资料很难写出一个可能使用的程序。原创 2011-01-26 17:18:00 · 1550 阅读 · 0 评论 -
gcc2.95.3安装过程
gcc2.95.3安装过程原创 2011-03-25 15:31:00 · 3470 阅读 · 0 评论 -
ld命令初识
ld命令初识原创 2011-03-28 10:46:00 · 2559 阅读 · 0 评论 -
多目录Makefile(库及分层目录)
多目录Makefile(库及分层目录)原创 2011-03-26 14:31:00 · 2149 阅读 · 0 评论 -
linux下补丁制作及打补丁实例
搞ARM有一段时日了,期间看了不少开发板的手册,手册的内容多数为教我们如何使用开发板,而不是教我们如何开发。手册中少不了显示linux下的命令,不过对这些命令有几点看法:1、很多操作都使用了绝对路径,我想大约是为了表示这个路径的关系吧,不然的话,对于新手来说,来回几个cd,就搞不清楚在哪个目录了,这点表示赞同。不过对于我来说,实在不会如此操作;2、统一使用root用户,因为许多人都使用虚拟...原创 2011-04-07 15:26:00 · 1450 阅读 · 0 评论 -
点阵字体显示系列之一:ASCII码字库的显示
点阵字体显示系列之一:ASCII码字库的显示原创 2011-05-25 13:16:00 · 2706 阅读 · 0 评论 -
点阵字体显示系列补记:将字库文件转换成数组形式
点阵字体显示系列补记:将字库文件转换成数组形式原创 2011-05-26 10:59:00 · 2442 阅读 · 0 评论 -
点阵字体显示系列之二:汉字显示
点阵字体显示系列之二:汉字显示原创 2011-05-25 13:17:00 · 2273 阅读 · 0 评论 -
点阵字体显示系列之三:使用ncurses显示汉字
点阵字体显示系列之三:使用ncurses显示汉字原创 2011-05-25 13:18:00 · 1571 阅读 · 0 评论 -
点阵字体显示系列补记2:关于24点阵汉字显示程序及其修改版本
自从写完16点阵后,由于没啥事做,就继续看看24点阵是如何显示的。这种规格的点阵是使用UCDOS(虽然下载了,但用不了)中的汉字字库。又千辛万苦找到ASCII码的24点阵,再修改前面的程序,生成24点阵ASCII码的数组。测试完后,用一天时间,在触摸屏搞出了汉字显示,不过对比了Tslib库的代码,发觉自己写的简直是一塌糊涂,于是继续修改代码。不过,由于不知道如何优化代码及组织代码结构,修改后的成果原创 2011-06-03 15:11:00 · 1372 阅读 · 0 评论 -
Linux下挂载NTFS格式文件系统
Linux下挂载NTFS格式文件系统原创 2011-04-14 21:35:00 · 1953 阅读 · 0 评论 -
使用libjpeg库在LCD上显示图片
背景:网上已经有很多关于利用libjpeg显示图片的文章了,因此本文的技术含量不算高。本文是使用libjpeg的v8版本,在开发板的LCD上显示jpg格式图片,关于libjpeg,可到其官方网站下载源码,源码附有许多文档,包括详细的例子(example.c)。关于如何使用libjpeg,本文不再说明,因为网上文章已经很多了。本文中的代码有几处是自已经修改过的。1、将所有操作frameb原创 2011-10-30 14:56:05 · 2159 阅读 · 0 评论 -
将图片嵌入程序文件的一点研究
背景:重读《程序员的自我修养——链接、装载与库》,里面第3章主要讲目标文件。同时讲到如何将一些二进制文件作为目标文件的一个段(详细的请参考此书)。像图片、音乐文件其实也是二进制文件(作为初级程序的我,还没有达到将一切看成二进制的境界)。本文就以此展开了一些研究,顺便复习一下binutils工具以及gdb的使用。另外,也将这个知识应用到我的ARM开发板上,即是在原来基本上,添加图片的显示,当...原创 2011-10-30 19:54:51 · 1305 阅读 · 0 评论 -
与图片相关的几个库的编译
背景:我的开发板自带的编译器是经过开发商修改的,原来已经带有了libjpeg、libpng库了。现在想换个新的版本。最近想研究jpeg文件,想在开发板的屏幕上显示出来,于是在网上找了点资料,不过绝大资料都是6b这个版本的,而这个版本是1998年发布的,至今仍在使用。截至本文发表时,最新版本是8c,2011年1月发布的。同时,也顺便将png、gif两个库一起编译了。我是个喜欢折腾的人,自从大三买原创 2011-10-30 12:16:27 · 756 阅读 · 0 评论 -
将图片嵌入程序文件的测试
继前面的文章,本文是一个测试例子,并给出测试结果。将图片转换成目标文件命令与x86平台相类似,只需修改几个参数即可。命令如下:$ arm-linux-objcopy -I binary -O elf32-littlearm -B arm logo.jpg logo.o需要注意的是输出文件的格式,即-O选项的内容,这里是elf32-littlearm,原来是写elf32-li原创 2011-10-30 19:55:22 · 1260 阅读 · 0 评论 -
模拟时钟在LCD上的显示
我很早就想做一个模拟时钟了,网上也有很多C语言写的模拟时钟的代码,不过是基于TC的。后来我找到一个使用easy X lib写的模拟时钟,于是就将它移植到我的开发板屏幕上。前面已经完成了LCD的画点、画线、画圆等等基本函数了。与参考的代码不同的是刷新屏幕问题,我是考虑了一些时间才想到的。完整的画模拟时钟代码如下:/** * @file graphic_test.c * @原创 2011-10-30 21:03:49 · 1898 阅读 · 0 评论 -
ARMLinux下Alignment trap的一些测试
项目中有时会遇到字节对齐的问题,英文为“Alignment trap”,如果直译,意思为“对齐陷阱”,不过这个说法不太好理解,还是直接用英文来表达。ARM平台下一般是4字节对齐,可以参考文后的给出的文章链接。此处不细说。后面提及“字节对齐”下面的例子使用了几种重现Alignment trap的方法,例子1是将char*指针直接转换成int*指针,经测试,未发现有字节对齐的问题。例子原创 2012-08-09 14:50:49 · 7477 阅读 · 0 评论 -
freetype在Linux平台编译小记
一、准备工作:下载freetype,地址:http://www.freetype.org/download.html,本文所用版本:2.4.10下载zlib,地址:http://www.zlib.net/,本文所用版本:1.2.7二、编译:1、freetype$ ./configure --prefix=/home/latelee/bin/freetype注:如果不原创 2013-04-02 17:05:56 · 4037 阅读 · 0 评论 -
openssl、libosip2、libeXosip2三个库的编译过程
有同事最近要使用到sip的东东,需要使用到openssl、libosip2、libeXosip2这三个库,具体干嘛的我还不清楚,最近事多,头脑不太清醒,也不想记那些跟自己没关系的事。不过山人自认为对开源库的交叉编译还是很在行的,也没把这个放在以上,以为不难,结果还是花了一点时间去完成。从上网找资料到真正完成编译,大约花了2个多小时吧,其间断断续续干了些其它事,还包括下班回来继续做的时间。其原创 2013-06-29 00:35:51 · 5089 阅读 · 2 评论 -
tcpdump工具编译记录
本文主要记录tcpdump,一个linux平台的抓包工具在arm平台上的编译方法,不涉及其使用。下载tcpdump工具,地址:http://www.tcpdump.org/需要下载2个压缩包:libpcap-1.4.0.tar.gztcpdump-4.4.0.tar.gz一、编译libpcap(如flex、bison等必要工具,不列举出来)1、配置$ ./configu原创 2013-10-20 10:46:15 · 3262 阅读 · 0 评论 -
网络性能测试工具iperf编译记录
本文记录一下iperf的编译过程,不涉及该工具的使用。 1、X86的编译x86的编译比较简单,下载压缩包,解压,编译命令如下:./configure --prefix=/home/latelee/bin/iperf-x86 ; make ; make install生成文件在iperf-x86的bin目录下,名称为iperf。 2、ARM的编译这里以某arm平台为例原创 2013-10-20 10:15:25 · 1918 阅读 · 0 评论 -
复杂多目录的Makefile模板及示例
大约一年多以前,还在移植u-boot,当时参考了u-boot的Makefile,做了一个多目录的Makefile模板。如今,一年过去了,本篇文章还是折腾Makefile模板,本人的水平由此可见一斑。当时的模板没有考虑很多东西,比如将源代码文件及目标文件分离。此次再写一个相对复杂的Makefile模板,自此之后,估计不想再折腾了。 本文的Makefile跟以往的模板一样,都是参考u-boot的做原创 2012-07-06 16:35:31 · 6123 阅读 · 6 评论 -
嵌入式设备ntp同步时间的一些笔记
本文主要记录平常积累的关于ntp的东东。为了连接ntp服务器,设备必须连外网,设置方法不尽相同,此处从略。ntp服务器有很多,但有些是用不了的。测试中用的是202.120.2.101,它是上海交通大学网络中心NTP服务器地址。ntp客户端使用的是ntpclient,使用方法如下:$ ntpclient -s -t -i 10 -h 202.120.2.101一、ntp同步时间测试原创 2013-10-20 11:33:55 · 3391 阅读 · 0 评论 -
记一次ubuntu误操作导致无法用sudo
原因:挂载自己做的rootfs,进入目录,执行sudo chmod 777 /etc/*多了一个斜杠。本意是更改自己的rootfs的etc目录的属性的,没想到变成系统的/etc了。后面无法再执行sudo命令:提示:# sudo lssudo: /etc/sudoers is mode 0777, should be 0440sudo: no valid sudoers原创 2014-02-28 16:38:30 · 1224 阅读 · 0 评论 -
Linux文件inode用完一例
在实际使用SD卡过程中发现写不进数据了,系统提示类似下面的信息:can't create /mnt/sd/101: No space left on device。查看分区空间,还有很多,但就是写不进数据。上网查了才知道,原来这种情况有可能是inode用完的原因,经过查找,的确是这个原因导致的。查看SD卡的两个分区使用情况,如下:#df -h/dev/mmcblk0p1原创 2014-02-26 19:23:16 · 2563 阅读 · 0 评论 -
shell学习笔记二则:统计空间
最近在测SD卡,顺便练习了一下shell,也顺便记录一些笔记。原创 2014-05-09 09:23:36 · 764 阅读 · 0 评论 -
ubuntu系统debootstrap的使用之二:启动
上一篇文章:《ubuntu系统debootstrap的使用》原创 2014-11-10 22:48:38 · 1295 阅读 · 0 评论 -
ubuntu系统debootstrap的使用
debootstrap是debian/ubuntu下的一个工具,用来构建一套基本的系统。生成的目录符合Linux文件系统标准(FHS),即包含了/boot、/etc、/bin、/usr等等目录,但它比发行版本的Linux体积小很多,当然功能也没那么强大,因此,只能说是“基本的系统”。fedora下(centos亦可用)有类似功能的工具:febootstrap。观察这两个工具名称,可以看到deb原创 2014-10-20 13:42:06 · 2910 阅读 · 0 评论 -
解决ubuntu系统udev多网卡名称变化的问题
设备上有2个网卡,虽然留意了,在设置也区别了eth0和eth1,直到设置eth0无效时才发现有了问题。这个问题其实也是我们自己搞出来的。因为我们的项目使用了硬盘,使用时会将一个设备上的硬盘直接拿到另一个设备上使用,当原来的设备的系统已经有了网卡的配置后,再换一个新硬件平台上(虽然还是同一个硬盘),这些网卡名称就会改变。原创 2014-12-23 12:52:57 · 10849 阅读 · 0 评论 -
ethtool源码分析
ethtool功能十分强大,本文就其源码进行简单的分析,一来很久没好好分析过别人家的代码,和代码几乎都脱节了;二来趁机整理下自己最近所搞的东西。本文使用的版本下载地址:http://sourceforge.net/projects/gkernel/files/ethtool/2.6.35/代码树结构主代码:所有主要代码在ethtool.c这个文件,头文件:类型定义和原创 2015-03-30 19:28:02 · 6635 阅读 · 2 评论