目前分類:System (45)

瀏覽方式: 標題列表 簡短摘要

前言

在embedded system裡有好一些bus,而這些bus可用bank加加以分組。比如說,bank0是ROM,bank1是flash,而bank6是ram。分組的原因是其bandwidth, address space或是endian的差異。而通常系統是由bank0引導,因此bank0通常是一個ROM (多為NOR flash)。NOR flash是有些好處的,如CPU需要的random access,XIP (execute in place,不需copy到ram即可執行,但只有最前的幾個sectors),高傳輸效率 (但write/erase差)。其中XIP的功能可在系統上電後,做一些cpu/ram的initialition後,將bootloader的一部份copy到ram繼續執行剩餘的開機動作。

一個bootloader的工作內容包括: 硬體自我檢測,bank initialization,處理中斷還有最主要的,load kernel。就好像古時張良幫劉邦打天下,劉邦登上皇位後,張良便功成身退,再沒他的事。

 

stage

kezeodsnx 發表在 痞客邦 留言(0) 人氣()

裝完ubuntu後,function key 不會動,解決方法如下:

vi /usr/share/hal/fdi/policy/20thirdparty/11-x11-synaptics.fdi 加上一行:

      <match key="info.product" contains="Synaptics TouchPad">
        <merge key="input.x11_options.SHMConfig" type="string">True</merge>
        <merge key="input.x11_driver" type="string">synaptics</merge>

kezeodsnx 發表在 痞客邦 留言(0) 人氣()

  • Jul 15 Wed 2009 17:16
  • MD-LVM

[轉載請註明出處] http://kezeodsnx.pixnet.net/blog

作者: kezeodsnx

 

MD

LVM

kezeodsnx 發表在 痞客邦 留言(0) 人氣()

來源:在 linux 下使用 CMake 构建应用程序

 

级别: 初级

王 程明 (wangchengming.jlu@gmail.com), 硕士研究生, 吉林大学计算机科学与技术学院

2009 年 2 月 05 日

kezeodsnx 發表在 痞客邦 留言(0) 人氣()

[轉載請註明出處] http://kezeodsnx.pixnet.net/blog

作者: kezeodsnx

引言

快速開機最近炒的很熱,先不論其是否是一個必需品,能了解系統開機流程就是好事一件啦。看了蠻多有關快速開機的東西,一開始是EPC的12秒開機 (x86),再來是Mobli的5秒開機 (不含BIOS),到最近在arm平台上面,快速開機似乎已經是linux在跟windows,或是linux netbook品牌之間的一個比較選項。不過在定義上要先說清楚,所謂的開機時間,是指按下power button至看到desktop (launcher)的時間,常常與系統可用有些區別。再來,快速開機是很講究硬體的,同一個方法不一定另在另一台機器上可以複製同樣的效果。

分段

kezeodsnx 發表在 痞客邦 留言(1) 人氣()

  • Jul 05 Sun 2009 23:15
  • mdev

udev已經幾乎是每個os裡必備的機制了,但其佔用了相當的資源,包括開機時,更佔去了好一部份的開機時間。很明顯的,在資源較少的embedded system,不太可能使用這樣的一個東西。

替代品是busybox的mdev,意思是mini udev。mdev需要透過 kernel的hotplug event來完成device node的增減。通常以mdev -s來啟動,設定檔是mdev.conf。啟動時會去掃描/sys/block和/sys/class裡的 dev檔,並根據其指的的major/minor number建立device node,因此在啟動mdev前當需要先把/sys mount起來囉!


kezeodsnx 發表在 痞客邦 留言(0) 人氣()

[轉載請註明出處] http://kezeodsnx.pixnet.net/blog

作者: kezeodsnx

前情提要

前述,udev的功能是動態的對/dev/下的device node做增減的動作。動態增減是為了解決以往/dev下有太多沒用到的device node,而devfs又有一些"先天的缺陷":

1. 屬於kernel space

kezeodsnx 發表在 痞客邦 留言(0) 人氣()

[轉載請註明出處] http://kezeodsnx.pixnet.net/blog

作者: kezeodsnx

ABI

