藍天浮雲

This is our world… Nothing changes. It’s here, that we are going to live on…

Archive for the ‘硬體’ Category

glabel

沒有留言

其實 glabel 在 FreeBSD 上是一個很實用的程式,不過平常可能很少聽到他。之前灌 FreeBSD 有提過 glabel

當硬碟、隨身碟插在不同的 port,名稱會變來變去。硬碟可能從 /dev/ad0 變成 /dev/ad1,隨身碟可能從 /dev/da3 變成 /dev/da7。原因是作業系統通常指認得硬體插在主機板上那一個 port。

如果插在不同電腦或 port 上名稱會改變是一件非常麻煩的事。因此,就會想給他一個固定的名稱。此時,glabel 就可以發揮公用。

因為 glabel 會將資料寫入硬體當中,因此必須先卸載裝置才能 label 上去。最簡單的方式就是重新開機,然後進入「single user mode」。

使用 glabel 前請先確認 kernel 是否有加 GEOM_LABEL 這個選項(GENERIC 預設有)或有 geom_label.ko 這個模組。沒有的話,請先重新編譯 kernel。

進入 single user mode 之後就可以開始下 # glabel label -v name dev-v 會增加訊息的詳細程度)。

之前灌新的 mail server 的時候,我就開始用 glabel 了(主要原因其實是建 RAID-Z)。按照 /etc/fstab 的順序 label 比較不會搞混或漏掉:

# glabel label -v swap /dev/ad4s1b
# glabel label -v root /dev/ad4s1a
# glabel label -v home /dev/ad4s1g
# glabel label -v tmp /dev/ad4s1e
# glabel label -v usr /dev/ad4s1f
# glabel label -v var /dev/ad4s1d

標完後可以用 # glabel status# glabel list 看結果:

# glabel status
       Name  Status  Components
 label/root     N/A  ad4s1a
 label/swap     N/A  ad4s1b
  label/var     N/A  ad4s1d
  label/tmp     N/A  ad4s1e
  label/usr     N/A  ad4s1f
 label/home     N/A  ad4s1g

確定 label 成功後就更新一下 /etc/fstab

# Device                Mountpoint      FStype  Options         Dump    Pass#
/dev/label/swap         none            swap    sw              0       0
/dev/label/root         /               ufs     rw              1       1
/dev/label/home         /home           ufs     rw              2       2
/dev/label/tmp          /tmp            ufs     rw              2       2
/dev/label/usr          /usr            ufs     rw              2       2
/dev/label/var          /var            ufs     rw              2       2

下次開機就會使用這些 label 了。重新開機前,請再三確認 label 有成功和 /etc/fstab 沒有錯誤,因為沒弄好的話可能無法開機,需要用救援光碟去救回來。

這樣就完成了。Man page 上有更詳細的說明。

作者為dennylin93

2009/11/05 at 9:47 下午

灌 FreeBSD

有7則留言

最近段考完了,我又灌新機器了。這次換 mail server,是一台 HP DL320 G5p,硬體還不錯,CPU、RAM 都很好,雖然硬碟是 SATA。不過對學校而言 SATA 綽綽有餘了。

CPU 是 Intel Xeon X3210 2.13 GHz,RAM 有 4 GB。目前有兩個 500 GB SATA 硬碟,不過下星期應該會變成 4 顆,因為我打算用 ZFS 建 RAID-Z。灌的作業系統是 FreeBSD 7.2-RELEASE amd64,可惜 8.0-RELEASE 還沒出來。

這次我將過程紀錄下來,不過沒有 screenshots,有空再補。這篇很長,因為有不少設定檔和 shell script。

首先當然從光碟開機,很遺憾,沒有成功。從光碟載入核心之後,跑一陣子,然後會出現 READ_BIG 的錯誤。Timeout 幾次後,一直都無法進入 sysinstall。我就這樣跟他耗了很久。最後,有想出解決的方案:

  • 改用 DVD 灌
  • 用 FTP 透過網路安裝
  • 使用 PXE 開機
  • 外接一個光碟機

