存档

2013年11月 的存档

New job, new life style

2013年11月19日 7 条评论

在 2013 即将结束, 我的生日即将到来的时候, 我给了自己一个 big surprise: 离开了我奋斗 了两年多的公司. 这家公司是我来到北京的第一家公司, 说没有感情是假的, 至于离职的原因, 大部分是家庭方面的(无非就是老太爷去世, 家族内部争夺房产什么的). 正好新公司承诺让我 远程办公, 所以我可耻的接受了, 申请离开了之前的公司.

也许是在北京呆久了, 故乡让我觉得有点陌生了, 但是更多的, 确是发自内心的感慨和 激动. 当我吃完晚饭, 站在楼顶这么多年第一次这么清晰的仰望星空的时候, 我明显的颤抖 了, 就好像被一千道光线刺穿了一样. 我一个人静静地站了很久, 但思绪却像野马一样起伏不定: 小时候坐在父亲的怀里听故事, 初中时代的放荡不羁, 高中离家求学, 大学毕业远赴 他乡工作…… 这一刻我的大脑已经失控了. 直到很久以后, 慢慢的, 慢慢的, 我被拉了回来, 却发现眼睛里居然有一些亮晶晶的小东西.

以前看 虫师 的时候, 有一段对话觉得挺装 13 的, 但是现在, 又是另一番感触:

“夜里在山中一个人走动的时候, 有的时候会突然发现, 刚刚还一直照亮着路的月光和星星 突然消息, 无法分辨方向了. 虽然这也不是什么非常罕见的事情, 但是如果这时连自己的 名字和过去都想不起来了的话, 那就是常暗来到身边了, 据说只有想起来才能逃脱. 如果 无论如何都想不起来了呢? 马上给自己随便起个名字好像就可以了. 但是相对的, 使用以前 的名字时发生的事情, 就永远也无法想起来了.”

仔细想想, 我是不是活的太没有存在感了, 原来我近几年一直是在忘记了我的回忆和名字 中度过的. 我的生命的价值, 真的只在于长短吗?

滚滚红尘已随风而去, 弃我去者昨日之日不可留.

“荷尽已无擎雨盖, 菊残犹有傲霜枝.”

在 Mac 下配置 Linux Kernel 开发环境

2013年11月11日 13 条评论

自从我的 主要办公环境转到 Mac 下 之后, 我的开发方式经历了从 native –> remote server 的转变. 但在有时公司网络很差, 而周末我在家里又想研究一些非得在 Linux 下运行的程 序的时候, 麻烦就来了. 比如 Linux kernel, KVM 等等.

不过作为一个虚拟机爱好者(QEMU/KVM contributor), 这种事情应该难不倒我才对. 非常不幸, KVM 不支持 OSX, 或者说, OSX 不支持 QEMU 下的某一种 CPU 模拟的加速(KVM,XEN,或 kmod). 直接后果就是, 如果我用 QEMU 原生的 TCG 翻译, 那么性能会差非常多, 多到不能忍受, 躲到 可以放弃节操!

万邦无奈之下, 只好把节操先丢一边, 把 Virtualbox 先用起来再说.

VirtualBox 的官方下载页面 下载安装最新的版本. 再根据个人喜好安装一个 Linux 发行版, 这里为了省事我选择最新的 Ubuntu-13.10. 安装好 Ubuntu-13.10 之后, 照着我之前写的 在 QEMU 上使用 KGDB 调试内核 就没有问题了.

以下策略是为了最小化资源占用所做的配置, 没办法, 我的 Macbook Air 只有 4 GB 的内存, 我还要在虚拟机里面开 QEMU 调试 kernel, 所以不得不省着点用.

策略 1:

务必最小化安装 linux, 什么乱七八糟的 X, unity, gnome 都不要安装, 这样 不仅可以节省大量的空间和安装时间, 还可以节省很多内存.

策略 2:

为了方便调试和开发, 采用 ssh 登陆到 geust 的方式, 由于我用的是 NAT 的网络 模式, 为了能方便地访问虚拟机, 需要做 host <–> guest 的端口转发:

在 设置 –> 网络 –> 端口转发, 添加一条名称为 ssh, 协议是 TCP, 主机端口 3456, 子系统端口 22 的规则, 其他部分留空即可.

这时, 即可以用以下指令直接连接到虚拟机

$ ssh -p 3456 root@127.0.0.1

为了更方便的能连接到虚拟机, 可以把主机的 ssh 秘钥复制到虚拟机的 ssh 配置文件里. 然后在 $HOME/.ssh/config 文件里添加一个配置条目

Host vbox
    HostName 127.0.0.1
    User root
    Port 3456

之后, 就可以直接

$ ssh vbox

就直接连接进入虚拟机了

策略 3

为了节省运行时内存, 减少应用程序的窗口, 可以用 headless 模式打开虚拟机, 并且关闭 rdp. 这类似于 QEMU 的 nographic 模式, 就像用命令行启动 VBOX 一样.

$ VBoxHeadless --startvm ubuntu-13.10 --vrde off

然后, 就可以

$ ssh vbox

PS

我知道有一个叫 vagrant 的东西可以把上述步奏都一次性完成, but:

  • 我没有时间去熟悉他的配置和用法, 编写(寻找)需要的 guest 的配置文件
  • 我完成上诉的结果花了不到 10 分钟.
  • 我现在开始我的开发之旅只需 ssh vbox, 而且资源占用小到不行.

分类: Mac 标签: