美國雖然是民主國家,嘴裡也口口聲聲說要支持民主,但是在國家利益之下,只要不是美國人,都是可以犧牲的。其實這樣做也很正常,美國人也常常把國家利益掛在嘴邊,只是就台派來說,司法部針對扁家在美資產逕自沒入還是很誇張。
我想中國的高官貪官在美國置產入籍多不勝數,也不曾聽說美國司法部沒入哪個貪官的資產。國民黨藏汙納垢那麼多年,落跑的人一堆,以及興票案之類不明不白的資產,都不曾被沒入。
美國司法部的新聞稿稱這是"alleged bribe",只是alleged就可以這樣搞,要說不是政治事件還真令人難以相信。我相信美國司法部會用alleged,其實也心知肚明KMT在搞什麼。
可憐的台灣人只有靠自己了,美國為了自身利益隨時可以把你給賣了。 還有,這該不會是給小金子的見面禮吧?
2012年11月16日 星期五
QEMU and ARM Linux
我是以Ububtu Linux上的qemu-system-arm來進行實驗,先要安裝qemu-system-arm
sudo apt-get install qemu-user-static qemu-system
想知道支援的CPU型號列表:
qemu-system-arm -cpu ?
想知道支援的系統列表:
qemu-system-arm -machine ?
這裡用的是ARM Versatile這個系統當範例,這塊板子的CPU是ARM926EJ-S
首先要解決的是toolchain,這裡是直接下載現成的CodeSourcery CodeBench Lite 2012.03-57 for ARM GNU/Linux.
假設解開到~/test-qemu-arm/, 這時就需要把它的路徑加到PATH
export PATH=$PATH:~/test-qemu-arm/arm-2012.03/bin
寫個小程式來試試看QEMU, 這裡我用個老掉牙的Hello world C程式做測試
qemu-arm-static -L ~/test-qemu-arm/arm-2012.03/arm-none-linux-gnueabi/libc/ ./hello_world
寫個script來設定編譯Linux kernel所需的環境變數:
export PATH=$PATH:/home/victor/test_qemu-arm/arm-2012.03/bin
export ARCH=arm
export CROSS_COMPILE=arm-none-linux-gnueabi-
根據我們使用的平台,載入default config:
make versatile_defconfig
接著做個小修改:
make menuconfig
在"Kernel Features"這一頁,打開"Use the ARM EABI to compile the kernel"
離開前記得要存下設定。
接著就可以開始編譯,這個會稍微花點時間,但以現今PC的能力來說,其實才幾分鐘而已。
make uImage
檢視一下這個uImage file:
file arch/arm/boot/uImage
大致上會看到這樣的輸出:
arch/arm/boot/uImage: u-boot legacy uImage, Linux-3.6.3, Linux/ARM, OS Kernel Image (Not
compressed), 1986896 bytes, Mon Oct 22 17:52:05 2012, Load Address: 0x00008000, Entry Point:
0x00008000, Header CRC: 0x7EF0365B, Data CRC: 0xAE2513DE
現在可以用QEMU來測試kernel:
qemu-system-arm -M versatilepb -m 128M -kernel arch/arm/boot/uImage
我們借助於buildroot來建立所需要的root filesystem。
我下載的是buildroot-2012.08.tar.bz2
網址是 http://buildroot.uclibc.org/
下面是在編譯前需要做的設定:
有些套件可能需要安裝才能順利編過
編出來的root filesystem是在output/images/rootfs.cpio.gz
現在把kernel跟root filesystem放在一起跑:
qemu-system-arm -M versatilepb -m 128M -kernel uImage -initrd rootfs.cpio.gz -serial stdio
這套系統可以用root登入
下面是我參考的網頁:
http://www.linuxforu.com/2011/06/qemu-for-embedded-systems-development-part-1/
http://www.linuxforu.com/2011/07/qemu-for-embedded-systems-development-part-2/
http://www.linuxforu.com/2011/08/qemu-for-embedded-systems-development-part-3/
http://elasticsheep.com/2011/01/building-and-emulating-a-basic-arm-linux-system/
sudo apt-get install qemu-user-static qemu-system
想知道支援的CPU型號列表:
qemu-system-arm -cpu ?
想知道支援的系統列表:
qemu-system-arm -machine ?
這裡用的是ARM Versatile這個系統當範例,這塊板子的CPU是ARM926EJ-S
Toolchain
首先要解決的是toolchain,這裡是直接下載現成的CodeSourcery CodeBench Lite 2012.03-57 for ARM GNU/Linux.
假設解開到~/test-qemu-arm/, 這時就需要把它的路徑加到PATH
export PATH=$PATH:~/test-qemu-arm/arm-2012.03/bin
寫個小程式來試試看QEMU, 這裡我用個老掉牙的Hello world C程式做測試
qemu-arm-static -L ~/test-qemu-arm/arm-2012.03/arm-none-linux-gnueabi/libc/ ./hello_world
Kernel
寫個script來設定編譯Linux kernel所需的環境變數:
export PATH=$PATH:/home/victor/test_qemu-arm/arm-2012.03/bin
export ARCH=arm
export CROSS_COMPILE=arm-none-linux-gnueabi-
根據我們使用的平台,載入default config:
make versatile_defconfig
接著做個小修改:
make menuconfig
在"Kernel Features"這一頁,打開"Use the ARM EABI to compile the kernel"
離開前記得要存下設定。
接著就可以開始編譯,這個會稍微花點時間,但以現今PC的能力來說,其實才幾分鐘而已。
make uImage
檢視一下這個uImage file:
file arch/arm/boot/uImage
大致上會看到這樣的輸出:
arch/arm/boot/uImage: u-boot legacy uImage, Linux-3.6.3, Linux/ARM, OS Kernel Image (Not
compressed), 1986896 bytes, Mon Oct 22 17:52:05 2012, Load Address: 0x00008000, Entry Point:
0x00008000, Header CRC: 0x7EF0365B, Data CRC: 0xAE2513DE
現在可以用QEMU來測試kernel:
qemu-system-arm -M versatilepb -m 128M -kernel arch/arm/boot/uImage
Root Filesystem
我們借助於buildroot來建立所需要的root filesystem。
我下載的是buildroot-2012.08.tar.bz2
網址是 http://buildroot.uclibc.org/
下面是在編譯前需要做的設定:
- Set toolchain as an External, Custom, Pre-installed toolchain.
- Set toolchain path = ~/test_qemu-arm/arm-2012.03/
- Set toolchain prefix = arm-none-linux-gnueabi
- Set serial port from ttyS0 to ttyAMA0
- Enable "cpio the root filesystem"
- And set "Compress method" to gzip.
有些套件可能需要安裝才能順利編過
- bison
- flex
- texinfo(for makeinfo)
編出來的root filesystem是在output/images/rootfs.cpio.gz
現在把kernel跟root filesystem放在一起跑:
qemu-system-arm -M versatilepb -m 128M -kernel uImage -initrd rootfs.cpio.gz -serial stdio
這套系統可以用root登入
下面是我參考的網頁:
http://www.linuxforu.com/2011/06/qemu-for-embedded-systems-development-part-1/
http://www.linuxforu.com/2011/07/qemu-for-embedded-systems-development-part-2/
http://www.linuxforu.com/2011/08/qemu-for-embedded-systems-development-part-3/
http://elasticsheep.com/2011/01/building-and-emulating-a-basic-arm-linux-system/
2012年9月29日 星期六
Sometimes the Truth Just Socks
幾天前看著公共電視台播放的怪醫豪斯,Park重擊House的後腦杓,說了這句話:
"You’ve spent your whole life looking for truth, but sometimes the truth just sucks."
是的,sometimes the truth just socks. 了解了這個世界是這麼的現實與殘酷,這就是我現在的心情。
"You’ve spent your whole life looking for truth, but sometimes the truth just sucks."
是的,sometimes the truth just socks. 了解了這個世界是這麼的現實與殘酷,這就是我現在的心情。
2012年9月8日 星期六
四不像
這個中國自製的processor是在Jserv的部落格看到的,就computer architecture的角度,我想要評評這個core。
很顯然UniCore32是ARM與MIPS架構的混合,就指令集來看,它的架構應該比較貼近MIPS(不要看mnemonic code就以為它像ARM),而且還是比較陽春的MIPS。東抄西抄的結果,不小心也把缺點抄進來了。
一是register number。register多固然對於compiler optimization有幫助,但是也代表了contex switching代價高,interrupt反應時間長。另外,大的register file也比較耗電。32 registers太多了,常寫底層程式的人應該會懂。
一是code density。ARM創造了Thumb/Thumb-2,MIPS創造了MIPS16,都是為了改進code density,code density代表的是cost and performance,UniCore32竟然直接放棄。
當年凌陽自己搞了一個S+Core,君正搞了個MIPS。現在晶心搞了Andes,北大眾志搞了個UniCore32。每次都是在自吹自擂說是可以自製CPU,其實以現在技術做個CPU有何難?真的難處在於跟市場上的架構比有沒有競爭力。說難聽一點,華人世界缺乏對軟體工程師的尊重,沒有軟硬體互相激盪配合的話,是做不出個能存活的產品來的。
以前在北京跟某個科技公司的總經理碰面,一開始就吹噓其產品是在人民大會堂高調發表,某法院院長某黨校校長某某機關首長都來了。草泥馬的,這些腦滿腸肥的官懂個屁。
也難怪東西作不好只好牽拖其他的有的沒的來騙人了。
很顯然UniCore32是ARM與MIPS架構的混合,就指令集來看,它的架構應該比較貼近MIPS(不要看mnemonic code就以為它像ARM),而且還是比較陽春的MIPS。東抄西抄的結果,不小心也把缺點抄進來了。
一是register number。register多固然對於compiler optimization有幫助,但是也代表了contex switching代價高,interrupt反應時間長。另外,大的register file也比較耗電。32 registers太多了,常寫底層程式的人應該會懂。
一是code density。ARM創造了Thumb/Thumb-2,MIPS創造了MIPS16,都是為了改進code density,code density代表的是cost and performance,UniCore32竟然直接放棄。
當年凌陽自己搞了一個S+Core,君正搞了個MIPS。現在晶心搞了Andes,北大眾志搞了個UniCore32。每次都是在自吹自擂說是可以自製CPU,其實以現在技術做個CPU有何難?真的難處在於跟市場上的架構比有沒有競爭力。說難聽一點,華人世界缺乏對軟體工程師的尊重,沒有軟硬體互相激盪配合的話,是做不出個能存活的產品來的。
以前在北京跟某個科技公司的總經理碰面,一開始就吹噓其產品是在人民大會堂高調發表,某法院院長某黨校校長某某機關首長都來了。草泥馬的,這些腦滿腸肥的官懂個屁。
也難怪東西作不好只好牽拖其他的有的沒的來騙人了。
2012年7月5日 星期四
2012年7月2日 星期一
2012年6月30日 星期六
FTP server for Ubuntu 12.04
用Google找了一下,大多數是用vsftpd。vsftpd是"Very Secure FTP Daemon"的意思,通常提到secure的意思就是有些小地方要注意設定,不然它理都不理你。
sudo apt-get install vsftpd
安裝之後編輯/etc/vsftpd.conf來作設定。
這裡分幾個情況來說明
Anonymous Read-Only Access
編輯/etc/vsftpd.conf
Anonymous Read-Write Access
編輯/etc/vsftpd.conf,除了上述的兩個變數之外有一些額外的設定
上面的設定變數如果沒有需要可以不打開,各變數的說明請man vsftpd.conf。
Local User Access
編輯/etc/vsftpd.conf
Server上有帳號的人(local users)可以login,login之後是到自己的home directory。
sudo apt-get install vsftpd
安裝之後編輯/etc/vsftpd.conf來作設定。
這裡分幾個情況來說明
Anonymous Read-Only Access
編輯/etc/vsftpd.conf
要注意的是anon_home這個目錄的設定,我習慣將它設定成/home/ftp,將它的owner:group設定成ftp:ftp,mode設定成0577。這個目錄對ftp user而言一定不可以是writable,不然login時會有訊息抱怨權限錯誤。anonymous_enable=YES anon_root=/home/ftp
Anonymous Read-Write Access
編輯/etc/vsftpd.conf,除了上述的兩個變數之外有一些額外的設定
write_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES anon_upload_enable=YES
上面的設定變數如果沒有需要可以不打開,各變數的說明請man vsftpd.conf。
Local User Access
編輯/etc/vsftpd.conf
local_enable=YES
Server上有帳號的人(local users)可以login,login之後是到自己的home directory。
2012年6月9日 星期六
TFTP server for Ubuntu 12.04
用apt-get直接裝TFTP server套件。
sudo apt-get install tftpd-hpa
sudo apt-get install tftpd-hpa
Default options放在 /etc/default/tftp-hpa
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"
TFTP_DIRECTORY 是TFTP的檔案存放目錄.,我是將它改成rw for all,不知有沒有甚麼副作用?
sudo chmod a+rw /var/lib/tftpboot
在Ubuntu上面直接裝的TFTP server套件不會在開機時執行,精確一點說應該是開機時跑了卻沒有起來。這是個老毛病,修一下就好。
編輯 /etc/init/tftpd-hpa.conf ,修改它錯誤的初始條件。
#start on runlevel [2345] # the original line which is wrong
start on (filesystem and net-device-up IFACE!=lo)
2012年5月25日 星期五
Network interfaces problem for Wireshark in Ubuntu
最近因為工作上的關係,需要使用到Wireshark這套軟體,在Ubuntu 12.04安裝了之後,卻跟Windows版本不一樣,沒有出現network interfaces。經過研究,原來是權限問題。
下面是我的步驟
1. 安裝Wireshark
sudo dpkg-reconfigure wireshark-common
3. 將你的帳號加到wireshark group
當然使用sudo or gksudo也可以,只是危險了點。
下面是我的步驟
1. 安裝Wireshark
sudo apt-get install wireshark
2. 將網路擷取的部份設成root or wireshark group才有權限使用sudo dpkg-reconfigure wireshark-common
3. 將你的帳號加到wireshark group
sudo useradd -a -G wireshark your_account
4. Reboot當然使用sudo or gksudo也可以,只是危險了點。
2012年5月12日 星期六
2012年3月24日 星期六
Linux from Scratch首次達陣
一年之前有次想要好好的照著LFS (Linux from Scratch)的文件編出個Linux系統來,但是卻半途而廢。這次是認真起來了,也沒想到竟然這樣簡單,幾乎沒有遭遇到大問題就編完了,而且初步看來沒啥問題。
就我的經歷來看,邊看邊做零零總總的時間加起來,大約3~4個工作天。Compilation的時間比想像中短,要拜現在x86 CPU太過強大之賜。
建議還在猶豫的人真的可以放手去做,LFS的文件相當清楚,動手做過會更有感覺。
下個目標呢?嗯~再想想吧。
就我的經歷來看,邊看邊做零零總總的時間加起來,大約3~4個工作天。Compilation的時間比想像中短,要拜現在x86 CPU太過強大之賜。
建議還在猶豫的人真的可以放手去做,LFS的文件相當清楚,動手做過會更有感覺。
下個目標呢?嗯~再想想吧。
2012年1月14日 星期六
今天是值得紀念的一天
小英在大選的失利,代表台灣人的民主仍是在嬰兒期。
一個滿嘴謊言施政荒腔走板的總統還能得到連任,無疑是一種反淘汰。這代表著手握著不公不義的黨產,掐著媒體的脖子,派一條狗來選都可以選得上。
馬的清廉根本就是假的,媒體的化妝術可以把黑的變白的,這讓頭腦還清楚的人真是情何以堪!
算了!結果既然是這樣,或許該考慮移民了!難怪在台灣只要有點錢的人都有綠卡或是楓葉卡,跟這些藍丁耗甚麼呢?
一個滿嘴謊言施政荒腔走板的總統還能得到連任,無疑是一種反淘汰。這代表著手握著不公不義的黨產,掐著媒體的脖子,派一條狗來選都可以選得上。
馬的清廉根本就是假的,媒體的化妝術可以把黑的變白的,這讓頭腦還清楚的人真是情何以堪!
算了!結果既然是這樣,或許該考慮移民了!難怪在台灣只要有點錢的人都有綠卡或是楓葉卡,跟這些藍丁耗甚麼呢?
訂閱:
文章 (Atom)