2011-02-28

android rooting후 /system에 write권한 주기

$ mount  -- 파티션 확인
$ mount -o rw,remount -t yaffs2 파티션 /system  -- remount

2011-02-27

javah 의 classpath 옵션 사용

아래는 javah에서 확인한 classpath옵션의 help 메뉴얼이다.

Usage: javah [options] <classes>
where [options] include:
        -classpath <path>     Path from which to load classes
javah -classpath <path> <classes> 형태로 사용가능하다.
이때 <path> 뒤에 세미콜론(;)을 추가해줘야 한다.

30분 삽질하고 알아낸 정보... ㅠㅠ

2011-02-19

PES의 PTS구하기

PES_header의 stream_id가 다음 조건을 충족할때 PTS_DTS_flags가 활성된다.
[조건]
  stream_id != program_stream_map
  && stream_id != padding_stream
  && stream_id != private_stream_2
  && stream_id != ECM
  && stream_id != EMM
  && stream_id != program_stream_directory
  && stream_id != DSMCC_stream
  && stream_id != ITU-T Rec. H .222.1 type E_stream
PTS_DTS_flags는 2bits flag이며, 10 혹은 11 값을 가질때 PTS가 존재한다.

나머진 문서 참조.

참조문서 ISO/IEC 13818-1-01 1994

2011-02-18

cygwin에서 sshd 설치하기

os : windows xp sp3

http://www.cygwin.com/ 에서 cygwin을 다운 받아 설치할수 있으나 현 버젼 설치 실패
http://x.cygwin.com/ 에서 cygwin/x를 다운 받아 설치했다.

1. cygwin 설치시 net > openssh를 같이 설치한다.

2. 다음 명령을 입력한다.
# ssh-host-config -y

2-1설치시 디렉토리나 파일에 대한 권한에 대해 에러메시지가 나면 해당권한을 준다.
ex) chmod +x /var

3. sshd를 설정한다.
# vi /etc/sshd_config

4. windows의 user, group 권한을 cygwin에서 사용가능하게 설정한다.
# mkpasswd -l > /etc/passwd
# mkgroup -l > /etc/group

5. sshd를 실행한다.
# cygrunsrv -S sshd
혹은
제어판-관리도구-서비스 에서 "CYGWIN sshd" 를 실행한다.

6. windows의 방화벽을 풀어준다.
기본 22번 port이다.  3.에서 port번호를 변경했을시 그에 맞는 port를 풀어준다.

[Windows] WDK(Windows Driver Kit ) 다운로드

예전에 윈도우 드라이버를 개발하기위해서는 DDK(Driver Development Kit)라는 것을 썼었으나
비스타 이후로는 WDK(Windows Driver Kit)를 사용한다.


다운로드나 자세한 정보를 보는것은 아래 주소에서 가능하다
http://www.microsoft.com/whdc/devtools/wdk/WDKpkg.mspx

[Android] Android 에뮬를 위한 SD카드 이미지 만들기

cygwin에서 Android 에뮬에 동영상을 올리기위한 SD카드 이미지를 만드는데 실수한부분이 있어서 적어봤다.

mksdcard명령을 통해 sd 카드 이미지를 만들수 있다.

usage: mksdcard [-l label] <size> <file>
if <size> is a simple integer, it specifies a size in bytes
if <size> is an integer followed by 'K', it specifies a size in KiB
if <size> is an integer followed by 'M', it specifies a size in MiB

<size>에 들어갈 단위는 Bytes, KB, MB뿐이다. 그런데 8GB가 필요해서 8G로 입력하는 실수를 했었다.

그런데 멍청하게도 명령어의 메뉴얼을 찾을 생각을 못해서 한참 헤맸다.

결국 아래 명령을 사용하여 SD카드 이미지를 만들긴했지만 기본적인것을 하지않아서 삽질한게 부끄럽다.

$ mksdcard 8192M test.img

CentOS bridge 설정하기

본글은 아래 사이트를 참고하여 작성되었다.
http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5.4/html/Virtualization_Guide/sect-Virtualization-Network_Configuration-Bridged_networking_with_libvirt.html

준비.
bridge name은 br0를 사용한다.
br0에 포함될 interface로 eth2, eth3를 사용한다.
# yum install bridge-utils  << brctl 설치