ABI,application binary interface,應用程式和作業系統的"low-level interface"。意思是,ABI有一套規則,如果遵循這個規則產生出的object,就能在相對應的系統上正確的運作。這個規則包括了data type的size,alignment,calling convention,function參數傳遞與回傳值,system call的調用等。很明顯的,這跟平台很有關係。比如說,不管用哪一個compiler,只要能生出符合ELF格式的binary,就可以在Linux上跑,或呼叫其library。

而EABI,embedded-application binary interface則規定了embedded software program的規則。跟一般的作業系統的主要差異為: 應用程式可以使用privileged instruction,dynamic linking不是required,更簡潔的stack frame用以省下memory。

kezeodsnx 發表在 痞客邦 留言(0) 人氣()

[轉載請註明出處] http://kezeodsnx.pixnet.net/blog

作者: kezeodsnx

講的比唱的好聽

pam.overview.1.gif

 

kezeodsnx 發表在 痞客邦 留言(0) 人氣()

[轉載請註明出處] http://kezeodsnx.pixnet.net/blog

作者: kezeodsnx

引言

又是認證,使用linux,似乎比較常談到認證的問題。想了一想,其實是linux在認證方面做了比較多方便使用者的設計與機制。用windows時,開機開半天,有問題重開機,遇到藍底白字也不會抱怨,IE要密碼就敲,因為自古以來都是這樣的"理所當然"。這是否表示為使用者想的愈多,反而讓使用者困擾呢?相同的思考下,限制使用者是否比讓其選擇更能提高接受度呢?

簡介

kezeodsnx 發表在 痞客邦 留言(0) 人氣()

[轉載請註明出處] http://kezeodsnx.pixnet.net/blog

作者: kezeodsnx

pam_unix是標準的unix認證模組,它的功能是讓系統的library/service存取系統上的帳號資訊以及用來認證。通常是由/etc/passwd和/etc/shadow來完成。

pam是pluggable authentication module,因此pam_unix也是根據pam的架構來完成認證的流程,有空再來介紹一下pam。因為pam_unix是一般系統管理比較常用到的,比如說login,passwd都會來跑一次pam_unix,以確定operation的合法性。

以passwd來說,一般會選擇的設定是:密碼幾位,複雜度有多高,如何加密等。這些是系統的基本管理,並隨著個人/產品喜好而有所差異。相關檔案的路徑為:

kezeodsnx 發表在 痞客邦 留言(0) 人氣()

[轉載請註明出處] http://kezeodsnx.pixnet.net/blog

作者: kezeodsnx

base-system很好玩,可以玩很久,玩很大,也有很多功能,像測試新軟體,或是進行一些擔心會影響到系統的操作時,可以在base-system上先惡搞一下,看看有沒有什麼side-effect,沒問題再弄上原本的系統。如果想要有自己的distro,也可以從base-system開始,裝上bootloader,kernel後,再根據需要來裝xserver,windows manager,等於是自己專有的Linux。

root@user-ubuntu:/home/user/temp# dd if=/dev/zero of=./lenny.img bs=1k count=1024000  //建一個1G的base-system
1024000+0 records in

kezeodsnx 發表在 痞客邦 留言(0) 人氣()

[轉載請註明出處] http://kezeodsnx.pixnet.net/blog

作者: kezeodsnx

Kerberos--第三方認證機制

Kerberos是一種網路認證協定。一般client/server型態的應用程式,由server提供service給認證過的client。認證意味著不是隨便張三李四都可隨意使用該service,因此server端通常會要求client證明身份,方法則多半是username/password。因此不管這個密碼是 cyphertext還是plaintext,都在網路上傳來傳去,讓有心人士有可趁之機。

大多數人每天開心的使用網路,在鍵入帳號資訊,信用卡卡號,晶片卡密碼時,從不以為會發生什麼問題。當然,這只是沒有遇到, 不代表麻煩不會上身。而Kerberos就在這個不安全的網路世界中,提供了強大且安全的認證機制。這並非表示Kerberos解決了所有問題, 而是把惹上麻煩的機率降低一些。天下沒有不可能的事,不是嗎?

kezeodsnx 發表在 痞客邦 留言(0) 人氣()

讓人既愛又頭痛的 GNU/GPL Print E-mail
Written by 葛冬梅    Friday, 27 May 2005

