Tag Archives: linux

Genius WizardPen บน Ubuntu Dapper Drake

Dapper ใช้ Xorg 7.0 มีการเปลี่ยนโครงสร้างพอสมควร และกระทบไดรเวอร์ WizardPen ที่ใช้อยู่เหมือนกัน จะคอมไพล์ไดรเวอร์ก็อาจจะต้อง hack นิดหน่อย

อย่างแรก ติดตั้งเครื่องมือในการพัฒนาที่จำเป็น และต้องไม่ลืม imake x11proto-core-dev x11proto-input-dev

โหลดซอร์ส wizardpen มา ตัวล่าสุดใช้ได้ทั้งเมาส์และปากกาแล้ว :D

$ tar xzf wizardpen-0.5.tar.gz
$ cd wizardpen-0.5

ทีนี้ต้องแก้ไฟล์ Imakefile นิดนึง .. ประมาณบรรทัดที่ 5 ให้ลบ

#Include  "/usr/X11R6/lib/X11/config/Server.tmpl"

ออกซะ จากนั้นก็คอมไพล์ตามคำแนะนำ

$ xmkmf
$ make
$ sudo make install

คิดว่าจะเรียบร้อยแล้ว .. ปรากฏว่ามันติดตั้งผิดที่ไปเล็กน้อย .. เลยต้องย้ายไบนารีไปอยู่ให้ถูกที่ถูกทาง

# mv /usr/X11R6/lib/modules/input/wizardpen_drv.o /usr/lib/xorg/modules/input/

จากนั้นใส่ udev rules สักหน่อยให้สร้าง symlink ไปยัง /dev/input/event? ของแท็ปเล็ต

$ vi /etc/udev/rule.d/10-local.rule

ใส่ตามนี้

BUS="usb", KERNEL="event[0-9]", SYSFS{product}="Tablet WP5540U", NAME="input/%k", SYMLINK="tablet"

ทีนี้ก็

/etc/init.d/udev restart
/etc/init.d/gdm restart

เรียบร้อย :)

Freeware on F/OSS

เดี๋ยวนี้ Freeware (ไม่ใช่ Free Software) สำหรับลินุกซ์ก็เยอะเหมือนกันนะ

พวกแอนตี้ไวรัส กับ เกมส์ก็น่าจะมีไม่น้อย.. เอ่อ จะว่าไป Oracle Database ก็แจกฟรีเหมือนกัน

Linux Kernel 2.6.17

ปล่อยให้ 2.6.16 ออกไมโครมาขัดตาทัพตั้ง 20 รุ่น (-_-‘) … ในที่สุด 2.6.17 ก็รีลีสแล้ว ..

  • Trace Block I/O (BLK_DEV_IO_TRACE) ตามรอยการทำงานของ block I/O queue โดยใช้โปรแกรม blktrace
  • สนับสนุนไฟล์ขนาด > 2 TB (LFS) .. ไม่แน่ใจใส่ Y ไว้ก่อน
  • สนับสนุน RFC 4191 Router Preference สำหรับ IPv6 (IPV6_ROUTER_PREF)
  • Netfilter สนับสนุน H.323 protocol (IP_NF_H323)
  • สนับสนุน Wireless Extension API ผ่าน RtNetlink (NET_WIRELESS_RTNETLINK)
  • สนับสนุนการใช้งาน LEDs (NEW_LEDS) คงจะมีประโยชน์กับพวก rack server มั้ง ?
  • Video For Linux API 1 แปะสถานะเป็น deprecated ถ้ายังจำเป็นต้องใช้ก็ enable ได้
  • USB Web cam ทั้งหลายย้ายมาอยู่ใน V4L แล้ว
  • Userspace interface สำหรับ swsusp
  • ไดรเวอร์
    • AdvanSys SCSI (SCSI_ADVANSYS)
    • Intel PRO/Wireless 2100 (IPW2100)
    • Intel PRO/Wireless 2200BG และ 2915ABG (IPW2200)
    • Broadcom 43xx (BCM43XX)
    • Virtual Video Driver (VIDEO_VIVI)
    • CPiA2 Video For Linux (VIDEO_CPIA2) สำหรับกล้องที่ใช้ชิป Vision’s CPiA2
    • USB ZC0301 Image Processor และ Control Chip (USB_ZC0301)
    • AdLib FM card (SND_ADLIB)
    • Miro miroSOUND PCM1pro/PCM12/PCM20radio (SND_MIRO)
    • Avance Logic ALS300/ALS300+ (SND_ALS300)
    • Conexant Riptide (SND_RIPTIDE)
    • USB Touchscreen Driver (USB_TOUCHSCREEN) สำหรับ eGalax Touchkit, PanJit TouchSet USB, 3M MicroTouch USB, ITM
    • USB ARK Micro 3116 USB Serial (USB_SERIAL_ARK3116)
    • USB Fundamental Software Dongle (USB_SERIAL_FUNSOFT)
    • USB Navman GPS device (USB_SERIAL_NAVMAN)

