linux
文章平均质量分 72
_saga
知其可为而不为
展开
-
archlinux内核编译
Initramfs unpacking failed: invalid magic at start of compressed archiveKernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)原创 2021-08-27 17:28:36 · 2808 阅读 · 0 评论 -
构建Linux系统(一):构建基本可运行的系统
相比LFS,借助Buildroot可实现“半自动化”构建Linux系统,减少重复繁琐的搬砖运动。对于没特定需求的嵌入式系统,可实现“傻瓜式”构建。原创 2020-11-03 22:39:57 · 2890 阅读 · 0 评论 -
sudo的安全策略:阻止/允许用户执行特定命令
sudo用户组的用户可以使用sudo以root权限运行命令。某些应用场景可能要求对用户的sudo执行权限细分,比如可以执行部分命令,或者不能执行部分命令。这时可以通过配置sudo的默认安全策略插件sudoers来达到目的。原创 2019-02-26 10:03:29 · 11467 阅读 · 1 评论 -
Linux系统中的文件监控
特定文件正在被那些进程操作 特定进程正在操作那些文件 实时监控特定文件一段时间特定进程在执行过程中会操作哪些文件原创 2019-02-28 13:36:02 · 5331 阅读 · 0 评论 -
小项目中通用的Makefile
在从事Linux开发这10年间,我很少重头写Makefile,如果是复杂的项目,我会使用IDE,不用考虑Makefile的问题。简单的项目,就拿着刚开始学习Linux编程时的模板修修补补,这些年就过来了,Makefile的语法也忘得一干二净(话说Makefile的语法规则真是乱) 在实现Makefile之前,得考虑自己的需求,通常来说,最关键的一点就是:自动查找工程目录下的相关源文件,...原创 2019-02-13 11:46:20 · 405 阅读 · 0 评论 -
Linux下多串口错乱的一般解决方案
某些还在服役的有多个串口的老旧工控设备,在Linux系统下会出现串口错乱导致无法使用的情况。比较流行的一种解决方式就是给系统中的串口设备重命名。但不同的Linux发行版以及不同的串口扩展芯片,其错乱的情况是有差异的。这里就不再多说了。其实导致串口无法使用的软件方面的原因,是这些系统中的串口设备的地址和中断资源与硬件设备不匹配。可以通过两种方式来解决这个问题:修改BIOS中的串口设置来匹配系统...原创 2019-02-15 15:39:53 · 1891 阅读 · 0 评论 -
ubuntu下Qt5无法启用摄像头的问题
最近的项目需要使用设备的摄像头拍照,原来的方案是使用opencv,因为是使用Qt开发,就计划使用Multimedia模块简化项目的库依赖,参考官方示例:https://doc.qt.io/qt-5/qtmultimedia-multimediawidgets-camera-example.html开发环境是xubuntu 16.04.5,编译完运行示例程序输出:defaultServi...原创 2018-08-03 11:33:44 · 5535 阅读 · 0 评论 -
POSIX 线程编程指南(完)
性能,调试,参考翻译 2016-12-27 17:00:57 · 1194 阅读 · 0 评论 -
POSIX 线程编程指南(三)
线程的分离、合并以及栈设置翻译 2016-12-22 16:04:29 · 497 阅读 · 0 评论 -
POSIX 线程编程指南(四)
线程同步翻译 2016-12-22 16:51:46 · 557 阅读 · 0 评论 -
POSIX 线程编程指南(二)
线程创建和参数传递翻译 2016-12-22 15:21:12 · 533 阅读 · 0 评论 -
POSIX 线程编程指南(一)
Pthreads Thread 概述翻译 2016-12-07 13:40:02 · 1018 阅读 · 0 评论 -
linux下使用libmad库实现mp3文件的解码、播放
据说这个更新到2004年2月的libmad是一种高品质的MPEG音频解码器,支持24-bit输出,优点多多。对其的详细介绍请参考主页:http://www.underbit.com/products/mad/准备工作x86_64平台的编译可直接运行configure,arm下libmad: ./configure --host=arm-xxx(arm-xxx为交叉编译工具的前缀) ...原创 2013-07-12 16:27:11 · 16666 阅读 · 0 评论 -
树莓派(2代)内核定制及调试准备
1、内核编译http://elinux.org/Raspberry_Pi_Kernel_Compilation#Use_the_provided_compiler这里还有一篇图片更多的:http://sysprogs.com/VisualKernel/tutorials/raspberry/buildkernel/zcat /proc/config.gz > /tmp/zf.c原创 2016-04-02 15:09:01 · 3180 阅读 · 0 评论 -
嵌入式系统中使用CGDB进行调试
对cgdb不熟悉的可从cgdb的官方网站了解。在gdb下调试看源码太不方便了,虽然有个-tui模式,也没法跟有语法加亮功能的cgdb相比。原本打算修改配置来让cgdb启动不同的gdb,没找到资料,只好去看它的源码。CGDB调用GDB的代码在路径:./various/util/src/fork_util.c中,由函数invoke_debugger实现int invoke_原创 2013-03-15 11:43:29 · 3095 阅读 · 0 评论 -
glib交叉编译及常见问题(uclibc,arm)
gentoo有使用uclibc编译glib2.6.2的补丁文件,虽然有些老http://dev.gentoo.org/~solar/embedded/local/local/dev-libs/glib-uclibc/ 关于configure配置程序的补丁,glib-2.4.6-config.path的内容:--- configure.in.orig 2004-11-07 22:12原创 2013-04-13 16:39:05 · 4150 阅读 · 0 评论 -
Linux(gnu)环境动态链接库的搜索路径
man ld.so(8)说,如果库依赖不包括“/”,那么它将按照下面的规则按顺序搜索:(仅对ELF格式)如果可执行文件包含DT_RPATH标签,并且不包含DT_RUNPATH标签,将从DT_RPATH列出的路径搜索。(DT_RPATH已经被废弃,请用DT_RUNPATH)如果LD_LIBRARY_PATH在程序运行时被定义,那么将从它包含的路径开始。安全起见,对于set-user-ID原创 2013-11-05 10:40:47 · 2603 阅读 · 0 评论 -
ubuntu 下resolv.conf文件的自动覆盖问题
如果有多块网卡,其中一个局域网网卡设置为dhcp时,如果安装了多事的resolvconf,它会将负责配置nameserver的resolv.conf文件清空。最简单的办法就是在文件 :/etc/resolvconf/resolv.conf.d/head(或者base、tail这三个文件均可)中加入所需的域名服务器:nameserver xxx.xxx.xxx.xxx然后使用命令更新:r...原创 2013-04-13 10:52:19 · 1895 阅读 · 0 评论 -
ubuntu 恢复bash的自动补全
确认/etc/bash_completion是否存在,如果没有就安装一个:apt-get install bash-completion在用户的shell中运行:source /etc/bash_completion当然也可以将其加入配置文件中。如:编辑/etc/bash.bashrc,加入如下代码if [ -f /etc/bash_completion ]; then原创 2013-04-13 10:13:06 · 1400 阅读 · 0 评论