Ойр зуур хэрэглэдэг командууд

# bind control-p:history-search-backward
Энэ командын дараа "Ctrl+p" даралтаар урьд ашиглаж байсан history-д хадгалагдсан командуудыг дуудах болно. Жишээ нь командын мөрөнд "h" оруулаад "Ctrl" товч дарж байгаад "p" товчийг дараад байхад "h" -ээр эхэлсэн (history, ...etc) , урьд таны хэрэглэж оруулж байсан командууд гарч ирэх болно.

# du -hs foo
( foo хавтасний нийт хэмжээг эмхэтгэсэн хэлбэрээр үзүүлэх.)
# du -hs *
( Тухайн идэвхтэй байгаа хавтасны дотор байгаа файл хавтаснуудын хэмжээг эмхэтгэсэн хэлбэрээр жагсаах.)

# ls -lst
# ls -lsS
# ls -1 | wc -l

# grep -i "search text" *
# grep "search text" *.c
# grep -R "search text" *
( Ажилын хавтасан дах файлууд дотроос текст хайх, subfolder -оролцуулж хайна, хайх файлыг зааж өгч болно.)

# ps -aux

# kill PID
# kill -9 PID
# killall file_name/command_name

# top

# tail -f /var/log/message
( Ямар нэг болохгүй бүтэхгүй төхөөрөмж,... суулгах гэж оролдож байхдаа доорхи командыг идэвхжүүлээд тэгээд системийн LOG мэдээлэлүүдийг монитор хийнгээ ажиллах нь хамгийн үр дүнтэй байдаг)

# ssh root@IP
# scp file root@IP:/tmp
( SSH командаар Remote компьютерт нэвтрэх, Remote компьютерт файл хуулах)

# tar -zxvf *.tar.gz
# tar -zcvf *.tar.gz file/folder

# rpm -ivh *.rpm

# shutdown -h now
# shutdown -r now

Alias
Байнга оруулдаг командууд урт бичлэгтэй бол доорх байдлаар зохиомол нэр өгч ашиглаж болно. Жишээ нь "home/bayar" гэдэг хавтсанд байнга орох хэрэгтэй байдаг бол "q" гэсэн Alias үүсгээд, "q" гэсэн даралтаар л нөгөө хавтсандаа орно.
# alias q="cd /home/bayar"
# alias

GCC compile CGI file.
# gcc -o name.cgi name.c

GCC compile C file.
# gcc -o name name.c

Файлууд болон тухайн заасан хавтасуудыг бүхлээр нь харьцуулах, (-p) "c" төрөлийн файл бол функцийн нэрийг хэвлэнэ.
# diff -Naursp *.c *.c
# diff -Naursp foo1 foo2

Howto install qmail

"qmail " бол UNIX гэх мэт үйлдлийн системүүдэд зориулагдсан Internet Mail Transfer Agent (MTA) юм. Ер нь бол маш том ажил, маш ихээр хэрэглэгддэг, ... доорх линкээр ороод дэлгэрүүлж сайхан уншаарай.

http://www.qmail.org
http://www.lifewithqmail.org

2 жилийн өмнө QMAIL майл сервер суулгаж байсан юм. Тэгэхэд хийсэн тэмдэглэлийг жаахан засаад тавилаа.

Анхаар: Sendmail, Postfix болон бусад майл серверүүдээс системд идэвжсэн байгаа бол зогсоох, хэрэглэхгүй бол бүүр аваад хаясан дээр шүү.

Ажилласан серверийн хувьд:
- Turbo Linux 8 (kernel-2.4.x)
- Red Hat Enterprise Linux AS 2.1 (kernel-2.4.x)

Эхлээд доорх линкээр ороод эсвэл нэрээр нь хайж олоод файлуудыг татаад аваараа.

1.QMAIL
ftp://ftp.jp.qmail.org/qmail/qmail-1.03.tar.gz

2.pbs4q
http://mambo.kuhp.kyoto-u.ac.jp/~masahiro/PbS4q/pbs4q-0.2.1.tar.gz

3.Localtime path
ftp://ftp.nlc.net.au/pub/unix/mail/qmail/qmail-date-localtime.patch

4.TCP-SERVER
http://cr.yp.to/software/ucspi-tcp-0.88.tar.gz

5.Checkpassword
http://cr.yp.to/software/checkpassword-0.90.tar.gz

6.cdb
http://cr.yp.to/cdb/cdb-0.75.tar.gz

За тэгээд татаж авсан файлнуудаа задлаад, суулгаж эхлэнэ дээ.

"/usr/local/src" хавтаснаас суулгах ажлыг эхлүүлий гээд

# tar zxvf qmail-1.03.tar.gz
# cp qmail-date-localtime.patch /usr/local/src/qmail-1.03
# cd /usr/local/src/qmail-1.03
# mkdir /var/qmail
# chmod 755 /var/qmail

/usr/sbin/groupadd -g 900 nofiles
/usr/sbin/groupadd -g 901 qmail
/usr/sbin/useradd -g nofiles -u 902 -d /var/qmail/alias alias
/usr/sbin/useradd -g nofiles -u 903 -d /var/qmail qmaild
/usr/sbin/useradd -g nofiles -u 904 -d /var/qmail qmaill
/usr/sbin/useradd -g nofiles -u 905 -d /var/qmail qmailp
/usr/sbin/useradd -g qmail -u 906 -d /var/qmail qmailq
/usr/sbin/useradd -g qmail -u 907 -d /var/qmail qmailr
/usr/sbin/useradd -g qmail -u 908 -d /var/qmail qmails

# cat /etc/passwd

(Системийн бүх хэрэглэгчийн attribute файл шалгах)

# patch -p1 < qmail-date-localtime.patch
# make
# make man
# make setup
# make check

./config-fast xxxxx.ccccccc.com

(xxxxx.ccccccc.com : Mail DNS -iig solikh. Jishee ni "myfreemail.com")

# cd /var/qmail/alias
# touch .qmail-root .qmail-postmaster .qmail-mailer-daemon
# chmod 644 .qmail*

.qmail-root (дотор шинэ хэрэглэгч нэмэх)

/var/qmail/control/

(Dotor uussen doorkh file-uudiig uuriin mail DNS bukhii nereer zasvar khiikh.)

Jishee ni:
me
localhost
xxxxx.ccccccc.com

rcpthosts 
localhost
xxxxx.ccccccc.com

defaultdomain
localhost
xxxxx.ccccccc.com

Сервэрт бүртгэгдсэн хэрэглэгч болгонд "Maildir" гэдэг хавтас үүсгэх хэрэгтэй, өөрөөр хэлбэл qmail -ийн хэрэглэх хавтас (шинээр ирсэн, устгаагүй mail файлууд).
$ /var/qmail/bin/maildirmake $HOME/Maildir
echo ./Maildir/ > ~/.qmail

