2012年1月13日星期五

Ubuntu Packaging Guide 和 UDD

Ubuntu Packaging Guide 如果只看文章標題和列表的話,表面上似乎和 debian 沒什麼差別。

但是 Ubuntu 現在都是透過 Ubuntu Distributed Development 的模式來開發,所以裡面許多章節都是重寫過的,新增加了 UDD 的部份。

例如 Uploading a package,裡面提到了在 dput 之面必須用 bazzar 在 launchpad 建立一個 branch 之類的新流程。

取得WMI GUID的三個方式

許多筆記型電腦的熱鍵(hotkey)都是透過WMI介面來控制的,常見的如音量大小、亮度,wifi開關等…。

在實作或是debug時,第一步就是必須取得WMI的GUID。在Linux下我所知道的有三種方式可以取得:

方式一:`ls -l /sys/class/wmi`

這種方式只能列出所有由wmi.ko (ACPI-WMI Mapping Driver)得到的GUID,沒有其它如flag的資訊。

方式二:使用 wmidump

wmidump可以列出詳細的wmi資訊,但是用法比較麻煩,必須先dump DSDT,再用文字編輯器把 _WDG 中的資料複製到另一個文字檔案,然後再餵給 wmidump。wmidump也沒在debian/ubuntu archive中,必須自己從上面的git tree clone下來編繹。

方式三:`sudo fwts wmi`

yeah,最簡單的方式,用 Firmware Test Suite (fwts) \o/。可以列出完整的wmi資訊,用法又簡單。

2012年1月12日星期四

增加fwts的測項

幫fwts增加一個測項十分簡單,十分類似kernel driver的型式。

下面這段簡單的例子是從 http://kernel.ubuntu.com/git?p=hwe/fwts.git;a=blob;f=src/example/blank/blank.c 刪掉一些 comment 而來。

不過如果你真的要開始coding的話,可以直接從 blank.c 開始,裡面有更多詳細的註解。

#include "fwts.h"

static int example_init(fwts_framework *fw) {
}

static int example_deinit(fwts_framework *fw) {
}

static int example_test1(fwts_framework *fw) {
}

static int example_test2(fwts_framework *fw) {
}

static fwts_framework_minor_test example_tests[] = {
 { example_test1, "Example sub test1 name." },
 { example_test2, "Example sub test2 name." },
 { NULL, NULL }
};

static fwts_framework_ops example_ops = {
 .description = "Example name.",
 .init        = example_init,
 .deinit      = example_deinit,
 .minor_tests = example_tests
};

FWTS_REGISTER(example, &example_ops, FWTS_TEST_ANYTIME, FWTS_BATCH);

2012年1月9日星期一

Firmware Test Suite (fwts): BIOS測試工具

Firmware Test Suite(fwts)是目前Canonical Hardware Enablement team維護的BIOS測試工具。HWE的日常工作常常遇到許多BIOS的bug,所以我們將常見的BIOS bug的測項寫成這個工具。

在這個Ubuntu release cycle,我開始接下fwts套件的維護工作,歡迎大家的使用。 :-)

git tree: http://kernel.ubuntu.com/git?p=hwe/fwts.git

想使用最新版本,也可在firmware testing team PPA安裝。

2011年12月29日星期四

從人口統計看青貧族

台灣產業外流也許是目前年輕人失業率高的原因之一,但也許台灣目前的人口分布也是影響的因素之一。

30到35歲是一個區間是台灣人口最多的一個區間,有近百萬人。

接下來是25到29歲這個區間,為第二多。

這表示這個世代的年輕人比其它世代面臨更多同輩的竸爭。純以人口數來看的話,比上一個世代約多了10%的競爭。

而接下來馬上要出社會的這個世代(20-24歲),比30-34歲這個世代少了近20%的人口。

根據2010年的人口普查,目前5-9歲這個世代只有60萬,只有30-34歲這個世代的60%。

15~20年後台灣將面臨嚴重的勞動力不足問題,而且可能會越來越嚴重。

2011年12月15日星期四

Ubuntu Hardware Summit 2011

今年的Ubuntu Hardware Summit (UHS)投影片已經可以下載

今年也發送了一本關於常用的debug技巧的小書給大家。

http://odm.ubuntu.com是Canonical Hardware Enablement team (我目前所在的部門)維護的公開網站。在這篇投影片中蠻詳細說明了本部門在Ubuntu開發中的角色:

2011年12月3日星期六

ibus-array patch-applied tree

目前 ibus-array 有許多未 merge 到 upstream 的 patch,主要是在製作 debian 套件時放在 debian/patches 中的 quilt patch。

將這些 patch 做了些整理,放在 https://github.com/lexical/ibus-array/tree/patch-applied