อื่นๆ อีกบานกระบุง ดูได้ที่ http://wiki.kernelnewbies.org/LinuxChanges ..

Google Earth for Linux

Google Earth v4.0 ออกไบนารีสำหรับลินุกซ์ด้วย ตอนนี้มีตัวเบต้าให้ทดลองใช้กัน ขนาดประมาณ 16 MB โหลดมาติดตั้ง แล้วก็รัน โช้ะ

ทดสอบบน Peorth P-III 1 GHz i830M ที่ 1024×768@24bpp Xorg 7.0 Ubuntu Dapper Drake ลื่นใช้ได้ .. ทีแรกยังคิดว่าจะเหมือน Picasa for Linux ที่เอาไบนารีของ Win32 มารันบน modified version of WINE หรือเปล่า ? (กรณี Picasa ถือว่าทำเนียนใช้ได้อยู่นะ ถึงจะเป็น WINE ก็ดูไม่น่าเกลียด) .. แต่ดูจากไลบรารีที่ติดตั้งมากับ Google Earth ไม่เห็น libwine แต่มี libqt-mt โผล่มาก็คิดว่าน่าจะเป็น native มากกว่า

/me แผนที่ขอนแก่นละเอียดขึ้นเป็นบางส่วน เห็นหลังคาบ้านตัวเองซะที .. อ่อ เห็นบ้านพี่เทพด้วยนะ :)

Customizing Ubuntu 6.06

อัปเกรดเป็น Ubuntu 6.06 LTS Dapper Drake มาพักใหญ่ ตามมาด้วยการติดตั้งใหม่ จดโน้ตเป็น cookbook ของตัวเองได้พอสมควรเหมือนกัน

APT Proxy

เปลี่ยนมาใช้ local apt proxy ที่ belldandy.kitty.in.th เครือข่ายใครใกล้ มข. จะตามมาใช้ด้วยก็ได้ โดยแก้ไฟล์ /etc/apt/sources.list

# dapper drake
deb http://belldandy.kitty.in.th:9999/ubuntu dapper main restricted
deb http://belldandy.kitty.in.th:9999/ubuntu dapper universe multiverse
deb http://belldandy.kitty.in.th:9999/ubuntu dapper-updates main restricted
deb http://belldandy.kitty.in.th:9999/ubuntu dapper-updates universe multiverse
deb http://belldandy.kitty.in.th:9999/ubuntu dapper-security main restricted
deb http://belldandy.kitty.in.th:9999/ubuntu dapper-security universe multiverse

#deb http://th.archive.ubuntu.com/ubuntu dapper main restricted
#deb http://th.archive.ubuntu.com/ubuntu dapper universe multiverse
#deb http://th.archive.ubuntu.com/ubuntu dapper-updates main restricted
#deb http://th.archive.ubuntu.com/ubuntu dapper-updates universe multiverse
#deb http://security.ubuntu.com/ubuntu dapper-security main restricted
#deb http://security.ubuntu.com/ubuntu dapper-security universe multiverse

