發表文章

awk 用法 vs mknod

剛剛實做了Linux driver,2.6 版以後,major number,可以經由註冊。由 kernel 配給。 所以無法事先建立 node,可以經由awk指令,利用 script 建立。 PS:如果沒有awk,需重新 compiler Busy_box。 下列是 script 範例。 insmod sbd.ko major=$(awk '/sbd/{ print $1 }' /proc/devices) mknod /dev/sbd0 b $major 0 awk功能很多,有興趣可以看看下列文章 awk 的使用說明文件 1. AWK Tutorial Guide 中央研究院計算中心 ASPAC計劃 (中文)       http://phi.sinica.edu.tw/aspac/reports/94/94011/ 2. The GNU Awk User's Guide (英文)      http://www.gnu.org/software/gawk/manual/gawk.html Shell 設計入門 http://linux.tnc.edu.tw/techdoc/shell/book1.html

鞋帶的幾種穿法 值得收藏

圖片
鞋帶的幾種穿法 值得收藏          

數位相機 鏡頭知識

光學就是利用玻璃鏡片折射放大, 所以3倍變焦就是3x35mm=105mm相當於105mm的鏡頭∼ 目前的數位相機的廣角鏡頭的最小焦長大多是35mm,感覺上與28mm的超廣角只差了7mm,感覺上數字上差不多,但實際上卻差了近1/5的涵蓋率。   實際在使用時,室內合照使用35mm鏡頭可能緊貼到牆上也無法把並排的七、八個人照在一起,而必須排成兩排或要大家擠一下。但28mm多1/5就可以從容的拍下所有的人。戶外攝影也可把整個宏偉的景觀完全攝入。(圖右為28mm&35mm比較)   聽起來超廣角如此好用,那為何相機不都改成28mm呢?這就是望遠的考量。同樣三倍光學鏡頭,一倍差7mm,三倍就差了21mm,望遠能力就大打折扣了。也就是同樣三倍光學相機,若是35mm-105mm已經有不錯的望遠功能,這對拍遠距及人像就很好用。相對而言28mm-84mm的望遠部份就只比肉眼所見捎大一點而已,望遠效果並不理想。

warning: missing sentinel in function call

warning: missing sentinel in function call 因為NULL不是一個正確的字元結束( terminated )資料型態,所以就會產生warning: missing sentinel in function call #include int main() { execl("/bin/ls", "ls", "-l", NULL); return 0; } 為了要避險這樣的情形產生。 #include int main() { execl("/bin/ls", "ls", "-l", (char *)NULL); return 0; } 這樣gcc就不會產生 warning: missing sentinel in function call 轉載: http://ericforyou.blogspot.com/2009_02_01_archive.html

BusyBox 在Serial Console底下不提示login訊息

BusyBox 在Serial Console底下不提示login訊息 在Busybox Serial Console底下,在/etc/inittab 裡面加上底下這一行 ::respawn:/sbin/getty -n -L ttySA0 115200 vt100 -n -l /bin/sh 系統就不會Show出要你輸入使用者帳號與密碼了!! 轉載: http://ericforyou.blogspot.com/2009_02_01_archive.html

DTMF

圖片

如何在ARM Embedded Linux實作automount功能

這是在"阿中部落格"上看到了,這功能滿好了。有機會來試試。 如何在ARM Embedded Linux實作automount功能 一般來說,目前我們桌上電腦當插入USB DISK,系統是使用udev來達成automount 在Embedded Linux中,我們並沒有跑udev這麼大的service,而是使用busybox的mdev 原理大概如下 Linux Kernel的hotplug -> 收到USB DISK insert/delete event -> 根據/proc/sys/kernel/hotplug指名的程式 -> 呼叫mdev -> mdev在根據/etc/mdev.conf設定檔指定batch file -> 執行相對應的/sbin/automount.sh 實作部份 Linux Kernel部份 ================ 在.config 將hotplug function打開 代碼: CONFIG_HOTPLUG=y 如果proc file system和sysfs file system沒打開的話也要記得打開(應該很少人會這個不開吧) 代碼: CONFIG_PROC_FS=y CONFIG_SYSFS=y 重新編譯kernel Busybox部份 =========== 很遺憾的Busybox 1.2版的mdev有bug,我是在Busybox 1.9版mdev source code發現已經fix這個bug了 Busybox的make menuconfig 請把mdev打開 P.S. 因為等下還有batch 需要grep 如果busybox沒開的話也要打開 target board file system部份 ============================ vi /etc/inittab 代碼: ttyRI0::sysinit:/bin/mount -t sysfs sysfs /sys ttyRI0::sysinit:/sbin/mdev -s ttyRI0::sysinit: /bin/echo /sbin/mdev > /proc/sys/kernel/hotplug 掛載sys...