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!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s