# kitty - official
deb ftp://ftp.kitty.in.th/pub/ubuntu/kitty dapper unstable

ใครที่ต้องใช้งานเว็บผ่านเว็บพร็อกซี อาจจะต้องแก้ /etc/apt/apt.conf นิดหน่อย

Acquire::http::Proxy "http://my.proxy.server.org:8080";

จากนั้นก็ apt-get update; apt-get upgrade | dist-upgrade กันไป

gconf-editor

ค่าปริยายไม่แสดงในเมนู จะให้ปรากฏก็เข้า Accessories -> Alacarte Menu Editor เข้าไป enable ใน System Tools -> Configuration Editor

Nautilus Things

  1. View
    • Icon View Defaults -> Default Zoom Level: 75%
    • Use compact layout – checked
    • List View Defaults -> Default Zoom Level: 50%
  2. Preview
    • Show text in icons -> Never
    • Only for files smaller than: 1 MB
    • Preview sound files -> Never
  3. ส่วนใน gconf ก็จะตั้งค่าพวกนี้ไว้
    • /apps/nautilus/preferences/always_use_browser – unchecked อยากใช้ spatial มากกว่า
    • /apps/nautilus/preferences/desktop_is_home_dir – checked เอา $HOME มาเป็น desktop ไปเลยสะดวกดี
    • /apps/nautilus-cd-burner/burnproof – checked เวลา burn แผ่นจะได้มี error น้อยลง
    • /apps/nautilus-cd-burner/overburn – checked เผื่อ burn แผ่นเกินความจุมาตรฐาน

System Preferences Things

ค่าโดยปริยายยังขาดๆ เกินๆ .. ชอบมั่งไม่ชอบมั่ง ก็เลยปรับๆ ตามใจ

  • เพิ่มคีย์บอร์ดเลย์เอาต์ภาษาไทย Keyboard -> Layouts -> Add … -> Thailand -> TIS-820.2538
  • เปลี่ยนคีย์สลับภาษา Keyboard -> Layout Options -> Group Shift/Lock behavior -> Alt+Shift changes group – checked
  • เปลี่ยนปุ่มลัด กดปุ่มวินโดว์สเลือกเมนูหลัก Keyboard Shortcuts -> Show the panel menu -> Windows Key (Super_L)
  • แสดงเฉพาะไอคอนบนทูลบาร์ Menus & Toolbars -> Toolbar button labels: Icons only
  • เปลี่ยนพฤติกรรมการทำงานของสารพัด Removable Drives and Media -> Multimedia, Cameras, PDAs, Printers & Scanners, Input Devices -> unchecked all
  • ปิดการทำงานของ ESD ตอนเริ่มทำงาน Sounds -> Enable software sound mixing (ESD) – unchecked
  • ปิดเสียง beep System Beep -> Enable system beep – unchecked
  • เลือกหน้าต่างเมื่อเลื่อนเมาส์ Window -> Select windows when the mouse moves over them – checked

OpenOffice.org

เพื่อประสิทธิภาพในการทำงานมีคนแนะนำว่าให้ตั้งค่าประมาณนี้ (จำไม่ได้แล้วว่าเอามาจากไหน – -)

  1. Tools -> Options -> Memory
    • Undo: Number of steps = 20
    • Graphic cache: User for OpenOffice.org = 64
    • Memory per object = 16
    • โหลด OO.o เร็วขึ้น OpenOffice.org quickstarter -> Load OpenOffice.org during system start-up -> checked .. ทำแล้วจะมีโปรแกรม Quick Starter ฝังอยู่ในหน่วยความจำประมาณ 20 MB
  2. ถ้าเมนูหรือ UI แสดงผลเพี้ยน เลือก Tools -> Options -> View -> Use system font for user interface -> unchecked อาจจะดีขึ้น
  3. เปลี่ยนขนาดไอคอนบนทูลบาร์ Tools -> Options -> View -> Icon Size and Style -> Small

hdparm

