- 博客(12)
- 资源 (5)
- 收藏
- 关注
翻译 btrfs 入门使用
本文将从以下几个方面讲述,如何在linux系统中使用btrfs文件系统: 1. 创建和挂载btrfs文件系统 2. 在线改变btrfs文件系统大小 3. 在线增加/删除设备 4. 改变RAID级别 5. 创建子卷和快照 6. 使用压缩和一些其他东西btrfs文件系统现在还处于实验阶段,但是多种特殊性质使它变得非常有趣和复杂。准备工作在实验时,使用ubuntu 12.10操作系统,包含4个
2017-05-06 21:09:32 10499
原创 一个对阅读、调试内核代码非常实用的函数 --- print_symbol
需求: 在kernel 代码中,有很多hook函数。我们在阅读或调试linux 内核代码时,特别是对某部分不是很了解的情况下,遇见指针函数的调用摸不清头脑,不知道到底调用的啥函数。解决方法: 比较笨的方法是:将函数地址打印出来,再反编译vmlinux,在反编译出的汇编代码中,寻找在此地址上的函数名。这样做,比较耗时并且麻烦!其实上面的两个步骤,可直接使用print_symbol 函数直接打印出函
2017-03-12 16:31:36 1060
原创 如何将elf(二进制)固件编译进内核
如何将elf(二进制)固件编译进内核需求:我的网卡驱动在加载时,需要两个elf格式的固件。SDK的做法是将这两个固件放置到跟文件系统中的/lib/firmware目录下,内核启动的时候在根文件系统中寻找。这样做,内核和根文件系统就出现了一个强相关的关系。客户提出,在内核不要和根文件系统较强联系,不要出现这种情况:编译出的kernel和此根文件系统启动后,OK没有问题!!!而换了一个根文件系统,居然网
2017-03-10 01:04:19 2036
转载 Linux下ARM汇编语法
转)http://blog.csdn.net/denlee/archive/2008/06/01/2501182.aspx第一部分 Linux下ARM汇编语法尽管在Linux下使用C或C++编写程序很方便,但汇编源程序用于系统最基本的初始化,如初始化堆栈指针、设置页表、操作ARM的协处理器等。初始化完成后就可以跳转到C代码执行。需要注意的是,GNU的汇编器遵循AT&T的汇编语法,可以从
2017-02-06 07:52:40 904
原创 __GFP_MOVABLE是怎样影响页框链表的分配分析【linux4.8.4】
首先让我们看下__GFP_MOVABLE的定义#define __GFP_MOVABLE ((__force gfp_t)___GFP_MOVABLE)#define ___GFP_MOVABLE 0x08u这个标志位在很多地方都有使用,如磁盘文件系统分配页缓存、用户态程序分配堆栈空间等。那我们来看下,此类标志位是怎么影响页面分配的?其余的先不分析,我们直接从分配物理页面的
2017-01-23 06:42:53 1136
翻译 bash shell:获取本脚本存储位置的绝对路径
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"无论脚本从哪里调用,怎么调用,上面代码都是非常有用的获得脚本存储位置绝对路径的一行代码。如果不涉及链接文件,那么它将工作的非常好,可以得到正确的路径。想解决链接文件,就得使用多行代码了:SOURCE="${BASH_SOURCE[0]}"while [ -h "$SO
2016-11-13 21:31:54 5462
原创 btrfs文件系统使用
btrfs文件系统简介Btrfs(又名:B-tree, Butter FS, Better FS),GPL授权, Oracle从2007研发,是一个为linux设计的写实复制的文件系统,主要关注与文件系统的容错处理、错误修复和易管理。btrfs 于2007年开始开发,到2014年发布稳定版本。linux发行版本支持:debianfedoragentooubuntuarc
2016-10-15 21:37:17 2953
转载 常用 Git 命令清单这一篇就够啦!
下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。Workspace:工作区Index / Stage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库一、新建代码库# 在当前目录新建一个Git代码库$ git init# 新建一个目
2016-10-14 21:45:22 295
原创 读书笔记 ------ 重构 第七章 在代码之间搬移特性
1:“决定把责任放在哪儿” 试用 方法: Move Method , Move Filed ,如果需要都试用先试用 Move field 再使用 Move Method 。2:类责任过多 --->Extract class 方法3:类责任太少---> inline class4:一个类使用另一个类 ---> Hide Delegate5:隐藏委托类导致拥有者的接口经常变化--->
2016-05-23 07:22:24 290
原创 读书笔记 ------ 重构 -> 在对象之间搬移特性
1:“决定把责任放在哪儿” 试用 方法: Move Method , Move Filed ,如果需要都试用先试用 Move field 再使用 Move Method 。2:类责任过多 --->Extract class 方法3:类责任太少---> inline class4:一个类使用另一个类 ---> Hide Delegate5:隐藏委托类导致拥有者的接口经常变化--->
2016-05-23 07:19:21 274
原创 linux 系统变量 $-
linux 系统变量 $-,在linux配置文件中经常用到。 比如在 /etc/profile配置文件中有如下代码:for i in /etc/profile.d/*.sh ; do for [ -r "$i" ]; then if [ "${-#*i}" != "$-" ]; then
2015-09-05 18:46:41 816
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人