等待『韋蘭』!!

美國的 MIT 人才濟濟,1984 年 Bob Scheifler 先生寫了 X ── After W ── 取代了 Stanford 大學的 W Window 視窗系統,到了 1987 年的九月,X 規範 protocol 版次為十一,這個  X11 的標誌一直用到了如今。下圖是早期 X 視窗的樣子,現今在 Linux 上的進程全由 X.org 基金會引領。

300px-X-Window-System

由於繪圖處理器 GPU 的快速發展,促進了粉刷 rendering 視窗的『加速化』,使得軟體解碼的『影音播放器』成為現實。事實上,現今的 GPU 跑得可能比 CPU 還快。樹莓派上用的 Broadcom 博通BCM2835 上的 GPU 就是這樣,所以你當用 omxplayer 命令可以播放 『FULL HD』 h264 影片,用 raspivid 可以拍攝編碼成 encode 『FULL HD』 h264 影片。如果你已經走過 Raspbian 中文化那條漫漫長路,你也許已發現 X 視窗『卡卡的』,怎麼會沒有『加速』呢?由於目前還沒有 X 視窗的『加速繪圖驅動程式』,但在今年的二月二十八日,樹莓派基金會兩週年慶的時候,博通送上了一份『大禮』── the release of full documentation for the VideoCore IV graphics core, and a complete source release of the graphics stack under a 3-clause BSD license ──,開啟了加速化的一扇『窗戶』。其實對於這個『跳針』的問題,樹莓派基金會早已展開航海王裡的『梅纳德Maynard 桌面專案,擁抱『韋蘭Wayland 了!!對於有興趣的讀者,可以按造 Collabora 的說明在 Raspbian 上安裝。

那韋蘭是什麼呢?Kristian Høgsberg 先生,一位軟體工程師,2008 年時在小紅帽負責 Accelerated Indirect GLX AIGLX 計畫── Red Hat 和 Fedora 發起的計畫,該計畫想要更好的統整 Linux 裡  X 視窗上的 DRI,2D 視窗加速和 2D、3D openGL 開放圖形庫的界面 ──。某一天他開著車穿越Wayland 』的『 Weston 』小鎮時,突然間一個想法在他腦海裡升起,如結晶般的透明,是到了該把 X 視窗『取代的時後』了!!為了紀念這個時刻,所以將它命名為『韋蘭』,把它寫的『參考實施』reference implementation 叫做『威斯頓』。當然你已經知道,樹莓派上的威斯頓就是梅纳德了。

250px-First_Parish_in_Wayland_MA

250px-Town_Hall,_Weston,_Massachusetts_-_DSC00522

Wayland_display_server_protocol.svg

『韋蘭』

《説文解字》:韋,相背也。从舛囗聲。獸皮之韋,可以束 枉戾相韋背,故借以爲皮韋。凡韋之屬皆从韋。

 

『威斯頓』

錯把『Weston』當『西子』!

 

 

Wayland 的架構

為著進一步了解樹莓派,讓我們談談 VideoCore IV graphics core 的  vcgencmd  這個工具軟體,所有以『 vc…』起頭的工具軟體程式都放在 Raspbian 的『 /opt/vc/bin/ 』和『 /opt/vc/sbin/ 』目錄下。所將說的 vcgencmd 命令列程式,提供許多的功能,可以用︰

vcgencmd commands

查詢,在此我們只介紹一些常用的指令

【韌體版本和 CPU 序號】︰

vcgencmd version 命令會告訴你,當前的『版本發行日期』和『版本編號』;由於有時候『升級』可能會帶來『原先沒發生的』問題 ── 也稱作回歸性問題 ──,這時你或許想回復原先的版本,那你可以用︰

sudo rpi-update 『版本編號』

來回復。然而 vcgencmd 指令中,並沒有提供 CPU 資訊 info 的功能,你得用

cat /proc/cpuinfo

去讀取其中的 CPU『 Serial序號。為什麼要特別在此提這個呢?如果你想要看『 MPEG2  DVD』或『 VC1 微軟』類的影片格式,你得到樹莓派基金會購買解碼器』才行,那時你就必須要有這個 CPU 的序號了。

【 樹莓派的電壓】︰

