2017年4月26日 星期三

[軟體] 用 USB 開機、重灌作業系統 :rufus

前鎮子為了重灌電腦(因為工作需求,至少要安裝windows server 2008 or 2012),但是主機又沒有光碟機,所以只好選擇了 USB 開機。

Google 一下可以製作 USB 開機碟的軟體,Windows 大概就是 "Windows7-USB-DVD-tool" 或是 "WinToFlash"。前者雖然是微軟官方釋出的軟體,不過用到現在有個缺點:製作好的開機碟讀取時會說他是 Windows7,即使製作開機碟的 .iso 檔是 windows 2008 或其他(不過安裝時是正常的)。後者使用過一次,沒太大印象。

目前覺得最好用的還是 rufus。優點:
1. 可直接下載可攜版,完全不用安裝。
2. 不像上面兩個軟體只支援某些 windows 版本,這個軟體都支援!
3. 還可以製作 Linux 開機碟
4. 界面簡單,容易上手
目前用 rufus 做的開機碟有:windows server 2008 R2、windows server 2012、ubuntu。用到現在算是滿上手的。



唯一需要注意的是,有些防毒軟體會自動鎖住 "auto run"(autorun.inf) 一類的檔案。如果在製作開機碟時防毒軟體有跳出來顯示訊息,通常那次的開機碟製作後,安裝作業系統時就不會成功。關掉防毒軟體之後這個問題就可以解決了!

2017年4月25日 星期二

[筆記] 關於 makefile 一些用法的筆記


.PHONY

關於 .PHONY,google 到的結果都是說這是個假目標(fake target)。目前看到解釋最淺顯易懂的是這個網誌

.PHONY: clean
clean:
    make -C $(KERN_VER_DIR)/ M=`pwd` clean
    rm *.o

在上例中,在沒有使用 .PHONY 來指定 clean 為假目標的話,若目錄中同時存在了一個名為 clean 的檔案,則 clean 這個目標就會被 makefile 認為是要建立 clean 這個檔案。但是 clean 這個目標底下並沒有任何的 dependencies,所以,clean 項目將永遠被視為 up-to-date,永遠不會被執行。

因為利用了 .PHONY 來指定 clean 為假目標,所以 make 不會去檢查目錄中是否存在了一個名為 clean 的檔案。如此也可以提昇 make 的執行效率。

Makefile 預設的假工作目標:
all install clean disclean TAGS info check

函式 wildcard

 在一般 make file rules 裡面,萬用字元(%)會自動被展開。但是遇到定義變數(setting variable)、或是函式的表達式裡面(inside the argument of a function)時,就無法自動展開。所以這時候就可以使用 function wildcard 展開(原文