Mount external usb hdd with rw on FreeBSD

FreeBSD-8 ေပာ္မွာ ကိုယ့္ရဲ့ external usb hdd ကို read/write access ရေအာင္ mount တာေလးပါ။ Linux မွာ usb hdd ကို plug လုပ္လိုက္တာနဲ့ auto mount ေပးေပမယ့္ FreeBSD မွာ ပံုမွန္အားျဖင့္ default အေနနဲ့ manually mount ေပးရပါတယ္။ ဆိုင္ကေန external usb hdd ကိုဝယ္လာရင္ ကိုယ့္ရဲ့ Windows Machine မွာဆိုရင္ properties နဲ့ စစ္ျကည့္ပါ fat32 filesystem ျဖင့္မ်ားေသာအားျဖင့္လာတက္ပါတယ္။ Linux မွာဆိုရင္ fdisk -l နဲ့ စစ္ျကည့္ပါ။ တခ်ုိ့ external usb hdd က်ျပန္ေတာ့ ntfs file system နဲ့လာတက္ပါတယ္။ ကိုယ့္အေန့နဲ့ ျကိုက္နွစ္သက္ရာ file system ကိုျပန္ေျပာင္းနိုင္ပါတယ္။ ခုက်ေနာ္ mount မွာက fat32 နဲ့ ntfs file system နွစ္မ်ုိးကိုပါ။ က်န္တဲ့ဖိုင္စနစ္ကိုလဲ ဒီက နမူနာယူျပီးလိုအပ္တဲ့ options ေပးျပီး mount နိုင္ပါတယ္။
က်ေနာ္တို့ fat32 ကို အရင္ mount ျကည့္ရေအာင္ ..

For 1, 2, 4, 8, 16 GB usb flash disks

# mount -a -t msdosfs /dev/da0s1 /mnt

/dev/da0s1 ဆိုတာက ကိုယ့္ရဲ့ usb stick device ပါ။
/mnt ဆိုတာက mount point ပါ။ mount point ကို ျကုိက္တဲ့ folder ထားနိုင္ပါတယ္။ ဥပမာ က်ေနာ့္မွာ Gnome ကိုသံုးတယ္ဆိုေတာ့ mount point ကို /media/ ေအာက္မွာလုပ္ထားတယ္။ ဥပမာ

# mkdir -p /media/usb
# chmod 777 /media/usb
# mount -a -t msdosfs /devda0s1 /media/usb

အဲဒါဆို Gnome Desktop ေပာ္မွာ nautilus file manager က အဲဒီ usb ကို auto ဖြင့္ေပးမွာပါ။ ကိုယ့္ mount point က /media/ ေအာက္မွာ မရွိဘူးဆိုရင္ တျခားေနရာမွာရွိမယ္ဆိုရင္ ဥပမာ /mnt/usb လိုေအာက္မွာရွိမယ္ဆိုရင္ အဲဒီ folder ကို manually ဖြင့္ျပီးေတာ့ access လုပ္နိုင္ပါတယ္။ အကယ္လို့ ကိုယ့္ usb hdd က GB ပမာဏ ျကီးေနမယ္ဆိုရင္ mount options ေလးထည့္ေပးပါ။ ဥပမာ 80 GB နဲ့ အထက္ ( 120, 160, 320, 500, etc .. ) usb hdd ေတြအတြက္ ...

# mount -o large -t msdosfs /dev/da0s1 /media/usb

အကယ္၍ ကိုယ့္ external usb hdd က ntfs file system ျဖစ္ခဲ့မယ္ဆိုရင္ ntfs-3g နဲ့ mount ေပးရပါမယ္။ ntfs-3g သံုးနိုင္ေအာင္ လိုအပ္တဲ့ဟာေလးေတြ လုပ္ေပးရေအာင္ ေအာက္ကလို conf ဖိုင္ေတြထဲမွာ configuration ေတြလုပ္ေပးပါ။

Add fuse_load="YES" to /boot/loader.conf

# echo 'fuse_load="YES"' >> /boot/loader.conf

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

Install sysutils/fusefs-ntfs port
# cd /usr/ports/sysutils/fusefs-ntfs
# make install clean
ဒါဆိုရင္ installation နဲ့ configuration ျပီးေလာက္ျပီး၊ စက္ကို reboot လုပ္ရေအာင္ ...

# shutdown -r now

ဒါမွမဟုတ္

# reboot

စက္ျပန္တက္လာျပီးရင္ က်ေနာ္တို့ ntfs file system ကို mount ျကည့္လို့ရပါျပီ။

