星期五, 1月 27, 2006
NAS的幾個Package : FreeNAS & NASLite
FreeNAS
是Open Source, free 的。基於FreeBSD。也有支援Softraid(0,1,5)。
主導者是 Olivier Cochard ,他同時是embedd BSD 計畫 : m0n0wall 的developer。
應該是蠻新的,2005/10/31註冊SourceForg。最新release date是2006/01/23 - 0.522
download試試比較快... iso 開機,只有15M (這一點可能NASLite比較厲害,用floppy就可以)。
準備一個4 SCSI + 1 CD 的機器來試試:
- boot from NAS CD後,出現console :跟著pdf的說明,選'7' Install on HD/CF/USB key.
- 接著選1: Install on HD, CF or USB key : Create 1 UFS partition。- 整個HD都當boot disk用。
- 因為是BSD,所以SCSI HD controller的名字是 acd0.
- 輸入acd0後,列出所有的SCSI : da0, da1, da2, da3 (因為我準備了4顆)。
- 用第一顆: da0 ,所以輸入da0,開始安裝...
- 完成,拿出CDROM,重開。
- 這次會從HD開機,一樣進入console. 現在要作網路規劃,這個會存在HD中。選1: Intefaces : assign network ports
- 選擇要使用的network interface,他偵測出Inc0。所以我輸入lnc0
- Option 1的問題,follow pdf 檔,按Enter就可以。
- reboot ? -- Yes.
- reboot後,選2,設定ip address。
- ip (10.3.5.124)設好後,輸入bit mask,這是用bit數(22)來代表
- 輸入完後,console menu又出來,選5 : ping another host,測試網路是否OK。
- OK。這樣console部份都設定完了,接著進入web interface...
- 在其他pc 開啟browser,連到freeNAS (http://10.3.5.124),會出現login dialog.
- Default的admin/password 是admin/freenas,這樣就可以access freeNas的web interface了
- Wooh!!! 超詳細,還有firmware update功能,幾乎是商品化了(就缺access control)。
這是access的home:
詳細的function menu :
OK繼續,現在要加入磁碟機了。
到Disks-Management頁面,按'+'號。選要加入的disk(不能選boot那一個囉)。
接著就會有選項(Cool! 還有power management和大小聲控制..)。
Add完後,就可以Format了:可以選format的格式喔。
??? Raid 設定有點問題, 一直是在down,不會up。HD也沒在動...
只好用一般的disk partition。
format好,mount好後,開啟CIFS。但是只有share Mode有支援,User Mode好像還沒支援。
-- 這是故意的?
所以,應該還沒到實用階段。
星期四, 1月 26, 2006
ViewML : Open source web browser for embedded linux system
他發現雖然opensource 的internet browser雖然已經有20幾種,但是大多很大,或是需要其他package。要不然就是功能太陽春,無法parse複雜的HTML tag。
所以他決定要作一套新的,可以用在embedded system,而且功能又OK的internet browser。
他決定要:
- 一套完整的internet browser,但是又很小,可以在很多embedd device中執行(像 pda, set-top-box。
- 使用現成的open source html parse engine,以免像其自行撰寫prase engine的browser一樣,prase能力很差。
- 使用Fast Light Toolkit(FLTK) framework 作為user interface。
- 可以在microwindow和X windows下執行。
ViewML 分為以下module :
ViewML Browser Application Layer
用FLTK寫的application user interface。包裝起整個ViewML程式。處理user interface和network/local file access 介面。
W3C WWWLib
負責asychronous network i/o 和HTTP get function。這是WWW 協會的標準WWWLib。有點大,將來可能會自己重寫。
KHTML View/Widget
就是KDE 1.0 HTML Widget code。KHTML Widget 負責parse HTML,繪圖,但是scroll 則交由View去作。
Qt Compatiblity Layer
用FTLK 將所有KHTML用到的Qt function call寫出來,讓KHTML能夠不修改code,正常的執行。不直接拿Qt來用的原因是size問題。
IMLIB image library
gnome的image library。包含自動偵測image file format,decodeC 和show image。
FLTK Application Framework
有兩種版本: 給Win32, X 用的標準版FLTK,和給microwindow的nano-X用的重新寫過的FLTK。
因為利用了open source,完成的ViewML browser的code size只有800k,run time memory requirement也只有2M。整體,加上mircrowindow,只需要2.5M。
整個project是open source的。
project page在 www.viewml.com (但是已經變成pilix了)
freshmeat的ViewML也只有到0.21版。
真正的ViewML位置在PILIX ftp download site上 (ftp://ftp.pixil.org/pub/pixil)< >看來原作者很不爽繼續支援這個計畫,ViewML目前附屬在PIXIL 計畫(產品)下。在PIXIL 的developer mailing list上可以看到作者已經無意free support這個計畫。-- 甚至port 到new compiler version也不願意。對於一大堆大陸人的(Is anyone help me cross compile viewML for arm) 問題也不願回應。
build ViewML :
需要的library有
一般:
- STL (這個好像是用STLport)
- PThread (uclibc 有libpthread)
- libwww - 去ftp download,同時需要libmd5
- FLTK for Nano-X , flnx-current.tar.gz
- Microwindows , with nano-X
解開viewml,在目錄中run .confiure,並且加入參數
./configure --with-microwin=[Microwindows dir] --with-fltk=[FLTK dir] --host=[prefix]Microwindows dir 是microwindws 所在目錄
FLTK 也是一樣
prefix是toolchain的prefix,像arm-elf
libwww
不知道要怎樣在uclinux 下build。
紀錄一下cross build的一些option.
ARMTOOLSPREFIX = arm-linux-
libwww的installation 下有說明
Specifying the System Typeconfig.sub 是...,看了後,好像要設arm-linux :
There may be some features configure can not figure out automatically, but needs to determine by the type of host the package will run on. Usually configure can figure that out, but if it prints a message saying it can not guess the host type, give it the `--host=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name with three fields:
CPU-COMPANY-SYSTEM
See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't need to know the host type.
If you are building compiler tools for cross-compiling, you can also use the `--target=TYPE' option to select the type of system they will produce code for and the `--build=TYPE' option to select the type of system on which you are compiling the package.
./configure --target=arm-linuxbuild 出來後,看看Makefile,好像沒又設對gcc。所以用:<>CC=arm-elf-gcc ./configure --target=arm-linux卻看到 cannot find host,所以host也要指定。因為不知道要指定那一種所以用./configure看看...host system type... i686-pc-linux-gnu。
這次用
CC=arm-elf-gcc ./configure --target=arm-linux --host=i686-pc-linux-gnu試試..但是output中checking for gcc 還是gcc,不是arm-elf-gcc,所以check cross-compiler 還是no.
$ echo ${CC-cc}這個是正確的。
arm-elf-gcc
是config.cache的關係嗎?
把w3c-libwww整個delete掉,untar,再configure一次,OK !!正確detect出cross compile了。
接著作
$ makeError :
Making all in xmltok是share library的問題?
arm-elf-gcc -shared -Wl,-soname -Wl,libxmltok.so.0 -o .libs/libxmltok.so.0.1.0 xmlrole.lo xmltok.lo -lc
/home/charles/sigma/armutils_2.5.91.0/toolchain/lib/gcc-lib/arm-elf/2.95.3/libc.a(__uClibc_main.o): In function `__uClibc_start_main':
__uClibc_main.o(.text+0xf8): undefined reference to `main'
collect2: ld returned 1 exit status
改configure, disable share :
./configure --host=i686-pc-linux-gnu --prefix=~/libwww --disable-shared 2>&1 | tee outputOK!! 所以應該是shared library的問題。
因為ViewML沒有說一定要用shared library,所以先用static linking試試。
... make是過了,但是還沒install.
這樣的configure option 不能install 吧,因為沒設prefix,所以會裝在default folder裏(/usr/lib)。
...其實前一次會過是因為沒有設CXX=arm-elf-g++ 變數,所以checking variable size時都會OK。
使用:
CC=arm-elf-gcc CXX=arm-elf-g++ ./configure --host=i686-pc-linux-gnu --target=arm-linux --prefix=/home/charles/magsi/libwww --disable-shared 2>&1 | tee output就會發生...
configure: error: can not run test program while cross compilingGoogle的結果,這一篇似乎有一個解決的方法...
這是因為autoconfig沒有辦法知道target platform的char size,所以發出error(autoconfig利用run test program來偵測machine的var size)。
解覺的方法就是手動囉,因為只有build的人才會知道taget system的char size。
改configure...找到 echo "configure: error: can not run test program while cross compiling" 這一行,參考一下這一段是要 設定那一個變數,自己寫進去,改為:
ac_cv_sizeof_char=1找一下所有這個message出現的地方,修改對應參數到正確的值...
因為資質弩鈍,所以有些type不知道,像arm的long type size是....?分別印出
所以只好真的build一個test program在taget board 上跑來試試..
使用的command是arm-elf-gcc trysize.c -o trysize -Wl,-elf2flt="-s32768"
char 1
char* 4
int 4
long 4
還要check time_t 是不是long : 就是time_t 的size和long 一不一樣
double 和long double是不是一樣: 寫給target board test的code是:
輸出的結果是:
#include <stdio.h>
#include <time.h>
#include <stddef.h>
int isbigendian(void)
{
union
{
long l;
char c[sizeof(long)];
} u;
u.l=1;
return u.c[sizeof(long) -1] == 1;
}
int charisunsigned(void)
{
volatile char c= 255;
return c <0;
}
main()
{
printf("char:%d\n",sizeof(char));
printf("char*:%d\n",sizeof(char*));
printf("int:%d\n",sizeof(int));
printf("long:%d\n",sizeof(long));
printf("time_t:%d\n",sizeof(time_t));
printf("size_t:%d\n",sizeof(size_t));
printf("bigendian:%d\n",isbigendian());
printf("charisunsigned:%d\n",charisunsigned());
printf("double:%d\n",sizeof(double));
printf("long double:%d\n",sizeof(long double));
}
char:1實際上還是不知道long_double這一個選項是要設成yes還是no...
char*:4
int:4
long:4
time_t:4
size_t:4
bigendian:0
charisunsigned:0
double:8
long double:8
FTLK
一樣,解開。 README中說明INSTALL process:有說明configure時如果不是用g++,要指定CXX variable。gcc要指定CC variable。
$ CXX=arm-elf-g++OK。正確check出cross compile。
$ CC=arm-elf-gcc
$ ./configure --host=i686-pc-linux-gnu --preifx=/home/charles/libflnx
$ makeError !!!
=== making fluid ===這個....
make[1]: Entering directory `/home/charles/sigma/flnx/fluid'
.....
make[1]: *** No rule to make target `../lib/libfltk.a', needed by `fluid'. Stop.
make[1]: Leaving directory `/home/charles/sigma/flnx/fluid'
=== making test ===
make[1]: Entering directory `/home/charles/sigma/flnx/test'
make[1]: *** No rule to make target `../lib/libfltk.a', needed by `valuators'. Stop.
make[1]: Leaving directory `/home/charles/sigma/flnx/test'
make: *** [all] Error 2
應該要看一下flnx的INSTALL..
和libwww的方式不一樣,fltk 下的Makefile包含了config,所以直接在Makefile裏修改,加入configure的option。
但是還是一樣的錯。
./configure --host=i686-pc-linux-gnu --with-microwin=/home/charles/magsi/armutils_2.5.91.0/build_arm/src/microwin/src
真奇怪,不就是要build libfltk嗎?為什麼不知道要如何build libfltk ?
這是因為libfltk.a 是由src 目錄build出來,src目錄有錯。所以libfltk沒有build出來。
所以要先查src目錄make的錯誤...
....是找不到iostream.h...
設定-I option 到makeinclude 中
-I/home/charles/magsi/armutils_2.5.91.0/build_arm/STLport-4.5.3/stlportOK。但是出現putenv( ) undeclare!!!。
這 是因為stdlib.h include不正確,一樣,在剛剛的-I option 之前,要指定uclibc 的include 路徑,讓arm-elf-g++先去include uclibc的stdlib.h,所以makeinclude的-I option 要加上另一項(在STLport option 之前...
-I/home/charles/sigma/armutils_2.5.91.0/build_arm/uClibc -0.9.26/include再build.. 還是有錯,說是filename_list.cxx中有一個cast不正確。到 source file中去看。是platform dependent code。在uclinux下應該要用linux 的code吧,需要define "linux",所以再到makeinclude中加入..
-DlinuxOK!! src folder build OK.
然後是fluid folder的問題了....
internal error--unrecognizable insn:Google 一下...
Hit the WALL !!!
原來是cross-compile 太複雜的C++ code時,會出現的error,mailinglist上有所謂的"unrecognuzabgle-insn.path",但是都是失效的link !
有兩個解決方法:
1.upgrade gcc
2.修改code
修改code好了@_@...
所以把出現error的function找出來,mark 掉一些section,找找看是那一個instruction發生問題..
發現...竟然是local variable array 的size太大!!!
把 MAXSIZE 改小就可以,--- 改到256後,pixmap_image::pixmap_image 沒錯。
--- 也試過用new 也可以過,但是要注意 return 時要free。
改為gif.cxx出錯!!
gif.cxx 裡面只有一個function : gif2xpm,因為error message的內容和上一個有一點類似,所以猜是不是local array size too large,果然找到-- 有兩個4096 的array,改成100後OK。
fluid 都build過了,link時出現"cannot find -ljpeg". 猜測是沒有jpeg library,在viewml的ftp裏好像有看到...jpegsrc.v6b.tar.gz,google一下發現這是有名的jpeg-6b 版本library。
有關cross-compile的也只有... ./configure ,修改compile to sh8-linux-gcc (是sh8的說明)。
解開source 後,裡面有install.doc,
...好像uClibc也有port libjpeg... not sure-- 結果沒有
將libjpeg cross build好 - ref http://checko.blogspot.com/2006/02/cross-compile-libjpeg.html
繼續build flnx...
compile 都過了,剩下link error : 找不到rint( ) - 屬於libm。
雖然uClibc中有libm(否則link會complain: 找不到libm),但是卻找不到rint( ),
自己寫一個測試程式用cross-compile build試試,結果真的找不到。
到lib,用
$ arm-elf-ar t libm列出libm中所有module,沒有s_rint.o <-這是rint()所在module。
所以查一下uClibc的Makefile為何沒有把s_rint( )納入...
在uClibc-0.9.26/libm/Makefile中看到 因為定義 DO_C99_MATH沒定義,所以沒將s_rint.c加入source list。
所以手動將s_rint.c加入source list中,重新build uClibc (因為make 下有uClibc.mk,所以打 make uclibc 就可以只build uclibc)
完成後再用" arm-elf-ar t libm" 看,s_rint.o 已經在libm中。
回到flnx, make --- fluid 已經OK,
出現test folder 的error : 一樣是 " keyboard_ui.cxx:559: internal error--unrecognizable insn: "
看了一下,大概是button太多了,所以刪掉所有的button.
build OK!!
應該可以測試一下...
在target上.... 不會跑 : bad magic/rec,
這個是沒有作elf2flt的原因,
修改 Makefile,在 linker, loader rule加上 :
-Wl,-elf2flt="-s32768".rebuild,注意exe file要chmod a+x 才能執行。
鉭質電容 :some informations..
http://www.ti.com.tw/articles/detail.asp?sno=52&catalog=7
陶 瓷電容通常較受歡迎,因為它們的成本低,故障時會變成開路;鉭質電容成本較高,故障時則會變成短路。輸出電容的等效串聯阻抗會影響電路穩定性,陶瓷電容的 等效串聯阻抗較小,約為數十毫歐姆,鉭質電容的等效串聯阻抗則在數百毫歐姆左右。許多鉭質電容的等效串聯阻抗還會隨著溫度大幅改變,進而對穩壓器的工作效 能造成負面影響。陶瓷電容可用來取代鉭質電容,只要在電容和地線之間加上一顆溫度穩定性良好的適當電阻 (通常為200 mA。請與穩壓元件製造商聯絡,確保得到正確的電路設計。
http://ppsc.pme.nthu.edu.tw/~htwu/hw/right/cap.html
電 解質電容通常是電容值比較大的電容,一般具有極性,通常用於電源穩壓或低頻率的電路(兩個電解電容背接成NP電容,則無極性)。電解質電容在高頻時的表現 不好,如果高頻電路要用到電容,最好是選陶瓷電容或鉭質電容。陶瓷電容一般電容值很少大於 0.1uF,高頻響應良好。
鉭質電容雖適用頻寬廣,漏電流小,但不耐負壓,若接反正負極會造成電容爆炸,但因含有毒性,已逐漸退出市場。
http://www.moneydj.com/z/glossary/glexp_499.asp.htm
為 電解電容的一種,屬於被動元件,是陽極使用鉭的電解型電容器,又可再分為固體型及液體型兩種,其中固體型是以二氧化錳當電解液,液體型則是以硫酸當電解 液。鉭質電解電容的特性是耐溫性較廣,無電感性,較優的洩漏電流特性,但卻有突破電壓、逆電壓等無持久性,不不耐機械衝擊的缺點。
http://www.23xx.com.tw/newprog/msg.asp?id=A004&class=???????&msgid=227&posit=1
鉭質電容跟鋁質電容都是電解電容的一種
特色是電容量最穩定
漏電損失最少
及效率比較不會受到溫度的影響
但價錢較貴
而且鉭是公害管製品
適用範圍很廣,但集中在需要穩定度較高的產品
市場需求量大概是鋁質電容的40%
國內上市公司好像只有華容生產一點點
好像佔營收不到5%
筆記 : microwindow
利用make microwin 2 >&1 | tee output 看看build process.
知道 真正的config file 在 armutils/config/development/config.microwin.
microwin : $(UCLIBC_TARGET) $(MICROWIN_TARGET_BINARY)
UCLIBC_TARGET = $(uclibc_arch_libs) $(uclibc_arch_xip_libs) <--應該不重要
MICROWIN_TARGET_BINARY := $(TAGET_DIR)/usr/bin/nano-X
$(MICROWIN_TARGET_BINARY) : .target_dir_made $(MICROWIN_BINARY)
MICROWIN_BINARY := $(MICROWIN_DIR)/src/bin/nano-X
$(MICROWIN_BINARY) : $(MICROWIN_DIR) ./configured
$(MAKE) ..... -C $(MICROWIN_DIR)/src ....
MICROWIN_DIR := %(BUILD_DIR)/microwin
也就是說,到microwin/src 作make
microwin/src/Makefile :
all : default
-$(MAKE) -C $(MW_DIR_SRC)/demos
WM_DIR_SRC := $(CUR_DIR)
就是到demos 下作make
include microwin/src/Makefile.rules.
這個好像就是決定make哪些target 的file。
發現make的過程不會output command log...
在 Makefile.rules中有:
$ifeq ($(VERBOSE), N)
.SILENT
$endif
而在config中有
VERBOSE = N
這就是原因。
所以修改config,將VERBOSE改為 Y
但是用的config 檔不是src/config,而是armutil/config/config.microwin 要修改這裡的config才有效。
星期三, 1月 25, 2006
Sign, Unsigned 和 shift right
char rc=0;結果:
for(i=0;i<8;i++){
rc = rc >> 1;
if(key)
rc = rc | 0x80;
}
出來的rc 都是:1000b, 1100b, 1110b, 1111b 這幾個pattern。
實際應該要是 : 1000b, 0100b, 0010b,0001b 才對。
也就是說,因為right shift的原因,high bits被keeps住了。
這是因為rc 宣告成signed 的原因,因為是sign,所以shift時會keep sign bit:
0000
1000 - 按鍵1
1100 - shift right 後應該是0100, 但是因為最高bit是正負號,所以compiler會保存正負號,所以又把1000加回去,變成1100。
以上問題解決的方式就是:改為宣告unsigned char rc。
有些compiler (例如: pic - hitech C,的compiler)會有option : treate char as unsigned。
這個option會讓所有宣告char的variable都當作是unsigned char。
所以沒有上面的問題(但是int時一樣會發生)。
所以最保險的方式就是 依照變數特性正確的宣告sign/unsigned。
正確的宣告sign/unsigned 麻煩的的地方是等號運算和function 參數。
等號兩邊變數的sign/unsigned 宣告不同時,會出現error。
同理,function參數prototyping和實際呼叫時放入的參數sign/unsigned 不同時也會warnning。
所以?
星期二, 1月 24, 2006
ar : library (archieve) 操作,用在抽換object file上..
所以說,要重建整個library是不可能的。廠商提供code 只是讓你compile成standalone program。
但是我現在要修改一個 object module。讓LCD成正常動作。修改過後的module。給standalone program link時,是OK的。但是其他link到library的還是沒辦法用到修改後的code。
所以:
arm-elf-ar -t libsamples.a列出libsamples所有包含的module。
compile我修改過後的module : parse_disp_cmd.o
再用:
arm-elf-ar -r libsamples.a parse_disp_cmd.o再把所有link到libsamples.a的application都重新build一次。
OK!!! 都link到新的module了。
-t : display all modules
-r : replace (add) module
星期一, 1月 23, 2006
星期四, 1月 19, 2006
星期三, 1月 18, 2006
Developement Platform Setup Log
以下就是sdk 相關的...
Install Debian : 什麼都不選,base system就可以。
aptitude install gcc
aptitude install sudo
export VISUAL="vi"
visudo - ref http://checko.blogspot.com/2005/10/build-kernel-for-arm.html
aptitude install tftpd
vi /etc/inetd.conf ---> /boot 改為/tftpboot
mkdir /tftpboot
chmod 777 /tftpboot
aptitude install nfs-kernel-server
vi /etc/exports
aptitude install samba
smbpasswd -a charles
aptitude install libncurses-dev
aptitude install bzip2
copy armutil
copy driver, library
copy tuner sample
copy dvd player sample
armutils : copy dl folder 到sources/dl下
make ... follow instruction....
make toolchain : PIII 900 512M takes 1 hr...
猜一猜,是那一台?
這麼一台國產的3G、WiFi、BT 、VGA、有閃光燈的相機、有鍵盤的貝殼機、用的是Windows Mobile 5.0,所有最新、最強的軟硬體都齊聚一堂,可以上網,收MAIL,看影片,偷拍的超級機器怎麼會賣不掉?你想想拿著這麼一個磚頭打電話,3G上網只有兩 小時電力(兩小時好像是3G的極限?),內建的瀏覽器又慢的要命的東西,誰會願意花一台NB的價錢去買啊?
T 醫生的網站寫的一句話。猜猜是那一台機器?
答案請連回T醫生的網站: http://blog.tsubasa.com.tw/archives/003930.html
星期二, 1月 17, 2006
Event 與Command
發生--->處理 並不是一對一的,有可能是一對多,或是多對一。
同一個Event的處理動作,不一定會是一樣的,例如 OnActivate Event,對象是Menu的話,要啟動ActiveMenu Command。對象是button的話,要啟動ActiveButton Command。這就是dispatch的動作。
把Command 處理全部寫在CommandHandler上。
Event 的處理:
根據target,轉成Command,再由Command Handler處理。
這就是function : EventOccure(eventName)
所以在程式任何時候應該要產生Event時(例如: Read File Error),就直接呼叫EventOccure( eventName) (例如 EventOccure("ReadFileError") )。
這像自然會找到正確的CommandHandler來處理。
當然,也有可能會造成re-entrant的情況:
Event --> CommandHandler --> Event --> CommandHandler...
星期一, 1月 16, 2006
outlook 已經沒辦法自動開啟jpeg檔..
google "outlook不能開啟圖檔" 出現microsoft的說明:
因為GDI+漏洞和file extension判斷不周密的問題。XP系統已經預設outlook不自動開啟jpeg檔。
如果一定要用這個功能的話,到outlook---工具---選項---安全性---附件安全 設定為"關閉",就可以。
所以這針是一個奇妙的事情,MS把不太好作的東西做了出來,但是沒做好,所以只好disable調這個東西。這樣以後即使要用,也沒有機會了。
變數宣告的注意事項 : 多種平台的reserve word都要避開
因為... data 在51中是reserve word,所以比能用。
這樣看來 宣告一些沒腦的變數名稱,像BYC7A, HGACC 反而是比較安全的作法?
看來 foo, bar 大概就是這種症狀的產物...
星期五, 1月 13, 2006
Turbo C 2.0 - download install and Test
即使到現在,Turbo C一樣是最方便的C 語言學習工具(如果是C++,就要用TurboC++ 和Borland C了)。配合施威銘的Tunr C 語言實務,耐著性子照著範例打,2 week 就可以熟悉C 的語法。
很幸運的Borland 公司決定免費提供Tunrbo C 2.0 。
需要的人可以到 http://bdn.borland.com/article/0,1410,20841,00.html 去下載。
下載的時候要看清楚,第二段"How To Download Turbo C 2.01 中,有Click On the Turbo C 2.01 zip file。按下他。轉存新檔就可以了。
download下來的file解開後是依照最原始的floppy 3 disk 安裝方式。
但是現在很多機器已經沒有floppy了。
所以,把三個folder 裏的資料都copy 起來。copy到Disk1 裏。並且把disk1 folder copy 到c:/下(因為Turbo C的安裝程式不認識中文)。
安裝:
開啟command 視窗(就是 "開始" -- "執行" 裏輸入'cmd',然後 確定。就會跑出一個黑色視窗)。
先切換到剛剛解開的Turbo C 2.01安裝目錄:
C:\Document And Settings\cd c:\Tc201\Disk1執行INSTALL:
C:\Tc201\Disk1\ install.exe會出現Turbo C的安裝畫面,
第一個是問你turbo C的安裝檔所在位置,default是A。要改成C。
然後就會出現path name,他會自動偵測出來,就是\Turbo201\Disk1\,OK。繼續安裝。
接著會出現要更換磁片的提示,因為已經將三片內容都co在disk 1中了,所以按Enter就可以。
同樣,會要你再更換一次,一樣案確認。
OK。安裝完成。
會將Turbo C安裝在 C:\TC 下。
執行
用滑鼠點C:\TC\TC.EXE 兩下就會開啟。
所以可以在桌面鍵一個捷徑。
一些有用的key
如果有買書的畫,書中會有Tunrbo C IDE的一些key 用法。
比較常用的是:
Ctrl - F9 : Run program
Alt - F5 : 切換到output 視窗。
Turbo C IDE不支援滑鼠,所以都要用keyboard。那些IDE 最上面紅字,都可以用Alt+ 叫出。
例如:
Alt - F : 叫出File Menu.
最後... 要感謝 Borland 的慷慨。
星期四, 1月 12, 2006
FAT已經認可為MS所擁有的patent
真是自找的,其實FAT也不是很好的架構。當初只是因為最多人用,所以就採用。
當初之所以最多人用,還不是IBM PC的盛行和clone多的關係。
現在可好了,圖一時的方便,該是付出代價的時候了。
奇 怪的是大部分的新聞都在擔心Linux,其實Linux還好,最初他就只有支援MINIX Filesystem,後來是ext2。FAT的支援是因為要access MS的partition才加入的,還有那些圖一時方便而選FAT作為default file system 的flash drive廠商。
如果一直都在使用Linux的人應該會這個新聞沒什麼感覺吧。
Linux的filesystem 是最最最modulize的,如果MS真要求授權,Linux頂多就是拿掉FAT的Code。
以後就不要支援FAT算了。反正flash drive format成ext2也可以用。反正我從以前就不喜歡FAT。
真是的,這是搞什麼。哥倫布當初要是也把他的立蛋技巧申請專利的話,現在所有破掉的蛋要是立著,都要給哥倫布一筆錢。
真的如居里夫人所說,專利制度真是科學進步的一大阻力。
後記
來了,MS 公佈的FAT file system license : http://www.microsoft.com/mscorp/ip/tech/fat.asp
用Google翻譯一下,並且把"肥胖系統"改為"FAT 系統" :
定價和准許
微軟正在提供准許它的FAT文件系統規格和聯系的知識產權。與這個License,其它公司有這個機會將FAT文件系統實施在他們的產品和改進文件系統兼容性,橫跨PC和電子器設備。當前, 微軟提供以下二具體類型License:
- 可移動固體媒介manufacturers..制造商可能已格式化媒介為微軟FAT格式,譬如與CF卡,然後預先儲存輸了數據。這個License Fee是US$0.25。或是整體 $250,000 。
- 電子產品商devices..Pricing 是每個產品$0.25。對象是使用可移動固體媒介存放數據的以下類型設備:
o 便攜式數字式寂靜照相機
o 便攜式數字式攝象機
o 便攜式數字式still/video 照相機
o 便攜式數字式播放機
o 便攜式數字式錄影機
o 便攜式數字式音像和錄影 player
o 多功能打印機
o 電子相片框架
o 電子 樂器
o 標准電視
每個device 0.25 美金,真是賺翻了!!!
發現: TinyXml, 原來是zlib license
Document裏說:
Features:
- 可以自行決定是否使用STL。TinyXml只使用STL的string class,但是有implement自己的 string class。所以可以決定要使用STL或是TinyXml自己的版本。
#define TIXML_USE_STL
- 支援UTF-8,TinyXml會自動偵測XML file使用的語系:
- lead byte 有0xef,0xbb,0xbf
- XML file中declaration tag有宣告encoding = "UTF-8"
- XML file中有declararion tag。
- XML file中declaration tag宣告encoding 不是UTF-8,TinyXML會用legacy Mode。
- Entities ,TinyXML認識以下意義
& &
< <
> >
" "
' ' - streams : 當使用STL時,可以使用stream operator作file operation
- White Space:提供SetCondenseWhiteSpace(bool),決定是否將多個space縮減成一個。
- Handles : 這個很方便,當要由XML tree中某個entity 作操作時,常常要由root以下,一個一個檢查是不是NULL,程式寫起來很醜:
TiXmlElement* root = document.FirstChildElement( "Document" );
但是TinyXml 可以用
if ( root )
{
TiXmlElement* element = root->FirstChildElement( "Element" );
if ( element )
{
TiXmlElement* child = element->FirstChildElement( "Child" );
if ( child )
{
TiXmlElement* child2 = child->NextSiblingElement( "Child" );
if ( child2 )
{
// Finally do something useful.TiXmlHandle docHandle( &document );
來作
TiXmlElement* child2 = docHandle.FirstChild( "Document" ).FirstChild( "Element" ).Child( "Child", 1 ).Element();
if ( child2 )
{
// do something useful - Row, Columm Tracking : 有時候需要知道目前的entiry是在XML file中的那一行,那一列,例如:回報parse error。TinyXML提供TiXmlBase::Row(), Columm()取得這個資料
星期三, 1月 11, 2006
microchip - hilosystems燒錄器 燒錄問題
PIC12F629可以使用內建的oscillator,也提供一個oscillator calibrate value。寫在code 0x3FF 中。那一個instruction是
RETW XXX
chip 啟動後,startup code中會CALL 0x3FF,然後將W放入calibration register。完成calibration動作。
hilosystems的WACCESS Auto 選項,有check osccal & bankbang..所以一直不會過。
後來David用舊版的WACCESS。就沒有check osccal & bankbang 這一個選項。所以就沒有問題(但是一直出現varify error : 0x2100)。
Alan 的WACCESS的版本,問題是Config bit,不管怎麼選,Config bit都還是不會改變。所以不知道到底有沒有改到。
真是麻煩呀。
microchip - hilosystems燒錄器 燒錄問題
PIC12F629可以使用內建的oscillator,也提供一個oscillator calibrate value。寫在code 0x3FF 中。那一個instruction是
RETW XXX
chip 啟動後,startup code中會CALL 0x3FF,然後將W放入calibration register。完成calibration動作。
hilosystems的WACCESS Auto 選項,有check osccal & bankbang..所以一直不會過。
後來David用舊版的WACCESS。就沒有check osccal & bankbang 這一個選項。所以就沒有問題(但是一直出現varify error : 0x2100)。
Alan 的WACCESS的版本,問題是Config bit,不管怎麼選,Config bit都還是不會改變。所以不知道到底有沒有改到。
真是麻煩呀。
星期二, 1月 10, 2006
串連"反台鐵誤點"
路是他們家的,車是他們開的,甚至時間也是他們定的,竟然還會誤點連連,幾乎周周誤。
還不定期會有大事像 脫軌,機械故障,缺乏維修。等等。
而且誤點也不見站務人員出來說明。
真的是最差的公司了。
鐵路連"準點"都做不到,還談甚麼提昇品質。
所以一定要加入這個串連活動。:
活動串連標籤貼紙:
坐火車常誤點嗎?為什麼一個歷史這麼悠久的台灣鐵路公司,三不五時就來個小誤點、大誤點,而且態度就是反正只有我一家,你能怎麼樣呢?真的令人有些ORZ,所以你也來加入串連的活動吧,讓台鐵知道大家的不滿吧!
*因為愛湊熱鬧,所以也加入串連的一員囉,不過活動昨天才開始,大家一起來響應。
活動網址:Nancy Chu's Blog
各位朋友可以用以下的方式支持這個活動:
1. 將活動標籤貼紙貼在您的部落格或網站上
2. 在連結文章的迴響留下您曾經遇過的誤點經驗或是任何對台鐵的不滿,Nancy會集結起來寄給台鐵
3. 告訴更多朋友,讓他們知道這個活動,或是願意用您的MSN暱稱來加入我們
嘿,這個網站也說得不錯:
[逆鐵]Anti台鐵誤點運動傢働中
一、楔子
這個禮拜台鐵又誤點了= =
「各位旅客,七點十分從基隆往高雄的自強號將晚7分鐘到站」
「各位旅客,八點整由中壢開往蘇澳的電車將晚20分鐘到站」
「本列車在此臨時停車」由 於我平常都是坐電車回去內壢找牛仔包,幾乎每次坐車,總是會慢十分鐘到半小時,似乎已經是家常便飯了,看著告示牌上的LED數字從慢5分鐘跳到慢 25分,月台響起令人懷念的誤點通告,結果六點半的火車,從板橋坐到內壢,整整花了一個半小時才到內壢(平常是40-50分鐘),牛仔包馬上就做了反誤點 的標籤,我們覺得是該用blog發出我們的不滿了,人家說逆天,吾阿醜要「逆鐵」啊~~~~~!!!
二、生命應該是浪費在美好的事物上,但是我們的生命卻是浪費在誤點上
我每次都會想著,如果以統計學來說,台鐵一次十分鐘的誤點,以月台上大約有60個在等待誤點火車的旅客來說,平均一個人等了10分鐘,總合是600分鐘,從內壢到板橋大約有五個站,也就是火車慢了十分鐘,卻讓所有的人一共浪費了2天又2小時的時間。三、屢年不改,就是不讓你知道誤點原因及情況
根 據台鐵在今年(94年)八月推出的「94年台鐵旅客意向調查」裡,「列車誤點及事故處理」及「列車運轉及時刻安排」之不滿意度分別為各項服務中之首位及 第二位,與上年相同;其不滿意者之首因分別為「車上未適時告知誤點原因及情況」(占五成八)及「假日或尖峰時段車次或車廂數不足」(占六成五)。四、不要只賣鐵路便當、麻煩請敢作敢當
公務人員的確有既定的科層體制在,你可以從台鐵的網站或是新聞中看到那一個班列車因為出軌而嚴重誤點,或是台鐵又發現有人在鐵軌上放置異物等而造成超級誤點,但我幾乎沒有看過有任何一個政府高層人員因為台鐵的誤點而提出道歉的聲明(不是叫你辭職)五、電車永遠是誤點最久的,卻是戴客量最多的悲情火車
再 從台鐵的客運人數統計的資料來看,就車種別分析,93年客運人數以復興號(含電車)每日平均29.3萬人最多,占總運量六成四,其中絕大部分為電車旅 客,為臺鐵之運輸主力;其次是自強號9.2萬人,占二成;莒光號5.5萬人,占一成二;普通車2.0萬人,僅占4.4%。看著自強號和復興號呼嘯而過,輪 子磨擦的聲音像是在嘲笑我們這些坐電車的人是次等鐵路民似的。各位朋友可以用以下的方式支持這個活動:
1.將活動標籤貼紙貼在您的部落格或網站上
2.在本篇文章的迴響留下您曾經遇過的誤點經驗或是任何對台鐵的不滿,我會集結起來寄給台鐵
3.告訴更多朋友,讓他們知道這個活動,或是願意用您的MSN暱稱來加入我們參考連結:
台灣鐵路局資料統計網頁:不斷在自打嘴巴,卻是台鐵唯一誠實的聖地
這個...
記者劉怡汝/台北報導
臺鐵誤點情形竟然天天發生,臺鐵復興號有三班列車,三十多年以來竟然沒有一天準時到站,平日平均誤點二十幾分鐘,假日甚至誤點長達五十分鐘,臺鐵則表示因為復興號設計不良只有一個車門,影響乘客上車的時間才會導致誤點情形發生。
臺鐵最近實在發生許多問題,日前媒體指出臺鐵復興號高雄往基隆有三個列次,分別是一一六、一二零、一二二,三十年以來天天都誤點,平日平均誤點二十分鐘是家常便飯,遇到假日平均誤點時間高達五十分鐘,對此臺鐵昨日召開記者會澄清。
臺鐵運務處組長鄧慶福表示,復興號當初設計的時候只有一個手動車門,因此旅客多的時後根本不夠使用,而且許多乘客喜歡站在車門口,因此影響到其他上下車的 旅客,造成列車出發時間有所延遲,平均每一個站延遲三十秒鐘,高雄往基隆一共有二十個停靠站,因此從高雄開往臺北時間就要增加二十分鐘。
鄧慶福表示,雖然復興號有誤點,不過誤點的時間並沒有五十分鐘那麼久,也不是天天都誤點,不過鄧慶福承認復興號一一六、一二零、一二二,三個列次準點率只有四成。雖然臺鐵雖然承認復興號誤點情形,不過誤點時間沒有超過八十分鐘,因此民眾沒有辦法辦理全額退費。
臺鐵表示,假日時候比較有誤點情況發生,因此未來會推出周末及假日版的火車時刻表,方便民眾減少等候時間。
這個說明我有點疑問的是,訖站,開車時間都是台自己決定的呀,既然到該列車需要多餘的時間,為什麼不更改各站的開車時間?讓該列車每一站多一點上下車時間?
越找越多..這個蠻誇張的..(節錄)
...台鐵員工升等考試今明兩天舉行,一共5600多名員工報考,少了大半員工輪班,台鐵緊急停駛60多班電車,不少旅客擔心臨時撘不到車,都提早買票因應,雖然週末假期影響不至於太大,但還是有民眾抱怨連連。我的天哪,這些搭車的通勤族真可憐,改天台鐵員工公司旅遊,全台鐵路停駛一天?
為了員工升等考試,停開列車。原來台鐵早已經民營化了。
最近因為台鐵虧損,所以要推出一些方案,像無座票,指定/自由席。甚至漲價。
其實他這都是在欺負那些非搭鐵路不可的人。
因為誤點越來越嚴重,所以能不搭的人都盡量不搭了。這樣客源降低,不虧損也難。
其實應該不用想這些細微末節的方案。要是能把基本的"準時"做好,大家會漸漸的又去搭火車了。--- 因為火車絕不會塞車。
星期一, 1月 09, 2006
Server 又重啟動..
所以...wlan 又不通,所以只好手動,follow自己以前這一篇(奇怪,google 不到這一篇):
先看看wlan有沒有起來
#ifconfig -a如果沒有,確認wlan dongle有插上去,不然,就下command試試:
# /etc/init.d/wlan stop來停止o,起來後,就可以設定wlan authtype跟SSID了:
start 開啟
#wlanctl-ng wlan0 lnxreq_ifstate ifstate=enable這樣wlan應該可以正確連上ap,但是ip address還是、要自己設定:
#wlanctl-ng wlan0 lnxreq_autojoin ssid="10.3.3.205 - 3F" authtype=opensystem
# ifconfig wlan9 10.3.5.100 netmask 255.255.252.0 broadcast 10.3.1.15OK!
星期五, 1月 06, 2006
Linux Media Center PC 怎麼了?
原文在 http://entertainment.newsforge.com/entertainment/05/12/15/2136259.shtml?tid=23&tid=126
一年前,Linux 似乎將要佔領客廳,但是去年這一年,卻沒有多少Linux 的產品發佈。
HP 的前CEO在 CEShow 中宣佈HP 即將發佈的一項產品,Media Hub。具有播放TV和一切影因相關計算能力的Linux PC。
HP 的Microssoft Windows XP Media Center PC已經上市了,因為移除了Tuner,成本降低許多,讓銷售量大增。
HP 他們賣得不錯,Microsoft說去年大約有4百萬的Media Center License 賣出,HP大約有1百萬。
但是當初宣佈的Linux 系統Media Hub產品,卻從未出現,也將不會再推出。
實際上,就在CEShow後,HP就意識到HDTV的產品需要重新定位。他們認為將Tuner放在TV中對User來說比較方便。
HP的新平面電視,將具有瀏覽與播放所有Media 的能力。
Jupiter 在Linux Media Hub 和iPod 的產品發表後就預測HP的multi-platform 策略會失敗,所以他認為 Linux-Base Media Hub的想法將永遠被鎖再櫃子裏。
因為太多的裝置平台,也因為市場的因素,這種類型的Media Center超前目前的時代太多了。
HP並不是唯一一家設計這樣(Linux)產品的公司,一年前Shuttle(浩鑫)也和 Open Source Cyberlink PowerCinema 有密切的合作。
有很多人想在Linux上作些東西,但是那樣的市場並存在。你裝了一個device或軟體,但是他只負責一部分的事,相較之Windows Media 的支援的裝置比較多,他也和XBox,iPod bundle在一起。
Shuttle的負責人Tu說:他們目前正和Linux密切合作,讓他們的XPC 能過通過大部分Linux distribution的認證。但是還沒辦法提供預先安裝Linux系統的產品。
Tu 說:常常有人會提起Linux在價格上得吸引力,前一陣子甚至有人提出在intel ViiV上使用Linux 系統。因為現在Media Center的產品價格還是太高,所以無法深入到每一個家庭。尤其是目前Media Center PC的平均價格仍然是一般PC的兩倍,所以一個安裝Linux系統的Media Center在價格上非常有吸引力。
在Microsoft release Media Center之前,Media PC需要許多3rd party提供的程式,達到消費者要求: DVR, music, photo..,而且那些program的操作方式還是針對一般pc來設計,讓consumer不能方便的在客廳中操作。
Microsoft Media Center的優點在於他整合的所有progam和操作介面。Consumer不回覺得media center像是一大堆不相干的program疊在一起,一致的介面讓user更容易使用。
Tu 說:仍然需要一段時間,消費者才能消除他們對pc舊有的印象- blue death, virus, ad-ware..。當我們能將PC的觀念由Media Center中移除,消費者才能真正接受這個產品。
Toni Dubois 說Linux-base Media CenterPC 將不存在,2005年,Microsoft 將Tuner 移除後,將價格降低,佔領了52 %的美國市場。 和2001~2004的銷售量相比,當初的Media Center尚未將Tuner移除,所有的銷售量只佔desktiop pc 的7%。2005後,移除tuner的版本,將價格降低到$1000以下。銷售量增加很多,可以說80%的Microsoft Media Center都是沒有tuner的。
Roger Kay 說:Linux系統和Windows Media Center比較起來,支援少得很多,不像Microsoft已經形成一個Media Center的生態圈,所以處於弱勢。
Linux 可能比較適合在特殊用途的裝置上。
Gartenberg指出linux早已被很多裝置採用,像Tivo。但是這些裝置並不會以Linux作為他的賣點。
Dubois說Microsoft在Media Center上已經領先Linux一大步,Microsoft已經為此努力了三年,現在是收穫的時候。
Microsoft和Linux的下一個戰場會是在儲存裝置上,Media Center需要能處理多種Media data的能力,這方面Linux或許可以利用他在Server系統的經驗取得優勢。
最後,將會有一個home-based server,因為我們將會有太多資料,沒辦法放在TV中。
記完了......看原文還比較容易點。
英文總是將很簡單的東西寫得很囉唆,大概是為了賺稿費吧...
- Media Center需要整體的支援和一致的操作介面,Microsoft經過三年的努力,已經有很大的進步。
- 將功能區分: Tuner改在TV中,Media Center作單純的資料處理(要處理甚麼?)。將Tuner由Media Center中移出,讓際格降低到consumer能接受的程度是2005 Microsft能夠成功的另一項原因。
- Media Center方面,Microsoft已經贏了,下一步 - home-based server,或許Linux可以努力看看。
其實Linux的Freevi和MythTV已經做得很好,XBox上的XBMC也是linux based也做得不錯,所以UI方面應該是不分軒輊。
Linux是輸在很多hardware不支援,很多data type 不公開。所以對media和device的支援都沒有microsoft好。
星期四, 1月 05, 2006
Makefile 真是超難寫....
結果... 都是variable name key 錯。
例如:
STATIC_LINKS 少了S。
hardware 缺了d。
還有EXECUTABLE 寫成EXECUTEABLE !!!
Makefile 難debug 的,因為make error只會顯示dependency 錯誤,例如:找不到XXX file,unsolved reference....,不容易猜出是那裡有錯。
所以Makefile寫好後,應該要用一個Test Project 來測試一下。看看相關各dependency file是不是都能正確的access。
星期三, 1月 04, 2006
acer 1621 lspci
ubuntu@ubuntu:/etc$ lspci這下知道pci id 了,到Google搜尋一下: pci id 5833,到這個網站http://www.idhw.com/textual/chip/ati/pciid.html看到,原來是
0000:00:00.0 Host bridge: ATI Technologies Inc: Unknown device 5833 (rev 02)
0000:00:01.0 PCI bridge: ATI Technologies Inc: Unknown device 5838
0000:00:13.0 USB Controller: ATI Technologies Inc: Unknown device 4347 (rev 01)
0000:00:13.1 USB Controller: ATI Technologies Inc: Unknown device 4348 (rev 01)
0000:00:13.2 USB Controller: ATI Technologies Inc: Unknown device 4345 (rev 01)
0000:00:14.0 SMBus: ATI Technologies Inc ATI SMBus (rev 18)
0000:00:14.1 IDE interface: ATI Technologies Inc: Unknown device 4349
0000:00:14.3 ISA bridge: ATI Technologies Inc: Unknown device 434c
0000:00:14.4 PCI bridge: ATI Technologies Inc: Unknown device 4342
0000:00:14.5 Multimedia audio controller: ATI Technologies Inc IXP150 AC'97 Audio Controller
0000:00:14.6 Modem: ATI Technologies Inc: Unknown device 434d (rev 01)
0000:01:05.0 VGA compatible controller: ATI Technologies Inc RV250 5c61 [Radeon Mobility 9200 M9+] (rev 01)
0000:02:03.0 FireWire (IEEE 1394): Texas Instruments TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link)
0000:02:04.0 CardBus bridge: Texas Instruments PCI1520 PC card Cardbus Controller (rev 01)
0000:02:04.1 CardBus bridge: Texas Instruments PCI1520 PC card Cardbus Controller (rev 01)
0000:02:0a.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
ubuntu@ubuntu:/etc$
5833 | IGP 9100 | RS300 Host Bridge |
5838 | IGP 9100 | RS300 CPU to AGP Bridge |
這裡 http://www.pcidatabase.com/ 更方便,輸入id就會出現device name,而且也可以查vender id。
0x4347 | OHCI USB Controller #1 | 0x1002 | ATI Technologies Inc. |
0x4345 | EHCI USB Controller | 0x1002 | ATI Technologies Inc. |
0x4349 | ATA Controller | 0x1002 | ATI Technologies Inc. |
0x434C | LPC Controller | 0x1002 | ATI Technologies Inc. |
VGA compatible controller: ATI Technologies Inc RV250 5c61 [Radeon Mobility 9200 M9+] (rev 01)這樣,就可以到ATI去downdload driver啦。
其實也沒那麼方便。
因為Windows怎麼樣都不肯使用新安裝的driver,所以只好手動指定他使用我新莊的driver。
這樣之後,所有的"?"都沒了,resource 衝突也解決了。
然後開啟windows update。
install update後,就有了 休眠 功能。
這樣應該算是大功告成了。
還剩下鍵盤貼紙還沒買,bbs上說到順發或?試試。
在yahoo拍賣上也一些。
還有google "刷鍵盤" 會出現幾家。可以網購。約150一片。
有人說刷鍵盤3個月後就會掉,還是用貼紙。1年換一次就好。
還有金鍵盤可以刷 注音,倉頡,符號,每種500。
後續:
這樣install的graphic driver,在啟動全hardware功能時,不能播放video (mplayer)。
所以..應該是driver選錯。
正確的方式應該是要強制driver去使用附的cd 中的driver。
這樣才會OK。
星期一, 1月 02, 2006
Redhat 9 的支援 - legacy Fedora
於是社群就設立的一個org,支援這些古老的redhat 版本(Legancy)。
http://www.fedoralegacy.org,update好像也很方便,只要先裝一個package tool : apt, yum 或是?
然後將這個org的update 網站加入,就可以update了。
這樣就可以繼續使用redhat 9,又不用怕被hack了。
這篇文章有說明安裝yum來update 的方法:
國內,想使用這項更新服務的朋友
以 tnc7.3.tar.gz 為例:
#ncftp ftp.tnc.edu.tw
#cd pub/fedoralegacy-tools
#get tnc7.3.tar.gz
#tar xvzf tnc7.3.tar.gz
#cd tnc7.3
下 ./install 即可安裝設定完成,
然後請執行 yum update
這一篇則是 redhatlegancy 自己的說明,使用apt:
產生GPG-KEY:
先安裝apt:
# rpm -ivh http://download.fedora.us/fedora/redhat/9/i386/RPMS.stable/apt-0.5.5cnc6-0.fdr.8.rh90.i386.rpm
把 rpm http://download.fedoralegacy.org/apt redhat/9/i386 os updates legacy-utils 加到 /etc/apt/sources.list 中
OK!然後就跟Debian一樣了:
#rpm --import http://www.fedoralegacy.org/FEDORA-LEGACY-GPG-KEY
# apt-get update
# apt-get upgrade
還有這一篇(有涯小札)也是,但是因為網站好像倒了,只能由Google的cache看到,為了避免不見,我就整個copy了下來....
問題:
在家的 Redhat 9 以及在學店的 Fedora Core 2,一直沿用位於 Linux@DUKE 的 repositories ,配合 yum 進行更新。但近數月以來,兩個版本的 repositories 都再沒有動靜,似乎已經停止了更新。
解決方案:
透過偉大的 Google Groups,找到一處名為 The Fedora Legacy Project 的網站,內有提供 Redhat 9 及 Fedora 各版本的 repositories,可用來取代舊有位於 Linux@DUKE 的 repositories。
在網站的 Download 頁裡,說明了利用 apt 及 yum 更新 Linux 的方法。不過網站建議我們安裝由其提供的 yum 套件,以提高安全性。詳情可參考 Documents 的指示。以下就用 Redhat 9 為例,概述整個過程:
- 首先變身為 root,並安裝 gnupg:
rpm -Uvh http://download.fedoralegacy.org/redhat/9/updates/i386/gnupg-1.2.1-9.i386.rpm
如果 rpm 傳回 “
package gnupg-1.2.1-9 is already installed
“,不必理會,可以到下一步。 - 再來是安裝經 The Fedora Legacy Project 特別設定過的 yum。不過我建議先移除系統上的舊版本:
rpm -e yum
rpm -ivh http://download.fedoralegacy.org/redhat/9/legacy-utils/i386/yum-2.0.5-0.9.2.legacy.noarch.rpm - 接下來檢查
/etc/yum.conf
檔,並確保其設定如下:
[main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=redhat-release
tolerant=1
exactarch=1
exclude=kernel*[base]
name=Red Hat Linux $releasever - $basearch - Base
baseurl=http://download.fedoralegacy.org/redhat/$releasever/os/$basearch
gpgcheck=1[updates]
name=Red Hat Linux $releasever - $basearch - updates
baseurl=http://download.fedoralegacy.org/redhat/$releasever/updates/$basearch
gpgcheck=1 - 最後加入 GPG keys:
rpm –import http://www.fedoralegacy.org/FEDORA-LEGACY-GPG-KEY
rpm –import http://www.redhat.com/security/db42a60e.txt
完成上述步驟後,便可如往常一樣用 “yum check-update” 或 “yum update” 檢查及進行更新了。Fedora 的做法大同小異,主要是網址不同,請自行參照 Documents 裡的有關指示。
memo - 樓上的測試房間
電燈在外面,走道的門口.
pc 的password是7400.
pc 的D, E partition 可以用.
TV 的power 在panel 下方,往外是開啟,有點接觸不良,要敲一敲。
要準備的東西...
hub - TV 跟 PC 都要用,所以要hub
網路線 - 已經有兩條,還要一條接到牆上的。
RS232 cable - 要接到TV 上 download code。
暈倒,vmware player 在這台pc上會讓網路當掉。
VI 的學習
先作開關檔動作。
insert (i)
append (a)
replace (r)
delete (x)
delete line. (dd)
write (:w)
當然。移動游標也是必須的,不過用hjkl 可能要熟悉一陣子,剛開始還是用方向鍵好了,還不用一直在moviing - edit mode 切來切去。 這些先用一個月。
然後是移動到行首(^),行尾($)。 -- 記法是regular expression, ^代表字首。$ 代表字尾。
移動到檔首(gg),檔尾(G)。
移到第N行。(:N)
寫程式的人還有一個很有用的: % ,可以在"{"," } "間跳來跳去。
這些再用一個月
網誌存檔
-
▼
2006
(434)
-
▼
1月
(29)
- 陰天...
- NAS的幾個Package : FreeNAS & NASLite
- ViewML : Open source web browser for embedded linu...
- 鉭質電容 :some informations..
- 筆記 : microwindow
- Sign, Unsigned 和 shift right
- 奇怪的Panel
- ar : library (archieve) 操作,用在抽換object file上..
- 紀錄一下,Qt/Embedded 的 download path
- ssh client for Mac OS9 : MacSSH
- pdf 產生/轉換 程式: CutePdf Writer
- Developement Platform Setup Log
- 猜一猜,是那一台?
- Event 與Command
- outlook 已經沒辦法自動開啟jpeg檔..
- 變數宣告的注意事項 : 多種平台的reserve word都要避開
- Turbo C 2.0 - download install and Test
- FAT已經認可為MS所擁有的patent
- 發現: TinyXml, 原來是zlib license
- microchip - hilosystems燒錄器 燒錄問題
- microchip - hilosystems燒錄器 燒錄問題
- 串連"反台鐵誤點"
- Server 又重啟動..
- Linux Media Center PC 怎麼了?
- Makefile 真是超難寫....
- acer 1621 lspci
- Redhat 9 的支援 - legacy Fedora
- memo - 樓上的測試房間
- VI 的學習
-
▼
1月
(29)