Sunday, October 14th, 2007

วันนี้นั่งลง debian ใหม่ทั้งวันหลังจากลอง openSUSE ไปแล้วไม่ถูกใจ เพราะว่าเวลาติดโปรแกรมอะไรแล้วตัวแถมเยอะเหลือเกิน โดยเฉพาะ compiz-fusion ที่แถม KDE มาให้ด้วย พอใช้ไปนานๆ และติดโปรแกรมเพิ่มอีกก็เลยรู้สึกว่ามันบวมสุดๆ เลยจำใจเอาออก (จริงๆ แล้ว openSUSE มีข้อดีเยอะนะ โดยเฉพาะความง่ายในการติดตั้ง driver และติดโปรแกรมของมัน)
ดูเครื่องที่ใช้ติดก่อน

  1. CPU: Core2 duo 5600, 1.83 GHz
  2. Ram : 1024 MB
  3. VGA : Geforce go 7300
  4. Lan : Marvell 8038
  5. Wireless : Intel pro wirelss 3945
  6. Card reader : Texas instrument card reader 5 in 1

จากสเป๊คด้านบน ตัวที่จำเป็นและจะมีปัญหาก็มีอยู่สองอย่างคือ VGA กับ Wireless

  1. เริ่มแรกดาวโหลด boot image มาก่อน จากเว็บ debian ชื่อไฟล์ boot.img.gz แล้วทำการจับยัดใส่ flash drive ด้วยคำสั่ง
    #zcat boot.img.gz > /dev/sdb
    */dev/sdb เป็นตำแหน่งของ flash drive
  2. ดาวโหลด iso image ที่จะใช้ในการติดตั้งมา โดยขนาดเล็กก็มีสองแบบคือ netinst และ business card ทั้งสองอย่างต่างกันที่ business card ไม่มี kernel รวมอยู่ใน image ด้วยจะดาวโหลดมาติดเพิ่มภายหลัง ตรงข้ามกับ netinst (ตรงนี้ lindever เป็นคนบอกมา) ดาวโหลดเสร็จกับจับยัดลงไปใน flash drive ซะ
  3. boot เครื่องใหม่ด้วย flash drive ทำตามขั้นตอนไปเรื่อยๆ จนเสร็จ จะได้ debian etch ออกมา ต่อไปก็อัพเกรดเป็น lenny เพื่อจะได้ติดไดรเวอร์ต่างๆ ง่ายขึ้นหน่อย เริ่มแรกก็แก้ source.list ก่อน
    #vi /etc/apt/source.list
    เปิดไฟล์เสร็จแล้วแก้ repository ด้านหลังจาก etch เป็น lenny จะได้อะไรออกมาคล้ายๆ ด้านล่าง

    
    deb http://ftp.thaios.net/debian/ lenny main non-free contrib
    deb-src http://ftp.thaios.net/debian/ lenny main non-free contrib
    
    deb http://security.debian.org/ lenny/updates main contrib
    deb-src http://security.debian.org/ lenny/updates main contrib
    

    แก้เสร็จก็ update repository แล้วก็อัพเกรดเป็น lenny ซะ

    
    #apt-get update
    #apt-get dist-upgrade
    
  4. หลังจากอัพเกรดเป็น lenny แล้วก็ reboot รอบนึงเพื่อเปลี่ยน kernel เป็น 2.6.22 จากนั้นก็ดาวโหลดไดรเวอร์การ์ดจอมา เพราะว่าใน lenny ยังไม่มีไดรเวอร์ล่าสุดของ nvidia ตามด้วย package ที่จะใช้ในการ compile driver
    
    #apt-get install build-essential linux-headers-$(uname -r) gcc-4.1
    
  5. เสร็จแล้วปิด gdm และติดตั้ง driver

    #/etc/init.d/gdm stop

    จากนั้นก็ตั้ง CC ให้ชี้ไปที่ gcc-4.1 แล้วติด driver

    
    #export CC=/usr/bin/gcc-4.1
    #./NVIDIA... (ที่ดาวโหลดมา .bin)
    
  6. ติดตั้งเสร็จก็เปิด gdm ขึ้นมาใหม่
    #/etc/init.d/gdm start
    เมื่อเปิด gdm จะเห็นโลโก้ของ nvidia ถ้าอยากปิดก็สามารถไปแก้ได้ที่ไฟล์ /etc/X11/xorg.org
  7. หลังจากติดการ์ดจอเสร็จแล้วต่อไปก็ wireless โดยติด package ด้านล่างเพิ่มไป

    #aptitude search ipw3945d ipw3945-modules-$(uname -r)

    restart อีก 1 รอบก็ใช้ได้แล้วถ้าใช้ nm-applet แต่เนื่องจากไม่ชอบ keyring-manager จึงตั้งไฟล์ /etc/network/interfaces ตรงๆ แทนเพิ่มโค้ดด้านล่างเพื่อให้ใช้กับ WPA2 ได้

    
    auto eth1
    iface eth1 inet dhcp
    wpa-conf managed
    wpa-ssid [SSID]
    wpa-key-mgmt WPA-PSK
    wpa-psk [key]
    

    key ได้มาจากโปรแกรม wpa_passphase โดยใช้ตามคำสั่งตามด้านล่าง
    #wpa_passphase [SSID] [passphase]
    reboot รอบนึงหรือจะใช้ ifup eth1 ก็ได้ wireless ก็จะใช้ได้แต่ nm-applet จะไม่สามารถใช้กับ wireless ได้อีก