ปกติ DMA ทำงานอยู่แล้ว เลยทำแค่เพิ่ม multicount ใช้ 32-bit I/O และปิด power management .. แก้ไฟล์ /etc/hdparm.conf เพิ่ม

command_line {
       hdparm -q -m16 -q -c1 -q -B255 -q -C /dev/hda
}

Firefox

ให้ไวๆๆๆ ช่อง URL ใส่ about:config

  • ปิดการทำงานของ IPv6 network.dns.disableIPv6 true
  • ปิการทำงานของ IDN network.enableIDN false
  • เพิ่มค่า connection สูงสุด network.http.max-connections 64
  • เพิ่มค่า connection สูงสุด/เซิร์ฟเวอร์ network.http.max-connections-per-server 32
  • เพิ่มค่า persistent connection สูงสุด/พร็อกซี network.http.max-persistent-connections-per-proxy 16
  • เพิ่มค่า persistent connection สูงสุด/เซิร์ฟเวอร์ network.http.max-persistent-connections-per-server 8
  • ใช้ไปป์ไลน์ network.http.pipelining true
  • ใช้ไปป์ไลน์กับพร็อกซี network.http.proxy.pipelining true
  • จำนวนไปป์ไลน์สูงสุด network.http.pipelining.maxrequests 8

Packages

ที่ลงเพิ่มไปก็หลายตัวเหมือนกัน

  • acroread
  • beep-media-player
  • blender yafray
  • build-essential devscripts lintian dh-make fakeroot dpatch patch
  • celestia-gnome
  • chkrootkit
  • configure-debian
  • devhelp
  • dosbox
  • flashplugin-nonfree
  • gkrellm gkrellm-volume gkrellmwireless
  • glade libglade2-dev libgtk2.0-dev autoconf automake1.4
  • gnumeric
  • gqview libjpeg-progs
  • gstreamer0.10-plugins-good gstreamer0.10-plugins-ugly gstreamer0.10-ffmpeg gstreamer0.10-pitfdll
  • gvim vim-gtk
  • i810switch
  • leafpad
  • libimage-exiftool-perl
  • libthai0 libthai-dev pango-libthai
  • mplayer-nogui
  • mrxvt
  • nvidia-glx
  • quarry
  • synergy
  • tetex-extra
  • vlc
  • xine-ui libxine-extracodecs

Opera

นอกจากต้องลง lesstif2 แล้วก็จะต้องลง xlibs ด้วย ใน Dapper จะไม่มี xlibs แล้วให้ใช้ของ Breezy แทน

LAMP

ถ้าติดตั้งด้วยแผ่น Server จะมีเมนูสำหรับติดตั้ง LAMP ได้เลย .. แต่ถ้าใช้แผ่นอื่นแล้วจะติดตั้งเพิ่มก็แค่

$ apt-get install php5-mysql mysql-server-5.0

ที่เหลือ apt จะหามาให้เอง

PDF Printer

หลายขั้นตอนหน่อย เริ่มจากติดตั้ง CUPS-PDF

$ sudo apt-get install cups-pdf

กำหนดสิทธิของไบนารีเป็น u+s

$ sudo chmod u+s /usr/lib/cups/backend/cups-pdf

Add printer -> Local -> PDF Printer

Driver Generic -> color postscript printer, rev3a

ไดรเวอร์จะบันทึกเป็นไฟล์ไว้ใน $HOME/PDF ถ้าอยากให้ไปอยู่ที่อื่นก็แก้ใน /etc/cups/cups-pdf.conf บรรทัด Out ได้

เวลาสั่งพิมพ์ไม่ต้องเลือก print to file ไดรเวอร์จะบันทึกเป็นไฟล์ให้เอง

Java 5.0 JRE

ติดตั้งก่อน

$ sudo apt-get install sun-java5-plugin sun-java5-fonts
  • Firefox ควรจะทำงานได้หลังจากเปิดโปรแกรมขึ้นมาใหม่
  • Opera ต้องตั้งค่านิดหน่อย Tools -> Preferences -> Advanced -> Content
    • Enable java – checked
    • Java options -> set path เป็น /usr/lib/jvm/java-1.5.0-sun-1.5.0.06/jre/lib/i386/

