블로그 전문 “이글루스”에 오신 것을 환영합니다.

블로그 전문 “이글루스”에 오신 것을 환영합니다.
새로운 보금자리, 이것저것 어색한 것이 많으시죠?
포털블로그와는 다른, 이글루스만의 기능, 이글루스의 특징을 소개해드립니다.

이글루스는 블로그전문을 지향합니다.
2004년, 첫 발을 내디딘 이글루스는 국내 최초 트랙백 을 도입하여 블로그전문 서비스로 입지를 다졌습니다. 관심사를 공유할 수 있는 ‘ 밸리’와 ‘마이’, 문화체험의 새로운 경험 ‘렛츠리뷰’, 국내 최고 메신저 네이트온 연동으로 더욱 새로운 블로깅, 독보적인 블로거가 되세요!

첫째, 공감하는 글이 있다면, 트랙백핑백을 이용하세요!
기존 포털 블로그에서 사용하던 스크랩기능 대신 트랙백과 핑백을 사용해보세요~
관심사가 비슷한 블로거를 만날 수 있는 방법입니다!

둘째, 일촌, 친구, 이웃 등 오프라인 인맥 위주의 ‘친구맺기’ 기능이 필요하시면!
이글루스에서 제공하는 이글루링크를 추천해드립니다.
이글루링크를 하시면, 해당 블로거의 새글 업데이트 소식을 실시간으로 받아볼 수 있습니다.

셋째, 카테고리별 공개/비공개 설정을 지원하지 않습니다.
이글루스는 자신이 작성한 글을 더 많은 블로거들과 나눌 수 있도록 참여와 공유를 지향합니다.
카테고리별 공개/비공개 기능은 현재 마련되어 있지 않으나 추후 필요성을 검토해보도록 하겠습니다.

넷째, 도움이 필요할 땐, EBC 와 이글루스도움말 을 찾아주세요.
이글루스를 이용하시다 발견되는 버그나 오류, 그리고 요청사항은 운영자 공식블로그 EBC 를, 이글루스의 기능과 운영정책을 알고 싶으시다면 이글루스 도움말을 방문하세요!

※ 공지사항을 지우고 싶은 경우, 포스트의 ‘삭제’를 클릭하면 지워집니다.
※ 삭제 버튼은 한 번만 누르세요. 여러 번 클릭 시 다른 글이 삭제될 수도 있습니다.

by koohyun | 2009/03/04 06:20

[펌]구형 TV Card 살리기

구형 TV 수신 카드를 사용하다가 포맷한 후 TV 수신 프로그램이 없어 TV를 수신하지 못하거나 TV 수신 카드 제조사가 문을 닫아 더이상 수신 프로그램을 공급받지 못해 TV 수신을 하지 못하는 경우가 있습니다.
이때에는 꼭 해당 수신 카드의 프로그램이 아니더라도 TV 수신을 할 수 있는 프로그램이 있는데 오픈소스 형태로 제공되어 무료로 제공이 되는 dscaler, ChrisTV 등이 있습니다.
오픈소스 프로젝트에 의해 개발되어져 무료이나 영문으로 프로그램이 제공되기 때문에 약간의 영문 메뉴를 이용하실 수 있어야 하나 쓸 수 없게 된 구형 TV 수신 카드를 해당 제작사의 프로그램 없이도 사용할 수 있다는 장점이 있습니다.
드라이버지원 중단된 BT8x8(bt848 , bt878)계열 TV카드. 범용프로그램설치하기

BT8x8계열에 대하여 한번 알아 봅시다.
일반적으로 티비카드 메인칩으로 브룩트리사의 BT848로서 PCI 푸시와 디코딩,오버레이
,동영상캡쳐, X-Y인터폴레이션,기능을 모두 담당하고 있다. 이후 브룩트리사가 코넥센트에
인수되고 스테레오 기능과 캡션기능이 추가된 BT878이 출시되고 있습니다.

먼저 예전에 출시되었지만 드라이버지원이 중단된 시그마티비,태근의 챈스튜너등 기타..
이런 카드를 가지고 계신다면 버리고 최근것을 구할 필요가 없습니다.
어차피 동일한 칩셋을 사용하기 때문에 최신거라고 성능개선이 있는게 아닙니다.
전부 대동소이 하기 때문이죠.
범용드라이버와 구동프로그램만 구하면 윈도우즈XP나 리눅스에서도 티비시청이 가능합니다.