# ntfs-3g /dev/da0s1 /media/usb

ဒါဆိုရင္ က်ေနာ္တို့ရဲ့ usb hdd ေတြကို ပံုမွန္ user တစ္ေယာက္အေနနဲ့ read/write အသံုးျပုလို့ရပါျပီ။

အကယ္၍ unmount လုပ္ခ်င္တဲ့အခါ ..

# umount /media/usb

References:
Disk Organization
Mounting and Unmounting File Systems

Enjoy!

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!

Install java on FreeBSD

FreeBSD-8 မွာ Java ကို install လုပ္တာေလးပါ။ က်ေနာ္က java/openjdk6 port ကေန install လုပ္ပါတယ္။ ports ေတြကေန install မလုပ္ခင္အရင္ဆံုး port tree ကို update လုပ္ေပးဖို့လုိအပ္လိမ့္မယ္။ က်ေနာ္ကေတာ့ ports tree update လုပ္တဲ့အခါမွာ portsnap ကိုသံုးတယ္။ ports tree update လုပ္ေပးျပီးျပီဆိုရင္ ဆက္ရေအာင္ ...

# cd /usr/ports/java/openjdk6
# make install clean

အဲလို စျပီး install လုပ္တာနဲ့ port install error ေတြျပပါမယ္။ Terminal ကျပတဲ့ error messages ေတြကို ဂရုတစိုက္ဖတ္ျပီး လုိအပ္တာေတြကို download ခ်သင့္ကခ်ရပါမယ္။ က်ေနာ္ install လုပ္စဥ္တုန္းက ေအာက္ကဟာေတြကို internet မွာရွာျပီး download လုပ္တယ္၊ ျပီးရင္ /usr/ports/distfiles ေအာက္မွာ ထားေပး လိုက္တယ္။

diablo-caffe-freebsd7-i386-1.6.0_07-b02.tar.bz2
tzupdater-1_3_21-2009p.zip
jce_policy-6.zip
dejavu-fonts-ttf-2.30.tar.bz2

က်ေနာ့္တုန္းက အေပာ္ကဟာေတြလိုေပမယ့္ ကိုယ့္ရဲ့ port version အလိုက္ေျပာင္း ခ်င္ေျပာင္းနိုင္တာမို့ error messages တို့ suggestion messages တို့က ျကည့္ျပီး လုပ္ေပးပါ။ ဒီ java/openjdk6 port ကို install လုပ္ျပီးသြားျပီးဆိုရင္ေတာ့ က်ေနာ္တဲ့ eclipse တို့ virtualbox တို့ စတဲ့ java နဲ့ သက္ဆိုင္တာေတြ ဆက္သြင္းလို့ရပါျပီး။

Firefox java plugin အတြက္ကေတာ့ ေအာက္က command line ေလးကို run လုိက္ရင္ အဆင္ေျပတယ္။

% ln -s /usr/local/diablo-jdk1.6.0/jre/plugin/i386/ns7/libjavaplugin_oji.so \
$HOME/.mozilla/plugins/

အဲဒါဆိုရင္ Firefox java plugin ရပါျပီး။ အဲဒါဆိုရင္ Firefox java plugin ရပါျပီး။ က်ေနာ့္ firefox35 port version က firefox-3.5.7,1.

References:
FreeBSD Handbook
http://www.freebsd.org/doc/en/books/handbook/desktop-browsers.html

Enjoy!

Fun boys

