2011年4月6日 星期三

Change GRUB's default boot setting to windows

  • watch windows menuentry name
$ cat /boot/grub/grub.cfg

   ...
   menuentry "Microsoft Windows XP Professional (on /dev/sda1)" {
   ...



  • change GRUB_DEFAULT
$ sudo vi /etc/default/grub

   GRUB_DEFAULT="Microsoft Windows XP Professional (on /dev/sda1)"



  • update grub.cfg
$ sudo update-grub

2011年4月5日 星期二

Git 簡單指令使用

* 建立git database
$ git init

* 建立第一個進度點/版本(commit)
$ git add .
$ git commit -m "initial"

* 比對
$ git diff master
* 產生patch
$ git diff master > xxx.patch

* 放棄修改, 恢復到目前的commit
$ git checkout -f

* 列出commit
$ git log --pretty=oneline

14b26e3e80941f8290019f63231fb8b03ff805c1 initial


* 給予標籤
$ git tag -a v0.1  14b26e



========================================
* 使用patch
patch -p1 < xxx.patch

2011年3月31日 星期四

A problem about the character 0xD is be changed to 0xA

== LF/CR issue with RS232 in Linux ==

stty -F /dev/ttyS0 -onlcr
stty -F /deb/ttyS0 -icrnl


2011年3月11日 星期五

Redirect stderr to file

IO index is:
1 is stdout
2 is stderr

===Redirect stderr to 'log.txt' file===

$ someprogram  2> log.txt

===Redirect stderr to stdout===

$ someprogram 2>&1 | less

===Redirect stderr and stdout to a file===

$ someprogram &> log.txt

2011年2月25日 星期五

Enable telnetd service

  • Install package
for Ubuntu or debain
# sudo apt-get install xinetd telnetd
or
for Angstrom Distribution
# opkg install netkit-telnet xinetd

  • Edit /etc/xinetd.conf


# vi /etc/xinetd.conf

defaults
{
        instances = 60
        log_type = SYSLOG authpriv
        log_on_success = HOST PID
        log_on_failure = HOST
        cps = 25 30
}
includedir /etc/xinetd.d


  • Edit /etc/xinetd.d/telnet

# vi /etc/xinetd.d/telnet

service telnet
{
        disable = no
        flags = REUSE
        socket_type = stream
        wait = no
        user = root
        # server = /usr/sbin/in.telnetd
        server = /usr/sbin/telnetd
        log_on_failure += USERID
}

  • Execute xinitd service
# /etc/init.d/xinetd restart

2011年1月18日 星期二

SDIO clock

You can find the command for setting sdio clock

mmc_sdio_init_card() in /drivers/mmc/core/sdio.c


2011年1月17日 星期一

wireless and bluetooth modules

insmod /lib/modules/2.6.32/kernel/net/rfkill/rfkill.ko
insmod /lib/modules/2.6.32/kernel/net/wireless/cfg80211.ko
insmod /lib/modules/2.6.32/kernel/net/wireless/lib80211.ko
insmod /lib/modules/2.6.32/kernel/net/wireless/lib80211_crypt_ccmp.ko                                        
insmod /lib/modules/2.6.32/kernel/net/wireless/lib80211_crypt_tkip.ko                                        
insmod /lib/modules/2.6.32/kernel/net/wireless/lib80211_crypt_wep.ko
insmod /lib/modules/2.6.32/kernel/net/mac80211/mac80211.ko


insmod /lib/modules/2.6.32/kernel/net/rfkill/rfkill.ko                        
insmod /lib/modules/2.6.32/kernel/net/bluetooth/bluetooth.ko
insmod /lib/modules/2.6.32/kernel/drivers/bluetooth/btmrvl.ko
insmod /lib/modules/2.6.32/kernel/drivers/bluetooth/btmrvl_sdio.ko

2011年1月16日 星期日

insert bluetooth driver to linux kernel

//for bluez tools
opkg install libbluetooth2
opkg install bluez-utils
opkg install bluez-utils-compat

//for bluetooth driver
insmod kernel/net/rfkill/rfkill.ko
insmod kernel/net/bluetooth/bluetooth.ko
insmod kernel/net/bluetooth/bt8xxx.ko

2011年1月14日 星期五

To create a image file for new space

// create a 1G image file
# dd if=/dev/zero of=1G.img bs=1M seek=1024 count=0

# ls -l 1G.img
-rw-r-r- 1 root  root  1048576000 Mar 25 15:32 1G.img

# du -m 1G.img

//format the 1G image file as ext3 format
# sudo mkfs.ext3 -L LABELIMAGE ./1G.img

# sudo mount -t ext3 ./1G.img /mnt/image -o loop

Necessary packages for wpa-supplicant

Necessary packages as below for wpa-supplicant in Angstrom

wpa-supplicant-passphrase
wpa-supplicant
  libgpg-error0
  libgcrypt11
  libgnutls26
  libgnutls-extra26
    libgpg-error0  *
    libc6  *

Commands for build linux kernel

make CROSS_COMPILE=arm-none-linux-gnueabi- distclean
make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm ema3530_lks_defconfig
make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm omap3_beagle_defconfig

make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm
make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm uImage
make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm modules
sudo make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm INSTALL_MOD_PATH=../modules_2.6.32 modules_install

cp ./arch/arm/boot/uImage /media/LABEL1
sudo cp -r ../modules_2.6.32/lib/modules/* /media/LABEL2/lib/modules

Commands for build Marvell 8688 driver

# for build wifi driver
make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm KERNELDIR=/home/wnc/source/ema/linux-03.00.00.03
make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm KERNELDIR=/home/wnc/source/ema/linux-03.00.01.06
make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm KERNELDIR=/home/wnc/source/linux-omap-src/linux-omap-2.6
make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm KERNELDIR=/home/wnc/source/linux-omap-src/beagleboard/linux





Program image to flash

* 0x00000000-0x00080000 : "X-Loader"
* 0x00080000-0x00260000 : "U-Boot"
* 0x00260000-0x00280000 : "U-Boot environment data"
* 0x00280000-0x00680000 : "Kernel"
* 0x00680000-0x08000000 : "File system" for 128MB
* 0x00680000-0x10000000 : "File system" for 256MB


mmc init
fatload mmc 0:1 80000000 MLO
nandecc hw
nand erase 0 80000
nand write.i 80000000 0 80000

mmc init
fatload mmc 0:1 80000000 u-boot.bin
nandecc sw
nand erase 80000 160000
nand write.i 80000000 80000 160000

mmc init
fatload mmc 0:1 80000000 uImage
nandecc sw
nand erase 280000 400000
nand write.i 80000000 280000 400000

// for 128M flash
mmc init
fatload mmc 0:1 84000000 rootfs.jffs2
nandecc sw
nand erase 680000 7980000
nand write.i 84000000 680000 D40000



// for 256M flash
mmc init
fatload mmc 0:1 84000000 rootfs.jffs2
nandecc sw
nand erase 680000 F980000
nand write.i 84000000 680000 D40000


2011年1月5日 星期三

Ubuntu/Linux 下使用UART console/terminal

Ubuntu/Linux 下使用UART console/terminal

1. 下載minicom
sudo apt-get install minicom

2. 設定minicom
sudo minicom -s

2.1. 修改Modem 的通訊設定(Serial port setup),將Baund rate 設為 115200,資料位元設為 8,無同位元,停止位元設為 1 (Bps/Par/Bits:115200 8N1), 硬體Flow控制為off,
指定連接 Console的序列埠 (Serial Device);其中/dev/ttyS0表示 COM1,/dev/ttyS1為 COM2、/dev/ttyUSB0為 USB to UART

2.2. 接著修改Modem 的撥接設定(Modem and dialing), 將Init string 和Reset string 都設為空白

2.3. 儲存設定(Save setup as df1)