먼저 티비카드에 사용되어지는 튜너를 확인해야합니다.
일반적으로 필립스나 삼성,엘지 또는 알푸스 튜너를 주로 사용합니다.
저의 경우 보유한 티비카드가 옴니미디어의 옴니비젼팝(BT848구형,삼성튜너),태근의 챈스튜너(BT848신형,BT878A 필립스튜너)
3개를 보유하고 있습니다. 그럼 먼저 드라이버를 구해야합니다.
http://btwincap.sourceforge.net/
일반적으로 장치관리자에 3개의 장치가 인색되야하고 첫째로 bt8x8 video capture,
둘째로 bt8x8 WDM Crossbar,셋째로 bt8x8 WDM TVtuner가 설치되어야 하는데 여기서 세번째가 자기 티비카드의 튜너기종을 알아야한다
이미 알고 있다면 요즘 출시되는 티비카드의 드라이버중 자기기종과 동일한 것을 찾아서 다운로드 받아서 설치하면 된다.
본인의 경우 챈스튜너는 튜너드라이버는 태근에서 배포하는 윈2000용 드라이버를 사용하니 무난히 작동했다.
이제 드라이버 설치는 마쳤다.
근데 구동프로그램이 없다고 걱정한다면 참으로 간단한 문제다.
정말로 구하기 쉽기 때문이다.
보통 PowerDVD로 유명한 Cyberlink사의 PowerVCR이나 WinDVD로 유명한 인터비디오사의 WinDVR,
그리고 오픈소스로 제공하는 DSCALER가 있고 마지막으로 본인이 적극 추천하는 ChrisTV가 있다.

먼저 상용인 PowerVCR은 역시 사이버링크에 만들어서 그런지 기능이 참으로 다양하다.
하지만 인터페이스가 그다지 직관적이지 않고 단순히 티비시청만 하는 사용자에게는 어수선한 분위기이다.
그리고 본인이 테스트한 바로는 드라이버와 충돌로 한번씩 프로즌현상이 발생했었다.

다음은 WinDVR이 있다. 사용하기도 편리하고 인터페이스도 직관적으로 만들어서 쉽게 알수 있었다.
하지만 치명적인 문제를 안고 있는데 화질이 정말 칙칙하게나온다. 예전 TV외화시리즈-(멕가이버)보면 왠지 모르게 뿌옇고
붉그스럼한 그런 느낌이다. 개인적으로 비추이다.현재 리비젼은 3.0이다
사용해볼려면 구입하거나 어둠의 경로로 다운받아야 할것이다

다음은 Dscaler인데 이놈이 정말 물건은 물건이다.
화질도 설정만 잘하면 정말 깨끟하다. 설치도 무지쉽다.
그렇지만 오픈소스라서 그런지 인터페이스가 윈도우창 메뉴바 형식이다.
그리고 초심자들이 쓰기에는 설정이 정말 복잡하다. 설정정하기에 따라서 티비카드의
최고의 화질도 끌어낼수 있지만 상황에 따라서는 최악의 결과도 나오고 다운도 일으킨다.
현재 5.0이 나와있고http://www.dscaler.org/로 바로다운 가능하다

마지막으로 필자가 적극추천하는 ChrisTV가 있다.
오프소스프로젝트인 Dscaler를 기반으로 사용자가 쉽게 사용할수 있도록 인터페이스를
많이 다듬은 듯 굉장히 직관적이다. 그리고 위져드기능으로 초심자도 따라가면 쉽게 설정도
가능하고 환경설정에서 세세하게 다눌수도 있다. 물론 화질도 Dscaler를 기반으로 했기에
정말깨끗하다. 적극 추천합니다.
http://www.chris-tv.com/
요기 가니까 프로그램 받을수 있네요..^^

by koohyun | 2008/11/21 14:25 | 기본 | 트랙백 | 덧글(0)

yaffs2올리기

linux2.6커널에 yaffs2올리기.

yaffs2 menuconfig

yaffs2는 정식 커널에 포함되어 있지 않다.