Ubuntu 6.10

ตามแผน Ubuntu 6.06 จะรีลีสวันที่ 1 มิถุนายน 2549 …ก็อีกไม่กี่วันแล้ว .. Mark Shuttleworth วางไว้ว่า Dapper + 1 จะรีลีสราวๆ ตุลาคมปีนี้ และใช้เวอร์ชัน 6.10 โดยมี codename ว่า Edgy Eft .. บอกเป็นนัยๆ ว่าจะ Edgy – ติดขอบพอสมควรในแง่ของเทคโนโลยี และ Eft ก็เป็นนัยอีกว่าจะไม่อยู่ในกรอบ แต่จะค้นหาทดลองเอาไอเดียใหม่ๆ เพิ่มเข้ามาด้วย .. Xen, Xgl/AIGLX + compiz น่าจะมาแน่ (จริงๆ ใน Dapper เองก็มีให้ใช้กันอยู่แล้ว) ..

Shuttleworth ว่าถ้าจะติดขอบ Edgy น่าจะเหมาะ เพราะระยะเวลาห่าง Dapper ไม่เยอะ ใครยังอยากเสถียรก็อยู่กับ Dapper ไปก่อนได้ .. อีกอย่าง Dapper กำหนดให้เป็น Long-Term Support (LTS) 3 ปีสำหรับ desktop และ 5 ปีสำหรับ server อยู่กันได้ยาวๆ อยู่แล้ว

ที่น่าสนใจอีกอย่างคือ Shuttleworth ไม่ได้กำหนดกรอบของ Edgy เอาไว้ และเขาเองก็บอกว่าพยายามจะไม่เข้าไปก้าวก่ายเรื่องทิศทางการพัฒนาหรือเลือกเทคโนโลยี ปล่อยให้เป็นไปตามผู้พัฒนาหรือชุมชนขับเคลื่อนกัน ชุมชนก็น่าจะและควรจะมีส่วนร่วมกับ Edgy ได้มากพอสมควร :)

/me .. หวังว่าจะไม่เลื่อนอีกนะ :P

Kitty Repository for Dapper Drake

เพิ่มเข้าไปใน /etc/apt/sources.list ได้เลยครับ

# Kitty Repository
deb ftp://ftp.kitty.in.th/pub/ubuntu/kitty dapper unstable

ถ้าเครือข่ายอยู่ใกล้ๆ มข. ใช้ mirror จะเร็วกว่า

# Kitty Repository - mirror
deb ftp://skuld.kitty.in.th/pub/ubuntu/kitty dapper unstable

กุญแจสาธารณะใช้ตัวเดิมนะครับ โหลดได้ที่ ftp://ftp.kitty.in.th/pub/ubuntu/kitty/kitty.in.th.gpg..

ก็ถือเอาโอกาสนี้ประกาศหยุดอัปเดต Breezy และ Hoary เลยละกันเน้อะ :P .. แพ็คเกจยังไม่เยอะเท่าไหร่ บางอันก็ซ้ำกับ official repository แต่เวอร์ชันสดใหม่กว่าแน่นอน :)

  • em-panel-applet
  • gdictthai
  • gruler
  • leafpad
  • libimage-exiftool-perl
  • rrs
  • ufraw

Scanning AP and Orinoco-based WIFI

WiFi ที่ใช้ชิป Orinoco/Hermes หลังจาก monitor mode ได้ ก็ทำ scanning หา access point ได้พักนึงแล้ว (น่าจะราวๆ kernel >= 2.6.14 หรือ 2.6.15) โดยใช้คำสั่ง