之前《欲善其事, 先利其器: 樹莓派的電源》一文中,我們提到過『TP1-TP2接點間電壓大約 5V重要性,這個指令雖然不能『量測』這個電壓,但它能讀取『 core 、 sdram_c 、 sdram_i、 sdram_p 』等等的電壓,這是一個電壓問題『除錯』的很好參考 ── 比方說︰

vcgencmd measure_volts core

,就是量取核心 core 的電壓 ──。

【 樹莓派的頻率】︰

我們在《raspi-config 再探!!》裡談過『超頻』一事,你可以用下面的指令來『確認』的不僅是『 arm 』和『 core 』的工作頻率,還包括了『 h264 , isp , v3d, uart, pwm, emmc, pixel, vec, hdmi,  dpi』種種的工作頻率︰

vcgencmd measure_clock arm

vcgencmd measure_clock core

【 樹莓派的溫度】︰

vcgencmd measure_temp 』的命令能夠量測當下的工作溫度,讓人們可以『判斷』是否可能發生『熱當機』?或者是真的有需要用『散熱片』嗎?

【 樹莓派啟用的編解碼器】︰

假如你已經購買了『解碼器』,而且已經按造樹莓派基金會的『 e-mail 』上所說的,在『 /boot/config.txt 』檔案的最後,用 sudo nano /boot/config.txt  加入了這下面說的兩行︰

decode_MPG2=〔你的 啟用碼〕

decode_WVC1=〔你的啟用碼〕

,那你可以用

vcgencmd codec_enabled MPG2

vcgencmd codec_enabled WVC1

確認它們是否真的已被『啟用』了。

最早在樹莓派上只有 h264 編解解碼器是『固有的』,而今也已有了『 MJPEG,、VP6VP8,、and  Ogg Vorbis …』的測試版本,欲嚐鮮的讀者可以試著在『 /boot/config.txt 』檔案的最後,再加入下面的兩行,

start_file=start_x.elf

fixup_file=fixup_x.dat

重新開機後用 omxplayer 玩玩看這些新的影音格式吧!!

── 等待『韋蘭』!!,不是等待『果陀』。

制器尚象,恆其道。

在現今的世界裡.『搞哲學的』是個貶抑的形容詞,多年前,東方大哲唐君毅先生說︰讀哲學,以後沒飯吃!而西方大哲康德先生,則流傳著一個故事︰話說鄰家女子喜歡康德,請父親替她提婚,康德回答讓他想想,用著哲學的辦法東想西想想了一年,當最後願娶時,伊人早已別嫁。但是避的開哲學,卻躲不了哲學問題,現今的宇宙論大霹靂學說,把『時間』的難題又向前推進一步,這個學說談著 0^{+}以後的事。那 0  秒之時0^{-}  秒之前呢?0^{-} 那時根本沒有『時間』這回事,又怎麽談『』或『』呢?『有始』帶來麻煩,『無始』一樣難解,試問︰果然無窮的過去,又怎麽能到現在?所以說『』與『』是否能畫『』?或者能談此『似有若無』的『介面』?大哉問?或許帶著酒興的詩人崔護,偶過長安城南郊,……此事略能捕捉到這個『有無交接』之處,並『創造』了出如此出色的一首詩︰

题都城南庄

去年今日此門中,

人面桃花相映紅。

人面不知何處去,

桃花依舊笑春風。

難道我們應該認為『創造力』能夠『無中生有』?【易繫辭】上說,易太極』……,或許當是『從有生有』;其中第二章專講『制器尚象』,讓我們聽聽古人怎麼說︰