GNU Genral Public License(以下簡稱GNU/GPL)是第一份自由軟體授權條款,也是目前最廣為被使用的授權條款之一。自由軟體之父 Richard M. Stallman(以下稱 Stallman)為了替他的軟體開發計畫 -GNU 計畫尋找適當的授權方式,在 1989 年草擬出 GNU/GPL 第一 版。它的整個架構與理念源自於Stallman所宣示的軟體使用者四大自 由(註一):

【自由0】使用的自由:可以不受任何限制使用該軟體。
【自由1】研究的自由:可以研究該軟體的運作方式,並使其符合個人需求。
【自由2】散布的自由:可以自由地複製該軟體並散布給他人。

kezeodsnx 發表在 痞客邦 留言(0) 人氣()

[轉載請註明出處] http://kezeodsnx.pixnet.net/blog

作者: kezeodsnx

Tune performance是一件很煩的事,看起來好像只是調調參數,其實不然。沒有對整個系統有一定的了解,根本不知從何調起,該調多少,在哪裡調。基本上,tune這件事應該是算advanced skill。下面是有試過的參數:

Reference:Linux performance tuning guide

1. /sys/block/sda/queue/nr_requests: Linux 2.6後的I/O scheduler實作了增加或減少發給disk subsystem的request數量。這個值不會是一體適用的,不同的disk subsystem,不同的worklaod,不同的I/O模式都有影響。即便是相同的disk subsystem,其block/secor size不同也造成影響。修改方式:

kezeodsnx 發表在 痞客邦 留言(1) 人氣()

[轉載請註明出處] http://kezeodsnx.pixnet.net/blog

作者: kezeodsnx

介紹

WiKi上DLL injection的解釋為在另一個process的address space裡執行其程式碼。可能的用途為用來影響本來程式碼的行為,而這個改變並不是原作者所預期的。方法是強迫對該程式載入其他的shared library。結果呢,本來程式是呼叫其”原本的”某一function,但最後卻呼叫了”intercepted”的function。

LD_PRELOAD可以做到這件事,常常用來在debian打包的工具fakeroot就是用了LD_PRELOAD。

kezeodsnx 發表在 痞客邦 留言(0) 人氣()

[轉載請註明出處] http://kezeodsnx.pixnet.net/blog

作者: kezeodsnx

介紹

先來個展開: initrd==>initial Ram Disk。initial沒什麼好說的,ram disk就比較有趣了。先看看WiKi怎麼說:

A RAM disk is a software layer that enables applications to transparently use RAM, often a segment of main memory, as if it were a hard disk or other secondary storage.

kezeodsnx 發表在 痞客邦 留言(1) 人氣()

[轉載請註明出處] http://kezeodsnx.pixnet.net/blog

譯者: kezeodsnx

原文: Connect desktop apps using D-BUS

DBUS基本上是一個IPC的實作。然而,因其特色使DBUS不止是另一個IPC的實作。為了解決特定的IPC問題,已有數種實作。CORBA解決OOP複雜的IPC,DCOP是較輕薄的IPC framework,power沒那麼強大,但已整合至KDE。SOAP和XML-RPC則是用在web service,因此使用HTTP為其傳輸協定。而DBUS是為了桌面應用程式與OS之間的通訊。

Desktop application communication

kezeodsnx 發表在 痞客邦 留言(0) 人氣()

[轉載請註明出處] http://kezeodsnx.pixnet.net/blog

作者: kezeodsnx

偶爾會遇到一個狀況,執行一個binary時,發現少了某個library,如下:

root@user-ubuntu:/lib# nano
nano: error while loading shared libraries: libncursesw.so.5: cannot open shared object file: No such file or directory

kezeodsnx 發表在 痞客邦 留言(0) 人氣()

[轉載請註明出處] http://kezeodsnx.pixnet.net/blog

作者: kezeodsnx

規則(rule)

Makefile是幫助compile的工具,透過Makefile,可以簡化build的流程。特別是當程式愈寫愈大,source file愈來愈多時,更要用Makefile來管理整個project的開發。在這個open source的時代,在某種程度上,Makefile也可用來了解整包source在幹麻,並分析其流程。

kezeodsnx 發表在 痞客邦 留言(0) 人氣()

«12 3