# iwlist eth1 scanning
eth1      Scan completed :
          Cell 01 - Address: 00:80:C8:AD:1A:8D
                    ESSID:"CoE_Office"
                    Mode:Master
                    Frequency:2.437 GHz (Channel 6)
                    Signal level:-36 dBm  Noise level:-92 dBm
                    Encryption key:off
          Cell 02 - Address: 00:0B:0E:1D:82:00
                    ESSID:"kku-wifi"
                    Mode:Master
                    Frequency:2.462 GHz (Channel 11)
                    Signal level:-63 dBm  Noise level:-85 dBm
                    Encryption key:off
          Cell 03 - Address: 00:0B:0E:1D:82:02
                    ESSID:"kku-wifi-s"
                    Mode:Master
                    Frequency:2.462 GHz (Channel 11)
                    Signal level:-63 dBm  Noise level:-85 dBm
                    Encryption key:on
...

ก่อนจะ scan อาจจะต้อง

# iwconfig eth1 essid off

ซะก่อน .. ไม่งั้นอาจจะ scan ไม่เจอ หรือเจอแค่ตัวที่ associate อยู่ตัวเดียว

QEMU Virtualization

Full virtualization

ในที่สุด QEMU ก็ทำ full virtualization เสียที เร็วขึ้นเป็นกองเลย .. โหลด โหลด qemu >= 0.8.1 + kqemu >= 1.3.0pre7 มาก่อน จากนั้นก็มา build กัน สำหรับบน debian/ubuntu ลง build-essential + gcc 3.x + libsdl-dev ไว้ก่อน ขาดเหลืออะไรก็หามาใส่ให้ครบๆ ละกัน จากนั้นก็

tar -xzf  qemu-0.8.1.tar.gz
cd qemu-0.8.1
./configure --cc=gcc-3.4
make
sudo make install

ใส่ออปชันนิดหน่อย ให้ใช้ gcc 3.x คอมไพล์ เพราะ QEMU คอมไพล์กับ gcc 4 แล้วมีปัญหา (QEMU จะเตือนถ้าพยายามใช้ gcc 4.x)

เสร็จเรียบร้อย ทีนี้ก็เป็นคิวของ kqemu .. อ่อมันเป็นเคอร์เนลมอดูล อาจจะต้องลง kernel-header ด้วยนะ

tar -xzf kqemu-1.3.0pre7.tar.gz
cd kqemu-1.3.0pre7
./configure
make
sudo make install

อ่อ ไม่ต้องแปลกใจว่าทำไมไม่ใช้ --cc=gcc-3.x เพราะ keqmu จะคอมไพล์เป็นเคอร์เนลมอดูล เวลาจะคอมไพล์ควรจะใช้ gcc ตัวเดียวกับเคอร์เนล ไม่ใช่ตัวเดียวกับ qemu .. ทีนี้ก็

$ sudo modprobe kqemu major=0

อาจจะต้อง chmod เล็กน้อย

$ sudo chmod 666 /dev/kqemu

ทีนี้ก็ใช้ virtualization ได้แล้ว โดยใส่ -kernel-kqemu

$ qemu -kernel-kqemu -hda winxp.img

แน่นอนพอเป็น virtualization host OS กับ guest OS จะต้องรันบนแพล็ตฟอร์มเดียวกัน และตอนนี้ QEMU virtualization ไม่ได้สนับสนุน OS ทุกตัว โดยเฉพาะตัวเก่าๆ .. ที่ลองใช้งานผ่าน virtualization ได้ก็มี Windows 2000/XP, Ubuntu 5.10, Fedora Core 2, FreeBSD 4.11 OS ที่ใหม่กว่านี้น่าจะใช้ virtualization ได้ทุกตัว

ทดสอบหยาบๆ บูต OS หลายๆ ตัวบน peorth (Pentium III Mobile 1 GHz) เทียบระหว่างใช้ kqemu เฉยๆ (native memory management) กับ virtualization ก็ได้ผลตามตาราง (หน่วยเป็นวินาที)

Guest OS kqemu virtualization
Windows 2000 63 39
Windows XP 100+ 40
Ubuntu 5.10 204 80
FreeBSD 4.11 10 8