古者包犧氏之王天下也,仰則觀象于天,俯則觀法于地,觀鳥獸之 文地之宜。近取諸身,遠取諸物,於是始作八卦,以神明之德,以萬物之情。作結繩而為網罟,以佃以漁,蓋取諸離 ☲☲。包犧氏沒,神農氏作。斲木為耜,揉木為耒,耒耨之利,以教天下 ,蓋取諸益 ☴☳。日中為市,致天下之民,聚天下之貨,交易而退,各得其所,蓋取 諸噬嗑 ☲☲。神農氏沒,黃帝堯舜氏作。通其變使民不倦,神而化之使民宜之。 易窮則變,變則通,通則久,是以自天祐之,吉无不利。黃帝堯舜,垂衣裳而天下治,蓋取諸乾 ☰☰ 坤 ☷☷。刳木為舟,剡木為楫,舟楫之利,以濟不通,致遠,以利天下,蓋 取諸渙 ☴☵。服牛乘馬,引重致遠,以利天下,蓋取諸隨 ☱☳。重門擊柝,以待暴客,蓋取諸豫 ☳☷。斷木為杵,掘地為臼,臼杵之利,萬民以濟,蓋取諸小過 ☳☶。弦木為弧,剡木為矢,弧矢之利,以威天下,蓋取諸睽 ☲☱。上古穴居而野處,後世聖人易之以宮室,上棟下宇,以待風雨,蓋 取諸大壯 ☳☰ 。古之葬者,厚衣之以薪,葬之中野,不封不樹,喪期无數。後世聖 人,易之以棺槨,蓋取諸大過 ☱☴。 上古結繩而治,後世聖人易之以書契,百官以治,萬民以察,蓋取 諸夬 ☱☰

綜觀全文,好一部以『生活』為中心的工具發明器物應用,貫串了成千上萬年的歷史。在此我們並不打算解讀著這些『蓋取諸…』之卦,讀者可以試著自己『想象』。為什麼是『十三』個卦呢?古來『陰陽』合曆,一個太陽年 365.25 天,而以月亮為主的太陰年約為 354 天,這就是農曆『閏月』的由來,閏月的那一年有十三個月,作【易繫辭】者或想暗示著『春生夏長秋收冬藏』一個『大年』已經完成了?『觀象繫辭』是一個古老的傳統,中國的『』『』本身就承載著它;東漢許慎在『說文解字』上講的『象形、指示、會意、形聲、轉注、假借』,其實可以分成『擬象』── 象形、指示、會意 ──,『音象』──  形聲  ──,『用象』── 轉注、假借 ──,都是『事物』之象。『』的本意『』起來看,比方說︰懸象著明,莫大於『』『』;對於『沒有形狀』的事物,也用著之的方法,舉例說︰『』可見,天行健的『』是『日陽』的『德性』不可見,所以象之為 。然後有『』為天,君子終日乾乾 ── 健健 ──,的諸諸種種。不僅如此,於器物、建築、用品、…等等『實物』也常常有『』意,比方說北京的『紫禁城』就是依據風水之法,象著『九五至尊』而建造的。由此我們也許可以把『觀象』之法,看作人類心靈中『聯想法』的精煉

人類如何『創造』呢?在此一篇短文中無法談及全豹,所以串講科學史上幾則逸事略窺一斑。就讓我們從『苯環之夢』談起,

【苯環之夢】

250px-Benzene_structure

凱庫勒夢到了分子是一個環狀結構

1864年冬,某天德國化學家凱庫勒 Friedrich August Kekulé von Stradonitz 正坐在壁爐前打瞌睡,迷糊中原子們開始飛舞,碳原子串成了鏈,像一般環繞,就像著自己的尾巴似的,在他眼前迴旋。 猛然地驚醒後,凱庫勒終於明白了苯分子是一個環狀結構。碳原子們在對稱的六邊形上跳動。

【雜訊放大器】

傳聞有一回愛因斯坦突發奇想,想將『雜訊』放大,人們都覺得很奇怪,幹嘛要把『沒用的』雜訊放大?難道愛因斯坦很了解『當其無』嗎︰

老子道德經 第十一章』

三十輻,共一,當其無,有之用。

埏埴以爲器,當其無,有器之用。

鑿戶牖以爲室,當其無,有室之用。

之以爲之以爲

或許應該說如果沒有無所不在』的雜訊,又怎麽能製作『任意頻率』── 放大雜訊,用慮波器選擇所要的頻率 ── 的振盪器呢?恰可比美於所謂的『腦力激盪』之法。

【研究不可能的好處】

Leonardo da Vinci eMoto

達文西之永動機

自古以來,許多人前仆後繼的不斷嘗試想發明『永動機』── 一種能夠 持續運轉工作的機器。今天的熱力學告訴我們這是『不可能』實現的。

