Here is the PDF:
How to develop and debug kernel?
原来你是这样的 VCS!
本文的动态图皆来自于莉迪亚·哈莉(Lydia Hallie) 的文章 CS Visualized: Useful Git Commands。
VCS 的发展历史
首先,我们来聊聊 VCS, Version Control System, 即版本控制系统的发展历史。
Manual VCS
最初的时候,大家都是通过复制目录来进行版本管理,如下图:
这样做的缺点显而易见:
- 难以维护
- 难以回溯
Pstore 的一些记录
What is pstore?
pstore, persistent storage
, 是一个存储内核日志或者内核 panic 的文件系统,内核会把相关信息存储在一个不能被其他用户重写的指定 RAM 区域,下一次启动时,这个区域会被挂载到 /pstore
,一般在 /sys/fs/pstore
, 这样我们就可以访问这些数据了。
pstore 在内核中的开关是 CONFIG_PSTORE,pstore 提供的是一套可扩展的机制,提供如下类型:
- PSTORE_TYPE_DMESG, 表示内核日志
- PSTORE_TYPE_MCE, 表示硬件错误
- PSTORE_TYPE_CONSOLE, 表示控制台输出,所有内核信息。
- PSTORE_TYPE_FTRACE, 表示函数调用序列, ftrace 信息。
ramoops 指的是采用 ram 保存 oops 信息的一个功能,这个功能从 3.10.40 开始采用 pstore 机制来实现,内核中的开关控制:
- PSTORE_PMSG,用户空间信息,/dev/pmsg0,pmsg-ramoops-
- PSTORE_CONSOLE,控制台输出,所有内核信息,console-ramoops-
- PSTORE_FTRACE,函数调用序列, ftrace 信息。
- PSTORE_RAM, panic/oops 信息
How to config?
Consolidating the foundation of Linux, useful shell script
Consolidating the foundation of Linux, sed and awk
Consolidating the foundation of Linux, shell
Basic
Here is A little basic knowledge of shell.
env
1 | $USER |
Parameters
Here is a cheetsheet about parameters of shell.
Parameters | Comments |
---|---|
$0 | script name |
$<n> | the <n>th parameter |
$# | nums of parameters |
$@ | All parameters, could be a list |
$* | All parameters, but behave as a whole |
$$ | PID of the current progress |
$? | return of last cmd |
$! | PID of the last background cmd |
Jump into Tmux + Terminal
之前为了让终端炫酷好用,配置了 Terminator + Oh My ZSH + autosuggestions + highlighting + Agnoster theme + powerline fonts + solarized colors
,可是终端的反应速度受到了影响,移植性也不高,最主要的是对于我来说,Terminator
不够 Terminal + Tmux
酷,所以最近决定切回 Terminal + Tmux
。
Terminal
是 Ubuntu
自带的终端,就不做介绍了。今天主要聊聊Tmux
的基本用法,做一个备忘录。 Tmux
除了分屏功能外,还有一个功能我很喜欢,即 persistent
,也就是运行在 Tmux
中的程序在其断开前会一直保持运行状态。譬如:远程登录服务器,通过 Tmux
运行程序,即使本地登录客户端断开,程序也会保持运行,除非我们在服务器端退出 Tmux
或者重启服务器。
Consolidating the foundation of Linux, linux tips
Consolidating the foundation of Linux, vim tips
Vim Tips
Here is Consolidating the foundation of Linux, vim, and I write this tips for my vim configuration, record my commonly used commands in the form of a memo, Here is My vim configuration.