일단,

[Development]

Development

Current directory: [Development]
Files shown: 0

File Rev. Age Author Last log entry
yaffs/ 4 months charles *** empty log message ***(from WARNING-WARNING.txt/1.1)
yaffs2/ 4 days charles Better retirement and erasure checking.(from yaffs_guts.c/1.37)

Show files using tag:
Download tarball

위에서 Download tarball로 최신 yaffs2커널을 다운 받는다.

이제 압축을 풀고 yaffs2디렉토리로 들어가
$ ./patch-ker.sh /usr/src/linux-2.6.10/(컴파일할 커널 경로)
를 입력하면
커널옵션과 Makefile에 자동으로 yaffs2가 삽입된다.

그런다음 make menuconfig에서
File System -> Miscellaneous filesystems에 가면
위와 같은 yaffs2 커널옵션이 나타난다.

이제 커널 컴파일 하면 끝. ^_^/

넘넘 쉽당!


*끝*
출처: http://plan9blog.com/tt2/210

by koohyun | 2008/11/17 18:11 | Linux | 트랙백 | 덧글(0)

NFS 램디스크 마운트

NFS 램디스크 마운트 Linux
2008/10/30 19:22
u-boot 프롬프트까지 띄웠다면 u-boot 커맨드에 익숙해질때이다. u-boot 프롬프트 상에서 'help'를 타이핑하니 커맨드 목록이 약간의 도움말과 함께 디스플레이 된다.(나는 익숙하지 않다.) 다음과 같이 타겟의 네트웍 설정을 한다.
u-boot>setenv ethaddr 12:23:56:78:99:ab -> target MAC address
u-boot>setenv ipaddr 10.10.10.11 -> target IP
u-boot>setenv serverip 10.10.10.10 -> host IP
u-boot>saveenv -> 위 설정을 저장
u-boot>printenv -> 설정된 값 확인
u-boot>tftp 21400000 9260kernel.img -> host의 tftp 서버에 접속하여 타겟의 0x21400000 주소에 커널 이미지 다운
u-boot>tftp 21100000 9260ramdisk.gz -> host의 tftp 서버에 접속하여 타겟의 0x21100000 주소에 램디스크 이미지 다운
u-boot>bootm 21400000 -> 0x21400000 주소의 커널 시작
커널과 램디스크 이미지는 호스트의 /tftpboot 폴더에 위치하고 있다. 위 내용은 어느 리눅스 포팅 관련 책에서나 볼 수 있다. 여튼 9260-ek 관련 specific한 작업이므로 적어 보았다. 이렇게 하면 SDRAM에 다운 받은 리눅스 커널과 루트 파일시스템구동을 확인할 수 있다. 그러나 어플리케이션 개발 시 매번 램디스크 이미지를 만들어 네트웍을 통해 다운 받는 과정 보다는 NFS-mounted root filesystem을 사용하는것이 편하다고들 한다. (나도 초짜라 얼마나 어떻게 편한지는 아직 모르겠다) 그래서 NFS 환경을 구축하기로 했다.
호스트에서 NFS 서버를 구축하기 위한 자료를 찾아 설정을 하였다. 다음은 호스트에서 수행 된 일련의 작업이다.
1. 호스트의 NFS 서비스를 위해 portmap, rpc.mountd, rpc.nfsd 데몬이 수행되어야 한다. 다음 명령어로 RPC 원격 서비스를 위한
portmap 데몬을 수행한다.
$/etc/init.d/portmap start
2. NFS 서비스를 위해 rpc.mountd와 rpc.nfsd 두 데몬을 수행한다.
$/etc/init.d/nfs start
3. gz으로 압축된 타겟용 램디스크 이미지를 NFS가 가능하도록 호스트의 디렉토리에 압축을 풀고 마운트 해 놓는다.
$gunzip 9260ramdisk.gz
$mkdir /mnt/TargetRamdisk
$mount -o loop 9260ramdisk /mnt/TargetRamdisk
$chmod -R 777 /mnt/TargetRamdisk
사용이 끝나면
$umount /mnt/TargetRamdisk
$gzip 9260ramdisk
4. 3번 항목에 설정 된 디렉토리를 NFS 서버와 연동하기 위해 정보 세팅을 두가지 방법 중 하나로 수행한다.
/etc/exports 파일에 text 기반으로 정보를 세팅하거나 XWindow에서 Desktop->System Settings->Server Settings->NFS
선택하여 GUI로 설정한다. (호스트의 상용 리눅스마다 경로가 틀릴 수 있다.)
마운트될 디렉토리 클라이언트주소 옵션
/mnt/TargetRamdisk 10.10.10.11 *(rw,sync)
5. /etc/exports 파일 설정 후 NFS 데몬 재실행을 해야 설정된 정보로 서비스가 수행된다.
$/etc/init.d/nfs restart
6. 호스트 리셋 시 NFS 데몬 자동 수행을 위해 ntsysv나 chkconfig 명령어를 이용하여 세팅을 해 놓는다.
$ntsysv
pop-up된 옵션창에서 nfs와 portmap 선택한다. 또는
$chkconfig --level 345 nfs on
$chkconfig --list
우~왕 팔아프다. 리눅스 책 보면 다 나오는 내용인데...여튼 문제(?)는 이제 부터이다.
일반적으로 포팅 관련 된 책자에는 타겟에서 호스트에 구축된 루트파일시스템에 마운트하기 위한 커맨드가 소개되어 있다. 무지했던 나는 이해가 가질 않는다. 커널만 다운 받아 어떻게 NFS를 사용하는가~ 루트파일 시스템이 정의되지 않은 커널은 부팅하자마자 panic 상태가 되는데...ㅋㅋ 상용으로 제공되는 레퍼런스 보드의 커널들은 이미 NFS 관련된 커널 설정이 포함되어 제공되기 때문에 특별히 언급을 하지 않는것 같다. 또한 커널의 부트 옵션에 대해서도~ 이쪽 분야의 엔지니어에게는 기본상식이었나 보다. 여튼 나는 커널 설정 메뉴에서 NFS 관련 모듈을 포함하겠다고 선택을 한 뒤 커널 컴파일을 다시 해야 된다는 사실을 알았다. 그리고 커널의 부트옵션과 u-boot의 bootargs의 역할까지도~
호스트의 타켓 커널 소스 폴더에서
$make ARCH=arm menuconfig ($make ARCH=arm gconfig or xconfig etc.을 사용해보자)
하여 커널 메뉴 화면을 띄운다. 여기서 File systems -> Network File systems 항목에 들어가
<*> NFS file system support
[*] Provide NFSv3 client support
[*] Root file system on NFS
체크 한뒤 Boot option에 가보자. default kernel command란에 값은 다음처럼 기록되어 있다.
(mem=64M console=ttyS0,115200 initrd=0x21100000, 17000000 root=/dev/ram0 rw)
이 값을 변경하여 커널이 수행될 시 NFS가 되도록 할 수 있으나 아래와 같은 이유로 변경하지 않았다. 부트로더는 커널 수행을 위해 몇가지 정보를 제공해야 되는데 아래와 같은 방법들이 사용될 수 있다.
1. u-boot 프롬프트 상에서 setenv bootargs ~ -> 동적인 방법
2. u-boot 헤더파일의 #define CONFIG_BOOTARGS ~ -> 정적인 방법
3. 커널의 메뉴구성 중 default kernel command string -> 정적인 방법
당연 동적인 방법을 선택해야 하며 위 순번이 곧 우선순위를 갖기 때문에 1, 2번이 없을 경우 3번으로 수행된다. 따라서 커널 메뉴상의 부트옵션 값은 그대로 두고 u-boot의 bootarags 파라미터에 NFS 수행을 위한 정보를 입력하기로 했다. 일단 커널을 컴파일 한다. (다시 읽어 보니 뭔말인지 의도한바와 기술한바가 약간 엇박자)
$make ARCH=arm CROSS_COMPILE=arm-softfloat-linux-gnu-
$mkimage -A arm -O linux -C none -T kernel -a 20008000 -e 20008000 -n linux-2.6 -d arch/arm/boot/Image 9260kernel.img
mkimage는 u-boot에 의해 bootable 한 이미지를 생성하도록 하는 툴이다. 옵션이 길지만 의미는 직관적이다. 차례로 적어 보면 "Architecture는 arm, OS는 linux, Compression은 none, 이미지 Type은 kernel, 로딩될 address는 20008000, entrypoint는 20008000, 이미지 name은 linux-2.6, 이미지 data를 /arch/boot/Image를 사용해라" 이다.
이렇게 해서 일단 NFS 가능한 커널 이미지가 준비 되었다. 이제 다시 u-boot로 돌아가 보자. 좀전에 이야기 했듯이 우선순위가 1위이며 동적인 방법인 u-boot bootargs를 이용하여 커널에 nfs 정보를 전달하도록 하겠다. 다음과 같이 u-boot bootargs 파라미터 값을 입력한다.
u-boot>setenv bootargs root=dev/nfs rw nfsroot=10.10.10.10:/mnt/TargetRamdisk ip=10.10.10.11:10.10.10.10:10.10.10.1:255.255.255.0::eth0:off console=ttyS0,115200 mem=64M
위 세팅값의 의미는 다음과 같다. 타겟마운트위치 속성 nfsroot=서버ip:서버nfs디렉토리 ip=타겟ip:서버ip:gateway:subnetmask
이렇게 하면 NFS 접속이 가능하도록 컴파일 된 커널이 초기 수행 시 부트로더로 부터 전달 받은 정보를 이용하여 NFS로 루트파일 시스템을 마운트하게 된다. 다음과 같은 u-boot 파라미터의 세팅으로 타이핑의 수고를 완전히 덜 수 있다.
u-boot>setenv bootcmd tftp21400000 9260kernel.img\;bootm 21400000
이제 타겟보드는 시스템 리셋과 함께 자동으로 u-boot 수행 후 tftp로 커널 이미지를 sdram에 다운 받고 호스트에 구축된 NFS로 마운트 할 수 있게 된다. 8Mbyte의 데이타플래쉬에 커널을 사전에 writing하고 bootcmd를 이용하여 진행하는 방법도 있으나 길어진다. 사실 지금은 점심시간이다. 원래는 낮잠을 자곤 했는데 이왕 시작한 블로그 잘 해보려고 지금 열심히 작성 마무리 했다. 초두에 말했듯이 리눅스 초짜이다. 하지만 이러한 정보를 통해 많은 이들에게 조금이나마 도움이 되길 바라는 맘으로 개인시간을 조금은 포기했다. 아니 내 자신을 혹독하게 훈련시키고 있는지도 모르겠다.
다음 포스트에서는 커널, 패치 획득과 빌드, 램디스크 활용에 대해 기술하도록 하겠다. 지금 고민은 64Mbyte의 nand 플래쉬를 어떤 파일 시스템으로 적용하는가이다. yaffs란 것이 성능과 안정성이 좋다고 하는데 ㅋ 이걸 어떻게 적용해야 되는지 무쟈게 또 공부해야 될 것 같다.