既然『不可能』,那『為什麼』要研究呢?首先,熱力學的發展歷史,就是想要證實永動機』是可能的或是不可能的?其次,過去不可能的,現在還是不可能?牛頓蘋果如果能量不夠,是飛不出牆,打不到我的;但是量子力學電子,即使能量依然不夠,卻能穿牆而過── 隧道效應 ──。所以說,不可能未必然是『必然的不可能』。再者,過去也有人曾經說過︰設計高階的電腦語言是『不可能』的,因為人類自己都還『搞不懂』自己怎麽學會語言的,哪又怎能『教得會』電腦呢?答案不言而喻

 

專心致志恆一其道,或許是制器尚象的精粹。比擬︰

如何制作雷射

精誠所至 匹配濾波器選擇『所要的』波長的『共振腔』,

金石為開 共振放大後得到 『Laser』。

 

止於悅,自得之樂!

咸陽城,中國歷史上第一個王朝的古城秦帝國都城所在地。歷史上說,秦始皇焚書坑儒……,『易經』因為是『卜筮』之書,倖免於難;此卜筮之說也許並不可信。想想秦始皇為求長生不老諸般所作,難道對帝國的永祚就一無所為?古代【黃帝內經】一書上說︰天運當以日光明,這日光明就是『咸陽』之『』字,而『』字正是【易經下經】── 上經談天道,下經說人事 ──那 起於『咸恆』之首的『』字,這豈非不是為著『』嗎?── 永祚 ── 乎?或許這才真是,易經之所以能夠倖免於難的原因。勿論亦或不幸,秦始皇誤解了『天人感應』之說,因為『有心』所以不得其『』,又『無道』所以去其『』,以至於最後失其所望之『』!!

大學】的文本,開宗明義的說︰

大學之道明明德,在親民,在止於至善知止而後有,定而後能,靜而後能,安而後能,慮而後能 物有本末事有終始知所先後,則近道矣。

』卦,止外,高山與湖泊的對話,少女和少男的無猜。自然的無心之感交流於天地情歸人世間!!

 

─── 處處靜觀皆自得 ───

樹莓一月記;

偉大的教育理念孔子的『因材施教』和『有教無類』。

學習文摘

子曰︰『吾志於學三十四十不或五十知天命六十耳順七十而從心所欲,不踰矩。』

子曰:『而時之,不亦乎?有自遠方,不亦乎?人不 知不慍,不亦君子乎?』

子曰:『不思不學。』

子曰:『由,女知之乎。知之為知之,不知為不知,是知也。』

子曰:『不,不舉一不以三,則不復也。』

green-raspberry

red-raspberry

golden-raspberry

White raspberry flowers

black-raspberry

五官 ── ── 從,各有『』與『』。有的人『不聽講』自己看書『看不懂』;又有人『一目十行』,可以『既讀即解』;還有的人非得『親為』否則『不解』。難道說『』與『』就果真或與『讀書無緣』?俗話說︰『氣味相投』自然朋比;『把酒飛斝』無非道友。學習的過程中,如果有志同道合的『朋友』,彼此切磋琢磨,想必更能日行千里,事半功倍吧!!

莊子講『庖丁解牛』的故事,講到庖丁功夫之深厚,竟然能讓『解牛不知其死,真真的是出神入化的好勒!!科學教育的重要性在於求『』,然而需要了解的是,世界有『價值』的不只是『』而已,也許說還有著『』與『』吧。曾經有一位西方哲人說道︰所謂『』就是把『』的事,用『』得方式呈現;古時或有另一位東方覺者談起︰大、大、亦大 ──

佚名詩

大地藏無盡,

勤勞資有生;

念哉斯意厚,

努力事春耕。

──,
大人者不失其『赤子之心』。

科學的方法在於『實驗』,不斷驗證『人以為知』之事,而這個 方法要求『人人都能』與『時時都可』,是嚴格的『事實』立論的基石,故可以說是強調『他証性』;然而人世間『經驗』的廣褒,自有『如人飲水』『自証』之,與『朋比道友』『互証』之

樹莓派♀♂克隆!!

學習曲線』說著一個『人會遺忘』的事實。這或許是大自然的『恩惠』,要『向前行』如果又不能『放手』,很可能『耽湎』於『過去』而無法自拔。以前的讀書人,喜歡寫讀書『筆記』,於年終『冬至』養陽之日,趁著『商旅不行』之時,作點『溫故知新』得事兒──!想必是有所謂吧?或許就是 ……?近代美國家喻戶曉的史學家威爾.杜蘭先生花了五十年著作了「世界文明史」三十八大巨冊,為著總結又寫了一本名為【歷史的教訓 】的導讀,並於《序言》中感慨︰歷史告訴人們的最大教訓就是『人類總學不到教訓』。當然『抉擇』終究祇能自由的,或許『夏蟲』也可以『喻冰』,總之為了…避免某種遺憾…,就讓我們來看看在 Raspbian 上要如何打包,怎麽克隆 Clone 一下,這個一路上『走來的足跡』。