$ /bin/su -
# /var/qmail/bin/maildirmake /etc/skel/Maildir;
# echo ./Maildir/ > /etc/skel/.qmail

# cp /var/qmail/boot/home /var/qmail/rc

# qmail-start ./Maildir splogger qmail

Sendmail суусан байгаа бол backup хийнэ.
# mv /usr/lib/sendmail /usr/lib/sendmail.bak
# mv /usr/sbin/sendmail /usr/sbin/sendmail.bak
# chmod 644 /usr/sbin/sendmail.bak
# ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
# ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail

TCP-SERVER install

# tar zxvf ucspi-tcp-0.88.tar.gz -C /usr/local/src
# cd /usr/local/src/ucspi-tcp-0.88
$ make
$ make setup check

Ccheckpasswd install

# tar zxvf checkpassword-0.90.tar.gz
# cd checkpassword-0.90
# make
# make setup
# make check

/etc/tcp.smtp
(dotor doorkh mayagaar IP zokhitsuulaltuudiig khiikh.)

192.168.1.:allow,RELAYCLIENT=""
127.:allow,RELAYCLIENT=""
172.17.1.:allow,RELAYCLIENT=""
xxx.yyy.zzz.sss:allow,RELAYCLIENT=""
..............

pbs4q install

# tar zxvf pbs4q-0.2.1.tar.gz
# cd /usr/local/src/pbs4q
# make
# make install

Linux achaalakh bolgond QMAIL start khiikhiin tuld "/etc/rc.d/rc.local" dotor nemelt khiine.

##start qmail
csh -cf '/var/qmail/rc &'

##qmail-smtpdl

/usr/local/bin/tcpserver -H -D -l xxxxx.ccccccc.com \
-x /etc/tcp.smtp.cdb \
-c 80 -u 903 -g 900 -v 0 smtp \
/usr/local/bin/rblsmtpd -r relays.ordb.org \
/usr/local/bin/pbs4q2_smtp \
/var/qmail/bin/qmail-smtpd \
2>&1 | /var/qmail/bin/splogger smtpd 3 &

##qmail-pop3d

/usr/local/bin/tcpserver -H -R -D -l xxxxx.ccccccc.com -c 80 -u 0 -g 0 \
-x /etc/tcp.smtp.cdb \
-v 0 110 \
/var/qmail/bin/qmail-popup \
dns-srv.win-group.co.jp \
/bin/checkpassword \
/usr/local/bin/pbs4q1 \
/var/qmail/bin/qmail-pop3d Maildir \
2>&1 | /var/qmail/bin/splogger pop3d 3 &

# shutdown -r now

За дуусав.

mount - Линукс системд файл систем нэмэх

Линукс системийн file tree -д шинээр төхөөрөмж (floppy, CDROM, USB ... диск төхөөрөмжүүд) нэмэхэд "mount" командыг ашиглана.
mount коммандын ерөнхий бичлэг :

# mount -t type device-name director-name
-t : файл системийн төрөл (ext2, ext3, iso9660, msdos, nfs, nfs4, ...)
device-name : Төхөөрөмжийн нэр
director-name : Төхөөрөмжрүү хандах зам

Дэлгэрэнгүй мэдээлэлийг : http://linux.die.net/man/8/mount

Зарим нэг жишээ :

CDROM
mount /mnt/cdrom

Уян диск
mount /mnt/floppy

USB flash диск төхөөрөмж
mount /dev/sda1 /mnt/usb

(Өргөн хэрэглэгддэг төхөөрөмж болон түүний файл системийн мэдээлэл системийн файл "/etc/fstab"-д хадгалагдсан байдаг тул дээрх байдлаар шаардлагатай параметерүүдыг бичихгүйгээр командыг амжилттай гүйцэтгэж болно)

"/dev/hda5" бүхий диск драйверыг EXT3 файл системээр нэмэх:
mount -t ext3 /dev/hda5 /mnt/d

"/dev/hda5" бүхий диск драйверыг FAT32 файл системээр нэмэх:
mount -t vfat /dev/hda5 /mnt/d

"/dev/hda5" бүхий диск драйверыг NTFS файл системээр нэмэх:
mount -t ntfs /dev/hda5 /mnt/d

Нэмсэн төхөөрөмжийг системээс хасах :
umount /dev/device-name
umount /mnt/device-dir

Хамгийн ихээр хэрэглэж буй USB flash диск төхөөрөмжийг хэрхэн нэмэхийг дэлгэрэнгүй бичвэл :

1. USB flash диск төхөөрөмжийг залга.
2. Системийн LOG бичлэгийн файл "/var/log/message" -ийг шалгах. Эндээс бид систем автоматаар шинэ төхөөрөмжийг
ямар төхөөрөмж гэж танисан болохыг харж болно. Доорх командыг ашиглана.

# tail /var/log/messages

3. Төхөөрөмжийн талаарх "sda:sba1, ..." мэдээллийг бид харах болно.
4. Олж авсан "sda1" төхөөрөмжийн нэрийг ашиглан USB flash диск төхөөрөмжийг систэмд нэмэх.
# mount /dev/sda1 /mnt/usb

5. "df" командаар нэмэгдсэн эсэхийг нь шалга.

DF

GZIP / TAR , Архив файлтай ажиллах

Линүкс үйлдлийн систем дээр "gzip, zip, tar, gunzip, unzip" зэрэг коммандуудаар архив файл үүсгэх ба архив файлыг задлана (compress /uncompress). Архив файлуудын ерөнхий форматууд : tar, shar, zip, tar.gz, tar.Z. Доорхи веб хуудаснаас дэлгэрэнгүй мэдээлэл аваараа.

http://www.gzip.org
http://linux.die.net/man/1/tar

Өөрийн гараар тест хийсэн гэдэг юмуу, байнга хэрэглэдэг гэхээр коммандууд бичвэл:

1. Архив файл задлах :

# tar -zxvf Аrchive-file.tar.gz
# tar -xvf Аrchive-file.tar
# gunzip ( Archive-file.tar.gz | tar xvf -
# gunzip ( Archive-file.tgz | tar xvf -

2. Архив файл үүсгэх :
# tar -zcvf Archive-file.tar.gz filenames/folder
# tar -cvf Archive-file.tar filenames/folder
# gtar cvzf Archive-file.tar.gz filenames/folder
# tar cvf - filenames/folder | gzip > Archive-file.tar.gz

3. Жишээнүүд
# tar -cjf Archive-file.tar.bz2 bar/
("*.tar.bz2" архив файл үүсгэх)
# tar -xjf Archive-file.tar.bz2 -C bar/
("*.tar.bz2" архив файл задлах)
# zcat Archive-file.tar.Z | tar xvf -
("*.tar.Z" архив файл задлах)
# unzip Archive-file.zip
("*.tar" архив файл задлах)