มีข้อสังเกตว่าเวลารัน qemu ปกติจะเห็น CPUID เป็น Pentium II ส่วน virtualization จะเห็น CPUID เป็น CPU ของเครื่องเลย .. ที่พบอีกอย่างคือผลของการปรับ real-time clock frequency .. qemu แนะนำว่าให้ใช้เคอร์เนล 2.6 หรือตั้ง max-user-freq = 1024 พอลองตั้งดูปรากฏว่าลินุกซ์กับบีเอสดีทำงานเร็วขึ้น ในขณะที่ Windows ช้าลงไปมาก โดยเฉพาะ Windows 2000 นั่นแทบบูตไม่ขึ้น และในทางตรงข้าม ถ้าใช้ max-user-freq เป็นค่า default (64) ลินุกซ์ช้าลงเล็กน้อย ส่วน Windows ทำงานเร็วกว่าเดิมเยอะจนเห็นได้ชัด … YMMV

Overlay Image

QEMU ทำ overlay image ได้ด้วยนะ .. หมายความว่าใช้ image ตัวนึงเป็น base ขณะทำงานถ้ามีการบันทึกข้อมูลที่ต่างไปจาก base จะบันทึกเก็บลง overlay image แทน เหมาะมากสำหรับใครที่ต้องการทดลองอะไรแผลงๆ (e.g. penetration test, virus/malware test) เพราะ base image จะคงเดิมไปตลอด ถ้าใช้จนระบบเละเทะก็ลบ overlay image ทิ้งแล้วสร้างใหม่ก็จะได้ระบบเฟรชๆ กลับมาโดยไม่ต้องติดตั้งกันใหม่ หรือจะทำ overlay image หลายๆ สำเนาจะได้จำลองเครื่องหลายๆ เครื่องพร้อมกันโดยไม่ต้องใช้ image โตๆ ก็ได้ .. แจ่มแมวมั่กๆ :D … วิธีสร้าง overlay image ก็ไม่มีอะไรยาก

$ qemu-img create -b winxp.img -f qcow winxp.ovl

ทีนี้เวลาทำงานก็โหลด overlay image แทน

$ qemu -kernel-kqemu -hda winxp.ovl

Networking

เมื่อเทียบกับเวอร์ชัน 0.7 กว่าๆ แล้ว QEMU รุ่นปัจจุบันจัดการระบบเครือข่ายได้ง่ายขึ้นและหลากหลายขึ้นเยอะ .. โดยปริยาย QEMU จะจำลอง DHCP, DNS, SMB server ให้ในตัวพร้อมกับ Firewall/NAT ให้เรียบร้อย guest OS บูตมาก็ใช้งานอินเทอร์เน็ตได้เลย โดย QEMU กำหนดให้ Firewall/NAT/DHCP ใช้ไอพีแอดเดรส 10.0.2.2 ส่วน DNS กับ SMB ใช้ไอพีแอดเดรส 10.0.2.3 และ 10.0.2.4 ตามลำดับ

กรณีที่ต้องการให้ host OS สามารถสื่อสารกับ guest OS ก็มี TAP interface เชื่อมได้

$ sudo modprobe tun
$ sudo chmod 666 /dev/net/tun
$ qemu -kernel-kqemu -net nic -net tap -hda freebsd6.ovl

บรรทัดแรกโหลดเคอร์เนลมอดูล tun สำหรับอินเทอร์เฟซ TUN/TAP จากนั้นก็ตั้ง permission เพื่อให้ user ใช้งาน TUN/TAP ได้ สุดท้าย เรียก qemu โดยใช้ -net nic (emulate NIC) และ -net tap .. อินเทอร์เฟซ tap0 บน host OS จะเชื่อมอยู่บน VLAN เดียวกันกับ emulated NIC ใน guest OS ตั้ง IP ให้อยู่ในเครือข่ายเดียวกันก็ติดต่อกันได้ .. QEMU ใช้สคริปต์ /etc/qemu-ifup คอนฟิก tap0 โหลดสคริปต์ได้จาก linux-test-x.x.x.tar.gz ถ้าไม่อยากโหลดไฟล์ใหญ่ๆ จะเขียนสคริปต์เองก็ได้