1. bridge 설정
  bridge 설정방법은 brctl를 이용하는방법과 ifcfg를 이용하는 방법 두가지가 있다.
1-1) brctl를 이용하는방법
# brctl addbr br0 << bridge 생성
# brctl addif br0 eth2 << br0에 eth2 추가
# brctl addif br0 eth3 << br0에 eth3 추가
# ifconfig eth2 down
# ifconfig eth3 down
# ifconfig eth2 0.0.0.0 promisc up
# ifconfig eth3 0.0.0.0 promisc up
# ifconfig br0 0.0.0.0 promisc up

1-2) ifcfg를 이용하는방법 - 실행시 자동 설정
# cd /etc/sysconfig/network-scripts << ifcfg가 있는 경로로 이동
# vi ifcfg-br0 << 파일 수정
+--ifcfg-br0----+
| DEVICE=br0 |
| ONBOOT=yes |
| TYPE=Bridge |
| PROMISC=yes |
+---------------+
# vi ifcfg-eth2 << 파일 수정
+--ifcfg-eth2---+
| DEVICE=eth1 |
| ONBOOT=yes |
| BRIDGE=br0 |
| PROMISC=yes |
+---------------+
# vi ifcfg-eth3 << 파일 수정
+--ifcfg-eth3---+
| DEVICE=eth2 |
| ONBOOT=yes |
| BRIDGE=br0 |
| PROMISC=yes |
+---------------+
# /etc/init.d/network restart << network restart
promisc mode가 제대로 안됨.. 아래 명령을 실행
# ifconfig eth2 0.0.0.0 promisc up
# ifconfig eth3 0.0.0.0 promisc up
# ifconfig br0 0.0.0.0 promisc up

1-1) 혹은 1-2) 설정을 한후 ifconfig를 한결과
# ifconfig
br0       Link encap:Ethernet  HWaddr 00:26:B9:47:43:47
          inet6 addr: fe80::226:b9ff:fe47:4347/64 Scope:Link
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:9000  Metric:1
          RX packets:121354 errors:0 dropped:0 overruns:0 frame:0
          TX packets:25 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:160850600 (153.3 MiB)  TX bytes:4912 (4.7 KiB)
eth0      Link encap:Ethernet  HWaddr 00:26:B9:47:43:45
          inet addr:192.168.10.199  Bcast:192.168.10.255  Mask:255.255.255.0
          inet6 addr: fe80::226:b9ff:fe47:4345/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5404 errors:0 dropped:0 overruns:0 frame:0
          TX packets:759 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:421517 (411.6 KiB)  TX bytes:150503 (146.9 KiB)
          Interrupt:106 Memory:d6000000-d6012800
eth2      Link encap:Ethernet  HWaddr 00:26:B9:47:43:47
          inet6 addr: fe80::226:b9ff:fe47:4347/64 Scope:Link
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:9000  Metric:1
          RX packets:26256 errors:0 dropped:0 overruns:0 frame:0
          TX packets:210 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:35736896 (34.0 MiB)  TX bytes:27169 (26.5 KiB)
          Interrupt:114 Memory:d8000000-d8012800
eth3      Link encap:Ethernet  HWaddr 00:26:B9:47:43:49
          inet6 addr: fe80::226:b9ff:fe47:4349/64 Scope:Link
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:9000  Metric:1
          RX packets:210 errors:0 dropped:0 overruns:0 frame:0
          TX packets:22708 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:27169 (26.5 KiB)  TX bytes:30894808 (29.4 MiB)
          Interrupt:122 Memory:da000000-da012800
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:7272 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7272 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:572211 (558.7 KiB)  TX bytes:572211 (558.7 KiB)

2. iptables설정 - bridge forwarding 시키기 (iptable를 사용안하면 필요없다.)
# iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT
# service iptables save
# service iptables restart
# vi /etc/sysctl.conf
   net.ipv4.ip_forward = 1 << 이부분 수정
# sysctl -p /etc/sysctl.conf

3. 확인
# tcpdump -i eth2
# tcpdump -i eth3
를 하여 패킷이 정상적으로 forwarding 되는지 확인해본다.

4. 기타
그래도 안된다면 다음 명령을 실행해본다.
# service NetworkManager stop