Анхаар :
gunzip "*.zip" архив файлыг задалж дийлэхгүй, unzip -ээр задлана.
"*.tar.gz, *.tar" архив файлуудыг MS Windows дээр задлахдаа PowerArchiver, Winrar зэргийг ашиглана.

Dual-Boot Linux and Windows 2000/Windows XP

1. Виндовс 2000/XР суулгана.
Виндовс суулгах явцад хатуу дискийг бэлдэхдээ (жишээ нь эхний sector-уудэд нь виндовс үйлдлийн системийг суулгахаар бодоод хуваа) Виндовс суулгах хэсэгээ тасалж аваад Линүкс суулгах хэсэгээ хуваалт (partition) хийхгүй үлдээнэ. Өөрөөр хэлбэл 100G хатуу диск байлаа гэхэд : Эхний 30G дээр нь Виндовс суулгана гээд хуваалт хийгээд үлдсэн 70G дээр нь Линүкс суулгана гэж бодоод тэр хэсэгээ сул орхино. Тэгээд Виндовс суулгах ажиллагааг цааш нь үргэлжлүүлнэ.

Виндовс суусан компьютер бол, Partition manage хийдэг програмаар (Norton PartitionMagic, гэх мэт) хард дискээ хуваагаад, Өөрөөр хэлвэл Линүкс суух хэсэгээ тасдаад л авна гэсэн уг.

2. Линүкс -ээ суулгана.
Линүкс суулгах явцад автоматаар урьд нь суусан Виндовс-ийг таниад давхар бүүт (dual booting) хийхээр зохион байгуулах ба давхар бүүт -ийг GRUB эсвэл LILO энэ 2-ийн аль нэгийг нь сонгоод (GRUB bootloader нь илүү гэж бодож байна) цааш үргэлжлүүлнэ. Бүүт сонголт хийсний дараа компьютер асаад ямар систем нь эхлээд ачаалахыг заана, заахгүй бол автоматаар Линүкс эхлэх болно. Гэхдээ компьютер асаад POST -ийн дараа Виндовс, Линүкс алийг нь сонгож болох цэс гарах ба эндээс алийг нь эхэлүүлэхээ сонгож болно.

3. Линүкс суулгах явцдаа хатуу дискийг автоматаар сонгож болно, мөн хэрэглэгч өөрөө хувааж бас болно. Хэрэглэгч өөрөө хуваалт хийх нь урд суулгасан системүүдийг гэмтээхгүй / дарахгуй байх сайн тал бий байх гэж бодож байна.

4. Линүкс суулгах ажиллагааг үргэлжлүүлнэ.

Иймэрхүү аргаар нэг компьютерт, нэг хатуу дискэнд хэдэн ч систем хамт суулгаж болох ба хамгийн гол нэг анхаарах зүйл бол хатуу дискний MBR (master boot record) -оос л суулгасан системүүдийг сонгох боломжтой тул олон линүкс суулгах явцад MBR -д нэг удаа л бүүт хийхээр сонголт хийх хэрэгтэй.

(GRUB -г хэрхэн зохицуулах талаар дараа бичнэ ээ.)

HOWTO Install Windows XP on MAC with Boot Camp

Саяханы нэг өдөр Mac үйлдлийн систем суусан Intel based зөөврийн компьютерт Windows XP суулгасан юм. Суулгасан дарааллыг энд тавьж байна. Ажилыг товчхон хэлвэл : (1) Одоо байгаа үйлдлийн системийг Mас OS X Leopard болгон сайжруулах, (2) Windows суухад зориулж хатуу дискийг хуваах, (3) Windows үйлдлийн системээ суулгах, (4) Windows -д зориулсан driver-үүдийг суулгах, (5) Boot (Суусан байгаа үйлдлийн системүүдийн сонголт) сонголт болон бусад ажлууд.

--------------------------
Ажлын систем :
- MacBOOK
- Intel Core 2 Duo processor
- OS : Tiger OS X 10.4.1
--------------------------

1. Mac Tiger OS -ийг Mас OS X Leopard болгон сайжруулах
(Mac Tiger OS дээр Windows суулгаж болохгүй гэнэ ээ.)
- Системийг эхлүүлэх
- "Mас OS X Leopard upgrade DVD" -г CD/DVD drvier-т хийж, идэвхжүүл
- Mас OS X Leopard -ийг суулгах үйл ажиллагаа, ...
- Leopard DVD -г гарган, системийг дахин ажиллуулах

2. Windows суулгахад зориулж хатуу дискийг хуваах
- "Applications"->"Utilities" гэсэн замаар "Boot camp Assistant" -ийг идэвхжүүлэх
- "Manage/create partition table" . . . , хатуу дискийг хуваах
Жишээ нь : 110G (нийт хэмжээ нь) = 50G (Mас -т үлдээгээд) + 60G (WINXP-д зориулан таслан авлаа.)
- Хатуу дискийг хуваасны дараа "Start Windows Instalation" гэсэн товчлуур бүхий дэлгэц солигдох болно.
- "Windows XP install CD" -г drivert хийгээд "Start installation" товчоор цааш ажлыг үргэлжлүүлнэ.

3. Windows XP үйлдлийн системийн суулгалт
- "Start install" товч дарсны дараа систем дахин ачаалах болно. Windows системээр эхлэх ба эндээс эхлээд бидний сайн мэддэг орчин болно доо.
- "Detection hardware, ... select partition/disk" . . . гээд эхэлдэг дээ.
- Хатуу диск сонгох хэсэгт "Select "C: Partition3 [FAT32]." -ийг сонго
- Дараагийн хуудасанд ороод "Format partition using the NTFS file system" гэдэг сонголтоор цааш үргэлжлүүл.

Анхаар: "Convert to NTFS ..." or "Leave current file system ..." гэдэг сонголтийг хийж үл болно.

- Сонгосон дискийг формат хийж Виндовс-ийн файлуудыг хуулах . . .
- Auto restart.
- Хатуу дискнээс Виндовс систем автоматаар эхлэх болно.
- Auto restart . . . auto configuration . . .
- Windows суулгах ажил дууслаа. "Windows install CD" -ийг CD drvier-аас гаргаж ав.

4. Windows XP төхөөрөмжийн driver -үүдийг суулгах
- "Mac OS Leopard upgrade DVD" -г дахин CD drvier-т хийнэ
- "Boot Camp Installation & Setup Guide.pdf" гэдэг файлыг унш.
- "D:\SETUP.EXE" -г идэвхжүүлж төхөөрөмжийн driver-уудыг бүгдийг нь зэрэг суулгах эсвэл "D:\Drivers" гэдэг сангаас төхөөрөмжийн driver-уудийг нэг нэгээр нь суулгаж бас болно.

---------------------