by koohyun | 2008/11/06 15:40 | Linux | 트랙백 | 덧글(0)

YUV Player

PYUV: Raw video sequence player

Introduction

During my research activity, I have to deal sometimes with raw sequences that must be source encoded before being transmitted, let's say, with DVB-T. Of course, there are a number of players out there, but not so many are capable to display the raw sequence before it has been encoded. In terms of rawness, such sequences can be either in native RGB format or, more often, in YUV format.
There are some specially crafted players which can satisfy your needs, but many of them are designed only for Windows, thus keeping out all Linux users. Well, I hope that this new player that I'm introducing here can satisfy all the needs:
  • It plays RGB and YUV sequences
  • It runs under Windows and under Linux
  • It is not written in Java or .NET, so it is extremely fast
  • It uses wxWidgets as GUI, making it consistent with your preferred environment
  • It is free: you can use it for your purposes without any sort of restriction

Help

Read the help to learn the capabilities of this program.

Download

Download it from here.

Screenshots

I have some screenshots to show to you.

Startup screen (left = windows, right = linux)



Playing a CIF sequence (left = windows, right = linux)



Playing an HD sequence (top = windows, bottom = linux)

Other YUV players

by koohyun | 2008/10/27 17:15 | Linux | 트랙백 | 덧글(0)

◀ 이전 페이지다음 페이지 ▶