為了能在樹莓派 Raspbian 系統裡『克隆』SD 卡,首先我們需要相容於樹莓派的 USB SD 讀卡裝置,在此我們選用 elinux.org 上建議的 Super Top 類的多卡式  SD 讀卡裝置,這樣還可以做像『拷貝機』一樣的用途。如果你對 SD 卡或 Noobs 安裝尚不了解,請先閱讀【開機沒畫面?Noobs 安裝】一文。

172_G_1377020380212

 

 

詳細規格,請看這裡

其次接下來將安裝一些會用到或談到的軟體︰

sudo apt-get update

sudo apt-get install gparted partclone bless  uuid synaptic

下文將一步步說明如何在 Raspbian 上『做這件事』︰

【檢查多卡式 SD 讀卡裝置】︰

重要的第一步檢查 Raspbian 是否『認識』這個新插入的 USB 多卡式 SD 讀卡裝置,你可以用 dmesg 來看,或是使用 lsusb 列出 USB 裝置的命令來查,是不是有叫做『Super Top …』的裝置?註︰文中所談到的多個命令,除非特別指明命令參考處,請用 man 「cmd」閱讀系統上的命令手冊

【插入一片相同的 SD 卡】︰

由於 SD 卡不但有相容性的考慮,還有容量大小的問題,此處最好先用與你 Noobs 開機 SD 卡『相同』的卡片。當你插入這塊新卡後,用 dmesg 命令查看『讀取狀況』和『裝置名稱』,你會看到像 sda、sdb、sdc、…,以『 sdscsi disk 起頭的 『 x 』裝置名稱,緊跟著『 : 』然後是一個或多個分割區塊sdx1sdx2sdx3,…』 ,一般新買的 SD 卡大都只有一個分割區塊  ── W95 fat ??類型的檔案系統 ──。也就是說整個 SD 卡是 /dev/sdx,有一個分割區塊叫做 /dev/sdx1。之前的文章談過檔案系統是個『樹狀結構』,不論你從哪個『子目錄』看進去,這個子目錄裡依舊是個樹狀結構── 目錄 sub directory tree ──,在這種『疊套』的構造下,我們容易把這個『子目錄樹想像成就是一個『子目錄名稱為名』的另一個『檔案系統』── 這一個檔案系統彷彿是『安放』mount 在『祖樹』的枝幹上一樣 ──。在 Linux 作業系統上將這些安放處稱為『掛載點』mount point,並有著 mount 掛載和 umount 卸載的命令讓我們使用『外部的』儲存裝置 ── SD 卡、硬碟、大拇哥 USB Storage Device 、DVD、…等等 ──。於 Raspbian 上,這些掛載點都放在 /media/ 起頭的子目錄下,按造被掛載上的不同型態檔案系統分別用著『 /media/ 磁碟標籤/』── Windows 類檔案系統 ── 或是『 /media/ uuid 碼/』── Linux 類檔案系統 ── 的子目錄名稱掛載點。如果你用 mount 命令查看,當下掛載的全部檔案系統,首先你會發現怎麼沒有  Linux 的分割區塊『 /dev/mmcblk0p2』,它已經被重新鏈接命名為『 /dev/root 』而掛載在根 / 目錄上了,你可以如此確認︰

ls /dev/root -l

。其次開機的分割區塊『 /dev/mmcblk0p1』掛載在 / boot 子目錄上; 而 這個 SD 卡 的 『/dev/sdx1』則掛載在  /media/ 磁碟標籤/  子目錄上。

【用 dd 命令來複製 Noobs 開機的 SD 卡】︰

由於 dd 命令會蓋寫輸出 SD 卡裝置 上的分割區總表,所以你需要先卸載 umount 掉那個裝置上所有已掛載的檔案系統︰

sudo umount /dev/sdx1,這裡假設只有一個,然後用