Анхаар :
1. MAC OS / Windows XP OS -ийг сонгохдоо төхөөрөмж АСААХ товч дарсны дараа "alt(option)" товчин дээр хэсэг дарж ДИСК-ний зураг бүхий дэлгэцийг хүлээнэ, . . . ямар дискнээс системийг ажиллуулахыг сонгоно.

2. Windows дээр CD/DVD-г driver-аас хэрхэн гаргаж авах :
"Explorer"-ийг нээж "DVD-RW Drvie(D:)" driver дээрээс хулганы зүүн товчоор туслах цэсэн дэх "Eject" -ийг сонго. Эсвэл "My Computer" -> D driver -ийг сонгоод "File" цэсний "Eject" -ийг сонго.

3. Default системийг сонгох :
- Mac OS X:
"System Preferences" -> "Startup Disk" гэсэн замаар нээгдсэн дэлгэцнээс систем автоматаар ямар үйлдлийн системийг эхэлж ачаалахыг нь сонго.
- Windows XP:
"Control panel" -> "Boot Camp" -> "Startup disk"
гэсэн замаар нээгдсэн дэлгэцнээс систем автоматаар ямар үйлдлийн системийг эхэлж ачаалахыг нь сонго.


VLC - the cross-platform media player and streaming server

VLC media player is a highly portable multimedia player for various audio and video formats (MPEG-1, MPEG-2, MPEG-4, DivX, mp3, ogg, ...) as well as DVDs, VCDs, and various streaming protocols. It can also be used as a server to stream in unicast or multicast in IPv4 or IPv6 on a high-bandwidth network. I tried to compile VLC with all main options.

Source web site: http://www.videolan.org/

-------------------------------------------
My system : RHEL 4 ES (kernel-2.6.9-5)
-------------------------------------------

Check following packages, if not installed, install from Internet and RHEL source CD:

# gettext-0.16.1-1-bin.tar.bz2
# tar xvjf gettext-0.16.1-1-bin.tar.bz2
# cd usr/local
# cp -rp * /usr/local/

Note: Copy source files after tar to related folder (it is for bootstrap from SVN source).

libgpg-error-1.0-1.i386.rpm
libgpg-error-devel-1.0-1.i386.rpm
libgcrypt-1.2.0-3.i386.rpm
libgcrypt-devel-1.2.0-3.i386.rpm

Checkout VLC from SVN server:
# svn co svn://jb@svn.videolan.org/vlc/trunk vlc-trunk
# cd vlc-trunk;
# ./bootstrap
.....
.....

Successfully bootstrapped

******************

Before compile VLC , we have to compile the following packages and libraries :

- x264
The x264 is a library to encode movies in H.264.
Source web site: http://www.videolan.org/developers/x264.html

# cd extras/
# svn co svn://svn.videolan.org/x264/trunk x264
# cd x264/
# ./configure (may be not need)
# make
# cd ..

Also, we installed a x264 from RPM package.
Because, we had error message "x264 librar not exist" during the configure VLC.
# rpm -ivh x264-0.0.0-0.4.20070529.el4.rf.i386.rpm
# rpm -ivh x264-devel-0.0.0-0.4.20070529.el4.rf.i386.rpm

- faac
The faac is a library to encode audio in AAC/MP4A
Source web site: http://www.audiocoding.com/

# tar -zxvf faac-1.26.tar.gz
# cd faac/
# dos2unix *
# patch -p1

Purpose of the patch:
- To avoid warning during bootstrap:

utoreconf: running: aclocal --force
configure.in:10: warning: underquoted definition of MY_DEFINE
run info '(automake)Extending aclocal'

or see http://sources.redhat.com/automake/automake.html#Extending-aclocal

- Error during configuring:

config.status: creating \
.infig.status: error: cannot find input file: \

Note: Source web site of patch: http://research.m1stereo.tv/wiki/index.php/Build_video_enc_env

- faad
The faad is a decoder, AAC (mpeg-4,mpeg-2)
Source web site: http://www.audiocoding.com/

# tar -zxvf faad2-2.6.tar.gz
# cd faad2/
# autoreconf -vif
# ./configure --with-mpeg4ip
# make; make install
# cd ..

- Lame
The lame is a encoder library MPEG Audio Layer III (MP3).
Source web site: http://lame.sourceforge.net/index.php

# tar xvf lame-3.97.tar.gz
# cd lame-3.97/
# ./configure;
# make; make install
# cd ..

- liba52 (a52dec)
The liba52 is a free ATSC A/52 stream decoder.
Source web site: http://liba52.sourceforge.net/

# tar -zxvf a52dec-snapshot.tar.gz
# mv a52dec-0.7.5-cvs liba52
# cd liba52
# ./configure
# make
# make install

Also, we installed a liba52 from RPM package.
Because, we had error message that the source tree not exist during the configure VLC.

# rpm -ivh a52dec-0.7.4-8.el4.rf.i386.rpm
# rpm -ivh a52dec-devel-0.7.4-8.el4.rf.i386.rpm

- ffmpeg
The ffmpeg is a multi-codec library
Source web site: http://ffmpeg.mplayerhq.hu/

# svn co svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
# cd ffmpeg
# ./configure --enable-gpl --enable-pp --enable-pthreads --enable-libmp3lame --enable-libfaac --enable-libfaad --enable-libx264 --enable-liba52
# make
# ldconfig
# ffmpeg -v
libavutil version: 49.5.0
libavcodec version: 51.46.0
libavformat version: 51.15.0
# cd ..

- live
The live is a streaming library.
Source web site: http://live555.com/

# wget http://live555.com/liveMedia/public/live555-latest.tar.gz
# tar xvf live555-latest.tar.gz
# cd live/
# ./genMakefiles linux
# make
# cd ..

- libmpeg2
The libmpeg2 is a MPEG2 video stream decoder.
Source web site: http://libmpeg2.sourceforge.net/

# tar zxvf mpeg2dec-0.4.1.tar.gz
# cd mpeg2dec-0.4.1
# ./configure
# make
# cd ..

Note: During the make, we hade path problem of the source tree.

# mkdir libmpeg2/.libs/.libs
# cp libmpeg2/.libs/libmpeg* libmpeg2/.libs/.libs/

- PortAudio
The portaudio is cross platform audio I/O library and it provide very simple API for recording and/or playing sound a simple callback function.
Source web site: http://www.portaudio.com/

# tar zxvf pa_stable_v19_061121.tar.gz
# cd portaudio
# ./configure
# make; make install

- Libgii
The LibGII is intended to be to input what our LibGGI library is to graphics.
Source web site: http://www.ggi-project.org/packages/libgii.html

# tar zxvf /root/vlc/libgii-1.0.2.src.tar.gz
# cd libgii-1.0.2/
# ./configure
# make; make install
# cd ..

