
linux裁剪
文章平均质量分 79
linux裁剪
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
毛毛虫的爹
这个作者很懒,什么都没留下…
展开
-
linux下shell脚本实现串口的读取以及报文的解析
最近在从串口读取报文并判断报文内容是否有效,本来用C++写了一个小程序。奈何板卡的sftp服务老是连不上,于是考虑用shell脚本实现这个功能。用shell脚本实现这些功能面临以下几个问题:1.命令行如何设置和读取串口?stty是Linux平台下很好的终端设置工具,可以设置各种终端属性。本质上串口也是Linux系统中终端的一种。所以第一步设置串口的波特率:stty -F /dev/ttyO1 raw speed 96001然后就是读取串口,在命令行操作时我们用cat命令很容易就读取并从终端打印出了原创 2021-08-06 09:19:36 · 2443 阅读 · 0 评论 -
devres in linux driver
写 driver 时, probe 中常常要为设备分配一些资源, 如 内存 / irq / gpio / iomap 等. 而在 probe 中失败时又要小心的释放掉这些资源. 底层驱动开发人员可能会把大部分精力放在 probe 成功的处理流程上, 而失败的情况可能出现的较少以致于忘记测试. 这导致的一个问题是当设备加载失败时, 系统中会遗留许多与之相关的资源.为了干净优雅的处理这种问题, 驱动模型中引入了 devres 机制. 在为 device 分配资源的时候记录下它们, 等到 device det原创 2021-04-08 10:47:03 · 422 阅读 · 0 评论 -
Linux内核中_IO,_IOR,_IOW,_IOWR宏的用法与解析
在驱动程序里,ioctl()函数上传送的变量cmd是应用程序用于区别设备驱动程序请求处理内容的值。cmd除了可区别数字外,还包含有助于处理的几种相应信息。cmd的大小为32位,共分4个域: bit31~bit30 2位为“区别读写”区,作用是区分是读取命令还是写入命令。 bit29~bit15 14位为"数据大小"区,表示ioctl()中的arg变量传送的内存大小。 bit20~bit08 8位为“魔数"(也称为"幻数")区,这个值用以与其它...原创 2021-03-10 17:44:36 · 875 阅读 · 0 评论 -
linux下双网卡绑定——实现:失效保护(冗余)和双网卡负载均衡
Linux bonding驱动提供了一种方法,用以把多个网络接口(network interface)组合成一个逻辑的"bonded"接口。Bonded接口的工作方式取决于驱动的模式:不同的模式提供了热备份或负载均衡等不同的服 务。此外,驱动还会监控链路的可用性。Bonding驱动最早来自Donald Becker针对Linux 2.0内核的beowulf补丁。现在已经有了很多的变化,最早的来自beowulf网站的工具已经不能和现在的驱动一起使用。 大多数目前发布的Linux内核都以模块(mod...原创 2020-10-30 19:02:14 · 585 阅读 · 1 评论 -
linux设备驱动之PCIE驱动开发
PCIE(PCI Express)是INTEL提出的新一代的总线接口,目前普及的PCIE 3.0的传输速率为8GT/s,下一代PCIE 4.0将翻番为16GT/S,因为传输速率快广泛应用于数据中心、云计算、人工智能、机器学习、视觉计算、显卡、存储和网络等领域。PCIE插槽是可以向下兼容的,比如PCIE 1X接口可以插4X、8X、16X的插槽上。实现基本的PCIE驱动程序,实现以下模块:初始化设备、设备打开、数据读写和控制、中断处理、设备释放、设备卸载。本程序适合PCIE驱动开发通用调试的基本框架,对原创 2020-09-26 08:54:56 · 2836 阅读 · 1 评论 -
CentOS7安装i7 6600网卡驱动I219M
安装CentOS7,安装过程很顺利。结束后发现没有网卡。于是检查当前的网卡设备:lspci -nn | grep -i net发现网卡是Intel Corporation Device [8086:15e3]。通过在http://cateee.net的查询,发现对应Intel的型号是I219-LM。但是这个型号在Intel官网上只有FreeBSD的驱动,并没有Linux的源码。后面又发现了www.centos.org上的内容,确认了可以和e1000e的网卡驱动通用,这个在Intel上是有原创 2020-08-15 14:31:40 · 1295 阅读 · 0 评论 -
通过grub-install命令把grub安装到u盘-总结
通过grub-install命令把grub安装到u盘①准备一个u盘,容量不限,能有1MB都足够了。 ②把u盘格式化(我把u盘格式化成FAT格式了,最后证明也是成功的)。③开启linux系统,打开命令行终端,进入root模式,然后输入命令行:mount /dev/sdb3 /tmp/bootgrub-install --root-directory=/tmp/boot --no-floppy原创 2016-04-22 11:17:49 · 24663 阅读 · 2 评论 -
如何将ubuntu控制台输出到串口?
如何将ubuntu控制台输出到串口?Linux使用ubuntu14.04发行版本操作步骤:1、修改/etc/default/grub## Modify this line by leekwenGRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,115200n8"## Modify this line by leekwenGRUB_TERMINAL=seri转载 2017-02-13 10:13:16 · 3249 阅读 · 0 评论 -
ubuntu设置开机启动图形应用程序,替换默认图形桌面
一、前言无论你想要在ubuntu 12.04(11.10适用)开机启动图形程序,或者非图形程序,相信这篇文章能帮上大忙。我将根据我的需求讲解我的做法,并解释为什么这么做。完了以后,各位看官根据自己的需求不加修改或稍加修改即可适用。我这边,总得来说,需求是做一个RDP瘦客户端,在一个板子上装上ubuntu 12.04,然后要这个系统启动后能立即弹出RDPclient登录框,而不是进入ubuntu的图转载 2017-02-13 10:09:22 · 2286 阅读 · 0 评论 -
ubuntu自动登录tty1(shell,text)配置
1.写脚本autologin代码:#!/bin/bash/bin/login -f #你的用户名移动到/usr/bin/下,并且用chmod +x autologin设置可执行权限2.修改/etc/init/tty1.conf修改前:# tty1 - getty## This service maintains a getty on tty1 from the point the system i原创 2017-02-13 09:56:47 · 5553 阅读 · 0 评论 -
ubuntu 14.04 分辨率调整 -- xrandr命令
问题描述: 自己在安装ubuntu-kylin 14.04 TLS系统成功后,在调整分辨率的时候(系统设置--显示)发现分辨率的选项只有1024x768以及800x600两个选项,而台式机的外接显示屏最高分辨率可能1920x1080(60HZ),于是自己想将分辨率调节到最佳模式(即最高分辨率)解决方法: 1、打开命令行终端,输入xrandr,列出当前能检测到的分辨率: Scre原创 2017-02-09 09:39:59 · 6340 阅读 · 2 评论 -
linux下在用户空间访问I/O端口的ioperm和iopl函数
1.ioperm函数 功能描述:为调用进程设置I/O端口访问权能。ioperm的使用需要具有超级用户的权限,只有低端的[0-0x3ff] I/O端口可被设置,要想指定更多端口的权能,可使用iopl函数。这一调用只可用于i386平台。用法:#include /* for libc5 */#include /* for glibc */int ioperm(unsigned long fr原创 2017-01-11 18:32:37 · 1245 阅读 · 1 评论 -
linux驱动---用I/O命令访问PCI总线设备配置空间
PCI总线推出以来,以其独有的特性受到众多厂商的青睐,已经成为计算机扩展总线的主流。目前,国内的许多技术人员已经具备开发PCI总线接口设备的能 力。但是PCI总线的编程技术,也就是对PCI总线设备的操作技术,一直是一件让技术人员感到头疼的事情。PCI总线编程的核心技术是对相应板卡配置空间 的理解和访问。一般软件编程人员基于对硬件设备原理的生疏,很难理解并操作配置空间,希望硬件开发人员直接告诉他们怎原创 2016-05-24 16:35:40 · 16927 阅读 · 0 评论 -
linux之hdparm命令说明及其测试硬盘读写速度
hdparm -t /dev/sda1功能说明:显示与设定硬盘的参数。 语 法:hdparm [-CfghiIqtTvyYZ] [-a ][-A ][-c ][-d ][- k ][-K ][-m ][-n ][-p ][-P ][-r ][-S ][-u ][-W ][-X ][设备]补充说明:hdparm可检测,显示与设定IDE或SCSI硬盘的参数。参 数:-a 设定读取文件时,预先原创 2017-01-07 09:45:32 · 9428 阅读 · 0 评论 -
Linux PCI/PCI-E设备配置空间读取与修改
Linux PCI/PCI-E设备配置空间读取与修改1 前言 PCI和PCI Express,是计算机常使用的一种高速总线。操作系统中的PCI/PCI-E设备驱动以及操作系统内核,都需要访问PCI及PCI-E配置空间。PCI/PCI-E设备的正常运行,离不开PCI/PCI-E配置空间。通过读写PCI/PCI-E配置空间,可以更改设备运行参数,优化设备运行。本文介绍用户空间可以读取、修改、扫描PCI转载 2017-01-06 17:15:12 · 5575 阅读 · 0 评论 -
用dd实现linux硬盘备份
一个去年的老本,500G硬盘,空间各种捉急,准备迁移到公司的台式机上,却发现Linux上迁移环境没有Windows下那么方便,只能复制整块硬盘了。从公司拿了一块1T的硬盘,插入移动硬盘盒(淘宝上搞的一个移动硬盘盒,40元),加电识别,格式化,开始硬盘复制。市面上针对数据备份的软件不计其数,我们不讨论他们的优缺点。但是如果你正在使用Linux(其实如果你没有使用Linux,而是通过一些 Linux原创 2016-11-26 14:33:16 · 8096 阅读 · 0 评论 -
Linux内核修炼之framebuffer分析
Linux源码包中/document/fb/framebuffer.txt有如下介绍:The frame buffer device provides an abstraction for the graphics hardware. It represents the frame buffer of some video hardware and allows application softw原创 2017-03-01 10:22:36 · 2421 阅读 · 2 评论 -
将x86平台的Linux控制台重定向到串口
一般地,安装在PC的Linux是使用鼠标、键盘作为输入源,显示器作为输出显示,但有些X86的设备,如工控机等,为了节省成本,会去掉认为无用的外设接口,以致熟悉了PC的人不习惯。一个设备,没有鼠标、键盘、显示器,但只要还有串口,还是可以控制的。本文将在一个具备串口的设备上配置Linux系统,以便将控制台重定向到串口。Linux使用ubuntu14.04发行版本。需要改动的地方有2处,一是grub配置原创 2017-03-02 15:01:45 · 2254 阅读 · 0 评论 -
ubuntu登录自动运行脚本(解决root权限问题)
登录ubuntu后执行前面的命令,就能加载无线驱动,但是可不可以登录的时候自动运行呢?省得每次登录的时候都要敲命令,而且还要切换root用户才能执行相关命令,这样比较麻烦。 可以写一个脚本,把那些命令全部写在脚本里面,然后在.profile文件中添加执行这个脚本的语句,这样就OK了, 1.以root用户,新建个脚本文件:vi winless.sh 内容如下:原创 2017-05-31 11:42:04 · 13085 阅读 · 0 评论 -
各种桌面环境下设置开机自启动应用程序的方法
本教程中将介绍如何在各种Linux桌面环境下,自动启动某个程序。 GNOME桌面环境 在终端中运行这个命令,启动"Startup Applications Preferences"(启动应用程序首选项)GUI。 $ gnome-session-properties 点击"Add"(添加)按钮,即可配置一个新的启动应用程序。分别往"Name"(名称)栏和"Command"(命令)栏里面键入该原创 2017-05-31 11:41:06 · 8073 阅读 · 0 评论 -
Signal ()函数详细介绍 Linux函数
signal()函数理解在 这个头文件中。signal(参数1,参数2);参数1:我们要进行处理的信号。系统的信号我们可以再终端键入 kill -l查看(共64个)。其实这些信号时系统定义的宏。参数2:我们处理的方式(是系统默认还是忽略还是捕获)。一般有3中方式进行操作。(1)eg: signal(SIGINT ,SIG_ING );//SIG_ING 代表忽略SIGINT信号,SIGINT信号代原创 2017-03-10 08:32:24 · 1076 阅读 · 0 评论 -
linux系统增加消息队列长度MSGMNI
经常在创建消息队列呢,报错No space left on device。这时,可以通过修改MSGMNI这个参数来解决。MSGMNI--- 这个参数决定了系统中同时运行的最大的message queue的个数。 MSGMNI:/proc/sys/kernel/msgmni文件中定义了该值; 作用:该值定义了消息队列的最大长度;要使db2(7.1版)正常运行,其最小值为128; 对于高负荷的DB原创 2017-03-08 19:10:29 · 3329 阅读 · 0 评论 -
linux系统 initrd.img中init启动脚本分析
概述:这篇文章主体内容来源于网上转载。前面几篇文章倾向于制作initrd.img,这篇文章更倾向于initrd.img的运行过程:加载framebuff驱动 ide驱动和文件系统驱动,最后进入到真正的根文件系统。以下内容全是转载:转自 ubuntu/debian initrd 过程 自己最近花时间研究了一下 Linux 的 initial ram disk,然后就写了这篇文章。因为是要 给原创 2017-02-23 17:43:28 · 4335 阅读 · 0 评论 -
Linux Framebuffer驱动剖析之二—驱动框架、接口实现和使用
深入分析LinuxFramebuffer子系统的驱动框架、接口实现和使用。一、LinuxFramebuffer的软件需求 上一篇文章详细阐述了LinuxFramebuffer的软件需求(请先理解第一篇文章再来阅读本篇文章),总结如下: 1. 针对SOC的LCD控制寄存器进行编程,以支持不同的LCD屏,以使该SOC的应用场景最大化。这是硬件平台相关的需求。其对应Linux源码路径arch\arm\m原创 2017-02-24 10:47:52 · 1103 阅读 · 0 评论 -
linux系统/sbin/init执行过程
对于Linux的启动过程,之前一直都是研究到内核运行/sbin/init,启动第一个用户进程为止,因为这部分一直都是在内核态工作,所以对于学习内核还是有帮助的,当时/sbin/init之后的过程也需要明白,今天就总结一下。 首先大体写一下内核从启动到执行/sbin/init的流程: head.S ===> start_kernel ===> rest_init ===> cpu_idle原创 2017-02-23 17:33:15 · 2048 阅读 · 0 评论 -
ubuntu 下命令行播放器mplayer 使用详解
ubuntu 下命令行播放器mplayer 使用详解 2011-01-02 21:00:42| 分类: Linux/Unix | 标签: |字号大中小 订阅使用 MPlayer 播放媒体文件最简单的方式是:mplayer filenameMPlayer 会自动检测文件的类型并加以播放,如果是音频文件,则会在命令行中显示该播放文件的状态信息;而假如是视频文件的话,则会打开一个新的播放窗口。倒原创 2017-02-15 10:22:36 · 8754 阅读 · 0 评论 -
ubuntu下串口编程备忘
弄了一下串口,一个小问题多折腾了下,备忘。软件环境:zl@zhanglong:~$ cat /etc/lsb-release DISTRIB_ID=UbuntuDISTRIB_RELEASE=12.04DISTRIB_CODENAME=preciseDISTRIB_DESCRIPTION="Ubuntu 12.04.4 LTS"zl@zhanglong:~$uname -aLinux zhangl原创 2017-02-15 10:22:12 · 1596 阅读 · 0 评论 -
Linux内核开发之将驱动程序添加到内核
驱动程序添加到内核 一.概述:在Linux内核中增加程序需要完成以下三项工作:1.将编写的源代码复制到Linux内核源代码的相应目录2.在目录的Kconfig文件中增加新源代码对应项目的编译配置选项3.在目录的Makefile文件中增加对新源代码的编译条目二.实例1.先把驱动代码usbtmc(文件夹)赋值到/usr/src/linux-headers-2.6.32-31-generic/drive转载 2017-02-23 09:59:22 · 810 阅读 · 1 评论 -
Ubuntu下安装nvidia显卡驱动
方法1.从受限制的源安装驱动 打开终端输入如下命令安装驱动:sudo apt-get install nvidia-current nvidia-settings通过这种方法安装的驱动开机后电脑很有可能会显示不正常,虽然画面不模糊了,但是画面不协调。这个时候我们只好卸载刚刚装好的驱动。可以通过快捷键打开终端 ctrl+alt+t,sudo apt-get --purge remove nvi原创 2016-11-16 10:17:57 · 2700 阅读 · 0 评论 -
Ubuntu 上查看硬件信息命令
1、Mint 驱动程序管理器是由 Linux Mint 团队开发的一款系统工具软件,使得用户在Linux系统中可容易安装专有驱动,通过一个直观的界面。由于 Mint 驱动程序管理器具有独立性,它支持所有的桌面环境:Unity,KDE,GNOME,Xfce,network 等。可用的最新版本是 Mint 驱动程序管理器1.34。sudo apt-get install gdebiwget packa原创 2016-11-16 09:58:53 · 4097 阅读 · 0 评论 -
FFMPEG 实现 YUV,RGB各种图像原始数据之间的转换(swscale)
FFMPEG中的swscale提供了视频原始数据(YUV420,YUV422,YUV444,RGB24...)之间的转换,分辨率变换等操作,使用起来十分方便,在这里记录一下它的用法。swscale主要用于在2个AVFrame之间进行转换。下面来看一个视频解码的简单例子,这个程序完成了对"北京移动开发者大会茶歇视频2.flv"(其实就是优酷上的一个普通视频)的解码工作,并将解码后的数据保存为原始数据原创 2016-07-13 15:06:13 · 1740 阅读 · 0 评论 -
linux命令之 ifconfig
许多windows非常熟悉ipconfig命令行工具,它被用来获取网络接口配置信息并对此进行修改。Linux系统拥有一个类似的工具,也就是ifconfig(interfaces config)。通常需要以root身份登录或使用sudo以便在Linux机器上使用ifconfig工具。依赖于ifconfig命令中使用一些选项属性,ifconfig工具不仅可以被用来简单地获取网络接口配置信息,还可以修改原创 2016-05-04 16:11:07 · 11988 阅读 · 0 评论 -
Linuxshell脚本之if条件判断
复制代码 代码如下: if list then do something here elif list then do another thing here else do something else here fi EX1:复制代码 代码如下:#!/bin/shSYSTEM=`una原创 2016-05-04 11:03:02 · 4159 阅读 · 0 评论 -
grub2与grub区别
关于版本:GRUB2 使之版本号为1.98之后的grub;GRUB legacy(版本为0.97)是指GRUB,而非GRUB2检测版本:$ grub-install -v grub-install (GNU GRUB 1.98-1ubuntu10)GRUB2与GRUB的区别:1.GRUB2引导菜单启动项是从/boot自动生成的,不是有menu.lst配置的。2.执行grub-update之后会自动原创 2016-05-13 17:41:46 · 12775 阅读 · 0 评论 -
linux下面的fd限制
如果不考虑内存大小的限制,在linux下面,fd (即file descriptor)的数量来自2个限制(阈值)。其一:是操作系统的限制。这个限制主要是在linux内核中,我们知道,用户程序的fopen操作最后都通过system call进入到linux kenrel。linux kernel会对此进行检查,防止某个用户占用太多的系统资源。现在的内核都可以通过sysctl命令在开机的时候来调整。他原创 2016-04-28 11:34:14 · 11845 阅读 · 0 评论 -
linux下FFmpeg编译生成ffplay
1、确认Makefile中指定的config.mak(在ffmpeg根目录下)中:CONFIG_FFPLAY=yes,如果不是需要重新./configure该处还有ffmpeg、ffprobe、ffserver可以打开。2、编译时需要安装libsdl1.2-dev,命令为sudo apt-get install libsdl1.2-dev,如果安装失败,之前如果安装过sdl-devel包最好将其卸原创 2016-05-10 14:45:14 · 8743 阅读 · 0 评论 -
linux下ffmpeg安装
1.ffmpeg下载地址: http://www.ffmpeg.org/download.html2.解压1$ tar zvfj ffmpeg.tar.bz2这里作者假设已经重命名为ffmpeg.tar.bz23.解压后进入ffmpeg的文件夹,查看readme, 可以看到和正常的编译安装步骤无异configure && make && make install1$ cd folder_of_ff原创 2016-05-10 14:44:58 · 4689 阅读 · 0 评论 -
linux之x86裁剪移植---字符界面sdl开发入门
linux下有没有TurboC2.0那样的画点、线、圆的图形函数库,有没有grapihcs.h,或者与之相对应或相似的函数库是什么?有没有DirectX这样的游戏开发库?SDL就是其中之一。 SDL(Simple DirectMedia Layer)是一个夸平台的多媒体游戏支持库,其中包含了对图形、声音、游戏杆、线程等的支持,目前可以运行在许多平台上,其中包括linux的 FrameBuff原创 2016-05-09 10:59:22 · 5955 阅读 · 0 评论 -
Linux 系统裁剪笔记 软盘2
第一步:裁减内核打开终端,输入:cd /usr/src/linux2.4,然后输入make xconfig.现在编译内核正式开始了1.1 “code maturity level options”选项,代表代码的成熟等级,因为这是一个试验的部分,我们不需要,所以关闭它。1.2 “Loadable module support”可加载模块支持可加载模块是指内核代码(kernel code)的一些片断原创 2016-04-25 14:20:12 · 9594 阅读 · 1 评论 -
基于busybox的Linux小系统制作 (initrd)
我们有时候有需要在busybox基础上,制作linux,可是却不知道具体怎么做,这里将对基于busybox的linux小系统制作做出详细的步骤说明。准备环境:1、一个Redhat完整系统的虚拟机,本次实例使用的是Redhat Enterprise Linux 5.82、在主虚拟机上添加一块硬盘作为小系统的存储盘,这里添加的是IDE硬盘,3、准备linux内核源码以及busybox源码,这里使用li转载 2016-04-26 10:54:23 · 7326 阅读 · 1 评论