테스트 환경
SH4 target board / i686 linux machine

아래의 화면은
./configure --build=i686-linux --host=i686-linux --target=sh4-linux
옵션으로 크로스컴파일된 insight의 Run 메뉴화면이다.


아래의 화면은
./configure
옵션으로 i686용으로 컴파일된 insight의 Run 메뉴화면이다.


음.. 크로스 컴파일 된녀석만 메뉴상에 별도로 Connect to target이 생기고
로컬용으로 컴파일 된녀석은 메뉴상에 Attach to process가 생기는 것으로 보인다.


About GDB 다이얼로그 차이점

<< sh4 , i686 >>
About 다이얼로그의 내용은 gdb 에서 show version으로 나오는 정보이며

가장 아래줄의
This GDB was configured as "i686-pc-linux-gnu".
This GDB was configured as "--host=i686-linux --target=sh4-linux".
만 다르게 나온다.


Attach to Process 메뉴화면

Posted by 구차니
검색을 해보니, arm 용으로 크로스 컴파일 하는 문서가 있다.

# ./configure --build=i686-linux --host=arm-linux --target=arm-linux --prefix=/nfsroot/gdb
# ./configure --build=i686-linux --host=i686-linux --target=arm-linux --prefix=$PWD/build
[링크 : http://blog.daum.net/joell/11772014]

일단 gdb는 두번을 컴파일 해야 한다.
target 에서 native 하게 돌아갈 gdb와 (위)
host 에서 target architecture에 맞추어 돌아갈 gdb. (아래)

그리고 prefix 경로는 /usr 을 넣어주는게 좋을듯 하다. (설치를 하면서 보니 prefix가 usr 경로를 의미하는 것으로 보인다)

--- gdb/gdbserver
# ./configure --build=i686-linux --host=sh4-linux --target=sh4-linux --prefix=/home/morpheuz/st7109/target
# make
# make install
n=`echo gdbserver | sed 's,^,sh4-linux-,'`; \
        if [ x$n = x ]; then n=gdbserver; else true; fi; \
        /bin/sh ./../../mkinstalldirs /home/morpheuz/st7109/target/bin; \
        /usr/bin/install -c gdbserver /home/morpheuz/st7109/target/bin/$n; \
        /bin/sh ./../../mkinstalldirs /home/morpheuz/st7109/target/man/man1; \
        /usr/bin/install -c -m 644 ./gdbserver.1 /home/morpheuz/st7109/target/man/man1/$n.1

Posted by 구차니
드물게(?) 크로스컴파일을 시도하려다 다시 지우고 컴파일을 하려고 하면 안되는 경우가 있다.
아래는 gdb/insight의 경우인데, 특이하게도 하라는대로 해도 안된다. ㄱ-

configure: loading cache ./config.cache
configure: error: `target_alias' has changed since the previous run:
configure:   former value:  sh4-linux
configure:   current value: i686-pc-linux-gnu
configure: error: changes in the environment can compromise the build
configure: error: run `make distclean' and/or `rm ./config.cache' and start over

이녀석은 make distclean 해도 하위 디렉토리의 config.cache를 개별로 지우지 않기 때문이다.
(음... 알려줘서 원 소스에 넣도록 해야하나?)

미봉책으로는
# make distclean
# find ./ -name config.cache -exec {} \;
를 하면 하위 디렉토리에서 config.cache를 찾아 지우므로 해결된다.

'프로그램 사용 > make, configure' 카테고리의 다른 글

make를 조용하게  (0) 2014.09.12
cmake 사용  (0) 2011.10.07
cmake - cross make  (0) 2010.04.06
makefile 에서 컴파일할 목록 생성하기  (0) 2010.04.03
makefile 정렬하기  (2) 2010.03.31
Posted by 구차니

예전에는(불과 한달전!) content가 feed - content 였는데 이제는 바뀌어서
feed - media:group - media:description에 들어있다.

2010/04/09 - [프로그램 사용/유튜브(youtube)] - youtube xml / RSS 주소

Posted by 구차니
구버전의 Portable Ubuntu를 쓰시는분은 신버전인
Portable Ubuntu Remix version TRES로 갈아 타시기 바랍니다!

Thursday, April 1st, 2010

Portable Ubuntu Remix version TRES released!

Changes:

  • Ubuntu 9.10 (Karmin Koala).
  • Colinux 0.80 (Kernel 2.6.33).
  • Root filesystem with 3.7 Gb.
  • Cygwin 1.7.
  • Cygwin/X.
  • Fixed configuration of the keyboard layout.
  • Optative graphics effects.
  • Fixed init scripts.

[링크 : http://portableubuntu.demonccc.com.ar/en/news]

제가 사용하던 구버전인 8.10(?) 의 경우
켜지는데 60초(1분)
꺼지는데 14초가 걸린 반면

TRES의 경우 (9.10)
켜지는데 26초
꺼지는데 5초가 걸렸습니다.


ㅆㅂ 이거슨 혁명이여 ㄱ-



사족 : 테스트 플랫폼 [센트리노 1.2Ghz / 1GB / TC-1100]
Posted by 구차니
smi 파일을 파싱할일이 생겨서 대충 훑어 보는데
아무리 봐도 열고닫기가 잘안되있어서 안될꺼 같았는데

의외로 엉뚱한 부분에서 진행이 안된다.

$ ./smi.o
not well-formed (invalid token) at line 9

<SAMI>
<HEAD>
<Title> Produced by CCMP produced by CineCaption </Title>
<STYLE TYPE="text/css">
<!--
P { margin-top:2pt; margin-bottom:2pt; margin-left:8pt; margin-right:8pt;
    text-align:center;
    font-size:20pt; font-family:arial, sans-serif; font-weight:normal; color:white; }
.KRCC { Name:한글; lang:ko-KR; SAMIType:CC;}
.ENCC { Name:영어; lang:en-US; SAMIType:CC;}
#STDPrn { Name:보통;}
#LargePrn { Name:크게; font-size:25pt;}
#SmallPrn { Name:작게; font-size:15pt;}
-->
</Style>

9 line은 .KRCC 라는 부분인데 시작부터 막히는구나.. ㅠ.ㅠ
Posted by 구차니
프로그램 사용/GIMP2010. 5. 1. 19:07
사진을 찍다보면 삐뚜러진 사진이 나오기도 하는데
평행하게 사진을 회전하고 싶을 경우가 있다.
물론 노가다성으로 Rotate 해도 되지만, 편하게 하려면 현재 사진의 각도를 측정하고 그걸 토대로 돌리면 된다.

Step 1. 도구상자에서 측정 도구를 선택한다.

Step 2. 원하는 지점 두개를 드래그를 해서 선을 긋는다.(주의 : 클릭은 위치만 옮겨진다)

Step 3. 상태표시줄에 표기된 값을 본다.
           상태표시줄에서는 두 지점의 거리, 각도 그리고 두 개 지점을 포함하는 사각형의 크기가 나타난다.
           (캡쳐를 위해 alt를 누르면 Step 2의 상태표시줄 처럼 사용법이 출력된다 OTL)

[링크 : http://docs.gimp.org/en/gimp-tool-measure.html]

'프로그램 사용 > GIMP' 카테고리의 다른 글

gimp에서 raw 파일 읽어 들이기  (0) 2010.08.09
HDR with GIMP  (0) 2010.05.27
gimp 에서 색상 변경이 안될경우  (0) 2010.02.25
GIMP로 움직이는 GIF 만들기  (0) 2010.01.13
GIMP로 투명 이미지 만들기(GIF)  (0) 2010.01.13
Posted by 구차니

꼬부기에서 Tag/ Branch를 누르면 위와 같이 경고를 출력한다.
내가 사용중인 소스(Working copy)에 변경점이 있고, 서버와 버전이 동일하지 않기 때문에
변경점이 손실될수도 있다는 내용이다.

CVS에 비하면 부드러운 메시지이나(CVS는 서버와 workin copy가 동일하지 않으면 tag 자체를 시도할수 없다.)
어떤면에서는 CVS처럼 강인하게 변경점이 있으면 할수 없도록 하는 것도 나쁘진 않다고 생각된다.

하지만, 자유도 측면에서 서버내용을 독립적으로 분기할수 있다는 점은 상당한 매력이다.

'프로그램 사용 > Version Control' 카테고리의 다른 글

Apache + SVN on Ubuntu 10.04  (0) 2010.11.03
visualSVN  (0) 2010.09.09
cvs2svn 사용방법 2  (0) 2010.04.23
svn / svnadmin 도움말  (0) 2010.04.23
CVS / SVN 장단점, 차이점 비교  (6) 2010.04.07
Posted by 구차니
프로그램 사용2010. 4. 28. 15:31
linux에서 간단하게 APM을 설치할수 있는 패키지로 xampp라는 녀석이 있다.
물론, 독립적으로 실행이 되기 때문에, perl 등의 경로가 자기 자신의 것으로 바뀌어서 조금 고생했다.

xampp 설치
공식홈페이지에서 최신버전을 다운받는다.(리눅스 버전으로)
그리고 아래와 같이 압축을 해제후, 실행을 해주면 된다.
# wget http://www.apachefriends.org/download.php?xampp-linux-1.7.3a.tar.gz
# tar xvfz xampp-linux-1.7.3a.tar.gz -C /opt
# cd /opt/lampp
# ./lampp start

cvsweb 설치
공식홈페이지에서 최신버전을 다운받는다.
# ls -al
total 256
-rw-r--r-- 1 root root  43440 Sep 26  2005 ChangeLog
drwxr-xr-x 2 root root   4096 Jul 21  2004 css
-rw-r--r-- 1 root root   3074 Jul 21  2004 css/cvsweb.css
-rw-r--r-- 1 root root 126583 Sep 26  2005 cvsweb.cgi
-rw-r--r-- 1 root root  22990 Jun 19  2005 cvsweb.conf
-rw-r--r-- 1 root root    910 Aug 21  2004 cvsweb.conf-freebsd
-rw-r--r-- 1 root root   1286 Aug 21  2004 cvsweb.conf-netbsd
-rw-r--r-- 1 root root    864 Aug 21  2004 cvsweb.conf-openbsd
-rw-r--r-- 1 root root    407 Aug 21  2004 cvsweb.conf-ruby
drwxr-xr-x 2 root root   4096 Feb 15  2004 enscript
drwxr-xr-x 2 root root   4096 Aug  2  2003 icons
-rw-r--r-- 1 root root  10080 Jan 22  2005 INSTALL
-rw-r--r-- 1 root root   4030 Sep 26  2005 NEWS
-rw-r--r-- 1 root root   6724 Sep 26  2005 README
drwxr-xr-x 2 root root   4096 Oct 10  2003 samples
-rw-r--r-- 1 root root   1356 Nov  1  2004 TODO

이 파일을 아래 명령어로 복사해준다.
# cp cvsweb.cgi /opt/lampp/cgi-bin/
# cp cvsweb.conf /usr/local/etc/cvsweb
# cp -r css/ /opt/lampp/htdocs/

그리고 perl 모듈중 필요로 하는 아래의 세개를 받은후, 압축을 해제하여
# wget http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/URI-1.54.tar.gz
# wget http://search.cpan.org/CPAN/authors/id/B/BO/BOXZOU/String-Ediff-0.09.tar.gz
# wget http://search.cpan.org/CPAN/authors/id/M/MA/MARKOV/MIME-Types-1.29.tar.gz

# tar xvf URI-1.54.tar.gz
# tar xvf String-Ediff-0.09.tar.gz
# tar xvf MIME-Types-1.29.tar.gz

개별 디렉토리에서 아래와 같이 make를 실행해준다.
# perl Makefile.pl
# make
# make install

여기서 경로를 /opt/lampp/lib 로 해주면 좋겠지만, 해보지 않았으니
일단 perl lib들을 위해
/opt/lampp/cgi-bin/cvsweb.cgi 의 94 라인즈음에
usr lib "/usr/lib/perl5/site_perl/5.8.8" 를 넣어준다. (use Cwd                   qw(abs_path); 이 내용 윗줄에)
5.8.8 은 FC6의 perl 버전으로 다른 버전을 사용한다면 버전확인후 수정해야 한다.


cvsgraph 설치하기
공식홈페이지에서 최신버전을 다운받는다.
그리고 아래와 같이 압축을 해제후, 컴파일을 한다.
# wget http://www.akhphd.au.dk/~bertho/cvsgraph/release/cvsgraph-1.7.0.tar.gz
# tar xvfz cvsgraph-1.7.0.tar.gz

FC6에서 설치하기 따라 다르지만, gd(Graphic Library)가 정상적으로 설치되었다면 어려움 없이 설치 될것이다.
# configure
# make
# make install

그리고 기본환경설정 파일을
# cp cvsgraph.conf /usr/local/etc/
로 복사해준다.(/etc로 해도 된다.)

cvs 경로
기본값으로는 /var/cvs로 되어있다.


enscript 설치
ecscipt는 문법강조를 해서 알록달록하게 보여주는 녀석이다.
공식홈페이지에서 다운로드 하여 설치한다.
# wget http://www.iki.fi/mtr/genscript/enscript-1.6.4.tar.gz
# tar xvfz enscript-1.6.4.tar.gz
# cd enscript-1.6.4
# ./configure
# make
# make install

소스에 syntax hilighting이 되지 않으니 가독성이 떨어진다.
enscript를 이용하여 syntax hilighting하여 보도록 변경하자.
다음 명령으로 자신의 시스템에 enscript가 설치되어 있는지 파악하라.

[링크 : http://www.superuser.co.kr/superuserboard/view.html?id=6585&code=linux&start=0&position=]

links
http://www.apachefriends.org/en/xampp-linux.html
http://www.freebsd.org/projects/cvsweb.html
http://www.akhphd.au.dk/~bertho/cvsgraph/
    http://www.libgd.org/Main_Page
        http://www.akhphd.au.dk/~bertho/cvsgraph/
        http://www.ijg.org/
Posted by 구차니
확인은 좀 해봐야겠지만, BOOTP와 TFTP의 연관관계가 궁금해졌다.

일단 bootp는 BOOTstrap Protocol의 약자이고
DHCP는 Dynamic Host Configuration Protocol의 약자이다.
TFTP는 Trivial File Transfer Protocol이며, FTP가 TCP로 전송하는데 반해, TFTP는 UDP를 사용한다.

BOOTP 역시 DHCP와 동일하게 IP를 주어주지만,
DHCP 와는 다르게, 부팅시에만 아이피를 주며 부팅이후에 아이피를 변경하는데 관여하지는 않는다.

아무튼 가장 궁금했던 bootp와 tftp의 연관은, 아래에 설명이 되어있다.

다음과 같이 2 단계 bootstrap 구성 프로세스를 설명합니다.

  • 클라이언트는 BOOTP 서버에 연결하여 주소를 결정하고 부팅 파일 이름을 선택합니다.
  • 클라이언트는 TFTP(Trivial File Transfer Protocol) 서버에 연결하여 부팅 이미지의 파일을 전송합니다.

[링크 : http://technet.microsoft.com/ko-kr/library/cc781243%28WS.10%29.aspx]
bootp는 아이피랑 부팅 파일을 알려주고
tftp를 통해 부팅 이미지 파일을 보내준다.

윈도우에서는 tftpd32 라는 프로그램이 tftp + bootp의 역활을 했기에 단일 프로그램으로 가능했지만
리눅스에서는 bootp + tftp 의 조합으로 해야할 것으로 보인다.

[링크 : http://d-i.alioth.debian.org/manual/ko.powerpc/ch04s05.html]

group {
         filename "Xncd19r";
         next-server ncd-booter;

         host ncd1 { hardware ethernet 0:c0:c3:49:2b:57; }
         host ncd4 { hardware ethernet 0:c0:c3:80:fc:32; }
         host ncd8 { hardware ethernet 0:c0:c3:22:46:81; }
       }

[링크 : http://www.daemon-systems.org/man/dhcpd.conf.5.html]

be BootP exclude tag list
   bf    Bootfile

bi BootP include tag list
   bs    Bootfile size in 512-octet blocks
   cf    Client FQDN
   cl    (DHCP) Client Identifier (unquoted hex string)

[링크 : http://www.net.princeton.edu/hostmaster/fieldInfo/bootptab.5.html]

머, dhcp에도 bootp에도 부팅용 파일을 설정하는 구문이 있는것 봐서는
dhcp + tftp 조합이나, bootp + tftp 조합으로 PXE를 진행하면 될것으로 추측된다.

'프로그램 사용 > PXE(네트워크 부트)' 카테고리의 다른 글

pxe boot  (0) 2023.06.21
DHCP hostname  (0) 2020.10.14
PXE 부팅하기  (0) 2010.04.25
PXE를 통한 우분투/XP 설치  (0) 2009.12.09
Posted by 구차니