- Libggi
The GGI stands for General Graphics Interface, and it is a project that aims to develop a reliable, stable and fast graphics system that works everywhere.
Source web site: http://www.ggi-project.org/

# tar zxvf /root/vlc/libggi-2.2.2.src.tar.gz
# cd libggi-2.2.2/
# ./configure
# make; make install
# cd ..

- wxWidgets
The wxWidgets gives that easy-to-use API for writing GUI applications on multiple platforms that still utilize the native platform's controls and utilities. Default skin of the VLC is developed by wxWidgets and library of GGI and GII.
Source web site: http://www.wxwidgets.org/

# tar zxvf /tmp/wxWidgets-2.8.6.tar.gz
# cd wxWidgets-2.8.6/
# ./configure --enable-unicode
# make; make install
# ldconfig

- Installing required RPM packages:
During the compile (./configure, make, make install), we have to install following packages which are enabled in configure.

Search and download RPM packages: http://rpm.pbone.net/

libshout-2.2-1.2.el4.rf.i386.rpm
libshout-devel-2.2-1.2.el4.rf.i386.rpm
libdvdcss-1.2.9-3.el4.at.i386.rpm
libdvdread-0.9.7-4.el4.at.i386.rpm
libdvdread-devel-0.9.7-4.el4.at.i386.rpm
libmad-0.15.1b-4.el4.rf.i386.rpm
libmad-devel-0.15.1b-4.el4.rf.i386.rpm
libcdio-0.77-1.el4.rf.i386.rpm
libcdio-devel-0.77-1.el4.rf.i386.rpm
libcddb-1.3.0-1.el4.rf.i386.rpm
libcddb-devel-1.3.0-1.el4.rf.i386.rpm
vcdimager-0.7.23-5.el4.rf.i386.rpm
vcdimager-devel-0.7.23-5.el4.rf.i386.rpm
libsndfile-1.0.17-1.el4.rf.i386.rpm
libsndfile-devel-1.0.17-1.el4.rf.i386.rpm
twolame-0.3.9-1.el4.rf.i386.rpm
twolame-devel-0.3.9-1.el4.rf.i386.rpm
SDL_image-1.2.4-2.el4.i386.rpm
SDL_image-devel-1.2.4-2.el4.i386.rpm
libopendaap-0.4.0-2.el4.rf.i386.rpm
libopendaap-devel-0.4.0-2.el4.rf.i386.rpm
libdca-0.0.5-1.el4.rf.i386.rpm
libdca-devel-0.0.5-1.el4.rf.i386.rpm
libraw1394-0.10.1-3.el4.i386.rpm
libraw1394-devel-0.10.1-3.el4.i386.rpm
libraw1394_8-1.2.1-9_10.el4.i386.rpm
libavc1394-0.4.1-4.el4.i386.rpm
libavc1394-devel-0.4.1-4.el4.i386.rpm
libiec61883_0-1.1.0-0_9.el4.at.i386.rpm
libiec61883-devel-1.1.0-0_9.el4.at.i386.rpm
libfreebob-1.0.0-3.el4.at.i386.rpm
libfreebob-devel-1.0.0-3.el4.at.i386.rpm
jack-audio-connection-kit-0.102.20-3.el4.at.i386.rpm
jack-audio-connection-kit-devel-0.102.20-3.el4.at.i386.rpm
zvbi-0.2.25-1.el4.rf.i386.rpm
zvbi-devel-0.2.25-1.el4.rf.i386.rpm
taglib-1.4-5.1.el4.at.i386.rpm
taglib-devel-1.4-5.1.el4.at.i386.rpm
libmusicbrainz-2.0.2-11.el4.test.i386.rpm
libmusicbrainz-devel-2.0.2-11.el4.test.i386.rpm
libdvbpsi-0.1.5-2.el4.rf.i386.rpm
libdvbpsi-devel-0.1.5-2.el4.rf.i386.rpm
fribidi-0.10.4-6.i386.rpm
fribidi-devel-0.10.4-6.i386.rpm

gnutls-1.0.20-3.i386.rpm
gnutls-devel-1.0.20-3.i386.rpm
hal-0.4.2-1.EL4.i386.rpm
hal-devel-0.4.2-1.EL4.i386.rpm
hal-gnome-0.4.2-1.EL4.i386.rpm
speex-1.0.4.4.i386.rpm
speex-devel-1.0.4.4.i386.rpm
speex-debuginfo-1.0.4-4.i386.rpm

mozilla-***-devel (Success version which I did: 1.7.12-1.4.2)
firefox-XXXXX

Note: Some time we had warning message if we not install following packages.

faad2-2.5-2.el4.rf.i386.rpm
faad2-devel-2.5-2.el4.rf.i386.rpm
portaudio-18_1-3.el4.at.i386.rpm
portaudio-debuginfo-18_1-3.el4.91.at.i386.rpm
lua-5.0.2-1.el4.rf.i386.rpm
lua-devel-5.0.2-1.el4.rf.i386.rpm

********************

- VLC compile

# mkdir linux
# cd linux
#
# ../configure --enable-snapshot --enable-debug --enable-dbus-control --enable-shared --enable-lirc --with-x509-ca-bundle=/etc/ssl/certs/ca-certificates.crt --with-live555-tree=../extras/live --with-ffmpeg-tree=../extras/ffmpeg --enable-taglib --enable-v4l --enable-cddax --enable-dvb --enable-vcdx --enable-realrtsp --enable-svg --enable-dvdread --enable-dv --enable-theora --enable-faad --enable-twolame --enable-real --enable-flac --enable-tremor --with-ffmpeg-mp3lame --with-faac --enable-ncurses --enable-aa --enable-caca --enable-esd --enable-portaudio --enable-jack --enable-xosd --enable-galaktos --enable-goom --enable-ggi --disable-cddax --disable-vcdx --disable-dirac --enable-x264 --disable-xvmc --enable-pvr --enable-loader --enable-audioscrobbler --enable-libcddb --enable-libcdio --enable-opencv --enable-nls --disable-notify --with-libmpeg2-tree=../extras/mpeg2dec-0.4.1 --disable-speex --disable-lua --disable-fluidsynth --disable-gnutls --disable-bonjour --enable-old-dbus --with-included-gettext --enable-skins2 --enable-wxwidgets --enable-mozilla
#
# make
# make install
# ldconfig

Note: For Mozilla and Firefox plugin manage:
# cp -rp mozilla/.libs*.so /root/.mozilla/plugin/
# cp -rp mozilla/.libs*.soT /root/.mozilla/plugin/

- Execute VLC

# vlc
# vlc test-movie.file