ติดด้านบนเสร็จก็ใช้งานเบื้องต้นได้หละ จะเหลือก็แต่เรื่องโมเด็มแต่ไว้คราวหน้าดีกว่าเพราะรู้สึกยาวเหลือเกินและ ใครมีอะไรแนะนำเพิ่มเติมก็บอกบ้างนะครับ เช่นมีอะไรน่าลงเพิ่ม น่าเล่นอะไรทำนองนี้แหะๆ

Friday, October 12th, 2007

จากสองตอนที่แล้วทำจนสามารถใช้เป็นเร้าเตอร์ทั่วไปและพริ้นท์เซอร์เวอร์ได้แล้ว วันนี้ก็จะมาต่อเรื่อง webif หละตัวที่เลือกใช้ก็คือ X-Wrt เนื่องจากมีส่วนควบคุมพื้นฐานให้ครบ (แม้ว่าบางอย่างจะใช้ไม่ได้ก็ตาม เช่น dns masq หรือทำได้ก็ขึ้นข้อความแปลกๆ) และก็เป็นเจ้าเดียวที่มีด้วย :lol: แต่ถ้าดูแล้วไม่ชอบก็มีอีกทางคือใช้ dd-wrt ที่มี web interface สวยงามให้ใช้และมีฐานจาก WhiteRussian แต่ถ้ายังไม่ชอบอีกก็สามารถเขียนได้เอง โดยใช้ภาษา awk กับ awx
เอาหละมาดูขั้นตอนการติดตั้ง X-Wrt สำหรับ Kamikaze ดีกว่า

  1. เริ่มจากติด haserl ก่อนด้วยคำสั่ง

    root@Epsilon:~# ipkg install http://downloads.x-wrt.org/xwrt/kamikaze/7.09/brcm-2.4/packages/haserl_0.8.0-1_mipsel.ipk
  2. แล้วตามด้วย webif^2

    root@Epsilon:~# ipkg install http://downloads.x-wrt.org/xwrt/kamikaze/7.09/brcm-2.4/webif_latest.ipk

จากนั้น webif จะเพิ่ม repository ของ ipkg และอัพเดทให้เอง

อ้างอิง:
http://wiki.x-wrt.org/index.php/Kamikaze_Installation

สำหรับตอนนี้ขอเขียนสั้นๆ ซะหน่อยเพราะตอนนี้ก็เขียนไปทดลองไปด้วย ว่า package อะไรน่าใช้และทำอะไรได้บ้าง ที่เล็งๆ ไว้ก็คือ dynamic dns แต่เท่าที่ทำมามันไม่เห็นอัพเดทให้เลย แต่ที่ทำคือตั้งจากเว็บ สงสัยจะเป็นบั๊กแฮะ เดี๊ยวคงต้องเขียน cron ให้มันอัพเดทเอง เง้อ อีกเรื่องคือตอนนี้ hdd มันไม่นิ่ง เขียนไฟล์ใหญ่ๆ แล้วดัับ คิดว่าเป็นที่สายแปลง sata-usb ไว้เดือนหน้าคงต้องซื้อใหม่(อีกแล้ว) คราวนี้ก็เลยจะซื้อ hdd ใหญ่ๆ ไปด้วยเลย(เล็งไว้ที่ 320 GB เพราะตัว 100 GB ที่ซื้อมาตอนนี้ก็เกือบจะเต็มไปแล้ว แหะๆ)
ตอนหน้า ก็คงจะพูดถึง hdd ต่อหละเกี่ยวกับการทำ auto mount ตอน boot และก็ swap!!! แล้วก็ตอนต่อๆ ไปก็คงเป็นพวก dns php … อ่า อีกเยอะแฮะ ดังนั้นมันจะจบตอนที่เท่าไหร่ก็คงต้องดูกันต่อไป :lol:

Thursday, October 4th, 2007

