3 月 18
joechen作業系統
以下文章來自: http://blog.linym.net/archives/209
感謝 lym520 的貢獻
關於如何編譯 ZD1211/ZD1211B 晶片的 USB 無線網卡 driver,經常在各大討論區及 BBS 看到有人提出相同的問題,因此來寫個教學。
前往 ZD1211 專案網站可以知道目前有三種版本的驅動,其中建議使用 zd1211rw 這個版本,因為它持續在更新且已納入 Linux 2.6.18 以後的 kernel 裡。zd1211rw 支援這三種晶片:
- ZyDAS ZD1211
- ZyDAS ZD1211B
- Atheros AR5007UG
不過既然都已經納入 kernel 了為什麼還要編譯驅動?因為還是有很多產品的 USB ID 不能被 zd1211rw 所辨識(我的 PCI GW-US54GXS 就是),當然就沒辦法驅動囉!這篇要做的就是從 kernel 裡的 zd1211rw source code 加入對應的 USB ID,主機環境是 ubuntu 7.10,其他版本應該也差不多。
首先要安裝編譯相關套件 & 下載 linux source
$ sudo apt-get install build-essential kernel-package linux-source
切換至 src 目錄並解開 linux source
$ cd /usr/src
$ sudo tar -xjvf linux-source-2.6.22.tar.bz2
拷貝 kernel 設定檔(.config) 至 linux source
$ sudo cp linux-headers-2.6.22-14-generic/.config linux-source-2.6.22
編輯 zd_usb.c 加入新 USB ID,可利用 lsusb 指令可以找出網卡的 ID,如:2019:5303
$ cd linux-source-2.6.22
$ sudo vim drivers/net/wireless/zd1211rw/zd_usb.c
在檔案開頭不遠處可以看到一堆 USB ID 號碼,就是要加進這裡面,GW-US54GXS 是 ZD1211B 晶片,所以在 ZD1211B 下方增加一行:
/* ZD1211B */
{ USB_DEVICE(0×2019, 0×5303), .driver_info = DEVICE_ZD1211B },
確認後就存檔離開
開始編譯驅動
$ sudo mkdir .tmp_versions
$ sudo make drivers/net/wireless/zd1211rw/zd1211rw.ko
沒錯誤就會產生 zd1211rw.ko,將它覆蓋原本系統中的
$ sudo cp drivers/net/wireless/zd1211rw/zd1211rw.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless/zd1211rw
$ sudo depmod -a
重開機應該就可以正確驅動了:D
參考資料:
Adding new device IDs to zd1211rw
2 月 22
joechen作業系統, 工作相關
cd /usr/src/sys/i386/conf
vi YOUR-KERNEL
cd ../complie/i386/
config YOUR-KERNEL
make cleandepend ; make depend ; make ; makeinstall
reboot
—
vi YOUR-KERNEL 時
若有編輯到 umass (USB 大容量存儲)時
需要加上
device scbus # SCSI bus (required for SCSI)
device da # Direct Access (disks)
這兩個 device, 不然會出現
undefined reference to `xpt_done’
的錯誤
2 月 21
joechen作業系統, 工作相關
REF: http://cu.ttc.edu.tw/wordpress/?p=15
Freebsd 6.1 ->Freebsd 6.2
1.安裝cvsup
#cd /usr/ports/net/cvsup-without-gui/ (進入cvsup安裝路徑)
#make install clean (安裝套件並清除安裝過程中產生不必要檔案)
皆下來設定修改stable-supfile
#cd /usr/share/examples/cvsup/
#vi standard-supfile
修改以下資料
*default host=cvsup13.tw.freebsd.org (改為國內站台giga如此下載速度較快,還有cvsup1~13都可使用)
*default release=cvs tag=RELENG_6_2
存檔,皆下來開始更新
#rehash (才不會出現指令無效訊息)
#cvsup -g -L2 stable – supfile (再來就開始檢查有哪些更新檔案,跑完會顯示 Finished successfully)
#cd /usr/src
#make update
準備開始編譯新的核心
#cd /usr/src/sys/i386/conf
#cp GENERIC /root/MYKERNEL
#ln -s /root/MYKERNEL
#vi MYKERNEL (修改核心設定)
省略
#cd /usr/src
#make buildworld
#make buildkernel KERNCONF=MYKERNEL
#make installkernel KERNCONF=MYKERNEL
#sync;sync;sync; reboot(更新完後重新開機)
————————————————————————————–
(此段請參考 http://hina.ushiisland.net/blog/445)
CVSup 的部分
備份這兩個檔案
/etc/master.passwd
/etc/group
如果要整個 /etc 備份也可以,不過如果是新安裝的主機,是可以不用啦。安裝 CVSup 請參考之前的文章。安裝完畢之後,請更新 Source 檔案,確認安裝 FreeBSD 時有將 source code 裝進來,接著按照以下步驟更新整個系統。
make buildworld
編譯所有的系統程式。
make buildkernel KERNCONF=MYKERNEL
編譯新的系統核心。系統核心檔案(MYKERNEL)請依照自己的系統與需求修改,詳細的核心資料可以參考這篇文章,twbsd.org, 第八章 編譯核心。
make installkernel KERNCONF=MYKERNEL
安裝新的核心。
make installworld
安裝新的系統程式。
mergemaster
用來檢查並升級你的設定檔。他會將 CVSup 抓回來的新的檔案與現有的設定檔做比對,然後讓你決定是否要使用新的設定檔案。除了 master.passwd group aliases 三個檔案可以沿用舊的設定之外,其他的幾乎都可以更新。
最後 sync;sync;sync;reboot 重新開機。
————————————————————————————–
重開機進入 singl mode ( 單人模式 )
#mount -a
#cd /usr/src
#make installworld
#sync;sync;sync;reboot
此時再 uname -a 看一下,嘿,升級成功囉!
不過此時你的 uname -r 會變成是 6.3-RELEASE-p1, 這會造成 sysinstall 安裝 packages 時
出現找不到套件的問題
要在 Options 裡改掉 RELEASE 的資訊為 6.3-RELEASE
(這個問題困擾我很久, 還找錯解決方向, 害我重編核快3次)
12 月 10
joechen作業系統
swup –install entrance
swup –install xorg
swup –install metacity
swup –install xorg-x11-fonts-75dpi xorg-x11-fonts-100dpi xorg-x11-fonts-ttf
11 月 29
joechen作業系統, 工作相關, 網路服務
REF: http://www.cacti.net/downloads/docs/html/install_unix.html
tar zxvf
cd …
mysqladmin –user=dbadm create cacti -p
mysql cacti < cacti.sql -p -u dbadm
mysql –user=dbadm -p
GRANT ALL ON cacti.* TO dbadm@localhost IDENTIFIED BY ‘your-password’;
flush privileges;
cd include
vi config.php
$database_default = “cacti”;
$database_hostname = “localhost”;
$database_username = “dbadm”;
$database_password = “dbadm-passwd”;
chown -R httpd.httpd rra/ log/
mv cacti-xxx.xx /home/httpd/html/
*/5 * * * * httpd php /home/httpd/html/cacti/poller.php > /dev/null 2>&1
http://libil.dyndns.org/cacti
進入web install 程序
會出現[NOT FOUND], 要補齊
swup –install net-snmp net-snmp-utils php-cli(可獲得 /usr/bin/php)
將缺漏的補齊後, 要用 admin: admin 進入, 並強制改密碼
進入系統後, 把需要改的設定改一下, 如軟體版本(rrd 1.2.x, snmp )
11 月 28
joechen作業系統, 工作相關, 網路服務
REF: http://blog.candyz.org/20070904/1536
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT – [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp –icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp –dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp –dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp –dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 1194 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 3128 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT –reject-with icmp-host-prohibited
#-A FORWARD -j REJECT –reject-with icmp-host-prohibited
-A FORWARD -j ACCEPT
COMMIT
*nat
:PREROUTING ACCEPT [491:43530]
:POSTROUTING ACCEPT [2:120]
:OUTPUT ACCEPT [43:3236]
-A POSTROUTING -s 192.168.203.0/255.255.255.0 -j MASQUERADE
COMMIT
11 月 19
joechen作業系統
先前在一次偶然的機會下, 不小心安裝到了 PCTools 這個廣告病毒, 對於平常不常遇到木馬的我, 花了好長時間來處理掉它。
一開始被 Avast抓到, 卻怎麼也掃不掉, 後來發現它藏在登錄檔下的 HKCRCLSID 下的某個登錄碼裡(叫 Info Cache), 技術不如人的我, 怎麼也不知該如何處理, 它明明隱身在裡面。
每每由另一套 windows 系統進入後, 去掃原系統的 pagefiles 檔, 就都會找到這個木馬(雖然它的執行檔已經被砍掉, 但登錄檔裡還有它), 木馬軟體都能找到, 卻刪不掉它,
最後發現(自己太笨)執行了 regedit 後, 在該登錄碼上, 按個滑鼠右鍵 -> [使用權限] , 將該登錄碼的權限設給自己(當然是要足夠到可以刪掉它的權限), 就OK了
再去掃木馬, 就都沒看到了
Older Entries