其實我發現只有 amd64 的 CD 會出現這個問題(我有燒過 CD、驗證 ISO,所以是光碟機的問題)。i386 就有成功跑到 sysinstall。但因為我必須使用 ZFS,i386 不是選擇之一。

第一個方案大概最方便,我最後也是用 DVD 灌成功的。第二個嗎,等 kernel 載入 RAM 之後趕快退出 CD,然後透過 FTP 安裝。第三個方案很麻煩,所以直接跳過。第四個方案要注意一下 BIOS 設定。

另外因為要用 ZFS,所以 RAID controller 沒有設定。只是用 JBOD 罷了。況且他功能也不強,好像只能做 RAID 1、RAID 0

繼續閱讀文章 »

作者為dennylin93

2009/10/16 at 10:10 下午

尋找 Lexmark 印表機的 PPD 檔

沒有留言

自從我跳槽到 FreeBSD 以後,印表機一直沒有設定好,所以每次要列印都必須回到 Windows。今天花了點時間想將印表機弄好,印表機是 Lexmark X5470。不幸的是,聽說 Lexmark 對 Linux 以及其他作業系統的支援非常差(所以下次若要買印表機應該會找 HP 的)。

網路上 Linux 和 FreeBSD 有關印表機設定幾乎都沒有 Lexmark 的,不過論壇上有找到這篇用 LPD,於是一步一步照著做。

最主要的 /etc/printcap

lp|Lexmark|X5470|Lexmark X5470:\
        :lp=/dev/ulpt0:\
        :sh:sd=/var/spool/lpd/lp:\
        :af=/var/spool/printer/Lexmark5400Series.ppd:\
        :if=/usr/local/bin/foomatic-rip:\
        :lf=/var/log/lpd-errs:

還有 /etc/group

daemon:*:1:daemon,root,dennylin93

以及 /etc/devfs.conf

perm    /dev/ulpt0      0664

最後的 /etc/rc.conf

lpd_enable="YES"

最大的問題是我找不到印表機的 PPD 檔!

找不到當然就在網路上到處挖…結果網路上有人說 Mac 的驅動程式裡有!打電話去 Lexmark,接電話的是一個客服人員。問了 PPD 檔結果沒有下落…下次應該要轉接給技術人員才對…

最後懶得再打電話,於是又到官方網站去下載 DMG 檔(尋找的只是 PPD 檔案,因此隨一個版本都可以)。接下來的工作很簡單:解壓縮,找 PPD 檔。

首先,回到 Windows 因為必須使用 <a href="http://www.7-zip.org/"7-Zip。順便打一下廣告,7-Zip 真的很好用,幾乎可以解壓縮所有格式,壓縮的選擇也很多,而且是免費的!解壓縮完 Lexmark_5400_Web_Installer_10.5.dmg,跑出 0.hfs,所以又解壓縮一次。

這次就有資料夾出現了,所以繼續尋找。找到 Lexmark 5400 Web Installer 10.5/Lexmark 5400 Web Installer 10.5.pkg/Contents/Archive.pax.gz!用 Vim 打開後發現這就是我要的檔案(PPD 檔在裡面)。於是又返回 FreeBSD。

先將檔案解壓縮:$ gunzip -k Archive.pax.gz,得到 Archive.pax。這個仍然是壓縮檔,所以再解壓縮:$ pax -r -f Archive.pax。這次得到了 Library/System/ 兩個資料夾。在 Library/Printers/PPDs/Contents/Resources/ 底下找到了 Lexmark5400Series.ppd.gz!又是壓縮檔…所以就 $ gunzip -k Lexmark5400Series.ppd.gz,得到了 Lexmark5400Series.ppd :-)。

用了 PPD 檔測了一下印表機還是沒辦法列印。現在還找不出問題,不過 PPD 檔總算找到了。希望印表機能趕快弄好。

作者為dennylin93

2009/07/30 at 1:41 下午