ÀÌ ¸Þ´º¾óÀº Qtopia-2.2.0, Qt-Extendded-4.4.3 (Qtopia Phone Edition), Qt 4.7.0¸¦ S3C6410 Start Kit °³¹ßº¸µå¿¡ Æ÷ÆÃÇÏ´Â ÀϹÝÀûÀÎ ¹æ¹ý¿¡ ´ëÇÑ ³»¿ëÀ» ¼³¸íÇÏ´Â ¸Þ´º¾ó ÀÔ´Ï´Ù.
1. Qt-Extended 4.4.3
Qt-Extended4.4.3 ¸¦ PC¹öÁ¯°ú ARM¹öÁ¯À¸·Î ÄÄÆÄÀÏ ÇÏ´Â ¹æ¹ý°ú ARM°³¹ßº¸µå¿¡¼ ½ÇÇàÇÏ´Â ¹æ¹ý¿¡ ´ëÇؼ ¼³¸í ÇÕ´Ï´Ù. Âü°í·Î Qt-Etended´Â 4.4.3¿¡¼ ´õÀÌ»ó ³ëÅ°¾Æ¿¡¼ Áö¿øÀ» ÇÏÁö ¾ÊÀ» ¿¹Á¤ÀÌ°í Qt SDK ¶óÀ̺귯¸®¿¡ ÅëÇÕ µÈ´Ù°í ÇÕ´Ï´Ù.
qt-extended-opensource-src-4.4.3.tar.gz : Qt-Extended4.4.3 source code
1.1 Installs Qt-Extended4.4.3 source code
qt-extended-opensource-src-4.4.3.tar.gz ÆÄÀÏÀ» "/opt" µð·ºÅ丮¿¡ º¹»ç ÇÕ´Ï´Ù. "/opt/mini6410/qt-extended4.4.3" µð·ºÅ丮¸¦ »ý¼ºÇÏ°í À̵¿ÇÑ ÈÄ¿¡ ¾ÐÃàÀ» ÇØÁ¦ ÇÕ´Ï´Ù.
# mkdir -p /opt/mini6410/qt-extended4.4.3
# cd /opt/mini6410/qt-extended4.4.3
# tar xvzf /opt/qt-extended-opensource-src-4.4.3.tar.gz
1.2 Compile Qt-Extended4.4.3 for X86
X86¿¡µð¼ÇÀ» À§ÇÑ ºôµåµð·ºÅ丮¸¦ »ý¼º ÇÕ´Ï´Ù.
# mkdir -p /opt/mini6410/qt-extended4.4.3/buildx86
ÄÄÆÄÀÏÀ» ¼öÇàÇϱâ Àü¿¡ ¸ÕÀú ¾Æ·¡¿Í °°ÀÌ ÄÁÇDZԷ¹À̼ÇÀ» ¼öÇà ÇÕ´Ï´Ù.
# export LC_CTYPE="en_US"
# export LANG="en_US"
# export LANGUAGE="en_US"
# cd /opt/mini6410/qt-extended4.4.3/buildx86
# echo yes | ../qt-extended-4.4.3/configure \
-ui-type mobile \
-release \
-clean \
-sound-system alsa \
-build-qt \
-no-sxe \
-no-ssl \
-no-v4l2 \
-no-vpn \
-no-phonon \
-no-libamr \
-dynamic-rotation \
-mediaengines cruxus \
-remove-mediaengine gstreamer,helix \
-pictureflow \
-remove-module bluetooth,drm \
-no-dbus \
-no-dbusipc \
-add-displaysize 240x320 \
-extra-qt-embedded-config "-qt-freetype -no-webkit -no-dbus -qt-gfx-transformed -qt-gfx-linuxfb" \
-extra-qt-config "-no-webkit" \
2>&1 | tee ../qtopiaconfig.log
ÄÁÇDZԷ¹À̼ÇÀ» ¼öÇàÇÒ¶§ óÀ½¿¡´Â ¾ð¾î ¼³Á¤À» "en_US" ·Î ÇÕ´Ï´Ù. ¿Ö³ÄÇϸé Fedora9 ÀÇ ±âº» ÀÎÄÚµù ¼³Á¤ÀÌ "en_US.UTF-8" ·Î µÇ¾î Àֱ⠶§¹® ÀÔ´Ï´Ù. ¾ð¾î ¼³Á¤Àº ³ªÁß¿¡ Qt-Extended4.4.3 compile script ¿¡¼ ´Ù½Ã ¼³Á¤ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸í·ÉÇà ÀÎÀÚÀÇ ´õ ÀÚ¼¼ÇÑ ¼³¸íÀº "../qt-extended-4.4.3/configure -help" ·Î È®ÀÎ ÇϽñ⠹ٶø´Ï´Ù. ¾Æ·¡ ¸í·ÉÀ¸·Î ½ÇÁ¦·Î ÄÄÆÄÀÏÀ» ÇÏ°í ¼³Ä¡ ÇÕ´Ï´Ù.
# bin/qbuild 2>&1 | tee ../qtopiamake.log
# bin/qbuild image
"2>&1 | tee ../XXX.log" ÀÇ Àǹ̴ ÄÄÆÄÀÏ °á°ú’Þ ¸ðµç ³»¿ëÀ» ÆÄÀÏ·Î ÀúÀå ÇÑ´Ù´Â ÀÇ¹Ì ÀÔ´Ï´Ù.
1.3 Run Qt-Extended4.4.3 for X86
ÄÄÆÄÀÏÀÌ ¿Ï·áµÈ Qt-Extended4.4.3´Â "runqtopia" ½ºÅ©¸³Æ®·Î ½ÇÇà ÇÒ ¼ö ÀÖ½À´Ï´Ù.
# cd /opt/mini6410/qt-extended4.4.3/buildx86
# bin/runqtopia
Qt-Extended4.4.3°¡ PC¿¡¼ ½ÇÇàµÈ ȸé ÀÔ´Ï´Ù.
1.4 Compile Qt-Extended4.4.3 for ARM
ARM °³¹ßº¸µå¿ë ÄÄÆÄÀÏÀ» À§ÇÑ ºôµåµð·ºÅ丮¸¦ »ý¼º ÇÕ´Ï´Ù.
# mkdir -p /opt/mini6410/qt-extended4.4.3/buildarm
ÄÄÆÄÀÏÀ» ¼öÇàÇϱâ Àü¿¡ ¸ÕÀú ¾Æ·¡¿Í °°ÀÌ ÄÁÇDZԷ¹À̼ÇÀ» ¼öÇà ÇÕ´Ï´Ù.
# export LC_CTYPE="en_US"
# export LANG="en_US"
# export LANGUAGE="en_US"
# cd /opt/mini6410/qt-extended4.4.3/buildarm
# echo yes | ../qt-extended-4.4.3/configure \
-ui-type mobile \
-xplatform linux-arm-g++ \
-arch arm \
-release \
-clean \
-prefix /opt/Qtopia4.4.3 \
-sound-system oss \
-build-qt \
-no-sxe \
-no-ssl \
-no-v4l2 \
-no-vpn \
-no-phonon \
-no-libamr \
-dynamic-rotation \
-mediaengines cruxus \
-remove-mediaengine gstreamer,helix \
-pictureflow \
-remove-module bluetooth,drm \
-no-dbus \
-no-dbusipc \
-add-displaysize 240x320 \
-extra-qt-embedded-config "-embedded arm -xplatform qws/linux-arm-g++ -no-cups -nomake examples -nomake demos -qt-libjpeg -qt-libmng -qt-libpng -no-dbus -depths 16,32 -qt-gfx-linuxfb -qt-gfx-transformed -no-gfx-qvfb -no-gfx-vnc -no-gfx-multiscreen -qt-kbd-tty -no-kbd-usb -no-kbd-sl5000 -no-kbd-yopy -no-kbd-vr41xx -no-kbd-qvfb -qt-mouse-tslib -no-webkit -no-openssl -no-phonon -no-phonon-backend -no-nas-sound -no-exceptions -svg" \
-extra-qt-config "-no-webkit" \
2>&1 | tee ../qtopiaconfig.log
ÄÁÇDZԷ¹À̼ÇÀ» ¼öÇàÇÒ¶§ óÀ½¿¡´Â ¾ð¾î ¼³Á¤À» "en_US" ·Î ÇÕ´Ï´Ù. ¿Ö³ÄÇϸé Fedora9 ÀÇ ±âº» ÀÎÄÚµù ¼³Á¤ÀÌ "en_US.UTF-8" ·Î µÇ¾î Àֱ⠶§¹® ÀÔ´Ï´Ù. ¾ð¾î ¼³Á¤Àº ³ªÁß¿¡ Qt-Extended4.4.3 compile script ¿¡¼ ´Ù½Ã ¼³Á¤ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸í·ÉÇà ÀÎÀÚÀÇ ´õ ÀÚ¼¼ÇÑ ¼³¸íÀº "../qt-extended-3.4.3/configure -help" ·Î È®ÀÎ ÇϽñ⠹ٶø´Ï´Ù. ¾Æ·¡ ¸í·ÉÀ¸·Î ½ÇÁ¦·Î ÄÄÆÄÀÏÀ» ÇÏ°í ¼³Ä¡ ÇÕ´Ï´Ù.
ÄÄÆÄÀÏÀ» ¼öÇàÇϱâ Àü¿¡ ÃÖ½ÅÀÌ ÄÄÆÄÀÏ·¯¸¦ »ç¿ëÇϱâ À§Çؼ ¸î°¡Áö ¼Ò½º Äڵ带 ¼öÁ¤ÇØ¾ß ÇÕ´Ï´Ù. ±×·¸Áö ¾Ê°í ±×³É ÄÄÆÄÀÏÀ» ÇÏ¸é ¾Æ·¡¿Í °°ÀÌ Syntax ¿¡·¯°¡ ¹ßÇà ÇÕ´Ï´Ù.
/opt/mini6410/qt-extended4.4.3/qt-extended-4.4.3/src/libraries/qtopia/qphoneprofile.cpp:1026:1: error: 'QPhoneProfile::Schedule::Schedule' names the constructor, not the type
ÄÄÆÄÀÏ ¿¡·¯¸¦ ÇØ°áÇϱâ À§Çؼ qphoneprofile.cpp ÆÄÀÏÀÇ 1026 ¶óÀÎÀ»
QPhoneProfile::Schedule::Schedule &QPhoneProfile::Schedule::operator=(const Schedule &other)
¾Æ·¡¿Í °°ÀÌ ¼öÁ¤ ÇÕ´Ï´Ù.
QPhoneProfile:: Schedule &QPhoneProfile::Schedule::operator=(const Schedule &other)
±×¸®°í ³ª¼ ÄÄÆÄÀÏÀ» ÇÕ´Ï´Ù.
# bin/qbuild 2>&1 | tee ../qtopiamake.log
# bin/qbuild image
ÄÄÆÄÀÏÀÌ ¼º°øÀû¤··Î ¿Ï·áµÇ¸é "/opt/mini6410/qt-extended4.4.3/buildarm/image" µð·ºÅ丮¿¡ ¹ÙÀ̳ʸ® ÆÄÀÏÀÌ »ý¼º µË´Ï´Ù.
1.5 Run Qt-Extended4.4.3 for ARM
À§¿¡Çê ÄÄÆÄÀÏÇÑ À̹ÌÁö ÆÄÀÏÀ» ¾ÐÃà ÇÏ°í SD ¸Þ¸ð¸® Ä«µå¿¡ º¹»ç ÇÕ´Ï´Ù.
# cd /opt/mini6410/qt-extended4.4.3/buildarm/
# tar cvzf image.tgz image
SD¸Þ¸ð¸® Ä«µå¸¦ °³¹ßº¸µå¿¡ »ðÀÔÇÏ°í °³¹ßº¸µå¿¡ ¾ÐÃàÀ» ÇØÁ¦Çؼ ¼³Ä¡ ÇÕ´Ï´Ù.
# rm /opt/Qtopia4.4.3 -rf
# cd /opt
# tar xvzf /sdcard/image.tgz
# mv /opt/image /opt/Qtopia4.4.3
qt-extended4.4.3À» ½ÇÇàÇϱâ À§Çؼ´Â Qtopia2.2.0 or Qt4.7ÀÇ ½ÇÇàÀ» Á¾·á ÇÏ°í ½ÇÇà ÇØ¾ß ÇÕ´Ï´Ù. Qt 2.2.0À» Á¾·áÇÏ´Â ¹æ¹ýÀº "3.4.4 Qt4.7.0À» °³¹ßº¸µå¿¡¼ ½ÇÇà" ÀýÀ» ÂüÁ¶ÇϽñ⠹ٶø´Ï´Ù.
½ÇÇàÀ» ÆíÇÏ°Ô Çϱâ À§Çؼ "run_my_qtopia4" ½ºÅ©¸³Æ®¸¦ ¹Ì¸® ÀÛ¼ºÇØ µÎ¾ú½À´Ï´Ù.
# vi /bin/run_my_qtopia4
#!/bin/sh
if [ -e /etc/friendlyarm-ts-input.conf ] ; then
. /etc/friendlyarm-ts-input.conf
fi
true ${TSLIB_TSDEVICE:=/dev/touchscreen}
TSLIB_CONFFILE=/etc/ts.conf
export TSLIB_TSDEVICE
export TSLIB_CONFFILE
export TSLIB_PLUGINDIR=/usr/lib/ts
export TSLIB_CALIBFILE=/etc/pointercal
export QTDIR=/opt/Qtopia4.4.3
export QPEDIR=/opt/Qtopia4.4.3
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:/usr/local/lib:$LD_LIBRARY_PATH
if [ -c /dev/touchscreen ]; then
export QWS_MOUSE_PROTO="Tslib:${TSLIB_TSDEVICE}"
if [ -e /etc/pointercal -a ! -s /etc/pointercal ] ; then
rm /etc/pointercal
fi
else
export QWS_MOUSE_PROTO="USB:/dev/input/mice" >/etc/pointercal
fi
export QWS_KEYBOARD="TTY:/dev/tty1"
#export QWS_DISPLAY="Transformed:mmWidth66:mmHeight114:Rot90:0"
FB_SIZE=$(cat /sys/class/graphics/fb0/virtual_size)
case "$FB_SIZE" in 800,480)
export QWS_DISPLAY="LinuxFb:mmWidth91:mmHeight53:1" ;; 480,272)
export QWS_DISPLAY="LinuxFb:mmWidth76:mmHeight44:1" ;; *)
export QWS_DISPLAY="LinuxFb:mmWidth91:mmHeight53:1" ;; esac
export LANG="en_US"
export HOME=/root/Qtopia4Home
if [ ! -e $HOME ]; then
mkdir -p $HOME;
fi
if [ ! -e /usr/share ]; then
mkdir /usr/share;
fi
if [ ! -e /usr/share/zoneinfo ]; then
ln -s /opt/Qtopia/etc/zoneinfo /usr/share/;
fi
if [ ! -e $HOME/Settings/Trolltech/qpe.conf ]; then
mkdir -p $HOME/Settings/Trolltech/
cp $QPEDIR/etc/default/Trolltech/qpe.conf
$HOME/Settings/Trolltech/qpe.conf -f
fi
export QTOPIA_PHONE_DUMMY=1
exec $QPEDIR/bin/qpe
|
run_my_qtopia4 ½ºÅ©¸³Æ® ¼öÇà ³»¿ª ÀÔ´Ï´Ù.
a) Åͽà ½ºÅ©¸° ¶óÀ̺귯¸® tslib parameters¸¦ ¼³Á¤ ÇÕ´Ï´Ù.
b) Set Qtopia environment variables
- QTDIR, QPEDIR : Qtopia Image path configuration
- QWS_MOUSE_PROTO : touch screen devices
-
QWS_KEYBOARD : Hard Key points to the development board for the tty device.
c) set the environment variable configuration
-
QWS_DISPLAY LCD display parameters, according to the different screen resolution, set a different DPI, the text size of the display medium.
d) GSM ModemÀ» »ç¿ëÇÏÁö ¾Ê´Â °æ¿ì¿¡ QTOPIA_PHONE_DUMMY = 1 ¼³Á¤Àº ÇÊ¿äÇÏÁö ¾Ê½À´Ï´Ù.
e) ¸¶Áö¸·À¸·Î Qtopia¸¦ ½ÇÇà ÇÕ´Ï´Ù.
"run_my_qtopia4" ÆÄÀÏ¿¡ ½ÇÇà ±ÇÇÑÀ» ºÎ¿©ÇÏ°í ½Ã½ºÅÛ ºÎÆýà ÀÚµ¿À¸·Î ½ÃÀÛ µÇµµ·Ï Çϱâ À§Çؼ´Â "/etc/init.d/rcS" ÆÄÀÏ¿¡ µî·ÏÀ» ÇÕ´Ï´Ù.
# chmod +x /bin/run_my_qtopia4
# vi /etc/init.d/rcS
"/bin/qtopia &" ÀÇ ³»¿ë(Qtopia 2.2.0 ½ÇÇà) ºÎºÐÀ» "/bin/run_my_qtopia4 &" ·Î ¼öÁ¤ ÇÕ´Ï´Ù. ÀÌ·¸°Ô ÇÏ¸é ½Ã½ºÅÛ ºÎÆýà ÀÚµ¿À¸·Î "Qt-Extended4.4.3" °¡ ½ÇÇà µË´Ï´Ù.
|