2007년 12월 12일 수요일

Fedora 4 YUM 설정

출처 : http://iparid.egloos.com/1709753

yum.repo.d 설정 (FC4)
/etc/yum.conf 설정은 레뎃9 시절 등등 예전 자료가 많았지만, FC3부터 /etc/yum.repos.d/* 여섯개의 파일로 분산되면서 새로운 설정 방법을 설명한 곳을 한참 뒤져보았다. 인터넷에서는 한 군데 FC3 기준으로 설명해 놓았다. 요걸 보고 조금 고쳐서 FC4에 맞게 설정하는 법, 또 원리 등등을 조금 적어 보겠다.

원래 들어있는 파일은 6개다.

fedora.repo
fedora-devel.repo
fedora-extras-devel.repo
fedora-extras.repo
fedora-updates.repo
fedora-updates-testing.repo

여기에서 인스톨에 fedora.repo, 업데이트에 fedora-updates.repo를 쓴다. 일단 요것만 고쳐보자.

<원본 fedora.repo>
name=Fedora Core $releasever - $basearch - Base한글
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/$releasever/$basearch/os/
mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-core-$releasever
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora


baseurl에 주석 처리가 되어있으니 결국 mirrorlist 행이 관건인 셈이다. $releasever는 자기 페도라 버전에 따라 현재까지 1~5로 나타난다. 그럼 주소에 나와 있는 fedora-core-4 파일을 열어보자.

http://download.fedoraproject.org/pub/fedora/linux/core/4/$ARCH/os/
http://mirror.linux.duke.edu/pub/fedora/linux/core/4/$ARCH/os/
http://fedora.mirrors.tds.net/pub/fedora-core/4/$ARCH/os/
...
...


가능한 미러가 66개 나와있다. 그런데 제일 느린 서버가 1순위이므로 접속은 되지만 느려터져 답답하다. 따라서 커스텀 미러 리스트 파일을 작성하자. Updates가 들어있는 디렉토리 주소가 조금 다르다. 한국 서버가 가장 빠르기는 하지만 이 포스트를 작성하는 시점에서 404 에러를 토했기 때문에 속도는 조금 떨어져도(200-500kB/s 정도) 믿음직스러운 kernel.org를 1순위로 잡았다.

<custom-BASE>
http://mirrors.kernel.org/fedora/core/4/$ARCH/os
ftp://ftp.kreonet.re.kr/pub/Linux/fedora/core/4/$ARCH/os
ftp://mirror.hostway.co.kr/pub/fedora/4/$ARCH/os
ftp://ftp.kaist.ac.kr/pub/fedora/linux/core/4/$ARCH/os


<custom-UPDATES>
http://mirrors.kernel.org/fedora/core/updates/4/$ARCH
ftp://ftp.kreonet.re.kr/pub/Linux/fedora/core/updates/4/$ARCH
ftp://mirror.hostway.co.kr/pub/fedora/updates/4/$ARCH
ftp://ftp.kaist.ac.kr/pub/fedora/linux/core/updates/4/$ARCH


그럼 fedora.repo, fedora-updates.repo 기존의 mirrorlist를 주석처리하고, 새로운 주소로 설정하자.
gpgcheck도 꺼놓으면 성가시지 않다.

<고친 fedora.repo>
mirrorlist=file:///etc/yum.repos.d/custom-base
gpgcheck=0


<고친 fedora-updates.repo>
mirrorlist=file:///etc/yum.repos.d/custom-updates


다시 실행할 서비스 없이 다음에 yum 실행할 때 바로 적용된다.

2007년 12월 11일 화요일

Tomcat in Fedora4

설치순서
1. apache(httpd-2.0.54, source)
2. apache-tomcat-connector(jakarta-tomcat-connectors-1.2.14.1-src, source)
3. tomcat(jakarta-tomcat-4.1.31, binary)
4. setting


1-1) ./configure --prefix=/usr/local/apache2 --enable-mods-shared=most --enable-modules=so --with-mpm=worker
1-2) make
1-3) make install
1-4) echo "/usr/local/apache2/lib" >> /etc/ld.so.conf
     echo "/usr/local/apache2/modules" >> /etc/ld.so.conf
     ldconfig
============================================================================================================


2-1) ./buildconf.sh
2-2) ./configure --with-apxs=/usr/local/apache2/bin/apxs
2-3) make
2-4) make install
2-5) /usr/local/apache2/conf/httpd.conf 파일수정
     모듈추가라인 가장 아래 다음과 같이 추가
     LoadModule jk_module modules/mod_jk.so
============================================================================================================


3-1) /usr/local/tomcat 에 설치
3-2) /usr/local/tomcat/conf/server.xml 파일수정
     서비스 컨텍스트 추가
     <Host name="xxx.xxx.co.kr">
         <Context path="" docBase="/home/xxx/public_html"
                  reloadable="true"/>
         <Alias>xxx.xxx.co.kr</Alias>
      </Host>
============================================================================================================


4-1) /usr/local/tomcat/conf/auto/mod_jk.conf 파일수정(없으면 생성)
다음과 같이 생성
<IfModule !mod_jk.c>
  LoadModule jk_module libexec/mod_jk.so
</IfModule>
JkWorkersFile "/usr/local/tomcat/conf/jk/workers.properties"
JkLogFile "/usr/local/tomcat/logs/mod_jk.log"
JkLogLevel emerg
<VirtualHost localhost>
    ServerName localhost
    JkMount /tomcat_admin ajp13
    JkMount /tomcat_admin/* ajp13
    JkMount /webdav ajp13
    JkMount /webdav/* ajp13
    JkMount /examples ajp13
    JkMount /examples/* ajp13
    JkMount /tomcat-docs ajp13
    JkMount /tomcat-docs/* ajp13
    JkMount /manager ajp13
    JkMount /manager/* ajp13
</VirtualHost>

4-2) /usr/local/tomcat/conf/jk/workers.properties 파일수정(없으면 생성)
다음과 같이 생성
# Start setup file
#
workers.tomcat_home=/usr/local/tomcat
workers.java_home=/usr/local/java
ps=/
worker.list=ajp12, ajp13
# Definition for Ajp13 worker
#
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
#
# End setup file


4-3) /usr/local/tomcat/conf/web.xml 파일수정
<web-app> tag 내에 추가

   <filter>
    <filter-name>Set Character Encoding</filter-name>
    <filter-class>filters.SetCharacterEncodingFilter</filter-class>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>EUC_KR</param-value>
    </init-param>
  </filter>
  <filter-mapping>
      <filter-name>Set Character Encoding</filter-name>
      <url-pattern>/*</url-pattern>
  </filter-mapping>

    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

4-4) 한글변환 문자 셋 / 디렉토리에 압축 풀기 (tar -zxvf classes.tgz -C /)

4-5) /usr/local/apache2/conf/httpd.conf 파일수정
다음과 같이 추가
JkWorkersFile /usr/local/tomcat/conf/jk/workers.properties
Include /usr/local/tomcat/conf/auto/mod_jk.conf
JkLogFile /usr/local/tomcat/logs/mod_jk.log
JkLogLevel emerg

4-6) /usr/local/apache2/conf/httpd.conf 파일수정
버츄얼 호스팅 설정
#NameVirtualHost *:80   (주석제거)

다음과 같이 추가
<VirtualHost *:80>
    ServerAdmin root@xxx.xxx.co.kr
    DocumentRoot /home/xxx/public_html
    ServerName xxx.xxx.co.kr
    JkMount  /*.jsp ajp13
    JkMount  /servlet/* ajp13
</VirtualHost>

4-7) /etc/profile(환경변수 수정)
export LC_ALL=ko_KR.eucKR
export LANG=ko_KR.eucKR
JAVA_HOME=/usr/local/java
CATALINA_HOME=/usr/local/tomcat
PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
export JAVA_HOME CATALINA_HOME
export set CLASSPATH=.:$CLASSPATH=/usr/local/java/lib/tools.jar:.:/usr/local/java/lib/dt.jar:/home/xxx/public_html/WEB-INF/lib/jCharts-0.7.0.jar:/home/xxx/public_html/WEB-INF/lib/Acme.jar:.:
export set CLASSPATH=.:$CLASSPATH=$CLASSPATH:/home/xxx/public_html/WEB-INF/lib/mysql-connector-java-3.1.7-bin.jar:/home/xxx/public_html/WEB-INF/lib/jxl.jar:/home/xxx/public_html/WEB-INF/lib/activation.jar:/home/xxx/public_html/WEB-INF/lib/mail.jar:/usr/local/java/lib/jfreechart-0.9.16.jar:.:
export set CLASSPATH=.:$CLASSPATH=$CLASSPATH:/home/xxx/public_html/WEB-INF/classes:.:
export set CLASSPATH=.:$CLASSPATH=$CLASSPATH:/home/hurec/public_html/WEB-INF/classes:.:
export set CLASSPATH=.:$CLASSPATH=$CLASSPATH:/usr/local/tomcat/common/lib/servlet.jar:.:

아파치와 톰캣 연동(펌)

mod_jk를 사용해서 아파치 2 와 톰캣 5.5를 연동하기

1: 아파치 2를 설치한다.

httpd-2.0.55의 소스를 받아 설치한다.
./configure --enable-so --enable-mods-shared=most --prefix=/usr/local/apache2.
make
make install

2: 자바(JDK 1.5이상)를 설치한다.

/usr/local/java 등의 위치에 설치하고, /etc/profile 제일 아랫줄에
export JAVA_HOME=/usr/java/jdk1.5.0_05
라고 추가하고,
source /etc/profile 명령을 실행해서 변경을 적용시킨다.


3: 톰캣 5.5 설치

apache-tomcat-5.5.12.tar.gz 를 다운받아 /usr/local 에 놓고 root 권한으로 아래와 같이 실행한다.

cd /usr/local
tar xvfz apache-tomcat-5.5.12
ln -s /usr/local/apache-tomcat-5.5.12 /usr/local/tomcat
groupadd tomcat
useradd tomcat -g tomcat -d /usr/local/tomcat tomcat
chown -R tomcat.tomcat /usr/local/apache-tomcat-5.5.12 /usr/local/tomcat

/etc/profile에 아래의 내용을 추가하고 적용한다.

export PATH=$PATH:/usr/local/bin:/usr/local/tomcat/bin
export JAVA_HOME=/usr/java/jdk1.5.0_05
export CATALINA_HOME=/usr/local/tomcat

위의 내용을 추가했으면,

source /usr/profile을 실행


톰캣 서버 실행 테스트

톰캣 디렉토리의 bin디렉토리가 PATH에 포함된 것을 확인하고,
startup.sh
을 실행하면 톰캣이 실행된다.

ps -def | grep tomcat
이라고 실행할 때
tomcat 18591 1 88 06:40 pts/0
와 비슷한 내용이 보이면 톰캣 서버가 실행된 것이다.
 
shutdown.sh
을 실행하여 톰캣 서버를 멈추고서, 다시
ps -def | grep tomcat

을 실행하면 위의 내용이 보이지 않게 된다.


4: mod_jk 설치하기
 jakarta-tomcat-connectors-1.2.14.1-src.tar.gz 를 다운받고 아래처럼 실행한다.

cd jakarta-tomcat-connectors-1.2.14.1-src/jk/native
./buildconf.sh
./configure --with-apxs=/usr/local/apache2/bin/apxs
make

make install

mod_jk.so 가 /usr/local/apache2/modules 디렉토리 안에 있고, 권한은 755로 설정되어있는지 확인한다..

5: 아파치를 톰캣에 연결하기

/usr/local/apache2/conf 디렉토리에 workers.properties 라는 이름의 파일을 만들고 아래의 내용을 입력한 후 저장한다.

workers.tomcat_home=/usr/local/tomcat
workers.java_home=/usr/java/jdk1.5.0_05
ps=/
worker.list=default

worker.default.port=8009
worker.default.host=localhost
worker.default.type=ajp13
worker.default.lbfactor=1

httpd.conf 에 아래의 내용을 추가한다.
#
# Mod_jk settings
#
# Load mod_jk module
LoadModule jk_module modules/mod_jk.so
# Where to find workers.properties
JkWorkersFile conf/workers.properties
# Where to put jk logs
JkLogFile logs/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel debug
# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"
# Send JSPs for context /jsp-examples to worker named default
JkMount /jsp-examples/*.jsp default
# Send servlets-examples to worker named default
JkMount /servlets-examples/* default

Keep editing httpd.conf and add following Alias directives (for example under the entry for the icon Alias). These directives tell Apache to map /jsp-examples and servlets-examples to the sample directories that ship with Tomcat.

# Static files in the jsp-examples webapp are served by apache
Alias /jsp-examples "/usr/local/tomcat/webapps/jsp-examples/"

Options FollowSymLinks
AllowOverride None
Allow from all


# The following line prohibits users from directly access WEB-INF

AllowOverride None
deny from all


# Static files in the servlets-examples webapp are served by apache
Alias /servlets-examples "/usr/local/tomcat/webapps/servlets-examples/"

Options FollowSymLinks
AllowOverride None
Allow from all


# The following line prohibits users from directly access WEB-INF

AllowOverride None
deny from all


아파치를 재구동한다.

http://Web_server_name_or_IP:8080에 접속해 본다.

http://Web_server_name_or_IP/jsp-examples 과

http://Web_server_name_or_IP/servlets-examples 에 접속하여 연동을 확인한다

2007년 11월 14일 수요일

What's the smallest Windows CE 5.0 configuration that you can target from Visual Studio 2005?

What's the smallest Windows CE 5.0 configuration that you can target from Visual Studio 2005?

Very small!  The DeviceEmulator nk.bin can be as small as 1.3mb!  With that 1.3mb OS image, you can deploy and debug native applications using Visual Studio for Devices.  Here's how...

In Platform Builder

Install the Device Emulator BSP from http://www.microsoft.com/downloads/details.aspx?FamilyID=474b03a6-e87d-455d-bc16-b8cf18ef39b4&displaylang=en.  Pay special attention to the non-skin configuration options in the SDK XML file.

Create a new platform using the wizard...

  • Step 4 - choose custom device
  • Step 5 (Applications and Services Development) - check "C Libraries and Runtimes" (which checks everything underneath it)
  • Step 6 (Applications - End User) - leave everything unchecked
  • Step 7 (Core OS) - check "Power Management (Minimal)", "Device Manager", and "Debugging Tools \ Toolhelp API"
  • Step 8 (Networking Features) - check "Networking Features \ Winsock Support"
  • Step 9 (Device Management) - leave everything unchecked
  • Step 10 (File Systems and Data Store) - check "File System - Internal (Choose 1) \ RAM and ROM File System" and "Registry Storage (Choose 1) \ Hive-based Registry"
  • Step 11 (Fonts) - leave everything unchecked
  • Step 12 (International) - check "Locale Services (Choose 1) \ National Language Support (NLS)"
  • Step 13 (Internet Client Services) - leave everything unchecked
  • Step 14 (Grahics and Multimedia Technologies) - leave everything unchecked
  • Step 15 (Security) - leave everything unchecked
  • Step 16 (Shell and User Interface) - check "Graphics, Windowing and Events \ Minimal Input Configuration"
  • Step 17 (Windows CE Error Reporting) - leave everything unchecked
  • Step 18 (Voice over IP Phone Services) - leave everything unchecked
  • Finish!

Now, go to the Platform\Settings menu, and for the release configuration, switch to the Build Options tab and uncheck "Enable CE Target Control Support (SYSGEN_SHELL=1)" and "Enable KITL (no IMGKITL=1)".

Then switch to the Environment tab and add "BSP_NOTOUCH" with value "1"

Now build it using the Platform Builder "Build OS \ Sysgen" menu.  The retail nk.bin image will be about 1.3mb in size.

Next, create an SDK for it.  Go to Platform Builder's "Platform \ SDK \ New SDK..." menu, fill in the details on the first page, then leave the defaults for the rest.

Finally, build the SDK using the Platform Builder "Platform \ SDK \ Build SDK" menu.


Install the SDK

Install the new SDK on your Visual Studio 2005 machine.

Now comes the hacky part of the process you need to hack your datastore a little.

  • Navigate to C:\Documents and Settings\All Users\Application Data\Microsoft\corecon\1.0\addons and look for the newest .xsl file whose name is a GUID.  Open that file in notepad or your favorite XML editor
  • Edit the RemoteCcClientFile, RemoteCcShutdownFile, RemoteCcTransportLoaderFile and RemoteCcCMAcceptFile properties, removing the "%CSIDL_WINDOWS%" text and just deploying to the root directory.  There are two instances of each property, one for emulator targets and one for hardware device targets.  Edit both instances of each property.
  • Edit the RemoteTransportFile property, again, removing the %CSIDL_% constant, so that the dmatrans.dll deploys to the root directory.
     

 ie.

<PROPERTY ID="RemoteCcCMAcceptFile" Protected="true">%CSIDL_WINDOWS%\CoreCon%CcVersion%\CMAccept.exe</PROPERTY>

becomes
<PROPERTY ID="RemoteCcCMAcceptFile" Protected="true">\CoreCon%CcVersion%\CMAccept.exe</PROPERTY>

If something goes wrong, delete the XML file, uninstall and reinstall your SDK, and it will be recreated.

Use the SDK from Visual Studio 2005

Launch Visual Studio, and do a File/New Project, to create a new C++ SmartDevice project.  Pick your SDK from the list of targets, and select "Console" as the application type, with no ATL or MFC support.

Once the wizard has finished, there are a few work items left:

  • Remove the #include of commdlg.h from the top of the wizard-generated .cpp file
  • Remove the #include of atlcecrt.h from the bottom of stdafx.h
  • In the project properties, make the following edits in the "All Configurations" configuration:
    • Under Configuration Properties \ Linker, click on Additional Dependencies then type in this text:  coredll.lib corelibc.lib $(NOINHERIT)
    • Under Configuration Properties \ Deployment, edit the "Remote Directory" entry, removing the "%CSIDL_PROGRAM_FILES%" text.  Deploy your app into a subdirectory under the root directory.
  • Make the following edit to your project properties under both the Debug and Retail configurations:
    • Under Configuration Properties \ Debugging, remove the "%CSIDL_PRGORAM_FILES%" text.  The remote executable is in a subdirectory under the root directory.

Now, F5 should build your app, launch the emulator, deploy and debug.


Diagnosing Problems

  • If the emulator launches but deployment isn't happening, you might have left a %CSIDL_*% constant in a path somewhere. 
  • Go to VS's Tools/Options dialog and navigate to "Device Tools \ Devices", click on your emulator entry and click Properties.  In the emulator properties dialog, click "Emulator Options" then on the Peripherals tab, check the "Create text console for serial port 1" checkbox.  This will cause the emulator to open a console window as it launches, that will show you diagnostics output from the Windows CE kernel.

What's with the CSIDLs? 

Visual Studio for Devices must resolve %CSIDL_% symbols in pathnames by executing code on the device/emulator, that calls SHGetSpecialFolderPath().  The OS image size grows substantially if we pull that API in, as it only comes in as part of the GUI shell.

We must painstaking remove all %CSIDL_% symbols from the datastore and project properties.  Otherwise, VSD's device-side code will go into a long polling loop waiting for the shell APIs to come online, and when the timeout eventually expires, the VSD operation will fail.


2007년 10월 22일 월요일

광산김씨

신라 신무왕의 셋째아들 흥광(興光)을 시조로 하는 광산김씨(光山金氏)는 한국의 대표적인 가문의 하나로서 '광김'으로 일컫는다. 이 가문은 조선시대에 총 265명의 문과 급제자를 배출하여, 본관별 서열로 제5위가 되었다. 여기에서 정승이 5명, 대제학이 7명, 청백리가 4명, 왕비가 1명이 나왔는데, 특히 대제학 7명은 ‘광김’을 더욱 빛나게 한 사계(沙溪) 장생(長生)의 자손이다.

광산김씨는 고려 초기 삼중대광(三重大匡)에 오른 3세손 길(佶)로부터 8대에 걸쳐 평장사(平章事)를 배출하여 명문 가문의 기반을 이루었으며, 15세손으로 역시 삼중대광에 오른 정(鼎)의 아들인 약채(若采)·약항(若恒)·약시(若時) 3형제대에서 더욱 번창하기 시작하였다. '광김'의 첫 정승(좌의정)을 지낸 국광(國光)과 영의정을 지낸 극성(克成)은 이들의 후손이며, 장생은 국광의 5대손이다. 그는 예학(禮學)의 태두로서 그의 학문은 이조판서를 지낸 아들 집(集)에게 계승되어 부자가 문묘(文廟)에 배향(配享)되는 전무후무한 영광을 누리기도 하였다. 집의 아우 반(槃)의 여섯 아들은 모두 출중하고, 후손이 크게 번창하여 ‘광김’의 전성기를 이루었다.

《청구영언》을 낸 가인(歌人) 천택(天澤), 영의정 상복(相福), 우의정 희(喜), 이조판서 상휴(相休)·기만(箕晩)·기은(箕殷), 대제학 만기(萬基)·만중(萬重) 형제 등이 모두 이들의 후손이다. 이 가운데 총융사(摠戎使)를 지낸 만기와 《구운몽》 《사씨남정기》의 작가로 유명한 만중의 후손 중에서 많은 인물이 나와 ‘사계 자손’의 주축을 이루었다.

예조판서·대제학을 지낸 진규(鎭圭)는 만기의 아들이며, 대제학·영의정을 지낸 양택(陽澤)은 진규의 아들로서 3대 대제학, 형제 대제학의 진귀한 기록을 남기기도 하였다. 시문집 10권을 남긴 문인 춘택(春澤), 고종 때 이조판서·대제학을 지낸 영수(永壽)는 진규의 형이며, 판서·참찬을 지낸 진구(鎭龜)의 후손이다. 2000년 인구조사에서 25만 8936가구에 83만 7008명이 살고 있는 것으로 나타났다.

2007년 9월 12일 수요일

제로보드 XE

지금의 인터넷은 바야흐로 블로그의 천국이다.
대부분의 포탈사이트에서는 블로그 서비스를 기본적으로 지원하고 있고...
사용자들도 많이는 쓰지 않지만 옛날 이메일 주소 하나쯤은 가지고 있듯이 블로그도 하나쯤은 가지고 있다.

나 역시 다음, 네이버, 티스토리 등등 여러 사이트에 블로그를 가지고 있다.
하지만 내생각에 자기만의 주소를 가질수 있는 설치형 블로그가 주도권을 잡지 않을까 한다.

많은 프로그래머들 아니면 컴퓨터 산업에 종사하는 사람들은 블로그가 나오기 전에 wiki 를 이용하여 자기가 하는 일이나 생각을 표현하고 했었다. 하지만 설치형 블로그가 많이 생겨나자 요즘 wiki 는 거의 볼수가 없다...

나는 예전에 Zog 라고 해서 제로보드에 약간의 변형을 가져온 설치형 블로그를 사용했다. 그 당시에는 획기적인 것이라고 많이 생각했고 많은 자료를 날려먹기 전에는 Zog 빠돌이였다.
하지만, 제로보드에서 파생된것이기 때문에 어딘가 많이 부족한 점이 있었다.. 관리도구를 보면 제로보드의 것을 그대로 사용한 점도 있었고 제로보드에서 보안 패치를 하게되면 것잡을수 없이 꼬이던것이 생각난다.

제로보드는 아마도 우리나라에 가장 많이 사용된 BBS 솔루션일거다. 논외거리이지만 제로보드의 문제점을 짚어보자면, 너무 덩치가 큰 라이브러리 또는 스킨기능을 쉽게 소스코드를 줄이기 위해 빈번히 사용되는 include 등이 사용하는 사람이나 약간의 수정을 하는 사람을 너무 골치 아프게 했고 스킨에 약간 오류가 있을경우 제로보드에 불신까지 느껴지는 단점이 존재하고 있었다.

Zog 역시 제로보드 기반이라 그런 고질적인 문제는 해결되지 못하였고, Zog 를 쓰던 많은 사람들이 다른 설치형 블로그로 옮겨갔다. 나 역시 지금은 TatterTools 를 쓰고 있다.

그런 제로보드가 새로운 변화를 시도하고 있다. 이름하여 제로보드 XE 잠시 zero 님의 블로그를 가서 이블로그가 뭐인가... 찾아봤는데.. 제로보드XE 였다. 이런생각을 하면 안되지만 잠시 동안 "피식" 이라는 쓴 웃음은 감출수가 없었다.

제로보드 나름대로 블로그가 만연하는 이 인터넷 세상에서 살아남고자 하는 발버둥이겠지만... 오픈베타에서도 "그냥 자기 홈페이지에 제로보드 붙이던 사용자"들에게 태클을 걸리고, 체계적이지 못한 개선점 및 버그 리포팅 때문에 개발자가 고생을 한다고 한다...

나의 개인적인 입장에서는 너무 늦은 변화시도가 아닌가 싶다. 이미 설치형 블로그는 Tattertools 가 판도를 장악하고 있고, 그 동안 몇명 사람들에게 외면이나 실소를 짓게 한 제로보드가 블로그 솔루션을 만든다고 해서 써볼사람이 몇명이나 될까 하는 의구심이 든다.

물론 누구나 한번쯤은 어떤것인가 생각하고 써볼수는 있겠지...

새로운 진화를 시도하는 제로보드XE 예전 BBS 세계에서 제왕의 자리에 앉았던것처럼 블로그도 성공할려면 예전에 많은 개발자나 사용자들에게 지적되었던 고질적인 문제점 그리고 지금 많은 설치형 블로그와 차별화 되는 많은 기능을 제공해야 그나마 시선이라도 받을수 있을거라고 생각한다.

사실 난 부정적으로 생각하고 있지만... 새로운 진화 시도... 해볼만하다.

2007년 9월 3일 월요일

iPAQ HX4700 에 리눅스 설치하기 #4

시리얼 싱크 케이블 만들기

모두 실험을 한번씩 해보았는가?
이번고에서는 IPAQ 을 텍스트 환경에서 제어하기 위한 싱크케이블을 만들어보도록 하겠다.
정확하게 얘기하자면 커널이 올라가기전... 음.. 화면이 뜨기전 제어할 수 있는 환경...
부트로더에 접근할 수 있는 환경이 되겠다.

http://opdenacker.org/pda/ipaq/connector/ipaq_connector.png

원본 그림이고, 친절하게 본고에도 첨부한다.

사용자 삽입 이미지

잘 안보이시는 분은 확대해서 보길 바란다.

만드는 방법이야 인터넷을 뒤지면 다 나오겠지만 부품을 어떻게 구하는지도 중요하다.
시리얼 부분은 컴퓨터 가게 가면 파는 시리얼 케이블 하나 작살내면 되는거고,

문제는 IPAQ 커넥터 부분인 상당히 구하기가 까다롭다.

구하는 방법 1번... 옥션에서 IPAQ_USB 싱크케이블을 구해서 하드코어적인 방법으로
개조한다. 왜 하드코어라고 부르냐면 그런 싱크케이블은 핀이 USB 전송에 필요한 핀밖에
없다. 그런걸 사게 되면 커넥터에 있는 핀을 모조리 빼서 시리얼용으로 새로 박는 수 밖에
없다. 필자는 그렇게 했다. 참고로 싱크 케이블을 3천원 정도면 구할 수 있다.
실패할걸 고려해서 한 3개정도 구입하자.

구하는 방법 2번 HP 홈페이지에서 다음 그림과 같은 커넥터를 산다.
사용자 삽입 이미지

분해해보면 알겠지만 핀이 전부다 구비되어 있고 납땜하기도 쉽게 잘 되어 있다.
하지만 생긴것 자체가 위험한 실험을 하기엔 럭셔리 하고 가격도 비싸다 약 9000원...
손재주가 부족하거나 땜질에 자신없는 분들은 이런 커넥터를 구입해서 하기 바란다.

구하는 방법 3  그런 커넥터를 전문적으로 만들어서 파는 사람들이 있다. 위에 실린 그림에도
약 26달러에 구입할 수 있다고 적어놨는데 국내에도 있다. 우리나라돈으로 하면 약 2만 7,8 천원 될거 같은데... 어떤 쇼핑몰에서 보긴 봤는데 4만 5천원 하더라.... 도둑놈들...

뭐 이랬거나 저랬거나 케이블을 만들어본다. 다음그림은 필자가 만든 케이블의 모습이다.
사용자 삽입 이미지

3000원 짜리 싱크케이블을 사서 하드코어로 만들었다. 두개 만들었는데 하나는 어디간지 모르겠고... 만드는데 1시간정도 걸린것 같다. 소요비용 약 5000원...

자 그리고 만들땐 필요없는 USB 부분은 과감히 빼버리도록 하자 어짜피 싱크는 시리얼로 이루어지기 때문에 USB 부분은 필요가 없다. 선 가르는것도 귀찮고 나노테크 레벨의 땜질이 필요하기 때문에 시리얼만 연결하도록 한다.

케이블을 다 만들었으면 테스트 해야 하는데 테스트 하는 방법은 Active Sync 에서 싱크방법을 시리얼 방식으로 해서 싱크 해보면 된다. 싱크가 잘되면 케이블을 잘 만들어진것이다.

아 한가지 더.. 이런 시리얼 통신을 해본 사람이면 대충 예상하고 있겠지만...
TXD, RXD, GND 만 연결하면 된다!!! 쓸데 없는 핀은 과감히 제거해서 땜질 과정을 간단하게
소화시켜야 된다.
우리가 케이블 만들려고 이글을 보고 있지는 않은 거니깐...