Linux 学习
文章平均质量分 58
谢健
这个作者很懒,什么都没留下…
展开
-
Enable Serial Console on CentOS/RHEL 7
Enable Serial Console on CentOS/RHEL 7Edit “/etc/sysconfig/grub” Add to end of GRUB_CMD_LINELINUX, “console=ttyS0” Replace ttyS0 with your serial port. Mine looks like this:GRUB_TIMEOUT=5GRUB_DEFAUL原创 2017-03-31 09:48:50 · 3144 阅读 · 0 评论 -
Centos7 安装编译nbd模块
Centos7 安装编译nbd模块未安装nbd模块查看linux版本安装[root@test14 tmp]# yum install kernel-devel kernel-headers注意: wget的地址需要根据自身的系统版本设定 [root@test14 tmp]# cd /tmp/[root@test14 tmp]# wget http://vault.centos.org/7.3.原创 2017-09-19 12:12:14 · 3016 阅读 · 0 评论 -
KVM下qcow2磁盘格式磁盘扩容
KVM下qcow2磁盘格式磁盘扩容qcow2磁盘格式扩展思路如下:1、可以采用raw磁盘格式磁盘的扩展方式一致的方式进行。2、 qcow2格式磁盘,直接通过qemu-img 直接扩展qcow2磁盘, 新添加一块raw格式的磁盘加入到KVM虚拟机,然后通过虚拟机系统lvm逻辑卷管理方式进行管理,扩展磁盘空间。环境介绍: 物理机:centos 7.4 虚拟机:centos 7原创 2017-10-11 12:08:19 · 4410 阅读 · 0 评论 -
Linux驱动开发常用调试工具---之内存读写工具devmem
Linux驱动开发常用调试工具—之内存读写工具devmem摘要: 在Linux开发中着实用到的调试工具并不是很多。devmem的方式是提供给驱动开发人员,在应用层能够侦测内存地址中的数据变化,以此来检测驱动中对内存或者相关配置的正确性验证。这个工具的原理也比较简单,就是应用程序通过mmap函数实现对/dev/mem驱动中mmap方法的使用,映射了设备的内存到用户空间,实现对这些物理地址的读写操作。具原创 2017-12-11 14:42:13 · 1838 阅读 · 0 评论 -
How to upgrade gcc on CentOS6.5
How to upgrade gcc on CentOS6.5Question: The default gcc version on CentOS6.5 is too old to build a particular application. How can I upgrade the version of gcc installed on CentOS6.5?As of CentOS 6.5,转载 2017-12-20 18:11:16 · 1117 阅读 · 0 评论 -
Centos7编译替换内核
Centos7编译替换内核查看Linux内核版本安装 yum install kernel-devel kernel-headers 注意: wget的地址需要根据自身的系统版本设定 cd /tmp/wget http://vault.centos.org/7.4.1708/os/Source/SPackages/kernel-3.10.0-693.el7.src.rpmrpm原创 2017-12-06 10:36:16 · 9191 阅读 · 0 评论 -
EXPORT_SYMBOL的内核实现
EXPORT_SYMBOL的内核实现看过Linux内核源码的人应该知道,源码中充斥着像EXPORT_SYMBOL这样的宏,在我们整机的设备驱动程序中野经常会发现它的身影。大部分时间里,我们只是知道它用来像外界导出一个符号,仅此而已。我们对这些宏是如此习惯,以至于常常忽略其存在的意义,更不用说去仔细探究其背后的实现原理了,今天咱们就来研究一下EXPORT_SYMBOL在内核具体怎样实现?原创 2017-12-14 23:37:38 · 1045 阅读 · 3 评论 -
Centos7 修复grub
Centos7 修复grub如果grub配置文件丢失,开机后会直接进入grub界面,显示为grub>: 找到centos7 的boot分区1) 先使用ls命令在 grub>下输入以下命令:ls会罗列所有的磁盘分区信息,比方说:(hd0,1),(hd0,5),(hd0,3),(hd0,2)注:我的是(hd0),(hd0,msdos1),(hd0,msdos2)等2) 然后依次调用如下命令: X表示各原创 2017-12-07 16:01:42 · 44615 阅读 · 9 评论 -
I2C总线的仲裁机制
I2C总线的仲裁机制在多主的通信系统中。总线上有多个节点,它们都有自己的寻址地址,可以作为从节点被别的节点访问,同时它们都可以作为主节点向其他的节点发送控制字节和传送数据。但是如果有两个或两个以上的节点都向总线上发送启动信号并开始传送数据,这样就形成了冲突。要解决这种冲突,就要进行仲裁的判决,这就是I 2C总线上的仲裁。 I2C总线上的仲裁分两部分:SCL线的同步和SDA线的仲裁。1转载 2018-01-22 23:36:43 · 572 阅读 · 0 评论 -
Linux bmc实现
Linux bmc实现占位先原创 2018-01-31 18:09:22 · 3892 阅读 · 2 评论 -
Linux bmc实现 2
Linux bmc实现占位先原创 2018-01-31 18:10:01 · 811 阅读 · 0 评论 -
Linux bmc实现3
Linux bmc实现占位先原创 2018-01-31 18:10:47 · 635 阅读 · 0 评论 -
linux内核中打印栈回溯信息 - dump_stack()函数分析
linux内核中打印栈回溯信息 - dump_stack()函数分析转载至: http://blog.csdn.net/jasonchen_gbd/article/details/45585133简介当内核出现比较严重的错误时,例如发生Oops错误或者内核认为系统运行状态异常,内核就会打印出当前进程的栈回溯信息,其中包含当前执行代码的位置以及相邻的指令、产生错误的原因、关键寄存器的值以转载 2018-02-02 10:16:46 · 2165 阅读 · 0 评论 -
Linux ELF文件格式分析---objcopy命令的使用
Linux ELF文件格式分析—objcopy命令的使用最近在看《程序员的自我修养—链接、装载与库》一书,对书中提到的一个小问题,自己做了个试验验证一番,然后记录之。其具体问题如下: 如果我们将一个二进制文件,比如图片,MP3音乐,词典一类的东西作为目标文件的一段,该怎么做? 可以使用objcopy工具,比如我们有一个图片文件”image.jpg” 大小为8846Bytes :[james_x原创 2017-06-27 12:10:53 · 3572 阅读 · 1 评论 -
Git 创建仓库
Git 创建仓库本章节我们将为大家介绍如何创建一个 Git 仓库。 你可以使用一个已经存在的目录作为Git仓库。两台机器:A 192.168.1.123 B 192.168.1.124 A上建Git仓库,B上去访问并且提交代码james_xie@np-svr-file:~$ pwd/home/james_xiemkdir openvpn.gitcd openvpn.git/git init原创 2017-06-13 17:37:08 · 373 阅读 · 0 评论 -
nginx学习---设置进程title(setproctitle)
nginx学习—设置进程title(setproctitle)刚好看到nginx设置进程title的源码,因此做一些总结。 linux进程实际是以argv[0]处的值来作为进程的title的,因此若需要修改进程的title只需要修改argv[0]处的值即可。 简单的方法就是直接将想要设置的title复制给argv[0]即可,如下示:#include <stdio.h> #include <st原创 2017-07-11 10:26:07 · 1342 阅读 · 0 评论 -
Login to CentOS 7 without Login Prompt
Login to CentOS 7 without Login Prompt[root@testcentos7 ~]# vi /etc/systemd/system/getty.target.wants/getty\@tty1.service Find the lineExecStart=-/sbin/agetty –noclear %I $TERMand change toExecStart=-原创 2017-03-27 16:44:02 · 1527 阅读 · 0 评论 -
CentOS / RHEL v6.x: Install And Configure Serial Console
CentOS / RHEL v6.x: Install And Configure Serial ConsoleYou need to use setserial command. The command is designed to set and/or report the configuration information associated with a serial port.setse原创 2017-05-16 15:29:51 · 492 阅读 · 0 评论 -
Accessing Device Files From Kernel Space Code
在Linux内核空间访问设备文件(Accessing Device Files From Kernel Space Code)占位先原创 2017-03-31 11:58:57 · 513 阅读 · 0 评论 -
通过qemu命令搭建虚拟机环境
通过qemu命令搭建虚拟机环境最近要测试Hadoop的性能要搭建虚拟机的环境,之前搭建过,发现qemu很长时间没用就忘记了。今天在这里记录一下,以便以后查阅。1,通过如下命令创建磁盘文件:qemu-img create -f qcow2 f21vm1.qcow2 13G上面命令是创建一个磁盘大小为13G,类型为qcow2,文件名为f21vm1.qcow2的磁盘文件。 2,通过如下命令加载iso文件原创 2017-06-28 23:56:13 · 6126 阅读 · 0 评论 -
Linux ELF文件格式分析
Linux ELF文件格式分析一、ELF文件格式概述ELF = Executable and Linkable Format,可执行连接格式,是UNIX系统实验室(USL)作为应用程序二进制接口(Application Binary Interface,ABI)而开发和发布的。扩展名为elf。 其主要有三种主要类型: 适于连接的可重定位文件(relocatable file),可与其它目标文件原创 2017-05-31 23:47:21 · 12754 阅读 · 2 评论 -
UDP用打洞技术穿透NAT的原理与实现
<br />首先先介绍一些基本概念:<br /> NAT(Network Address <br /> Translators),网络地址转换:网络地址转换是在IP地址日益缺乏的情况下产生的,它的主要目的就是为了能够地址重用。NAT分为两大类,基本的NAT和NAPT(Network <br /> Address/Port Translator)。<br /> 最开始NAT是运行在路由器上的一个功能模块。<br />转载 2011-05-29 15:01:00 · 1912 阅读 · 0 评论 -
交叉编译环境的搭建
只是把交叉编译的环境搭建过去做个笔记,怕自己忘记。 1,在主机上安装nfs服务软件,因为Ubuntu默认是没有安装的$sudo apt-get install nfs-kernel-server或使用新立德包管理器安装修改nfs配置文件/etc/exports,添加如下一行/home/yourname/sharedir 192.168.0.35(rw,sync,no_roo原创 2011-10-28 22:40:39 · 1061 阅读 · 2 评论 -
Shell编程-文件读取方法集锦
1 ,在这里总结一下Shell读取文件的方法a),#使用read命令读取一行数据while read mylinedo echo "LINE:"$mylinedone < datafile.txtb),#使用read命令读取一行数据cat datafile.txt | while read mylinedo echo "LINE:"$m原创 2011-11-01 17:54:57 · 40378 阅读 · 2 评论 -
shell脚本与c语言对比学习
最近由于工作的关系,粗略的接触到一点脚本,之前也接触过,只是之前没有写过,只是偶尔自己加几句话怎么的。今天自己动手写啦一下,把shell对比于C语言的一些不同写在这里,当作自己学习的一个笔记,如果有不足之处还望各位牛人指出。 不说这么多的废话吧,还是直接上代码: #!/bin/sh start_command() { echo "the fi原创 2011-11-01 14:06:40 · 7560 阅读 · 1 评论 -
基于Openwrt + Qemu进行内核源码级调试
基于Openwrt + Qemu进行内核源码级调试上篇文章—利用Qemu + Buildroot 进行内核源码级调试中介绍了通过Qemu + Buildroot 搭建Linux内核源码级调试,但是后面在使用,学习过程中感觉有点不方便的一点就是在Buildroot中添加自己的应用或者内核模块的时候,添加应用相对来说算比较简单方便的,但是添加内核模块的时候,由于Buildroot的根目录下面的make原创 2016-11-24 18:25:45 · 8149 阅读 · 3 评论 -
利用Qemu + Buildroot 进行内核源码级调试
利用Qemu + Buildroot 进行内核源码级调试概要:最近想研究下内核里Bridge的具体实现过程,加之公司使用的嵌入式开发环境是基于Buildroot的,想着借用Buildroot来编译qemu可以使用的内核和文件系统,顺便熟悉下Buildroot环境,也省去自己编译内核通过busybox制作文件系统的麻烦。一、环境1. 宿主机(64位)系统:$ lsb_release -d原创 2016-11-10 18:11:02 · 5871 阅读 · 0 评论 -
Linux驱动中completion接口浅析
Linux驱动中completion接口浅析内核编程中常见的一种模式是,在当前线程之外初始化某个活动,然后等待该活动的结束。这个活动可能是,创建一个新的内核线程或者新的用户空间进程、对一个已有进程的某个请求,或者某种类型的硬件动作,等等。在这种情况下,我们可以使用信号量来同步这两个任务。然而,内核中提供了另外一种机制——completion接口。Completion是一种轻量级的机制,他允许一...原创 2018-03-26 14:53:49 · 492 阅读 · 0 评论