ခုတေလာ forums ေတြမွာေရာ blogs ေတြမွာေရာ ေနရာတိုင္းမွာ ဘယ္ OS ကေကာင္းတယ္ ငါ့ OS က မင္း OS ထက္ပိုေကာင္းတယ္ ဆိုျပီး အျငင္းအခံုေတြမ်ားပိုမ်ားလာတယ္။ M$ လို corp ေတြကိုမုန္းလို့ anti-corporation anti-Microsoft ideology နဲ့ Linux camps မွာလဲ Linux fun boys ေတြက က်ယ္ေလာင္က်ယ္ .. Mac camps က Mac fun boys ေတြကလဲ က်ယ္ေလာင္က်ယ္ေလာင္။ က်ယ္ေလာင္က်ယ္ေလာင္ လုပ္တဲ့ေနရာမွာ Linux camps က Mac camps က fun boys ေတြထက္ ပိုဆိုးမယ္ ထင္တယ္။ BSD-ish ေတြကလဲ GPL-ish ေတြကို မျကိုက္ျကဘူး။ Linux နဲ့ FreeBSD fun boys ျကားမွာလဲ အဲဒီ war ကတစ္မ်ိုး။ အဆိုးဆံုးက [OSS]-religion အစြန္းေရာက္ေတြပဲ။ ငါ့ဘုရားမွ အေကာင္းဆံုး အသာဆံုးဆိုတာမ်ိုးက ေရာဂါပိုျကီးတယ္။
က်ေနာှ့အေနနဲ့ကေတာ့ Linux ေရာ FreeBSD ေရာသံုးပါတယ္။ ေလ့လာပါတယ္။ ဒါေပမယ့္ Linux fun boy တစ္ေယာက္အေနနဲ့ က်ယ္ေလာင္က်ယ္ေလာင္မလုပ္ခ်င္ဘူး။ အရင္ကတည္းက religion ကိုမျကိုက္ခဲ့တာ။ အဲေတာ့ က်ေနာှ့အတြက္ အသင့္ေတာှဆံုးျဖစ္မယ့္ FreeBSD camp မွာ FreeBSD fun boy အေနနဲ့ တိတ္တိတ္ဆိတ္ဆိတ္ပဲ သံုးခ်င္ေတာ့တယ္။

VIM IDE for C, Python and Go

VIM (Vi IMproved) ကို C, Python and Go IDE အျဖစ္အသံုးျပုခ်င္သူမ်ားအတြက္ config နဲ့ plugins ေတြကို ဒီ vim-config repo မွာ ရယူနိုင္ပါတယ္။

အသံုးျပုပံုနဲ့ screenshots အခ်ို့ကို ေအာက္ကလင့္မွာျကည့္နိုင္ပါတယ္။
C IDE Screenshots
Python IDE Screenshots
Project with VIM

NERD_tree demo -> click on Picture


NERD_tree.vim နဲ့ Project.vim plugins ေတြကိုနွစ္သက္ရာသံုးနိုင္ပါတယ္။

Enjoy! :-)

keyboard layout switching in Fluxbox on FreeBSD

Fluxbox wm (window manager) မွာ Gnome Desktop မွာလို keyboard indicator program မပါတဲ့အတြက္ xorg.conf ဖိုင္ကို နည္းနည္း modify လုပ္ေပးဖို့လုိအပ္ျပီး Fluxbox menu file မွာပါ edit လုပ္ေပးဖို့လိုအပ္ပါတယ္။ ေအာက္ကဟာေတြဘာမွလုပ္ခင္ျဖစ္ျဖစ္လုပ္ျပီးရင္ပဲျဖစ္ျဖစ္ ျမန္မာစာရိုက္လို့ရေအာင္ နွစ္သက္ရာ zawgyi-keyboard ဒါမွမဟုတ္ mm3-keyboard ကို download လုပ္ျပီး install လုပ္ေပးဖို့လိုအပ္ပါမယ္။ က်ေနာ့္ xorg.conf မွာ ေအာက္ကလို edit လုပ္ထားပါတယ္။

Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbLayout" "us,mm"
EndSection

ျပီးရင္ ကီးဘုတ္ေျပာင္းဖို့အတြက္ Fluxbox menu file မွာ ေအာက္က အတိုင္း sub menu ျဖည့္ထည့္ေပးပါ။ Fluxbox menu file က /home/.fluxbox/menu ပါ။

$ vi ~/.fluxbox/menu

[submenu] (Keyboards)
[exec] (us) {setxkbmap us}
[exec] (mm) {setxkbmap mm}
[end]

အဲလိုျဖည့္ေပးျပီးလို့ save လိုက္ရင္ Fluxbox Menu မွာတန္းျမင္ရေပမယ့္ keyboard option က xorg.conf မွာ apply ျဖစ္ေအာင္ reboot လုပ္ေပးဖို့ လိုအပ္ေကာင္းလိုအပ္လိမ့္မယ္။ ေအာက္က ပံုမွာ နမူနာေလးျကည့္ပါ။

Fluxbox keyboard menu


References:
1. XKB configuration
2. Fluxbox on Ubuntu
3. Switching keyboard layout

P.S.: က်ေနာ္က FreeBSD မွာလုပ္တာမို့ ေခါင္းစဥ္မွာ on FreeBSD လို့ေရးလိုက္တာပါ။ ဘယ္ *nix distributions မွာ ျဖစ္ျဖစ္ ဒီဟာ အက်ုံးဝင္မွာပါ။

Enjoy! :-)