#!/bin/sh
sudo /sbin/ifconfig $1 192.168.0.1

สคริปต์นี้จะสร้างอินเทอร์เฟซ tapN และกำหนดไอพีแอดเดรส เป็น 192.168.0.1/24 ส่วนใน guest OS ตั้งไอพีแอดเดรสเป็น 192.168.0.x/24 ไอพีแอดเดรส 192.168.0.1 และ .2 ก็จะรับส่งข้อมูลหากันได้ .. เรื่อง network ของ QEMU ค่อนข้างยาว ถ้ามีโอกาสไว้ค่อยลงรายละเอียดกัน

ทิปเล็กน้อย

เวลาติดตั้ง Windows 2000 บน qemu ต้องใส่ออปชัน -win2k-hack ไปด้วย และถ้าจะติดตั้ง Windows 2000 หรือ XP ห้ามใช้ -kernel-kqemu ตอนที่ติดตั้งเพราะมันจะ BSOD (ติดตั้งให้เสร็จแล้วค่อยใช้ได้) ทั้ง Windows 2000 และ XP ขณะติดตั้งให้ขยับเมาส์ไปๆ มาๆ เรื่อยๆ หรือถ้ามีหน้าต่างแสดงผลก็ให้ลาก ไปๆ มาๆ ไม่งั้นเวลาติดตั้งไปเรื่อยๆ สักพักมันจะนิ่งไปเลย ไม่แฮงค์ ไม่แครช ไม่กินซีพียู หน้าจออัปเดตเรื่อยๆ แต่ไม่ติดตั้งต่อซะงั้น (ประหลาด :P) ..

ถ้าขี้เกียจ chmod 666 /dev/kqemu ทุกครั้ง เดิมใน Ubuntu จะเพิ่ม rule ใน /etc/udev/permission.d/ ตอนนี้มันไม่มีแล้ว ให้สร้างไฟล์ /etc/udev/rules.d/50-kqemu.rules แทน ตามนี้

# kqemu
KERNEL="kqemu", NAME="%k", MODE="0666"

ทีนี้เวลา modprobe kqemu udev จะตั้ง permission เป็น 666 ให้อัตโนมัติ ไม่ต้อง chmod เอง

QEMU เฉพาะเวอร์ชัน 0.8.1 ที่ทดสอบก็เร็วกว่า 0.7 ที่เคยใช้พอสมควรแล้ว พอทำ full virtualization เข้าไปอีกก็ทำงานได้เร็วใกล้ native มากขึ้นไปอีก น่าใช้ขึ้นอีกเยอะ :)

V-Gear TalkCam

ที่บ้านมี v-gear talkcam อยู่ตัวนึง เลยเอามาลองใช้กับลินุกซ์ซักหน่อย .. เสียบสาย USB ปุ๊บ .. เงียบ .. สงสัยต้องออกแรงสักหน่อย เริ่มจาก lsusb ก็เห็นว่า

Bus 001 Device 003: ID 0ac8:0302 Z-Star Microelectronics Corp. ...

เอา ID ไปกูเกิ้ล ตามด้วยคำว่า linux .. เจอแวบๆ ว่าใช้ spca5xx ได้ อะฮ้า โหลดเลยครับ.. spca5xx คอมไพล์เป็นเคอร์เนลมอดูลได้เลย ลง kernel-header น่าจะพอ ไม่ต้องลงเคอร์เนลซอร์สมาแพตช์

เอาล่ะ ลงมือได้

$ tar -xzf spca5xx-20060501.tar.gz
$ make
$ sudo make install

เรียบร้อยแล้วก็ทดลองใช้งานกัน

$ sudo modprobe spca5xx

ไฟ V-Gear TalkCam ติดแล้ว … เปิด ekiga คลิกที่กล้อง ภาพก็ปรากฏ :D .. ใครจะซื้อกล้องรุ่นนี้มาใช้ก็อุ่นใจได้ละ :)