URL syntax:
[file://]filename Plain media file
http://ip:port/file HTTP URL
ftp://ip:port/file FTP URL
mms://ip:port/file MMS URL
screen:// Screen capture
[dvd://][device][@raw_device] DVD device
[vcd://][device] VCD device
[cdda://][device] Audio CD device
udp:[[]@[][:]]

Stream in HTTP:

* On the server, run:
# vlc -vvv /var/www/html/hd/shuttle.mpg --sout udp://10.10.10.1 --ttl 12

* On the client(s), run:
# vlc udp://@:1234

Using the HTTP, downloading video stream:

* On the server, start HTTP apache server:
# /etc/init.d/http start

* On the client(s), run VLC with video file:


VLS video player

How to create and use a patch in Linux

[diff: ] http://linux.about.com/library/cmd/blcmdl1_diff.htm
[patch:] http://linux.about.com/od/commands/l/blcmdl1_patch.htm

Creating a Patch File:

(Creating a patch file by single file)

# ls old/
myfile.c
# ls new/
myfile.c

# diff -Naur old/myfile.c new/myfile.c > my-patch

# more my-patch
--- old/myfile.c 2006-01-01 17:09:19.000000000 +0900
+++ new/myfile.c 2007-01-01 14:04:11.000000000 +0900
@@ -1,6 +1,6 @@
#include

-#define perror(s1, s2) printf("%s: %d \n", (s1), (s2))
+#define perror(s1, s2) printf("%s: %s \n", (s1), (s2))

(Creating a patch file by folder)

# ls -ls
8 drwxr-xr-x 2 root root 4096 Aug 8 14:04 new
8 drwxr-xr-x 2 root root 4096 Aug 8 14:25 old

# diff -Naur old new > my-patch-byfolder

# more my-patch-byfolder
diff -Naur old/myfile.c new/myfile.c
--- old/myfile.c 2006-01-01 17:09:19.000000000 +0900
+++ new/myfile.c 2007-01-01 14:04:11.000000000 +0900
@@ -1,6 +1,6 @@
#include

-#define perror(s1, s2) printf("%s: %d \n", (s1), (s2))
+#define perror(s1, s2) printf("%s: %s \n", (s1), (s2))

The first symbol of each line (+, -, and a blank):

(+) would indicate that this line is to be added.
(-) would indicate that this line is to be removed.

************************

Applying a Patch:

Just change to the correct directory and give the patch command.

# patch -p0

Levels (-p0,-p1, ...etc) in the Patch Command:

# patch -p0

The -p option will optionally strip off directory levels from the patch-file.

- Using a -p0 will expect, from your current working directory, to find a subdirectory called "new", then the "myfile.c" file below that.
- Using a -p1 will strip off the 1st level from the path and expect to find "myfile.c" in the current working directory.
Patch will ignore the "new" directory mentioned in the header of the patch-file.
- Using a -p2 in this example, patch probably would not patch anything.

Starting SVN server with xinetd

Subversion home :
http://svn.subversion.com/
Subversion document folder:
http://subversion.tigris.org/servlets/ProjectDocumentList

-------------------------------------
My system : Redhat EL4 Linux with kernel 2.6.9
-------------------------------------
1. Check/install svn packages

# svn
svn
svnadmin
svnversion
.....

# which svn
/usr/bin/svn

# which svnserve
/usr/bin/svnserve

2. Adding svn new user
# adduser svnversion

3. Create config file "/etc/xinetd.d/svnserve"
# vi /etc/xinetd.d/svnserve

#
# Subversion server
# service svnserve
{
socket_type = stream
protocol = tcp
user = subversion
wait = no
disable = no
server = /usr/bin/svnserve
server_args = -i -r /home/svn
}
.... save

4. Restart xinetd

5. Create repository
# su subversion% svnadmin create /usr/local/svn/my-projects

6. Change config file "../SVN/rep../conf/svnserve.conf"
# vi /home/svn/my-rep../conf/svnserve.conf

[general]
anon-access = readwritenone (default read)
auth-access = readwritenone (default write)

# /etc/init.d/xinetd restart

Sample subversion commands

SVN:Subversion Source Code Management System :
http://svn.subversion.com/
Subversion document folder:
http://subversion.tigris.org/servlets/ProjectDocumentList
-------

Get info on particular folder or file

# svn info
# svn info myfile.c

List folder:
# svn ls -v svn://address/branches/myfolder

Create new folder on the SVN server, branches folder:
# svn mkdir -m "Make dir ... mesages" svn://address/branches/myfolder

Copy local folder to SVN server, branches folder:
# svn copy -m "Copy ... messages" myfolder svn://address/branches/myfolder
(copy from/to repository)
# svn copy -m "Copy ... messages" svn://address/branches/myfolder svn://address/branches/myfolder/myfile.c

Delete current folder/files:
# svn delete -m "delete ... messages" svn://address/branches/myfolder
# svn delete -m "delete ... messages" svn://address/branches/myfolder/myfile.c
# svn rm -m "delete ... messages" svn://address/branches/myfolder/myfile.c
# svn rm -m "delete ... messages" myfile1.c myfile2.c

Display log message of the current folder, files
# svn log svn://address/branches/myfolder/
# svn log svn://address/myfolder/myfile.c
(from working folder/checkout folder)
# svn log myfile.c
# svn log -r RANGE_NO

Download current folder,files from SVN repository
# svn export svn://address/branches/myfolder myfolder

Checkout folder -> Change -> Commit it to SVN repository
# svn checkout svn://address/branches/myfolder ./myfolder
# vi myfile.c
# svn commit -m "Commit ... messages"

Examine your changes/Show your modifications
# svn diff myfile.c
(between myfile.c and current revision of myfile.c)
# svn diff (diff for all files)
# svn diff -r 114 (diff between revision 114 and local working folder file)
# svn diff -r 114:115 (diff between revisions 114 and 115)

Examine/display SVN status
# svn status -u (-u, -v : more information)
# svn status -u -v

HOW-TO compile the Linux kernel

There are common three reasons for a recompile a kernel.

1. You have some new hardware that your current kernel of linux distributuion could not detect it.
(You want to add kernel module of the new hardware)
2. You may have come across some kind of bug which is fixed in a revision of the operating system.
3. You may have some new software which requires a newer version of the operating system.

*****************
1. We can download the new kernel source and new patches from the Linux kernel archive web site. Web : http://www.kernel.org

2. Check the current kernel packages:

# rpm -qa | grep kernel*
Or
# uname -a

3. Preparing for Kernel update
Before build new kernel, you need to install Qt, Qt-devel and Qt-config which are used "make xconfig". If you do not need to use xconfig, do not to do this step.
# rpm -ivh qt*.rpm
or
(If you use Redhat distribution, you can use up2date command.)
# up2date qt
# up2date qt-config
# up2date qt-devel

To check installed QT packages
# rpm -qa | grep qt
qt-devel-xxxx
qt-config-xxxx
qt-xxxx

****************
Compile the Linux kernel (from RPM package)

4. Obtain the kernel source "kernel-.src.rpm" file from one of the following sources:
- The SRPMS directory on the appropriate SRPMS CD iso image.
- The FTP site where you got the kernel package.
- By running the command "up2date" (if you use redhat linux)

# up2date --get-source kernel

5. Install kernel source (kernel-.src.rpm) using the command "rpm".
# rpm -Uvh kernel-.src.rpm

This writes the RPM contents into "/usr/src/redhat/SOURCES" and "/usr/src/redhat/SPECS".

6. Prepare the kernel sources using the command "rpmbuild".
# cd /usr/src/redhat/SPECS
# rpmbuild -bp --target $(arch) kernel-2.6.spec
Here :
--target $(arch) - current system architecture (exm: i386, etc.)

The kernel source tree will be located in the "/usr/src/redhat/BUILD/kernel-" directory.
To move the resulting "linux-" directory to the "/usr/src" tree.
# cd /usr/src/redhat/BUILD/
# mv linux- /usr/src/
# cd /usr/src
# ln -s ./linux- linux
# cd /usr/src/linux

7. The configurations for the specific kernels find from the "configs/" directory.
For example, the i386 SMP configuration file is named "configs/kernel--i386-smp.config".
Issue the following command to place the desired configuration file in the proper place for building:

# cp configs/xxxxx .config
We can also find the ".config" file that matches current kernel configuration in the "/lib/modules//build/.config" file.

8. Every kernel gets a name based on its version number which displayed the output of command "uname ?r".
The kernel name is defined by the first four lines of the kernel Makefile.
You have to edit the kernel Makefile.
Example, If command "uname -r" returns the string "2.6.9-5", we changed the EXTRAVERSION definition from this:
EXTRAVERSION = -pre
to this:
EXTRAVERSION = -5_NEW

9. Change old kernel configuration (.config) to new configuration.
# make oldconfig
"oldconfig" which is read the defaults from an existing .config and rewrite necessary links and files.
Note that oldconfig will only work within the same major version of the kernel.
# make xconfig

"xconfig" is an X Window based frontend. It requires the Tcl/Tk, QT development tools and X libraries to work.

10. To configure and build the kernel
# make all

11. Build modules
# make modules_install
# make install

Note: The command "make install", it will create following files in the "/boot" folder and configure the boot loader configuration file.
"vmlinuz-",
"initrd-.img",
"System.map-"

****************
Compile the Linux kernel (from TAR package)

4. Obtain the kernel source "kernel-.tar.gz" file from Linux Kernel archives or other Kernel mirror site.
# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.13-5.tar.gz

5. Unpack the kernel source file (kernel-xxx.tar.gz or kernel-xxx.tar.bz2) using the command "tar".
# tar -xvfz kernel-xxx.tar.gz
# tar -xvfj kernel-xxx.tar.bz2

6. To move the result "linux-" directory to the "/usr/src" tree.
# mv linux- /usr/src
# cd /usr/src/
# ln -s ./linux- linux
# cd /usr/src/linux

7. The configurations for the specific kernels find from the "configs/" directory.
For example, the i386 SMP configuration file is named "configs/kernel--i386-smp.config".
Issue the following command to place the desired configuration file in the proper place for building:

# cp configs/xxx .config
We can also find the ".config" file that matches current kernel configuration in the "/lib/modules//build/.config" file.

8. Every kernel gets a name based on its version number which displayed the output of command "uname ?r".
The kernel name is defined by the first four lines of the kernel Makefile.
You have to edit the kernel Makefile.
Example, If command "uname -r" returns the string "2.6.9-5", we changed the EXTRAVERSION definition from this:
EXTRAVERSION = -pre
to this:
EXTRAVERSION = -5_NEW

9. Change old kernel configuration (.config) to new configuration.
# make oldconfig

"oldconfig" which is read the defaults from an existing .config and rewrite necessary links and files.
Note that oldconfig will only work within the same major version of the kernel.
# make xconfig

"xconfig" is an X Window based frontend. It requires the Tcl/Tk, QT development tools and X libraries to work.

10. To configure and build the kernel
# make all

11. Build modules
# make modules_install
# make install

Note: The command "make install", it will create following files in the "/boot" folder and configure the boot loader configuration file.
"vmlinuz-",
"initrd-.img",
"System.map-"

Enjoy youtube video : "How to compile linux kernel"


Note: Using this manual, I compiled following Linux distribution/Kernel :
- Redhat 9 , kernel 2.4.20 -> 2.4.20
- RHEL 4 , kernel 2.6.9-5 -> 2.6.(10,11,12,13,14,15,16,17)
- SUSE Linux 10.0 , kernel 2.6.13 - 2.6.13
- Fedora 4/5/6 , kernel 2.6.X -> 2.6.X

XINE free video player
(GNU and for Linux, FreeBSD, Solaris, Windows, ... )

Линукс үйлдлийн систем дээр нээх асуудал үүсгээд байхгүйгээр суугаад, ажлаад байдаг, бас тэгээд ихэнх видео форматуудыг дэмждэг гайгүй сайн видео тоглуулагчийн нэг бол XINE юм.

Web : http://xinehq.de/

1. XINE болон сангуудыг суулгах

# cd xine-lib 1.1.4
# ./configure
# make
# make install

( skinned xlib-based gui )
# cd xine-ui 0/99.4
# ./configure
# make
# make install

2. Mozilla Firefox веб хөтлөгчийн XINE plugin "xine-plugin" суулгах:
# cd xine-plugin 1.0
# ./configure
# make
# make install
# cp ~/.mozilla/plugins/xineplugin.* /usr/lib/mozilla/plugins/
(Note: "/usr/lib/" - зөвхөн миний тохиолдолд)

3. Програмыг эхлүүлэх
# xine
# xine 'http://URL/sumo.wmv'
# xine 'file://file-path/sumo.wmv'
# xine 'DVD://VTS_01_1.VOB'

XINE media player

(Note: Энэхүү суулгах аргыг хэрэглэсэн систем:
RHEL4 and SUSE 10.0 linux.)

HOW-TO Install Madwifi, Linux device driver for wireless LAN chipsets from Atheros

Madwifi is project provides a Linux kernel device driver for Atheros chipset based Wireless LAN device. We have Madwifi-old, Madwifi-ng and official release Madwifi-0.9.x drivers.
Web :
http://www.madwifi.org/
http://www.madwifi.net/

-----------------------------------------
My system :
- RHEL 4 with kernel 2.6.9-5 and 2.6.13-5
- SUSE Linux 10.0 with kernel 2.6.13
Wireless driver : Madwifi-ng , Madwifi-old , Madwifi-0.9.2
Wireless device : ATERM WL54AG
-----------------------------------------

Зайлшгүй шаардагдах нөхцөл:
- GCC compiler collection
- Ашиглаж буй системийн цөм (kernel)-ийн эх код ("source -> /usr/src/linux-XXXXX" байдлаар холбоос үүссэн байх.)
- Ашиглаж буй системийн цөмд "Wireless Extensions" дэмжигдсэн байх.

1. Download the Madwifi wireless driverCheckout current Madwifi driver (madwifi-ng) from madwifi.org with subversion
# cd /usr/local/src
# svn list http://svn.madwifi.org/trunk
# svn checkout http://svn.madwifi.org/trunk madwifi-0.9.2
or
# svn checkout http://svn.madwifi.org/branches/madwifi-old

2. Compile Madwifi driver
# cd madwifi-ng
# make
# make install

3. After compile, Madwifi drivers are loaded at: /lib/modules/`uname -r`/net
# ls -ls /lib/modules/`uname -r`/net
ath_hal.ko
ath_pci.ko
ath_rate_sample.ko
wlan_acl.ko
wlan_ccmp.ko
wlan.ko
wlan_scan_ap.ko
wlan_scan_sta.ko
wlan_tkip.ko
wlan_wep.ko
wlan_xauth.ko

4. Installing Madwifi modules
We need to use the countrycode option (exm: Japan = 392) when loading the madwifi driver.
# modprobe ath_pci countrycode=392
# lsmod
. . . . . . . . .
ath_pci 110628 0
ath_rate_sample 13056 1 ath_pci
wlan 199004 6 wlan_scan_sta,ath_pci,ath_rate_sample
ath_hal 189008 5 ath_pci,ath_rate_sample
. . . . . . . . .

5. To make this happen during boot, add the following to modprobe config file “/etc/modprobe.conf”.
options ath_pci countrycode=392 (Japan:392)

6. Configuring device (athX) interface
- Wireless network interface name : "ath0"
- Operation mode = master/station/adhoc
- Channel = between 1 and 14
- ESSID = "TEST"

- Destroy madwifi device which detected automaticly
# wlanconfig ath0 destroy

- Create new madwifi-ng driver
# wlanconfig ath0 create wlandev wifi0 wlanmode ap

- ESSID , channel, ... setup
# iwconfig ath0 essid CAP11 channel 3

- Network IP, Netmask, ... setup
# ifconfig ath0 192.168.61.1 broadcast 192.168.61.255 netmask 255.255.255.0 up

7. Display wireless network Interface configuration

Display network interface configuration
# ifconfig ath0

Display wireless network interface configuration
# iwconfig ath0

8. Some usefull commands to display wireless information
# cardctl ident
Socket 0:product info: "NEC AccessTechnica, Ltd.", "AtermWL54AG(PA-WL/54AG)", "1.0", " "manfid: 0x0010, 0x0012function: 6 (network)

# lspci
...........
05:02.0 CardBus bridge: Ricoh Co Ltd RL5c475 (rev 80)06:00.0 Ethernet controller: Atheros Communications, Inc. AR5212 802.11abg NIC (rev 01)

HOW-TO Install Host AP driver for Intersil Prism2/2.5/3

Host AP is a Linux driver for Intersil Prism 2/2.5/3 chipset based wireless network card. More information and current version of Host AP driver and hostap-utils can be acquiring following site: http://hostap.epitest.fi/

------------------------------------
My system :
- RHEL 4 with kernel 2.6.9-5 and 2.6.13-5
- SUSE Linux 10.0 with kernel 2.6.13
Wireless driver : Hostap-driver-0.4.7.tar.gz
Hostap-Util : Hostap-utils-0.4.7.tar.gz
Wireless card : PLANEX GW-CF11X
------------------------------------

1. Building Host AP driver.

# tar -zxvf hostap-driver-0.4.7.tar.gz
# cd hostap-driver-0.4.7

We have to change Makefile before compile Host AP driver. Edit the kernel path “KERNEL_PATH” in Makefile to math current system. Our case, we compiled kernel from the path “/usr/src/linux (KERNEL_PATH=/usr/src/linux).
# make
# make install

2. Add hostap modules to kernel.
# modprobe hostap_pci
or
# modprobe hostap
# modprobe hostap_cs

3. Check the kernel modules list.
# lsmod grep hostap
hostap_pci 67609 0
hostap 121096 1 hostap_pci
or
# lsmod grep hostap
hostap_cs 75288 3
hostap 141192 1 hostap_cs
pcmcia 42548 9 hostap_cs

4. After load the Host AP modules, we need to add wireless network PCMCIA card model information into config file (/etc/pcmcia/hostap_cs.conf). Identify the current plugged wireless card.
# cardctl ident
Socket 0: product info: "PLANEX COMMUNICATIONS INC.", "PLANEX GW-CF11X Wireless CF Card", "", ""
manfid: 0xd601, 0x0010
function: 6 (network)

5. Add following string into config file "/etc/pcmcia/hostap_cs.conf".
card "PLANEX GW-CF11X Wireless CF Card"
manfid 0xd601, 0x0010
bind "hostap_cs"

6. Installing Hostap-utils
Unpack the package and run the “make all” to build Hostap-utils.
# tar -zxvf hostap-utils-0.4.7.tar.gz
# cd hostap-utils-0.4.7
# make all

Copy following files to "/usr/bin" folder after built Hostap-utils.
- hostap_crypt_conf
- hostap_diag
- hostap_fw_load
- hostap_io_debug
- hostap_rid
- prism2_param

7. Check the wireless card
# iwconfig wlan0

Wifi0 IEEE 802.11b ESSID:""
Mode: Managed . . . . . .

wlan0 IEEE 802.11b ESSID:""
Mode: Managed . . . . .

8. THE END

HOW-TO install Orinoco wireless driver

The Linux Orinoco Driver supports a wide range of wireless network interface cards implementing 802.11b standard.

---------------------------------------------
My system :
- Redhat 9 Linux with kernel 2.4.20
- Wireless card :“BUFFALO WLI-CF-S11G”.

---------------------------------------------

1. Download and compile "orinoco" wireless PCMCIA card driver.
Download site : http://sourceforge.net/projects/orinoco

# tar xvfz orinoco-0.15rc2.tar.gz
# cd orinoco-0.15rc2
# make all
# make install

# /etc/init.d/pcmcia restart

2. Check the card type.
# cardctl ident
Socket 0: product info: "BUFFALO", "WLI-CF-S11G", "", ""
manfid: 0x026f, 0x030b
function: 6 (network)

3. Add following string inside the config file "/etc/pcmcia/config".
card "Buffalo WLI-CF-S11G"
manfid 0x026f, 0x030b
bind "orinoco_cs"

4. Restart PCMCIA
# /etc/init.d/pcmcia restart

5. Check the list of installed modules, command : "lsmod" You can see module column "orinoco*"
# lsmod
....
orinoco_cs .........

6. THE END