- 博客(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
11371
原创 一个对阅读、调试内核代码非常实用的函数 --- print_symbol
需求: 在kernel 代码中,有很多hook函数。我们在阅读或调试linux 内核代码时,特别是对某部分不是很了解的情况下,遇见指针函数的调用摸不清头脑,不知道到底调用的啥函数。解决方法: 比较笨的方法是:将函数地址打印出来,再反编译vmlinux,在反编译出的汇编代码中,寻找在此地址上的函数名。这样做,比较耗时并且麻烦!其实上面的两个步骤,可直接使用print_symbol 函数直接打印出函
2017-03-12 16:31:36
1166
原创 如何将elf(二进制)固件编译进内核
如何将elf(二进制)固件编译进内核需求:我的网卡驱动在加载时,需要两个elf格式的固件。SDK的做法是将这两个固件放置到跟文件系统中的/lib/firmware目录下,内核启动的时候在根文件系统中寻找。这样做,内核和根文件系统就出现了一个强相关的关系。客户提出,在内核不要和根文件系统较强联系,不要出现这种情况:编译出的kernel和此根文件系统启动后,OK没有问题!!!而换了一个根文件系统,居然网
2017-03-10 01:04:19
2228
转载 Linux下ARM汇编语法
转)http://blog.youkuaiyun.com/denlee/archive/2008/06/01/2501182.aspx 第一部分 Linux下ARM汇编语法 尽管在Linux下使用C或C++编写程序很方便,但汇编源程序用于系统最基本的初始化,如初始化堆栈指针、设置页表、操作ARM的协处理器等。初始化完成后就可以跳转到C代码执行。需要注意的是,GNU的汇编器遵循AT&T的汇编语法,可以从
2017-02-06 07:52:40
1018
原创 __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
1266
翻译 bash shell:获取本脚本存储位置的绝对路径
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" 无论脚本从哪里调用,怎么调用,上面代码都是非常有用的获得脚本存储位置绝对路径的一行代码。 如果不涉及链接文件,那么它将工作的非常好,可以得到正确的路径。想解决链接文件,就得使用多行代码了: SOURCE="${BASH_SOURCE[0]}" while [ -h "$SO
2016-11-13 21:31:54
5676
原创 btrfs文件系统使用
btrfs文件系统简介 Btrfs(又名:B-tree, Butter FS, Better FS),GPL授权, Oracle从2007研发,是一个为linux设计的写实复制的文件系统,主要关注与文件系统的容错处理、错误修复和易管理。btrfs 于2007年开始开发,到2014年发布稳定版本。 linux发行版本支持: debian fedora gentoo ubuntu arc
2016-10-15 21:37:17
3139
转载 常用 Git 命令清单这一篇就够啦!
下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。 Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 一、新建代码库 # 在当前目录新建一个Git代码库 $ git init # 新建一个目
2016-10-14 21:45:22
369
原创 读书笔记 ------ 重构 第七章 在代码之间搬移特性
1:“决定把责任放在哪儿” 试用 方法: Move Method , Move Filed ,如果需要都试用先试用 Move field 再使用 Move Method 。 2:类责任过多 --->Extract class 方法 3:类责任太少---> inline class 4:一个类使用另一个类 ---> Hide Delegate 5:隐藏委托类导致拥有者的接口经常变化--->
2016-05-23 07:22:24
355
原创 读书笔记 ------ 重构 -> 在对象之间搬移特性
1:“决定把责任放在哪儿” 试用 方法: Move Method , Move Filed ,如果需要都试用先试用 Move field 再使用 Move Method 。 2:类责任过多 --->Extract class 方法 3:类责任太少---> inline class 4:一个类使用另一个类 ---> Hide Delegate 5:隐藏委托类导致拥有者的接口经常变化--->
2016-05-23 07:19:21
354
原创 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
963
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