0%

What is life?
Life is what happens to us while we are busy making other plans.

时光匆匆,转眼间,回到成都已经三年多了。这三年来鲜少有时间静下心来认真思考反省,有因为小孩出生前的误诊让自己整夜整夜地难过得想哭,有因为家事让自己感觉喘不过气,也有因为工作的事让自己觉得憋屈失去信心,以及因为种种其他难以言说的压力让自己整夜睡不着觉。还好乐观战胜了悲观,事情总体上都走向了好的方面。

最近这几个月,工作不顺心,家里发生了很多事情,有很多事情想做又做不了,似乎自己又进入了一段艰难的时光,借着周末来梳理梳理(吐槽吐槽),反省反省,也想想后面怎么走。

混乱的大脑

因为家庭和早期抑郁的原因,自己毕业好几年后才想明白怎么做一个有用的人,不辜负这一生。醒悟得太晚最大的弊端就是,需要补的功课太多,然后时间根本不够用。有时候也在想:“当 money 够用时,似乎无论怎么努力,资产都难以有质的飞跃了,似乎也难以迈入 A8,A9 … 要不自己也‘躺平’吧!” 还好自己内心深处还有一簇不安分的火苗。

很多时候也会想想生命、死亡等宏观的话题,每当这个时刻,自己内心中都会有一些畏惧,似乎也有一点对生命真谛的感悟,可惜自己还是差些火候,总是会辜负时间。

工作

工作不顺心是现在惶恐不安的主因,有自己的原因,也有很多公司的原因。首要的一个点是最近公司准备搬家,通勤距离一下变为 40 公里,从没试过这么长距离的通勤。

Read more »

此篇文章是基于高通 ODM BSP 开发做的一个简单总结,起初是用来对新人进行培训的。

我觉得学习内核驱动时,最开始只需要 ‘Know what, not know how ’。 不用去探究细节,只需要知道整体的框架,知道有哪些需要我们重视的内容即可。

何为 Linux 内核开发?

首先,初步认识下 Linux kernel

linux_intro

  • Linux 内核的框架如上图。
  • 设备子系统负责和硬件打交道。
  • 大部分工作集中在设备子系统部分。
Read more »

本文的动态图皆来自于莉迪亚·哈莉(Lydia Hallie) 的文章 CS Visualized: Useful Git Commands

VCS 的发展历史

首先,我们来聊聊 VCS, Version Control System, 即版本控制系统的发展历史。

Manual VCS

最初的时候,大家都是通过复制目录来进行版本管理,如下图:

manual vcs

这样做的缺点显而易见:

  • 难以维护
  • 难以回溯
Read more »

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?

Read more »

Basic

Here is A little basic knowledge of shell.

env

1
2
3
4
5
6
$USER
$UID
$PATH

set | more # check the variables including shell-local variables(including shell functions)
env | less # check the variables except shell-local variables(including shell functions)

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
Read more »

之前为了让终端炫酷好用,配置了 Terminator + Oh My ZSH + autosuggestions + highlighting + Agnoster theme + powerline fonts + solarized colors,可是终端的反应速度受到了影响,移植性也不高,最主要的是对于我来说,Terminator 不够 Terminal + Tmux 酷,所以最近决定切回 Terminal + Tmux

TerminalUbuntu 自带的终端,就不做介绍了。今天主要聊聊Tmux 的基本用法,做一个备忘录。 Tmux 除了分屏功能外,还有一个功能我很喜欢,即 persistent,也就是运行在 Tmux 中的程序在其断开前会一直保持运行状态。譬如:远程登录服务器,通过 Tmux 运行程序,即使本地登录客户端断开,程序也会保持运行,除非我们在服务器端退出 Tmux 或者重启服务器。

Read more »