{"id":18,"date":"2008-08-21T17:17:36","date_gmt":"2008-08-21T21:17:36","guid":{"rendered":"httpss:\/\/www.powenko.com\/blog\/?p=18"},"modified":"2008-08-21T17:17:36","modified_gmt":"2008-08-21T21:17:36","slug":"digital-frame-project-with-arm9-yc2440","status":"publish","type":"post","link":"https:\/\/www.powenko.com\/wordpress\/?p=18","title":{"rendered":"Digital Frame project with ARM9 YC2440"},"content":{"rendered":"<p>YC2440<br \/>\n=YC2440 connection=<br \/>\n=\ufeff=Install minicom==<br \/>\n#.apt-get install minicom[root@utu-linux bin]# .\/hello1<br \/>\n.\/hello1: error while loading shared libraries: libqpe.so.1: cannot open sharedy<\/p>\n<p>==Connect to YC2440  BY minicon==<br \/>\n# minicon -s<br \/>\n1) Setup<br \/>\n Serial Device      : \/dev\/ttyS0<br \/>\n  Bps\/Par\/Bits       : 115200 8N1<br \/>\n  Hardware Flow Control : No<br \/>\n==Login to Root account ==<br \/>\n# sudo -s<\/p>\n<p>=Install Cross-compiling Toolchain=<\/p>\n<p>Add a line in \/etc\/profile like below:<\/p>\n<p>PATH=\/usr\/local\/Trolltech\/QtEmbedded-4.4.1\/bin:$PATH<br \/>\n export PATH<\/p>\n<p>The toolchain packages are in arm-linux-gcc-3.4.1.tar.bz2. You can use this toolchain to<br \/>\ncompile kernel and applications, however you need arm-linux-gcc-3.3.2.tar.bz2 to<br \/>\ncompile the provided qtopia version.<\/p>\n<p>#mkdir \u2013p \/usr\/local\/arm<\/p>\n<p>#tar -xjvf arm-linux-gcc-3.4.1.tar.bz2 \u2013C \/<\/p>\n<p>== Set path==<br \/>\nAdd a line in \/etc\/profile like below:<br \/>\n&#8230;<br \/>\n    PATH=\/usr\/local\/arm\/3.4.1\/bin:$PATH<br \/>\n    export PATH<br \/>\n&#8230;<\/p>\n<p>==test arm-linux-gcc==<br \/>\n#arm-linux-gcc \u2013version<br \/>\nMessage similar to the following are displayed:<br \/>\narm-linux-gcc (GCC) 3.4.1<\/p>\n<p>==my first gcc code, source ==<br \/>\nmain()<br \/>\n{<br \/>\n    printf(&#8220;hello\\n&#8221;);<br \/>\n}<\/p>\n<p>==my first gcc code, hello world ==<br \/>\nlooptek@looptek-desktop:~\/Desktop\/looptek\/dev\/hello$ gcc -o hello hello.c<br \/>\nhello.c: In function \u2018main\u2019:<br \/>\nhello.c:5: warning: incompatible implicit declaration of built-in function \u2018printf\u2019<br \/>\nlooptek@looptek-desktop:~\/Desktop\/looptek\/dev\/hello$ .\/hello<br \/>\nhello<\/p>\n<p>==my first arm-linux-gcc code, hello world ==<br \/>\nlooptek@looptek-desktop:~\/Desktop\/looptek\/dev\/hello$ arm-linux-gcc -o helloarm hello.c<br \/>\nlooptek@looptek-desktop:~\/Desktop\/looptek\/dev\/hello$ ls<br \/>\nhello  helloarm  hello.c  hello.c~<\/p>\n<p>[root@utu-linux dev]# .\/helloarm<br \/>\nhello<br \/>\n==mount SD card ==<\/p>\n<p>#mount \/dev\/mmcblk0p1 \/mnt<\/p>\n<p>==Mount a USB drive==<br \/>\n#mount \/dev\/sda1 \/mnt<\/p>\n<p>==find, dir -s ==<\/p>\n<p>find .\/ -iname &#8220;*.php&#8221; -or -iname &#8220;*.tpl&#8221; -or -iname &#8220;*.html&#8221;<\/p>\n<p>==auto mount ==<br \/>\nin terminal type as root: gedit \/etc\/fstab and NOW YOU CAN ADD THIS LINE TO FSTAB to auto mount it:<br \/>\nCode:<br \/>\n\/dev\/sda1 \/mnt\/usbflash vfat noauto,users,rw,umask=0 0 0<br \/>\nAdding &#8220;rw&#8221; allows to read and write in the usb flash drive.<br \/>\nPlease note that under FC3 it automounts in your desktop. It is plug and play.<\/p>\n<p>=List all process =<br \/>\n$ ps ux<br \/>\n=kill process =<br \/>\n$ kill -9 3216<\/p>\n<p>=execution shell lanaguage =<br \/>\n#write below to 1.sh<\/p>\n<p>mkdir \/azuo\/myqtopia<br \/>\ncd \/azuo\/myqtopia<\/p>\n<p># Change Property to can execution<br \/>\n# .\/1.sh<\/p>\n<p>=Setup TFTP server=<\/p>\n<p>PATH=\/usr\/local\/Trolltech\/QtEmbedded-4.4.1\/bin:$PATH<br \/>\n export PATH<\/p>\n<p>1. Install tftpd and related packages.<\/p>\n<p>$ sudo apt-get install xinetd tftpd tftp<\/p>\n<p>2. Create \/etc\/xinetd.d\/tftp and put this entry:<\/p>\n<p>service tftp<br \/>\n{<br \/>\nprotocol        = udp<br \/>\nport            = 69<br \/>\nsocket_type     = dgram<br \/>\nwait            = yes<br \/>\nuser            = nobody<br \/>\nserver          = \/usr\/sbin\/in.tftpd<br \/>\nserver_args     = \/tftpboot<br \/>\ndisable         = no<br \/>\n}<\/p>\n<p>3. Make \/tftpboot directory<\/p>\n<p>$ sudo mkdir \/tftpboot<br \/>\n$ sudo chmod -R 777 \/tftpboot<br \/>\n$ sudo chown -R nobody \/tftpboot<\/p>\n<p>4. Start tftpd through xinetd<\/p>\n<p>$ sudo \/etc\/init.d\/xinetd start<\/p>\n<p>5. Testing. Tranfering file hda.txt from 192.168.1.100 (Client using tftp) to 192.168.1.100 (Server 192.168.1.100). Get an example file to transfer (eg. hda.txt)<\/p>\n<p>$ touch \/tftpboot\/hda.txt<br \/>\n$ chmod 777 \/tftpboot\/hda.txt<br \/>\n$ ls -l \/tftpboot\/<br \/>\ntotal 0<br \/>\n-rwxrwxrwx  1 davids davids 0 2006-03-27 23:04 hda.txt<br \/>\n$ tftp 192.168.1.100<br \/>\ntftp> put hda.txt<br \/>\nSent 722 bytes in 0.0 seconds<br \/>\ntftp> quit<br \/>\n$ ls -l \/tftpboot\/<br \/>\ntotal 4<\/p>\n<p>-rwxrwxrwx  1 davids davids 707 2006-03-27 23:07 hda.txt<\/p>\n<p>Copy bootloader image (u-boot.bin), kernel image (uImage), or file system image<br \/>\n(filesystem.yaffs) to \/tftpboot of host PC<br \/>\n$ cp filesystem.yaffs-2440-qtopia-touchscreen \\tftpboot\\filesystem.yaffs<\/p>\n<p>== Update file system  ==<br \/>\n===Set bootloader IP ===<br \/>\nutu-bootloader=>>>setenv ipaddr 192.168.1.168<br \/>\nutu-bootloader=>>>setenv serverip 192.168.1.138<br \/>\n#run install-filesystem<\/p>\n<p>export QPEDIR=\/opt\/Qtopia<br \/>\n   export QTDIR=\/opt\/Qtopia<br \/>\n   export PATH=$QTDIR\/bin:$PATH<br \/>\n   export TMAKEPATH=\/opt\/Qtopia\/tmake\/lib\/qws\/linux-generic-g++<br \/>\n   export LD_LIBRARY_PATH=$QTDIR\/lib:$LD_LIBRARY_PATH<\/p>\n<p>===install gcc lib ===<br \/>\napt-get install libc6-dev<br \/>\napt-get install ncurses-dev<br \/>\nmake menuconfig<\/p>\n<p>=Build kernel =<\/p>\n<p>ftp 192.168.1.168<\/p>\n<p>#sudo tar \u2013xjvf utu-linux_for_s3c2440_V1.5-2007-8-18.tar.bz2 \u2013C \/opt<br \/>\ncd utu-linux_for_s3c2440_dm9000_V1.5.8<br \/>\ncp mkimage to \/usr\/bin<\/p>\n<p>=FTP =<br \/>\nPo: Don&#8217;t used Filezilla, or FTP though Win PC, the file doesn&#8217;t working in ARM9,only shell ftp can working.<br \/>\nServer: Filezilla 192.168.1.168   anonymous<br \/>\nTarget:  Share file at pub\u76ee\u9304\u5728arm\u4e0a\u7684\u4f4d\u7f6e\u70ba\/var\/ftp\/pub<\/p>\n<p>\u5594,\u6211\u770barm\u7cfb\u7d71\u555f\u52d5\u6642vsftpd\u5c31\u81ea\u5df1\u555f\u52d5\u56c9,\u61c9\u8a72\u662f\u8a2d\u5728\/etc\/init.d\/rcS\u9019\u6a94\u6848\u88e1<br \/>\n\u6211\u770barm\u7cfb\u7d71\u555f\u52d5\u6642vsftpd\u5c31\u81ea\u5df1\u555f\u52d5\u56c9,\u61c9\u8a72\u662f\u8a2d\u5728\/etc\/init.d\/rcS\u9019\u6a94\u6848\u88e1<br \/>\n\u5012\u6578\u7b2c5,6\u884c<\/p>\n<p>ftp 192.168.1.168 anonymous<\/p>\n<p>=TELNET  =<\/p>\n<p>\u525b\u767c\u73fe\u4f60\u53ef\u4ee5\u7528telnet 192.168.1.168 login \u9032arm<\/p>\n<p>=install tftp on ubutun =<br \/>\napt-get install tftp-hpa<br \/>\n\/etc\/init.d\/openbsd-inetd start<\/p>\n<p>Config file: vi \/etc\/inetd.conf<br \/>\n\u5167\u5bb9\u6539\u6210 pd \/tftpboot<\/p>\n<p>anonymous<br \/>\n\/\/ httpss:\/\/hi.baidu.com\/wangy0919\/blog\/item\/3808eaa1388bd389471064c2.html<br \/>\nubuntu\u4e2d\u914d\u7f6etftp\u670d\u52a1 2007-08-02 18:08<br \/>\nsudo apt-get install tftpd-hpa tftp-hpa<br \/>\n\u6253\u5f00\/etc\/default\/tftpd-hpa<br \/>\n#Defaults for tftpd-hpa<br \/>\nRUN_DAEMON=&#8221;no&#8221;<br \/>\nOPTIONS=&#8221;-l -s \/var\/lib\/tftpboot&#8221;<br \/>\n\u4fee\u6539\u8bbe\u7f6e\u5982\u4e0b\uff1a<br \/>\n#Defaults for tftpd-hpa<br \/>\nRUN_DAEMON=&#8221;yes&#8221;<br \/>\nOPTIONS=&#8221;-l -s \/home\/zdreamx\/tftpboot&#8221;<br \/>\n\u5176\u4e2d\/home\/zdreamx\/tftpboot\u662f\u81ea\u5df1\u8bbe\u5b9a\u7684\u76ee\u5f55\uff0c\u53ef\u4ee5\u6839\u636e\u60c5\u51b5\u4fee\u6539\u3002<\/p>\n<p>=My First Qtopia application =<br \/>\nreference: httpss:\/\/www.kevinboone.com\/myfirstqtopiaapp2.html<\/p>\n<p>==install g++ ==<br \/>\n$ sudo apt-get install gcc<br \/>\n$ sudo apt-get install g++<\/p>\n<p>1) Check the environment is correct:<\/p>\n<p>$ cp qt-embedded-2.3.7  \\opt\\qt-embedded-2.3.7<\/p>\n<p> export QPEDIR=\/opt\/qt-embedded-2.3.7<br \/>\n export QTDIR=\/opt\/qt-embedded-2.3.7<br \/>\n export PATH=$QTDIR\/bin:$PATH<br \/>\n export TMAKEPATH=\/opt\/qt-embedded-2.3.7\/tmake\/lib\/qws\/linux-generic-g++c<br \/>\n export LD_LIBRARY_PATH=$QTDIR\/lib:$LD_LIBRARY_PATH<\/p>\n<p>arm-linux-g++ -L $QTDIR\/lib\/ -o   main.o hello.o  -luuid  -ljpeg -lqpe -lqte<\/p>\n<p>2)  Make a copy of the example:<\/p>\n<p>   cd somewhere<br \/>\n   cp -r $QPEDIR\/examples\/application .<br \/>\n   cd application<\/p>\n<p>3) Generate a Makefile:<\/p>\n<p> sudo apt-get install tmake<br \/>\n4) source code hello1.cpp<\/p>\n<p>#include <qmainwindow.h><br \/>\n#include <qpe\/qpeapplication.h><\/p>\n<p>int main(int argc, char** argv)<br \/>\n{<br \/>\n  QPEApplication app(argc, argv);<br \/>\n  QMainWindow* mainWindow = new QMainWindow();<br \/>\n  mainWindow->setCaption(&#8220;Hello, World!&#8221;);<br \/>\n  app.showMainWidget(mainWindow);<br \/>\n  return app.exec();<br \/>\n}<\/p>\n<p>5) complier<\/p>\n<p> arm-linux-g++ -o hello1 hello1.cpp -DQWS -fno-rtti -L\/opt\/qtopia-1.7-tp\/qt-embedded-2.3.7\/lib\/  -L\/opt\/qtopia-1.7-tp\/3rdparty\/lib\/ -L\/opt\/qtopia-1.7-tp\/qtopia-free-1.7.0\/lib\/ -I\/opt\/qtopia-1.7-tp\/qt-embedded-2.3.7\/include\/  -I\/opt\/qtopia-1.7-tp\/3rdparty\/include\/ -I\/opt\/qtopia-1.7-tp\/qtopia-free-1.7.0\/include\/ -luuid  -lpng -lqpe -lqte<\/p>\n<p>\/\/ export QPEDIR=\/opt\/qtopia-1.7-tp<br \/>\n\/\/ arm-linux-g++ -I $QTDIR\/include\/  -DQWS -fno-rtti  -o hello.o -c hello.cpp<br \/>\n\/\/ arm-linux-g++ -I $QTDIR\/include\/  -DQWS -fno-rtti  -o main.o -c main.cpp<br \/>\n\/\/ arm-linux-g++ -L $QTDIR\/lib\/ -o main.o hello.o -luuid -ljpeg -lqpe -lqte<\/p>\n<p> arm-linux-g++ -o hello1 imagefip.cpp imagetexteditor.cpp main.cpp showimg.cpp  -DQWS -fno-rtti -L\/opt\/qtopia-1.7-tp\/qt-embedded-2.3.7\/lib\/  -L\/opt\/qtopia-1.7-tp\/3rdparty\/lib\/ -L\/opt\/qtopia-1.7-tp\/qtopia-free-1.7.0\/lib\/ -I\/opt\/qtopia-1.7-tp\/qt-embedded-2.3.7\/include\/  -I\/opt\/qtopia-1.7-tp\/3rdparty\/include\/ -I\/opt\/qtopia-1.7-tp\/qtopia-free-1.7.0\/include\/ -luuid  -lpng -lqpe -lqte<\/p>\n<p>5) Makefile<br \/>\nhello1: hello1 hello1.o<br \/>\n    arm-linux-g++ -o hello1 hello1.o -L\/opt\/qtopia-1.7-tp\/qt-embedded-2.3.7\/lib\/  -L\/opt\/qtopia-1.7-tp\/3rdparty\/lib\/ -L\/opt\/qtopia-1.7-tp\/qtopia-free-1.7.0\/lib\/ -luuid -lpng -lqpe -lqte<\/p>\n<p>hello1.o:<br \/>\n    arm-linux-g++ -c hello1.o hello1.cpp -DQWS -fno-rtti -I\/opt\/qtopia-1.7-tp\/qt-embedded-2.3.7\/include\/  -I\/opt\/qtopia-1.7-tp\/3rdparty\/include\/ -I\/opt\/qtopia-1.7-tp\/qtopia-free-1.7.0\/include\/<\/p>\n<p>6) UPload the filr via FTP<\/p>\n<p>7) change exection property<br \/>\nchmod -x hello<\/p>\n<p>==imageviewer QT Application ==<br \/>\n\u6211\u89e3\u958b\u4e86;\u653e\u5728\/home\/looptek\/qtopia-1.7-mouse\/qtopia-free-1.7.0\/src\/applications\/imageviewer<br \/>\n\/opt\/qtopia-1.7<br \/>\n-tp\/qtopia-free-1.7.0\/src\/applications\/imageviewer<\/p>\n<p>==download and install  qt- x11 4.4.1 ==<\/p>\n<p> cd \/tmp<br \/>\n gunzip  qt-embedded-linux-opensource-src-4.4.1.tar.gz         # uncompress the archive<br \/>\n tar xvf qt-embedded-linux-opensource-src-4.4.1.tar          # unpack it<\/p>\n<p> cd  qt-embedded-linux-opensource-src-4.4.1<br \/>\necho &#8220;yes&#8221;|.\/configure -embedded arm -no-stl -no-qt3support -no-nis -no-cups -no-iconv -no-qdbus -no-freetype -depths 4,8,16,32 -qt-mouse-linuxtp<\/p>\n<p> \/\/ .\/configure  -embedded arm   \/\/ QT document recommend.<br \/>\n \/\/ .\/configure -embedded [architecture]   \/\/architectures are x86, arm and mips.<\/p>\n<p>#make<br \/>\n#make install<\/p>\n<p>==1.3 Copy to a root file system==<br \/>\nhttpss:\/\/blog.chinaunix.net\/u\/28781\/showart_384828.html<\/p>\n<p>Assume that you have a root file system \/opt\/rootfs on your host PC that is NFS exported.<br \/>\n#cd \/opt<br \/>\n#rm -r rootfs\/opt\/* (delete old Qtopia if any)<br \/>\n#rm rootfs\/bin\/qtopia (delete old Qtopia if any)<br \/>\n#mkdir -p rootfs\/usr\/local\/Trolltech\/QtopiaCore-4.3.2-arm\/lib<br \/>\n#cp -a \/usr\/local\/Trolltech\/QtopiaCore-4.3.2-arm\/lib\/*<br \/>\nrootfs\/usr\/local\/Trolltech\/QtopiaCore-4.3.2-arm\/lib<br \/>\n#cp -a \/usr\/local\/Trolltech\/QtopiaCore-4.3.2-arm\/examples<br \/>\nrootfs\/usr\/local\/Trolltech\/QtopiaCore-4.3.2-arm\/<br \/>\n#cp -a \/usr\/local\/Trolltech\/QtopiaCore-4.3.2-arm\/demos<br \/>\nrootfs\/usr\/local\/Trolltech\/QtopiaCore-4.3.2-arm\/<br \/>\nTo copy the root file system to the nand flash of the target, please refer to 5.3.<\/p>\n<p>==11.4 Configure touchscreen==<br \/>\nEdit \/opt\/rootfs\/etc\/profile, add the following 2 lines:<br \/>\nQWS_MOUSE_PROTO=&#8221;LinuxTP:\/dev\/h3600_tsraw&#8221;<br \/>\nexport QWS_MOUSE_PROTO<\/p>\n<p>=Setup NFS Server=<\/p>\n<p>#tar \u2013xjvf utu-linux_for_s3c2440_V1.5-2007-8-18.tar.bz2 \u2013C \/opt<\/p>\n<p>sudo mkdir \/rootfs<br \/>\napt-get install nfs-kernel-server nfs-common portmap<br \/>\n#vi \/etc\/exports<br \/>\nadd \/rootfs<br \/>\n\/etc\/init.d\/nfs-kernel-server restart<\/p>\n<p>=Setup NFS Client\/Target=<\/p>\n<p>   1. .(Server) \/etc\/init.d\/nfs-kernel-server restart<br \/>\n   2. . (Target) mount -t nfs -o nolock 192.168.1.138:\/rootfs \/mnt <\/p>\n<p>=test application =<\/p>\n<p>Boot your target so that it NFS-mounts a previously-prepared root file system on host PC<br \/>\n&#8211; \/opt\/rootfs. Go to the examples and demos directories to run those applications.<br \/>\nFor example, at the minicom terminal:<br \/>\n#.\/analogclock \u2013qws<\/p>\n<p>=Install VNC Server =<\/p>\n<p>HOWTO: Set up VNC server with resumable sessions<br \/>\nSo here&#8217;s the complete list of steps that are required to set the VNC server that any user can login into and start a session. It is also persistent, meanning that even if you disconnect the VNC client your X session will not end (unless you explicitly log out) and you can reconnect to the same session again. The VNC server uses a separate display (:1) than your regular X server, which works with your physical display (:0). So two sessions can be active at the same time (one person sitting at the physical display and another remotely connecting using VNC).<\/p>\n<p>1. Enable XDMCP<br \/>\nSystem->Administration->Login Screen Setup<br \/>\nTab Security->Enable XDMCP<br \/>\nTab XDMCP&#8211;> You can disable &#8220;Honor Indirect Requests&#8221;<\/p>\n<p>Note: Before doing the next step, you need to make sure the extra repositories (e.g. universe) are enabled:<br \/>\nhttpss:\/\/easylinux.info\/wiki\/Ubuntu#Ho&#8230;a_repositories<\/p>\n<p>2. Install required packages (vncserver and xinetd)<\/p>\n<p>Code:<\/p>\n<p>sudo apt-get install vnc4server xinetd<\/p>\n<p>Note to AMD64 users: The current version of vnc4server in the repositories has a bug, so you need to download and install the fixed vnc4 packages as shown below:<\/p>\n<p>Code:<\/p>\n<p>wget httpss:\/\/qt1.iq.usp.br\/download\/vnc4server_4.0-7.3_amd64.deb<br \/>\nwget httpss:\/\/qt1.iq.usp.br\/download\/xvnc4viewer_4.0-7.3_amd64.deb<br \/>\nsudo dpkg -i vnc4server_4.0-7.3_amd64.deb<br \/>\nsudo dpkg -i xvnc4viewer_4.0-7.3_amd64.deb<\/p>\n<p>3. Set the VNC passwd<br \/>\nCode:<\/p>\n<p>sudo vncpasswd \/root\/.vncpasswd<\/p>\n<p>4. Add vnc service to xinetd:<br \/>\nCode:<\/p>\n<p>sudo gedit \/etc\/xinetd.d\/Xvnc<\/p>\n<p>Enter this into the new file:<\/p>\n<p>Code:<\/p>\n<p>service Xvnc<br \/>\n{<br \/>\n        type = UNLISTED<br \/>\n        disable = no<br \/>\n        socket_type = stream<br \/>\n        protocol = tcp<br \/>\n        wait = yes<br \/>\n        user = root<br \/>\n        server = \/usr\/bin\/Xvnc<br \/>\n        server_args = -inetd :1 -query localhost -geometry 1024&#215;768 -depth 16 -once -fp \/usr\/share\/X11\/fonts\/misc -DisconnectClients=0 -NeverShared passwordFile=\/root\/.vncpasswd<br \/>\n        port = 5901<br \/>\n}<\/p>\n<p>5. Restart xinetd (usually there is no need to reboot, but occasionally it might be required)<\/p>\n<p>Code:<\/p>\n<p>sudo \/etc\/init.d\/xinetd stop<br \/>\nsudo killall Xvnc<br \/>\nsudo \/etc\/init.d\/xinetd start<\/p>\n<p>6. That&#8217;s it! To test that this is working first try to connect from the same machine (the machine we just set up the VNC server on):<\/p>\n<p>Code:<\/p>\n<p>vncviewer localhost:1<\/p>\n<p>You should be prompted for the VNC password, and then see the GDM login screen where you can login and start a new X session. If that works, you can now go ahead and try to connect from remote machine using your favorite VNC client (remember to first close the local vncviewer we started above). Remember to use the VNC server machine&#8217;s domain name or IP address, followed by :1 (e.g. 192.168.0.100:1). If connecting locally as shown above works, but connecting remotely fails, then this means you have a problem with a firewall which is blocking some ports. See the notes below about how to deal with that.<\/p>\n<p>Note about ports: The VNC server set up as shown uses TCP port 5901. If you are using firewall software (e.g. firestarter) on that machine, you need to allow incoming connections on this port. If you are using a router which assigns your machine a private address (e.g. 192.168.0.100) which is not accessible from the internet, then you need to forward TCP port 5901 from the router to this machine.<\/p>\n<p>Note about security: This setup allows any user to start an X-session remotely by logging in using his regular password (after starting the VNC connection using the VNC password), so if the user disconnects without logging out, any other user which knows the VNC password can connect afterwards and resume the same session that the first user started. So if you do not want to log out before disconnecting, it&#8217;s advisable to at least lock your VNC X-session screen. Also note that while a remote user is connected thru VNC, no other connection will be accepted. An idle VNC client will be disconnected after one hour, but this can be changed by using the &#8220;-IdleTimeout&#8221; option in the server_args line in \/etc\/xinetd.d\/Xvnc. For example, you can add &#8220;-IdleTimeout 300&#8243; to change it to 5 minutes.<\/p>\n<p>=Update Qtopia Core Opensource =<br \/>\nDOTO<\/p>\n<p>=Big problem fixed =<br \/>\n==setup tftp ==<br \/>\n==complier and link lib ==<br \/>\n==Upload file ==<br \/>\n==    FromFile()  in Windows SmartPhone  ==<br \/>\npictureBox1.Image = Image.FromFile(t_path);<br \/>\nDoes Compact Framework has a FromFile()?????<br \/>\nwhenever i tried to use that method, i will get a error complaining that :<br \/>\n&#8216;System.Drawing.Image&#8217; does not contain a definition for &#8216;FromFile&#8217;  .<\/p>\n<p>Answer:<br \/>\nImage img = new Bitmap(@&#8221;\\path\\to\\some\\image.png&#8221;);<br \/>\n            Image img = new Bitmap(t_path);<br \/>\n            System.Drawing.Image image = img;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>YC2440 =YC2440 connection= =\ufeff=Install minicom== #.apt-g [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-18","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/www.powenko.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/18"}],"collection":[{"href":"https:\/\/www.powenko.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.powenko.com\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.powenko.com\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.powenko.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=18"}],"version-history":[{"count":0,"href":"https:\/\/www.powenko.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/18\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.powenko.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=18"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.powenko.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=18"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.powenko.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=18"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}