sudo dd bs=1M if=/dev/mmcblk0 of=/dev/sdx

sudo sync;sync;sync

這樣就開始複製了!當然這裡的未知數 x ,你得代入正確的裝置名稱。等它執行完成後,首先看看 dd 有沒有輸出錯誤訊息;如果沒有,那就告成了。假使有錯誤,先用 dmesg 看看是什麼樣的錯誤?是沒有打開僅讀取 Lock 開關,如果不是,一般會是 SD 卡有部份區域損毀;最糟的是 SD 卡讀卡機壞了。前面寫下的 Sync 同步命令目的是把所有還在緩衝區 buffer 裡的資料,統統寫出到裝置上以免流失,一般用一個就夠了。這裡稍微說明一下 dd 這個命令的幾個常用選項bs block size 代表一次讀寫多少個位元組為單位 ── 單位 I/O 區塊的大小 ── ,這裡頭用的是二進制的 1M byte s,這個數值越大讀寫越快,但對於 SD 卡來說 1M bytes 大體速度上是合適的;if input file 是提供輸入區塊裝置檔案of output file 是用於輸出區塊裝置檔案;還有一個 『 count= 』表示需要讀寫多少個單位 I/O 區塊,預設的是整個裝置或是檔案的終止,上面的命令就是用預設條件,所以沒有給這個選項。

至此,讀者自可推想兩塊相同的 SD 卡』可以用︰

sudo dd bs=1M if=/dev/sdx of=/dev/sdy

來複製 ── 這就是『拷貝機』了── 。但是如果是儲存容量不一樣大的兩塊不同地 SD 卡呢?其實只要『  sdy 』── 輸出 ── 裝置的儲存容量比較大,你依然可以這樣拷貝,那多出的部份就是【raspi-config 再探!!】一文中所說的空閑  free space 的容量。再者因為 if 的選項也可以用於『檔案』,所以你只要把『 /dev/sdx換成下載來的而且又已經解壓縮的『映像檔image  的檔名,那你就克隆它了!!

由於 SD 讀卡裝置是可以插拔換卡的 ── 媒體改變 media change ──,很像過去的『軟碟機』換片一樣,如果你試著下︰

ls /dev/sd* -l

──※ * 』表示『任意的字串』,也就是說系統上字串起頭是『sd』的那些裝置。

你應該不會太驚訝於看到『floppy』一詞;然而這個『媒體改變』事件,由於許多 SD 讀卡裝置沒有通知 Linux 作業系統,所以當你使用 fdisk 命令時,常常會碰到『找不到媒體』這樣的錯誤訊息,所以建議你用 cfdisk 命令來取代,它會試著確定裝置狀態。其次,前面我們提到過磁碟標籤UUID 碼,假使你有興趣的話,可以試試看 blkid 列印定位區塊裝置屬性這一個命令︰

sudo blkid -s LABEL

sudo blkid -s UUID

最後,讓我們簡單介紹一些早先安裝的軟體︰gparted 是個很好用的視窗版磁碟分割.格式化工具軟體;bless 是一個視窗版 Hex editor 十六進制的檔案編輯程式;partclone 命令能夠備份多種不同類型分割區塊uuid 顧名思義是 Universally Unique Identifier 通用唯一識別碼的處理命令程式 ; 而 synaptic 就是圖形界面的套件管理軟體,但在 Raspbian 上它有一個地方需要用奈文編輯器 nano 修改,讓使用者 pi 擁有管理者的執行權限︰

sudo nano /usr/share/applications/synaptic.desktop

把文本中的『 Exec=synaptic-pkexec 』修改成『 Exec=gksudo synaptic-pkexec 』之後存檔,這個 gksudo 就是視窗版程式所需要的那個  sudo 。在 Raspbian 視窗環境裡, synaptic 和 gparted 程式都放在視窗選單的『偏好設定』子選單裡,但 bless 由於沒有選單項,只能打開 LX 終端機後,下達 bless 命令去執行。

在人類的歷史上,『克隆』?或『傳承』?是世世代代的事;前事不忘後事之師,也就是所謂的『成功』又何必在我的偉大胸襟。如果說今天的『經濟學』只是能夠大破某一些因襲著的古老『士、農、工、商』的『傳統』,卻又不行大立另一些文化的『創始』,那終究還是遠遠『不足的』!!