Linux 学习 ⭐⭐⭐
文章平均质量分 95
linux skills
小麦大叔
这个作者很懒,什么都没留下…
展开
-
这个项目差点就烂尾了...
大家好,我是小麦,这次想和大家分享一下我做一个小项目的一些心得和感悟。这个项目不是什么很牛逼的大项目,是一个基于全志的一款SOC的项目。中间遇到过不少问题,差点就烂尾了,索性最后坚持下来了...原创 2021-04-17 19:00:00 · 2266 阅读 · 13 评论 -
Linux内核中container_of的原理及其使用详解
介绍了container_of的原理以及用法;原创 2020-07-22 22:12:03 · 9379 阅读 · 3 评论 -
Linux发行版之间有什么区别?
简单介绍Linux发行版之间的区别原创 2020-06-23 19:45:02 · 10151 阅读 · 0 评论 -
装完B就跑,这几个Linux指令真的Diǎo
装完B就跑,真TM刺激原创 2020-04-19 01:01:56 · 12738 阅读 · 74 评论 -
Ubuntu 1804 安装xmind8详细过程
安装比较简单, 折腾了很久,一启动就报错,切换到JDK1.8版本就能用了;原创 2020-04-06 20:49:13 · 9969 阅读 · 19 评论 -
【Linux系列汇总】嵌入式Linux实战快速进阶之路(持续更新)
我把之前在学习嵌入式Linux和工作中遇到问题和相关经验等,一起整理到这里,方便自己查阅和学习,温故而知新,如果能帮助到您,请帮忙点个赞;原创 2020-04-04 20:21:53 · 10441 阅读 · 30 评论 -
Ubuntu1804 源码阅读神器,egypt+graphviz 图形化显示函数调用关系(超详细+图文并茂)
函数调用图可以让我们更加只管了解到源码函数直接的调用和层次关系,提高阅读源码的效率,工欲善其事,必先利其器;原创 2020-04-02 22:28:35 · 14133 阅读 · 39 评论 -
Linux从error while loading shared libraries: libxxx.so.x 错误的常规解决思路看程序与动态库的关系
出现这类错误的原因通常是动态库无法被加载,本文介绍了常规的解决方案,适用多种情况;原创 2020-03-25 21:24:12 · 22964 阅读 · 28 评论 -
Linux 通过终端命令行切换系统语言
通过命令的形式修改系统的语言,比较详细的讲解了来龙去脉;原创 2020-03-24 22:46:19 · 9927 阅读 · 7 评论 -
ubuntu 1604升级到ubuntu 1804无法忽视的细节问题(亲测有效)
升级ubuntu系统,遇到很多问题,可能你在升级的时候也会碰到,希望对你有所帮助;原创 2020-03-24 11:52:10 · 12098 阅读 · 15 评论 -
一文教你快速修改ubuntu终端显示的主机名和用户名
为了让终端的显示更加简洁,清爽,改掉显示的用户名和主机名,改成无名。原创 2020-03-19 20:39:34 · 9717 阅读 · 21 评论 -
linux gdb快速入门教程
对于想要学习gdb调试的童鞋,网上搜一下就是一大堆资料,信息太多而不知道该如何筛选了,当然最有效的方式是去看gdb的手册,但是对于想快速上手的我,需要掌握最常用的一些指令和一些技巧,期间,我找到了一个很全很强大的教材,感觉就是gdb bible——100-gdb-tips,100-gdb-tips-gitbook;强烈推荐参考这个文档。文档里已经基本涵盖了gdb使用的各种操作和技巧,但是都相互比较独立和分散,没有一个完整的使用流程,下面我会总结一下整体使用的一个流程。原创 2019-07-30 08:42:04 · 3498 阅读 · 0 评论 -
Linux高性能服务器技术总结
服务器是提供计算服务的设备, 由于服务器需要响应用户请求,因此在处理能力、稳定性、安全性、可扩展性、可管理性等方面提出了较高要求。随着虚拟化技术的进步, 云服务器(ECS) 已经快速的在国内普及开来, 其管理方式比物理服务器更简单高效。用户可迅速创建或释放任意多台云服务器, 帮助企业降低开发运维的难度和整体 IT 成本, 使整个研发周期更专注于核心业务的创新。在网络环境下,根据服务器提供的服务类型不同,分为文件服务器、 数据库服务器、应用程序服务器、 WEB 服务器等。原创 2019-07-23 15:11:14 · 3471 阅读 · 9 评论 -
用VirtualBox代替VMWare安装Ubuntu系统图文教程总结
为什么使用VirtualBox,而不是VMWare?其实在相当长的一段时间里,我一直都是使用`VMWare`,优点很多,强大,功能多,非常舒服,但是要收费。为什么开始使用用`VirtualBox`,相比较`VMWare`,首先`VirtualBox`有以下几个优点:- 开源,免费,不需要破解,如果你有需要,甚至可以自己添加新功能,再重新编译一个软件出来;- 跨平台,`Linux`/`Win`/`osx`统统都可以使用;- 轻量,运行起来占用的资源更少,虽然这是主观的感受而已,因为安装包体积小了很多原创 2019-06-29 15:25:55 · 3533 阅读 · 0 评论 -
Ubuntu系统make menuconfig的依赖包ncurses安装
Linux内核或者u-boot进行make menuconfig的时候,如果系统上没有安装ncurses,就会出现以下报错 *** Unable to find the ncurses libraries or the *** required header files. *** 'make menuconfig' requires the ncurses libraries. *** ...原创 2019-07-01 18:24:53 · 4192 阅读 · 0 评论 -
Linux内核驱动学习(七)应用层直接操作GPIO
文章目录简介原理图节点设置为输出设置为输入映射关系简介前面通过libgpio的方式介绍了内核空间对GPIO进行操作的接口,其做了较好的封装,同时Linux系统的sysfs机制已经在系统路径下/sys/class/gpio注册了相应的节点,通过读写该节点下的文件就能轻松的完成GPIO输入输出配置以及引脚状态的获取。原理图我使用的Rockchip的px30,引脚是GPIO3_D0,具体硬件肯定...原创 2019-05-04 17:10:04 · 6045 阅读 · 2 评论 -
Ubuntu 配置/etc/fstab参数实现开机自动挂载硬盘
文章目录前言fstab实现步骤前言不同于热插拔的设备,对于硬盘可能需要长期挂载在系统下,所以如果每次开机都去手动mount是非常痛苦的,当然Ubuntu系统的GNOME桌面自带的gvfsd也会帮你自动挂载,但是指向的路径却是按照uuid命名的,对于有强迫症的我而言,这是极其痛苦的,所以希望开机就可以自动挂载硬盘到指定路径。只关注具体如何实现可以直接跳过我的这些“废话”,直接移步到实现步骤。f...原创 2019-04-27 09:43:36 · 31693 阅读 · 1 评论 -
Android 8.1 关机充电动画(三)Android模式
system:Android 8.1platform:RK3326/PX30`Android`模式下的关机充电动画修改相对来说需要修改`Linux`应用层的东西了,可以定位到源码路径`/system/core/healthd`下,和`uboot`模式类似,这里只需要修改轮播的充电图片,然后将每张图片和电量百分比对应到代码中即可,思路还是比较简单的,下面我会慢慢分析具体实现的细节。原创 2019-04-13 16:16:45 · 6743 阅读 · 2 评论 -
Android 8.1 关机充电动画(二)Uboot模式
system:Android 8.1platform:RK3326/PX30这部分要涉及到`uboot`下关机充电动画的定制,属于比较`low level`的部分,所以代码修改的部分不大,在`uboot`中主要是对多张图片进行轮播,所以这里的主要工作是定位到相应的代码以及如何定制自己的动画。原创 2019-04-13 16:15:48 · 5435 阅读 · 0 评论 -
Ubuntu 拦截并监听 power button 的关机消息
system:ubuntu 18.04platform:rockchip 3399board:NanoPi M4前言物理上的电源按键短按之后,系统直接硬关机了,导致应用程序无法保护现场,就直接宕机了,查阅了大量资料,发现通过使用acpi可以禁止这个关机消息上传,但是看完acpi就放弃了这个想法,至少我在arm平台上没有具体成功实现这个消息的拦截,不然通过这个方式应该很便利,至少在intel...原创 2019-03-21 21:44:10 · 5437 阅读 · 1 评论 -
Linux内核驱动学习(五)KThread学习总结
文章目录简介例程运行结果参考简介使用内核线程需要包含头文件#include <linux/kthread.h>,下面整理了一下常用的api接口,如下表格所示;函数功能struct task_struct * kthread_create(threadfn, data, namefmt, arg...)创建一个线程struct task_struct *...原创 2019-03-05 13:21:55 · 5778 阅读 · 2 评论 -
Linux之V4L2基础编程
Linux之V4L2基础编程本文内容来源于网络,本博客进行整理。1. 定义V4L2(Video For Linux Two) 是内核提供给应用程序访问音、视频驱动的统一接口。2. 工作流程:打开设备-> 检查和设置设备属性-> 设置帧格式-> 设置一种输入输出方法(缓冲 区管理)-> 循环获取数据-> 关闭设备。3. 设备的打开和关闭:#include <fcntl.h>int open(const转载 2017-08-03 09:54:28 · 2957 阅读 · 26 评论 -
Openwrt:基于MT7628/MT7688的PWM驱动
前言MT7628/MT7688的PWM驱动相关资料较少,官方的datasheet基本也是一堆寄存器,啃了许久,终于嚼出了味道。由于PWM存在IO口复用的问题,所以要提前配置好GPIO的工作方式,不然你无论怎么掐示波器,都不会出现预计的波形。由于MT7688和MT7628是pin to pin,几乎完全兼容,除了MT7628是2T2R而MT7688是1T1R这个区别,在PWM的设置上是相同,所以MT7原创 2017-07-16 11:01:57 · 5183 阅读 · 5 评论 -
Openwrt:添加"自定义软件包.ipk"
我们已经尝试做的一件事情,是让移植软件到OpenWrt的操作变得非常容易。如果打开OpenWrt里的一个软件包的目录(OpenWrt/Package/* 或 OpenWrt/feeds/packages//),通常会发现几样东西:package/Makefile [必备]package/patches/ [可选]package/files/ [可选]patches目录和files目录都是可选转载 2017-07-06 09:39:44 · 7413 阅读 · 0 评论 -
Openwrt:编译固件提示[mktplinkfw] error: images are too big 错误
在编译mr3420的固件时,添加了luci、jamvm,但是最终编译的固件“openwrt-ar71xx-generic-tl-mr3420-v1-squashfs-factory.bin”的大小仅仅只有3.1MB,为何会如此小巧,心生疑惑下把该固件烧录到路由中,发现luci和java虚拟机都没有添加上去,然后才发现是固件生成失败了。提示如下:**/bin/ar71xx/openwrt-ar71xx原创 2017-06-29 09:29:24 · 10205 阅读 · 0 评论 -
Kali:系统安装之后进行所需配置
apt设置源由于官网的源需要墙或者想使用国内的源,可以修改source.listvi /etc/source.list打开文件并修改为其他可用的源地址,以下可供参考deb http://ftp.sjtu.edu.cn/debian wheezy main non-free contribdeb-src http://ftp.sjtu.edu.cn/debian wheezy main non-fr原创 2017-04-16 11:29:21 · 3816 阅读 · 0 评论 -
Openwrt:mtd/mtd_write烧写固件
> 比较简单,亲测有效,中途不要断电,当心变砖。原创 2017-02-15 10:50:02 · 25754 阅读 · 0 评论 -
NFS服务器搭建-共享PC与ARM主板文件
NFS服务器搭建-共享PC与ARM主板文件在搭建好交叉编译环境之后需要实现目标板与宿主机的文件共享,在这里选择NFS,由于资料较多。需要注意的以下几点:目标板与宿主机需要连接在同一个网段内。宿主机需要搭建nfs服务器,同样目标板在编译内核的时候需要选择nfs。步骤一 宿主机环境设置安装nfs-kernel-server;sudo apt-get install nfs-kernel-serv原创 2017-01-16 13:54:04 · 3033 阅读 · 0 评论 -
ARM-Linux Gcc 交叉编译环境搭建
简单地安装linux-sunxi的交叉工具链,搭建交叉编译环境原创 2019-01-19 08:16:34 · 3641 阅读 · 0 评论 -
Linux下ffmpeg交叉编译
1 获取源代码git clone -b "branch" https://git.ffmpeg.org/ffmpeg.git“branch” 可以是以下的master、release/3.1等等,具体看需要使用哪个分支。 5 hours ago master shortlog | log | tree 4 days ago release/3.1 shortlog | log原创 2017-08-11 10:14:24 · 4042 阅读 · 0 评论 -
Linux开机自启动脚本的总结
一、在/etc/rc.local中添加如果不想将脚本粘来粘去,或创建链接什么的, 则: step1. 先修改好脚本,使其所有模块都能在任意目录启动时正常执行; step2. 再在/etc/rc.local的末尾添加一行以绝对路径启动脚本的行; 如:$ vim /etc/rc.local#!/bin/sh## This script will be executed *after* al转载 2017-08-04 16:35:39 · 3101 阅读 · 0 评论 -
探索Linux内核:Kconfig / kbuild的秘密
探索Linux内核:Kconfig / kbuild的秘密文章目录探索Linux内核:Kconfig / kbuild的秘密深入了解Linux配置/构建系统的工作原理Kconfigkbuild的[vmlinux_generation_process.png](https://opensource.com/file/411516)了解vmlinux与bzImage依赖性跟踪展望未来深入了解Lin...翻译 2019-02-18 08:00:43 · 4102 阅读 · 3 评论 -
一看就懂的Ubuntu系统下samba服务器安装配置教程
一看就懂 Ubuntu 安装并设置samba服务器前言本来想要按照原先的写作习惯,进行一些的铺垫,引证和概念介绍,但是这个场合感觉还是开门见山比较好,毕竟重点是一看就懂,快速设置,快速安装。环境搭建安装sudo apt-get updatesudo apt-get install smaba -y配置打开配置文件,一般默认的配置文件路径是/etc/samba/smb.conf这...原创 2019-01-19 09:38:29 · 3103 阅读 · 0 评论 -
Linux共享库简单总结
库静态库编译的二进制会重新包含一份静态库的副本共享库编译gcc -shared -o file.c-fPIC链接ldld-linux.so.2可执行程序–>动态依赖表流程:程序运行–>加载ld-linux.so.2–>搜索动态库路径寻–>路径下根据动态链接表搜索动态库 –> 搜索相应符号链接加载至内存执行符号链接覆盖:简单的说是两个同名的函数具有相同的符号链接则会绑定第一次搜索到的符号链接函数程序运原创 2017-12-25 21:01:59 · 2792 阅读 · 0 评论 -
如何构建一个arm64 AArch64的Ubuntu rootfs
本文参考自gun-linux.org的文章 ,本文将实现如何通过Ubuntu-core在Aarch64上构建最小的Ubuntu文件系统。ubuntu-base-arm64的下载地址1 下载文件创建rootfs文件夹mkdir ~/rootfs && cd ~/rootfswget http://cdimage.ubuntu.com/ubuntu-base/releases/16.04.1/rele原创 2017-11-02 13:35:32 · 23439 阅读 · 10 评论 -
ubuntu文件系统修改( for arm)
系统:ubuntu14.04镜像:ubuntu-rootfs.img for aarch64创建一个文件夹 ubuntu-mountmkdir ubuntu-mount将ubuntu-rootfs.img镜像挂载到ubuntu-mountmount ubuntu-rootfs.img ubuntu-mount进入ubunt-mount就可以看到文件系统的结构了。cd ubuntu-mount安装模拟原创 2017-10-17 19:14:57 · 4919 阅读 · 0 评论 -
Openwrt:逆向永久修改Flash中的Mac地址
Write mac address to flash directly by cgi.原创 2017-04-07 09:21:18 · 7915 阅读 · 1 评论 -
ubuntu上lib-ace库安装编译
描述下本人电脑情况: 虚拟机版本:VMware-workstation-full-v7.1.4; ACE版本:ACE6.0.0 虚拟机Linux版本:Ubuntu10.10 Desktop; 安装ACE,最简单的方法,是直接apt-get安装sudo apt-get install libace-dev 这样,ace文件则位于/usr/include下,li转载 2017-08-29 08:59:03 · 3951 阅读 · 0 评论