Saturday, January 30, 2010

Install flashplugin for Firefox on FreeBSD

FreeBSD-8 မှာ Firefox-3.5 အတွက် flashplugin-10 ကို linux_base-f10 emulator ခံပြီး install လုပ်တာပါ။ FreeBSD 8 ကို install လုပ်ပြီးချိန်မှာ Linux layer က default အနေနဲ့ enable မဖြစ်နေပါဘူး။ အဲဒါကြောင့်မို့ linux emulator ကို install လုပ်ပြီး enable အရင်လုပ်ပေးရမယ်။ ဘာလို့ linux emulator layer လိုအပ်လဲဆိုတော့ ခုကျနော် install လုပ်ချင်တဲ့ flash plugin က linux flashplugin ဖြစ်လို့ပါ။ linux_base-f10 ကို install မလုပ်ခင် လိုအပ်တာလေးတွေ အရင်လုပ်ပေးရမယ်။ အောက်က command lines တွေနဲ့ conf ဖိုင် အသီးသီးမှာ လိုအပ်တဲ့ configuration တွေကို ထည့်ပေးပါ။

Add linux_enable="YES" to /etc/rc.conf
# echo 'linux_enable="YES"' >> /etc/rc.conf

Add compat.linux.osrelease=2.6.16 to /etc/sysctl.conf
# echo 'compat.linux.osrelease=2.6.16' >> /etc/sysctl.conf

Add OVERRIDE_LINUX_BASE_PORT=f10 to /etc/make.conf
# echo 'OVERRIDE_LINUX_BASE_PORT=f10' >> /etc/make.conf

ပြီးရင် linux process file system ကို fstab ဖိုင် အောက်ကအတိုင်း ထည့်ပေးရအောင် ..

Make a directory for linux proc
# mkdir -p /usr/compat/linux/proc

Add this line to /etc/fstab:
linproc /usr/compat/linux/proc linprocfs rw 0 0

ပြီးရင် ကျနော်တို့ linux kernel module ရှိလား မရှိလား ကြည့်ရအောင် ..

Check Linux kernel modules
# cd /boot/kernel
# ls lin*

linker.hints linsysfs.ko linux.ko.symbols
linprocfs.ko linsysfs.ko.symbols
linprocfs.ko.symbols linux.ko

အဲဒီမှာ linux*.ko ကို မတွေရင် အောက်ကအတိုင်း linux module ကိုအောက်ကအတိုင်း install လုပ်ပေးရမယ်။

Install linux module
# cd /usr/src/sys/modules/linux
# make install clean

တကယ်တော့ FreeBSD-8 မှာ linux module က ပါလာပြီးသားပါ။ ဒီအပေါ်က linux module build တဲ့အဆင့်ကို ကျနော်မလုပ်ပေးခဲ့ရဘူး။
အဲဒါတွေ လုပ်ဆောင်ပြီးရင်တော့ စက်ကို reboot လုပ်ပေးဖို့လိုအပ်ပါတယ်။ reboot ပြန်တက်လာတဲ့အခါ linux module လဲ load လုပ်ပြီးသားဖြစ်နေပါပြီး linprocfs လဲ run နေပါပြီး။ အဲလိုဆိုရင် ကျနော်တို့လိုအပ်တဲ့ linux_base-f10 emulator နဲ့ flashplugin ကို install လုပ်နိုင်ပါပြီ။ ကြားဖြတ်ပြောရမယ်ဆိုရင် linux_base emulator install လုပ်ပြီးရင် linux မှာ run လို့ရတဲ့ applications တွေ packages တွေကို install လုပ်ပြီး run လို့ရပါတယ်။ linux applications တွေဟာ တချို့ဆိုရင် FreeBSD ပေါ်မှာ run ရတာ Linux မှာထက် ပိုပြီးတောင် မြန်နေပါတယ်။ တချို့ဟာတွေကတော့ Linux မှာလို မြန်ပါတယ်။ ဒီ emulator သုံးလို့ Performance နဲ့ Speed ကျသွားတယ်ဆိုတာမျိုး လုံးဝ မရှိပါဘူး။ တကယ့် native အတိုင်း run ပါတယ်။ ကဲ ကျနော်တို့ လိုအပ်တာတွေ ရှိသေးတော့ ဆက်ပြီး install လုပ်ရအောင် ..

Install linux_base-f10 emulator
# cd /usr/ports/emulators/linux_base-f10
# make install clean

ပြီးရင် အကယ်၍ firefox ကို install မလုပ်ရသေးဘူးဆိုရင် လုပ်ရအောင် .. ကျနော်ကတော့ firefox35 port ကနေ install လုပ်ပါတယ်။ firefox-devel port က firefox3.6rc2 က development အဆင့်မှာရှိနေတာမို့ recommended မလုပ်ချင်ပါဘူး။

Install firefox35 port
# cd /usr/ports/www/firefox35
# make install clean

firefox port ကို install လုပ်ရတာ စက်ရဲ့ speed ပေါ်မူတည်ပြီး နည်းနည်းကြာတက်ပါတယ်။ ပြီးရင် linux-f10-flashplugin10 နဲ့ nspluginwrapper ကို install လုပ်ပါမယ်။

Install linux-f10-flashplugin10 port
# cd /usr/ports/www/linux-f10-flashplugin10 && make install clean

Install nspluginwrapper port

# cd /usr/ports/www/nspluginwrapper && make install clean

ပြီးရင် libflashplayer.so ကို ရှာကြည့်မယ်။

# find / -name libflashplayer.so

/usr/local/lib/npapi/linux-f10-flashplugin/libflashplayer.so
output လုပ်ပေးတဲ့အထဲက lines တွေထဲမှာ အပေါ်ကလို line ကိုတွေ့လိမ့်မယ်။ အဲဒီအခါကျရင် super user (root) ကနေ exit လုပ်ပေးပြီး အောက်က comand line ကို run ပေးလိုက်ရင် error တွေမပြတော့တဲ့အခါ Youtube video ကို ကြည့်နိုင်ပါပြီ။ အကယ်လို့ ဒီအောက်က command line ကို run နေစဉ်မှာ firefox ဖွင့်ထားမယ်ဆိုရင် ပြန် restart လုပ်ပေးပြီး youtube site ကို ပြန်သွားပါ။

$ nspluginwrapper -v -i /usr/local/lib/npapi/linux-f10-flashplugin/libflashplayer.so

References:
Linux Binary Compatibility
Mozilla Firefox and the Adobe Flash Player

Enjoy!

No comments:

Post a Comment