เมื่อวานทิ้งไว้ถึงตอนที่ลง os โล่งๆ กับการตั้งค่าให้เครื่องลูกเล่นเนทได้ วันนี้เลยจะเขียนต่อ เกี่ยวกับการติด package พื้นฐานบางอย่างให้ใช้ usb ได้ เพราะจุดเด่นที่ทำให้เลือกซื้อเร้าเตอร์ตัวนี้ก็เพราะ usb ที่มีมาให้ถึง 2 ช่อง แล้วก็ใช้ทั้งสองช่องนั้นซะด้วยสิ ช่องนึงต่อ printer usb อีกช่องต่อ hdd มาดูขั้นตอนดีกว่า
วิธีติด package เกี่ยวกับ usb

  1. เริ่มแรกก็ต้องเอารายชื่อ package มาก่อนคล้ายๆ debian แต่ใช้คำสั่ง
    root@Epsilon:~#ipkg update
    แทนที่จะเป็น apt-get
  2. ติด package ที่เกี่ยวกับ usb ตามนี้
    root@Epsilon:~#ipkg install kmod-usb2 kmod-usb-core kmod-usb-storage kmod-usb-printer
    2 package แรกไว้สำหรับให้รู้จัก usb ส่วนสอง package หลังเพื่อให้ต่อกับ hdd และ printer ได้
  3. ติด package filesystem สำหรับ usb storage
    root@Epsilon:~#ipkg install kmod-fs-ext3
    ขั้นนี้แล้วแต่ hdd ที่ใช้ว่า format โดยใช้ filesystem ไหนถ้าใช้ fat จาก windows ก็ติด kmod-fs-vfat แต่ใช้อยู่เป็น ext3 เพราะว่าจะเอาไว้ติด package อื่นที่ hdd นี้ด้วยภายหลัง แล้วจะได้สามารถสร้าง link ได้

package หลักๆ เกี่ยวกับ usb ก็มีเท่านี้แหละ ต่อไปก็ติด package เสริมที่ทำให้ใช้งาน printer ได้

  1. ติด printer deamon ก่อน
    root@Epsilon:~#ipkg install p910nd
  2. config ค่าให้กับ deamon เพื่อให้เครื่องลูกสั่งพิมพ์ได้ (printer บางรุ่นอาจจะไม่ต้องตั้งก็ได้แต่ canon ip4200 ที่ใช้อยู่ต้องแฮะ)
    1. เริ่มจากดู config ก่อนว่ามีอะไรบ้าง
      root@Epsilon:~#uci show p910nd
      จะได้อะไรออกมาหน้าตาคล้ายๆ ด้านล่าง

      
      p910nd.cfg1=p910nd
      p910nd.cfg1.device=/dev/usb/lp0
      p910nd.cfg1.port=0
      p910nd.cfg1.bidirectional=1
      
    2. สิ่งที่ต้องแก้สำหรับ ip4200 คือ bidirectional ต้องปิดมันซะ ด้วยคำสั่งด้านล่าง
      uci set p910nd.cfg1.bidirectional=0
    3. สั่ง commit แล้ว restart deamon ใหม่ก็เรียบร้อย
      uci commit p910nd && /etc/init.d/p910nd restart
  3. หลังจาก config ที่ฝั่งเร้าเตอร์เสร็จก็ต้องมาทำที่เครื่องลูกบ้าง เอาเครื่อง windows เป็นตัวอย่างละกัน
    1. เริ่มจากไปเพิ่ม printer แล้วเลือก port เป็น standard tcp/ip
    2. ใส่ ip ของเร้าเตอร์ลงไป จากนั้นเลือก customize
    3. เลือก type เป็น raw แล้วใส่ port ไปเป็น 9100+port ใน config ด้านบน
    4. ใส่ driver ของ printer ให้ตรงกับที่มีอยู่ ก็เสร็จพิธี

หมดจากเรื่องปวดหัวเกี่ยวกับ printer ก็มาดูที่ hdd ต่อบ้างเนื่องจากต้องการเอาโปรแกรมบางส่วนมาติดที่ hdd เลยต้องแก้ไข config ของ ipkg นิดหน่อย โดยของเดิมจะมีหน้าตาประมาณนี้


src release http://downloads.openwrt.org/kamikaze/7.09/brcm-2.4/packages
src packages http://downloads.openwrt.org/kamikaze/packages/mipsel
dest root /
dest ram /tmp

ใช้ vi หรือ editor อะไรก็ได้ตามสะดวกเพิ่มบรรทัดนี้เข้าไป
dest opt /opt/
โดย /opt เป็น path ที่ mount hdd ไว้อยู่ จากนั้นเวลาจะติด package อะไรเพิ่มเติมก็เพียงแต่สั่งว่า
ipkg -d opt install [package]
มันก็จะไปติดให้ที่ /opt หละ

โอยยาวเหลือเกินยังเหลือเรื่องการทำให้โปรแกรมต่างๆ ที่ติดให้ทำงานอัตโนมัติตอนเริ่มต้น การสั่งให้ hdd สามารถใช้ได้เลยตอนเริ่มต้น และก็ webif^2 ที่เป็น web interface ของ openWRT ก็ไว้พรุ่งนี้อีกละกัน :eek: เนื่องจากง่วงแล้วอ่ะ เดี๊ยววันนี้จะเปิดดาวโหลด openSUSE10.3 ลองซะหน่อยด้วยเลย :razz:

อ้างอิง: