<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8778816004128604020</id><updated>2011-11-30T10:39:23.610+05:30</updated><title type='text'>Linux porting on ARM based board</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://linux-arm-porting.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8778816004128604020/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://linux-arm-porting.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ratheendran</name><uri>http://www.blogger.com/profile/13707346592776375631</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>15</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8778816004128604020.post-7170193160880312818</id><published>2011-09-26T11:32:00.008+05:30</published><updated>2011-10-17T09:28:56.884+05:30</updated><title type='text'>Scratch Box2 , Qemu with ELDK tool chain</title><content type='html'>1  Compile and Install Qemu&lt;br /&gt;a) Download qemu-0.14.1.tar.gz ,use the this link http://wiki.qemu.org/Download&lt;br /&gt;b) extract the qemu, tar -xvzf qemu-0.14.1.tar.gz&lt;br /&gt;c) configure Qemu source.&lt;br /&gt;./configure --prefix=$HOME/qemu --target-list=arm-linux-user&lt;br /&gt;d) Compile and Install the binaries.&lt;br /&gt;e)make install&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2  Compile and install sbox2&lt;br /&gt;a) git clone git://anongit.freedesktop.org/git/sbox2&lt;br /&gt;cd sbox2&lt;br /&gt;b) sbox2 gives compilation error patch the source with the file given in the link below.&lt;br /&gt;&lt;a href="https://docs.google.com/leaf?id=0B1nQtD1MkxoDMzMwMzhhNDktNWE3YS00ZDQwLThmOWUtNjNkZjk1NjljZDBk&amp;amp;hl=en_US"&gt;sbox2-patch&lt;/a&gt;&lt;br /&gt;patch -p1 -i /PATH-TO-PATCH/sbox2.patch&lt;br /&gt;c)run ./autogen.sh to create a configuration file.&lt;br /&gt;d) ./configure --prefix=$HOME/sb2&lt;br /&gt;e) make install&lt;br /&gt;f) PATH=$PATH:$HOME/sb2/bin&lt;br /&gt;&lt;br /&gt;Target creation.&lt;br /&gt;I have a ELDK toolchain installed on /opt/eldk, so:&lt;br /&gt;cd /opt/eldk/arm&lt;br /&gt;sb2-init -c /opt/qemu/bin/qemu-arm armv4  /opt/eldk/usr/bin/arm-linux-gnueabi-gcc&lt;br /&gt;Once sb2-init is successfully installed,we can use it for cross-compiling source.&lt;br /&gt;e.g&lt;br /&gt;glib cross-compiling.&lt;br /&gt;Download glib-2.24.0.tar.bz2&lt;br /&gt;http://ftp.gnome.org/pub/gnome/sources/glib/2.24/glib-2.24.0.tar.bz2&lt;br /&gt;sb2 ./configure --prefix=/opt/gst --disable-static --with-html-dir=/tmp/dump&lt;br /&gt;sb2 make install&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;&lt;!--&lt;br /&gt;google_ad_client = "ca-pub-9889251788772189";&lt;br /&gt;/* ad */&lt;br /&gt;google_ad_slot = "5733728028";&lt;br /&gt;google_ad_width = 728;&lt;br /&gt;google_ad_height = 90;&lt;br /&gt;//--&gt;&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;script type="text/javascript"&lt;br /&gt;src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;&lt;br /&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8778816004128604020-7170193160880312818?l=linux-arm-porting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linux-arm-porting.blogspot.com/feeds/7170193160880312818/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-arm-porting.blogspot.com/2011/09/scratch-box2-qemu-eldk-tool-chain.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8778816004128604020/posts/default/7170193160880312818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8778816004128604020/posts/default/7170193160880312818'/><link rel='alternate' type='text/html' href='http://linux-arm-porting.blogspot.com/2011/09/scratch-box2-qemu-eldk-tool-chain.html' title='Scratch Box2 , Qemu with ELDK tool chain'/><author><name>Ratheendran</name><uri>http://www.blogger.com/profile/13707346592776375631</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8778816004128604020.post-6645510286660237648</id><published>2011-07-27T12:26:00.009+05:30</published><updated>2011-07-31T20:04:41.878+05:30</updated><title type='text'>GTK+ DirectFB cross compilation</title><content type='html'>&lt;span id="intro"&gt;GTK+&lt;/span&gt;, or the GIMP Toolkit, is a multi-platform  toolkit for creating graphical user interfaces. Offering a complete set  of widgets. GTK+ is suitable for projects ranging from small one-off  tools to complete application suites.&lt;br /&gt;&lt;br /&gt;I have download the below softwares to start with.&lt;br /&gt;atk-1.30.0: http://ftp.gnome.org/pub/GNOME/sources/atk/1.30/atk-1.30.0.tar.bz2&lt;br /&gt;&lt;br /&gt;cairo-1.8.10: http://cairographics.org/releases/cairo-1.8.10.tar.gz&lt;br /&gt;&lt;br /&gt;DirectFB-1.4.3: http://directfb.org/downloads/Core/DirectFB-1.4/DirectFB-1.4.3.tar.gz&lt;br /&gt;&lt;br /&gt;expat-2.0.1: http://sourceforge.net/projects/expat/&lt;br /&gt;&lt;br /&gt;fontconfig-2.8.0: http://fontconfig.org/release/fontconfig-2.8.0.tar.gz&lt;br /&gt;&lt;br /&gt;freetype-2.3.12: http://sourceforge.net/projects/freetype/files/&lt;br /&gt;&lt;br /&gt;glib-2.24.0: http://ftp.gnome.org/pub/gnome/sources/glib/2.24/glib-2.24.0.tar.bz2&lt;br /&gt;&lt;br /&gt;gtk+-2.20.1: http://ftp.gnome.org/pub/gnome/sources/gtk+/2.20/gtk+-2.20.1.tar.bz2&lt;br /&gt;&lt;br /&gt;jpeg-8b: http://www.ijg.org/files/jpegsrc.v8b.tar.gz&lt;br /&gt;&lt;br /&gt;tslib: http://www.zelow.no/floppyfw/download/Development/src/&lt;br /&gt;&lt;br /&gt;libpng-1.2.39: http://sourceforge.net/projects/libpng/files/&lt;br /&gt;&lt;br /&gt;libxml2-2.7.7: ftp://gd.tuwien.ac.at/pub/libxml/libxml2-2.7.7.tar.gz&lt;br /&gt;&lt;br /&gt;pango-1.28.1: http://ftp.gnome.org/pub/gnome/sources/pango/1.28/pango-1.28.1.tar.bz2&lt;br /&gt;&lt;br /&gt;pixman-0.18.2: http://cairographics.org/releases/pixman-0.18.2.tar.gz&lt;br /&gt;&lt;br /&gt;tiff-3.9.2: http://download.osgeo.org/libtiff/tiff-3.9.2.tar.gz&lt;br /&gt;&lt;br /&gt;zlib-1.2.5: http://zlib.net/zlib-1.2.5.tar.gz&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;With scratchbox2 and qemu on the host machine cross compiling was straightforward.&lt;br /&gt;&lt;br /&gt;Cross compiling order&lt;br /&gt;&lt;br /&gt;1) tslib&lt;br /&gt;sb2 ./configure --prefix=/opt/gtkfb&lt;br /&gt;sb2 make install&lt;br /&gt;&lt;br /&gt;2) zlib&lt;br /&gt;since glib require zlib&lt;br /&gt;sb2 ./configure --prefix=/opt/gtkfb --shared&lt;br /&gt;sb2 make install&lt;br /&gt;&lt;br /&gt;3) glib&lt;br /&gt;LDFLAGS=-L/opt/gtkfb/lib  CPPFLAGS=-I/opt/gtkfb/include/ sb2 ./configure --prefix=/opt/gtkfb --disable-static --with-html-dir=/tmp/dump&lt;br /&gt;sb2 make install&lt;br /&gt;&lt;br /&gt;4) atk&lt;br /&gt;export PKG_CONFIG_PATH=/opt/gtkfb/lib/pkgconfig&lt;br /&gt;LDFLAGS=-L/opt/gtkfb/lib  CPPFLAGS=-I/opt/gtkfb/include/ sb2 ./configure --prefix=/opt/gtkfb --disable-glibtest&lt;br /&gt;sb2 make install&lt;br /&gt;&lt;br /&gt;5) jpeg-8b&lt;br /&gt;sb2 ./configure --prefix=/opt/gtkfb --enable-shared --enable-static&lt;br /&gt;sb2 make install&lt;br /&gt;&lt;br /&gt;6) libpng&lt;br /&gt;LDFLAGS=-L/opt/gtkfb/lib  CPPFLAGS=-I/opt/gtkfb/include/ sb2 ./configure --prefix=/opt/gtkfb&lt;br /&gt;sb2 make install&lt;br /&gt;&lt;br /&gt;7) expat-2.0&lt;br /&gt;sb2 ./configure --prefix=/opt/gtkfb&lt;br /&gt;sb2 make install&lt;br /&gt;&lt;br /&gt;8) freetype&lt;br /&gt;sb2 ./configure --prefix=/opt/gtkfb&lt;br /&gt;sb2 make install&lt;br /&gt;&lt;br /&gt;9)libxml&lt;br /&gt;LDFLAGS=-L/opt/arm/gst/lib  CPPFLAGS=-I/opt/arm/gst/include/ sb2 ./configure --prefix=/opt/gtkfb --without-python&lt;br /&gt;sb2 make install&lt;br /&gt;&lt;br /&gt;10)freetype-2.3.12&lt;br /&gt;LDFLAGS=-L/opt/arm/gst/lib  CPPFLAGS=-I/opt/arm/gst/include/ sb2 ./configure --prefix=/opt/gtkfb --with-freetype-config=/opt/gtkfb/bin/freetype-config&lt;br /&gt;&lt;br /&gt;11) tiff -- not used gcc 4.3.2&lt;br /&gt;LDFLAGS=-L/opt/arm/gst/lib  CPPFLAGS=-I/opt/arm/gst/include/ sb2 ./configure --prefix=/opt/gtkfb --enable-shared&lt;br /&gt;sb2 make install&lt;br /&gt;&lt;br /&gt;12) DirectFB&lt;br /&gt;LDFLAGS=-L/opt/arm/gst/lib  CPPFLAGS=-I/opt/arm/gst/include/ sb2 ./configure --prefix=/opt/gtkfb --with-gfxdrivers=none --with-inputdrivers=all --enable-png --enable-jpeg --enable-tiff=no --enable-zlib --enable-sdl=no --enable-gif=no --disable-x11&lt;br /&gt;sb2 make install&lt;br /&gt;&lt;br /&gt;13) pixman-0.18.2&lt;br /&gt;LDFLAGS=-L/opt/arm/gst/lib  CPPFLAGS=-I/opt/arm/gst/include/ sb2 ./configure --prefix=/opt/gtkfb --disable-gtk&lt;br /&gt;&lt;br /&gt;14) cairo&lt;br /&gt;LDFLAGS=-L/opt/gtkfb/lib  CPPFLAGS=-I/opt/gtkfb/include/ sb2 ./configure --prefix=/opt/gtkfb --without-x --disable-xlib --disable-xlib-xrender --enable-directfb --enable-freetype --disable-win32 --enable-pdf --enable-ps --enable-svg --enable-png&lt;br /&gt;&lt;br /&gt;15) Pango&lt;br /&gt;LDFLAGS=-L/opt/gtkfb/lib  CPPFLAGS=-I/opt/gtkfb/include/ sb2 ./configure --prefix=/opt/gtkfb  --without-x&lt;br /&gt;&lt;br /&gt;16 gtk&lt;br /&gt;LDFLAGS=-L/opt/gtkfb/lib  CPPFLAGS=-I/opt/gtkfb/include/ sb2 ./configure --prefix=/opt/gtkfb  --with-gdktarget=directfb --without-x --without-libtiff --disable-glibtest --disable-cups&lt;br /&gt;&lt;br /&gt;Now to compile a simple helloworld.c pro-gramme with these libraries.&lt;br /&gt;export PKG_CONFIG_PATH=/opt/gtkfb/lib/pkgconfig&lt;br /&gt;arm-linux-gcc -Wall -g helloworld.c -o helloworld `pkg-config --cflags  gtk+-2.0` `pkg-config --libs gtk+-2.0` -Wl,-O1 -Wl,-rpath,/opt/gtkfb/lib&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8778816004128604020-6645510286660237648?l=linux-arm-porting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linux-arm-porting.blogspot.com/feeds/6645510286660237648/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-arm-porting.blogspot.com/2011/07/gtk-directfb-cross-compilation-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8778816004128604020/posts/default/6645510286660237648'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8778816004128604020/posts/default/6645510286660237648'/><link rel='alternate' type='text/html' href='http://linux-arm-porting.blogspot.com/2011/07/gtk-directfb-cross-compilation-for.html' title='GTK+ DirectFB cross compilation'/><author><name>Ratheendran</name><uri>http://www.blogger.com/profile/13707346592776375631</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8778816004128604020.post-5031822676499723273</id><published>2011-05-02T09:20:00.003+05:30</published><updated>2011-05-02T12:01:08.590+05:30</updated><title type='text'>mini2440 as USB mass storage gadget device</title><content type='html'>To make mini2440 as USB mass storage device,I needed to check both the schematics and source code. I am not sure the reason GPG12 GPIO port pin is used by touch screen, however this is not captured in schematics. also referred http://www.linux-usb.org/gadget/file_storage.html link to establish this task.&lt;br /&gt;&lt;br /&gt;Step 1:&lt;br /&gt;so the first step is to disable the touch screen driver in the kernel source tree.&lt;br /&gt;&lt;br /&gt;step 2:&lt;br /&gt;--- USB support&lt;br /&gt; [*]     USB device filesystem&lt;br /&gt; &amp;lt;*&amp;gt;   USB Gadget Support  ---&amp;gt;&lt;br /&gt; &lt;m&gt;     File-backed Storage Gadget&lt;br /&gt;&lt;br /&gt;step 3:&lt;br /&gt;  cross compile the kernel,boot the new kernel and filesystem. go to compiled linux source tree and download &lt;em style="font-style: italic;"&gt;&lt;em&gt;g_file_storage.ko&lt;/em&gt;&lt;/em&gt;&lt;span style="font-style: italic;"&gt; to mini2440.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family:arial;"&gt;step 4:&lt;/span&gt;&lt;span style="font-family:arial;"&gt;      &lt;/span&gt;&lt;br /&gt;   Creating a backing storage file&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;  &lt;/span&gt;    &lt;/span&gt;   &lt;/div&gt;      since the mini2440 has 64 MB flash, I allocated 10MB space for backup storage file.  &lt;br /&gt;   bash# &lt;em&gt;dd bs=1M count=10 if=/dev/zero of=/root/backing_file&lt;br /&gt;&lt;br /&gt;step 5:      &lt;/em&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;   &lt;/span&gt;Partitioning the backing storage&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;     bash# &lt;em&gt;fdisk /root/backing_file&lt;/em&gt;&lt;br /&gt; Device contains neither a valid DOS partition table, nor Sun or SGI disklabel&lt;br /&gt; Building a new DOS disklabel. Changes will remain in memory only,&lt;br /&gt; until you decide to write them. After that, of course, the previous&lt;br /&gt; content won't be recoverable.&lt;br /&gt;&lt;br /&gt; You must set heads sectors and cylinders.&lt;br /&gt; You can do this from the extra functions menu.&lt;br /&gt;&lt;br /&gt; Command (m for help):  &lt;br /&gt; &lt;span style="font-weight: bold;"&gt;&lt;br /&gt; &lt;/span&gt;Give the "x" (eXpert or eXtra) command:&lt;span style="font-weight: bold;"&gt;&lt;br /&gt; &lt;/span&gt;&lt;br /&gt; Command (m for help): &lt;em&gt;x&lt;br /&gt;&lt;/em&gt;&lt;span style="font-weight: bold;"&gt;     now select Heads, Sectors, and Cylinders&lt;/span&gt;&lt;br /&gt; &lt;em style="font-style: italic;"&gt;g_file_storage&lt;/em&gt;&lt;span style="font-style: italic;"&gt; uses a sector size of 512 bytes, so 8 sectors/track will give us 4096 bytes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;     per track&lt;/span&gt;&lt;br /&gt; Expert command (m for help): &lt;em&gt;s&lt;/em&gt;&lt;br /&gt; Number of sectors (1-63): &lt;em&gt;8&lt;/em&gt;&lt;br /&gt; Warning: setting sector offset for DOS compatiblity &lt;br /&gt;&lt;br /&gt; &lt;span style="font-style: italic;"&gt;With 4 KB per track, 16 heads will give us a total of 64 KB per cylinder&lt;/span&gt;&lt;br /&gt;  Expert command (m for help): &lt;em&gt;h&lt;/em&gt;&lt;br /&gt; Number of heads (1-256): &lt;em&gt;16&lt;/em&gt; &lt;br /&gt;&lt;br /&gt; &lt;span style="font-style: italic;"&gt;Since we've got 64 KB per cylinder and 10 MB total, we need to use 320&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;cylinders.&lt;/span&gt;&lt;br /&gt; Expert command (m for help): &lt;em&gt;c&lt;/em&gt;&lt;br /&gt; Number of cylinders (1-131071): &lt;em&gt;320&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;     &lt;/span&gt;&lt;/em&gt;&lt;span style="font-style: italic;"&gt;Now return to the normal menu (the "r" command):&lt;/span&gt;&lt;br /&gt; Expert command (m for help): &lt;em&gt;r&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;     creating a primary partition&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;     Command (m for help): &lt;em&gt;n&lt;/em&gt;&lt;br /&gt; Command action&lt;br /&gt;    e   extended&lt;br /&gt;    p   primary partition (1-4)&lt;br /&gt;&lt;em&gt;      p&lt;/em&gt;&lt;br /&gt; Partition number (1-4): &lt;em&gt;1&lt;/em&gt;&lt;br /&gt; First cylinder (1-1024, default 1):&lt;br /&gt; Using default value 1&lt;br /&gt; Last cylinder or +size or +sizeM or +sizeK (1-1024, default 1024):&lt;br /&gt; Using default value 1024&lt;br /&gt;&lt;br /&gt; Since you want to use the gadget with a Windows host, you should change the&lt;br /&gt;partition type (the "t" command) to FAT32 (code "b")&lt;br /&gt; Command (m for help): &lt;em&gt;t&lt;/em&gt;&lt;br /&gt; Partition number (1-4): &lt;em&gt;1&lt;/em&gt;&lt;br /&gt; Hex code (type L to list codes): &lt;em&gt;b&lt;/em&gt;&lt;br /&gt; Changed system type of partition 1 to b (Win95 FAT32) &lt;br /&gt;&lt;br /&gt; Finally write out ("w") the partition table to the backing storage:&lt;br /&gt; Command (m for help): w&lt;br /&gt; The partition table has been altered!&lt;br /&gt;&lt;br /&gt; &lt;span style="font-weight: bold;"&gt;Adding a filesystem&lt;/span&gt;&lt;/pre&gt;&lt;/m&gt;&lt;m&gt;&lt;pre&gt;   You use the &lt;em&gt;losetup&lt;/em&gt; program to set up the &lt;em&gt;loop&lt;/em&gt;&lt;br /&gt; device driver with the proper offset:&lt;br /&gt;&lt;br /&gt; # &lt;em&gt;losetup -o 4096 /dev/loop0 /root/backing_file&lt;/em&gt;&lt;br /&gt;&lt;br /&gt; and then you can mount it:&lt;br /&gt;&lt;br /&gt; # &lt;em&gt;mount -t vfat /dev/loop0 /mnt/loop &lt;/em&gt;&lt;em&gt;&lt;br /&gt;&lt;br /&gt; /dev/loop0&lt;/em&gt; is mapped to the partition within the backing&lt;br /&gt;storage.  You can create a filesystem on it:&lt;br /&gt;&lt;em&gt;  &lt;/em&gt;# &lt;em&gt;mkdosfs /dev/loop0&lt;/em&gt;&lt;em&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;now do "insmod &lt;/em&gt;&lt;em style="font-style: italic;"&gt;g_file_storage file=/root/backing_file" on mini2440,then&lt;/em&gt;&lt;em&gt; connect mini2440 to host PC.&lt;br /&gt;the FAT32 partition with will be visible as storage device on Host system&lt;br /&gt;&lt;/em&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/m&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8778816004128604020-5031822676499723273?l=linux-arm-porting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linux-arm-porting.blogspot.com/feeds/5031822676499723273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-arm-porting.blogspot.com/2011/05/mini2440-as-usb-mass-storage-gadget.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8778816004128604020/posts/default/5031822676499723273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8778816004128604020/posts/default/5031822676499723273'/><link rel='alternate' type='text/html' href='http://linux-arm-porting.blogspot.com/2011/05/mini2440-as-usb-mass-storage-gadget.html' title='mini2440 as USB mass storage gadget device'/><author><name>Ratheendran</name><uri>http://www.blogger.com/profile/13707346592776375631</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8778816004128604020.post-1358162304382179366</id><published>2010-03-31T21:33:00.005+05:30</published><updated>2011-10-13T10:51:09.136+05:30</updated><title type='text'>ELDK on mini2440</title><content type='html'>The Embedded Linux Development Kit (ELDK) includes the GNU cross development tools, such as the compilers, binutils, gdb, etc.support different Target architecture including arm.&lt;br /&gt;&lt;br /&gt;Download link&lt;br /&gt;http://www.denx.de/wiki/DULG/ELDKAvailability&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Creating enviroment on host PC.&lt;br /&gt;linuxhost &amp;gt; mkdir eldk&lt;br /&gt;linuxhost &amp;gt; mkdir install_mount&lt;br /&gt;linuxhost &amp;gt; cd eldk/&lt;br /&gt;linuxhost/eldk &amp;gt; su&lt;br /&gt;linuxhost/eldk # mount -o loop,exec ../arm-2007-01-21.iso ../install_mount/&lt;br /&gt;linuxhost/eldk # exit&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;linuxhost/eldk &amp;gt; ls ../install_mount/&lt;br /&gt;.   arm     ELDK_FIXOWNER  etc    install      RPMS  tools&lt;br /&gt;..  common  ELDK_MAKEDEV   icons  README.html  sys   version&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;linuxhost/eldk &amp;gt; ../install_mount/install arm&lt;br /&gt;linuxhost/eldk &amp;gt; chmod u+x eldk_init&lt;br /&gt;&lt;br /&gt;now unmount the ISO image as root&lt;br /&gt;&lt;br /&gt;linuxhost/eldk &amp;gt; ./eldk_init arm&lt;br /&gt;export these variable to environment,or include them as part of .bashrc file.&lt;br /&gt;ARCH=arm&lt;br /&gt;CROSS_COMPILE=arm-linux-&lt;br /&gt;DEPMOD=/opt/eldk/usr/bin/depmod.pl&lt;br /&gt;PATH=/opt/eldk/usr/bin:/opt/eldk/bin&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Using ELDK for mini2440&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;compiling the Kernel...&lt;br /&gt;Error found while compiling the kernel&lt;br /&gt;         kernel/bounds.c:1: error: invalid ABI option: -mabi=aapcs-linux&lt;br /&gt;Fix is to  un select Kernel Features  ---&amp;gt;  [ ] Use the ARM EABI to compile the kernel&lt;br /&gt;Now do make in kernel source,the kernel is successfully build on ELDK.&lt;br /&gt;&lt;br /&gt;Building the Root file system&lt;br /&gt;untar the root_qtopia.tar.gz which is available on CD.&lt;br /&gt;cd root_qtopia&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;rm&lt;/span&gt; bin sbin lib usr -rf&lt;br /&gt;cp /opt/ELDK/arm/lib  . rf&lt;br /&gt;&lt;br /&gt;BusyBox combines tiny versions of many common UNIX utilities into a single small executable,I have used  busybox-1.16.0 for my filesystem.&lt;br /&gt;compilation is very straightforward. make menuconfig,&lt;br /&gt;In  BusyBox Settings --&amp;gt;Build Options , use 'arm-linux-' as cross compiler prefix.&lt;br /&gt;In Installation Options-&amp;gt; , update the BusyBox Installation prefix&lt;br /&gt;busybos build will create 'bin','sbin','usr' folders in its installation folder.&lt;br /&gt;copy these folders to root_qtopia/&lt;br /&gt;cp  &lt;path&gt;/{bin,sbin,usr}   root_qtopia/ -rf&lt;br /&gt;&lt;br /&gt;now yaffs2 image for root_qtopia and upload it to mini2440 board.&lt;br /&gt;&lt;br /&gt;mkyaffs2image   root_qtopia   rootfs.img&lt;/path&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8778816004128604020-1358162304382179366?l=linux-arm-porting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linux-arm-porting.blogspot.com/feeds/1358162304382179366/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-arm-porting.blogspot.com/2010/03/edlk-on-mini2440.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8778816004128604020/posts/default/1358162304382179366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8778816004128604020/posts/default/1358162304382179366'/><link rel='alternate' type='text/html' href='http://linux-arm-porting.blogspot.com/2010/03/edlk-on-mini2440.html' title='ELDK on mini2440'/><author><name>Ratheendran</name><uri>http://www.blogger.com/profile/13707346592776375631</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8778816004128604020.post-991243183818069620</id><published>2010-03-25T10:10:00.005+05:30</published><updated>2011-01-08T12:50:04.771+05:30</updated><title type='text'>QT Media Player on mini2440</title><content type='html'>&lt;div&gt;      To run the media player example in QT we require cross-compile Gstreamer as back-end&lt;/div&gt;cross compiling gstreamer was made comparatively easy for me,thanks to Mr. Felipe Contreras blog.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is the link to his blog.&lt;/div&gt;&lt;div&gt;&lt;a href="http://felipec.wordpress.com/2009/12/21/gstreamer-development-in-embedded-with-sbox2/#comments"&gt;http://felipec.wordpress.com/2009/12/21/gstreamer-development-in-embedded-with-sbox2&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://felipec.wordpress.com/2009/12/21/gstreamer-development-in-embedded-with-sbox2/#comments"&gt;&lt;/a&gt;For my board mini2440 I cross compiled the following source and installed in "/opt/gst" in my root filesystem.&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;glib&lt;/li&gt;&lt;li&gt;gstreamer&lt;/li&gt;&lt;li&gt;liboil&lt;/li&gt;&lt;li&gt;gst-plugin-base&lt;/li&gt;&lt;li&gt;gst-plugin-good&lt;/li&gt;&lt;li&gt;gst-plugin-ugly&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now you cross compile QT4.6 with phonon enabled,and linking the gstreamer library.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;export PKG_CONFIG_PATH=/opt/gst/lib/pkgconfig&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;./configure -prefix /opt/qt-4.6/build -debug -shared -fast -pch -no-qt3support -qt-sql-sqlite -no-libtiff -no-libmng -qt-libjpeg -qt-zlib -qt-libpng -qt-freetype -no-openssl -nomake examples -nomake demos -nomake tools -optimized-qmake -no-nis -no-opengl -no-cups -no-xcursor -no-xfixes -no-xrandr -no-xrender -no-xkb -no-feature-CURSOR -no-sm -no-xinerama -no-xshape -webkit -no-separate-debug-info -xplatform qws/linux-arm-g++ -embedded arm -depths 16 -no-qvfb -qt-gfx-linuxfb -no-gfx-qvfb -no-kbd-qvfb -no-mouse-qvfb -qt-kbd-tty -confirm-license -qt-mouse-tslib -phonon -I /opt/gst/lib/glib-2.0/include -I /opt/gst/include/glib-2.0  -I /opt/gst/include/gstreamer-0.10/gst -L /opt/gst/lib -L /opt/gst/lib/gstreamer-0.10 -force-pkg-config -v&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;After doing 'make install' the libraries are installed on '/opt/qt-4.6/build'&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;create '/opt/qt-4.6/build' in mini2440 filesystem copy QT related libraries.&lt;/div&gt;&lt;div&gt;create '/opt/gst/lib' in mini2440 copy the contents of the '/opt/gst/lib' on PC to mini2440 filesystem's '/opt/gst/lib'&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;once this is done cross compile the QT MediaPlayer example in QT Source tree, and copy it on the board and run it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;please don't forget to update the 'LD_LIBRARY_PATH' in the environment variable.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" &gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, sans-serif; line-height: 16px; "&gt;&lt;i&gt;export  &lt;/i&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, sans-serif; line-height: 16px; "&gt;&lt;i&gt;LD_LIBRARY_PATH=&lt;/i&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, sans-serif; line-height: 16px; "&gt;&lt;i&gt;$QTDIR/lib:/opt/gst/lib&lt;/i&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 16px;"&gt;&lt;b&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 16px; "&gt;&lt;b&gt;&lt;i&gt;Please see my previous blog on crosscompiling QT for mini2440 board for details.&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" &gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 16px; "&gt;&lt;b&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  &gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 16px;"&gt;&lt;b&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, sans-serif; font-size: 11px; color: rgb(102, 102, 102); line-height: 16px; "&gt;&lt;i&gt;&lt;b&gt;&lt;/b&gt;&lt;/i&gt;&lt;/span&gt; &lt;/div&gt;&lt;div&gt;  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8778816004128604020-991243183818069620?l=linux-arm-porting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linux-arm-porting.blogspot.com/feeds/991243183818069620/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-arm-porting.blogspot.com/2010/03/qt-media-player-on-mini2440.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8778816004128604020/posts/default/991243183818069620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8778816004128604020/posts/default/991243183818069620'/><link rel='alternate' type='text/html' href='http://linux-arm-porting.blogspot.com/2010/03/qt-media-player-on-mini2440.html' title='QT Media Player on mini2440'/><author><name>Ratheendran</name><uri>http://www.blogger.com/profile/13707346592776375631</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8778816004128604020.post-901464299480582134</id><published>2010-02-10T11:04:00.000+05:30</published><updated>2010-02-10T14:01:50.305+05:30</updated><title type='text'>Adding new driver on Linux2.6.30 source tree</title><content type='html'>&lt;span style="font-weight:bold;"&gt;Introduction:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;This section deals with adding new driver onto the Linux source tree,I have added Lumidigm Venus Driver as character driver.&lt;br /&gt;&lt;br /&gt;step 1: copy the driver source code(vcom.c) and into character folder of Linux source tree. &lt;br /&gt;&lt;br /&gt;step 2: Edit the Kconfig file in the char folder and add the following line.&lt;br /&gt;config LUMIDIGM&lt;br /&gt;        bool "Limidigm fingerprint USB driver" &lt;br /&gt;        depends on ARCH_S3C2440&lt;br /&gt;        default m if ARCH_S3C2440&lt;br /&gt;        help&lt;br /&gt;         say Y here to select,otherwise say N.&lt;br /&gt;The Above configuration will give the option to the user for select/deselect Lumidigm driver,for S3C2440 Architecture with default as driver selected.&lt;br /&gt;And help will display "say Y here to select,otherwise say N."&lt;br /&gt;&lt;br /&gt;step 3: Edit Makefile in the char folder and add the following line&lt;br /&gt;obj-$(CONFIG_LUMIDIGM)          += vcom.o&lt;br /&gt;prefix "CONFIG_" before "LUMIDIGM" flag as set in KConfig file. &lt;br /&gt;save the configuration and do a menuconfig to verify the changes.&lt;br /&gt;&lt;br /&gt;on menuconfig we will see the "[*] Limidigm fingerprint USB driver" in  Device Drivers  ---&gt; Character devices  ---&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8778816004128604020-901464299480582134?l=linux-arm-porting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linux-arm-porting.blogspot.com/feeds/901464299480582134/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-arm-porting.blogspot.com/2010/02/adding-new-driver-on-linux2630-source.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8778816004128604020/posts/default/901464299480582134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8778816004128604020/posts/default/901464299480582134'/><link rel='alternate' type='text/html' href='http://linux-arm-porting.blogspot.com/2010/02/adding-new-driver-on-linux2630-source.html' title='Adding new driver on Linux2.6.30 source tree'/><author><name>Ratheendran</name><uri>http://www.blogger.com/profile/13707346592776375631</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8778816004128604020.post-2096267103941196976</id><published>2009-12-11T17:54:00.003+05:30</published><updated>2011-01-21T20:36:54.851+05:30</updated><title type='text'>Qt Application development on mini2440</title><content type='html'>&lt;h1 class="western" style="font-family:lucida grande;"&gt;&lt;span style="font-size:100%;"&gt;Introduction&lt;/span&gt;&lt;/h1&gt;&lt;p style="margin-bottom: 0in;" face="lucida grande"&gt;This blog emphasize on building QT based GUI application for embedded linux , Its describes on setting up the IDE for QT ,cross compiling QT 4.5 libraries for embedded application on mini2440 board in particular.&lt;/p&gt;&lt;p style="margin-bottom: 0in;" face="lucida grande"&gt;&lt;br /&gt;&lt;/p&gt;&lt;h1 class="western" style="font-family:lucida grande;"&gt;&lt;span style="font-size:100%;"&gt;Setting QT Creator (IDE).&lt;/span&gt;&lt;/h1&gt;&lt;p style="margin-bottom: 0in;" face="lucida grande"&gt;Qt Creator is a new cross-platform integrated development environment (IDE) tailored to the needs of Qt developers, Qt SDK includes the tools you need to build cross-platform applications with Qt in a single install.&lt;/p&gt;&lt;p style="margin-bottom: 0in;" face="lucida grande"&gt;Qt libraries &lt;/p&gt;&lt;p style="margin-bottom: 0in;" face="lucida grande"&gt;Qt Creator IDE &lt;/p&gt;&lt;p style="margin-bottom: 0in;" face="lucida grande"&gt;Qt development tools&lt;/p&gt;&lt;p face="lucida grande" style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p face="lucida grande" style="margin-bottom: 0in;"&gt;Use the below link to download Qt SDK.&lt;/p&gt;&lt;p style="margin-bottom: 0in; font-family: lucida grande;"&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;&lt;u&gt;&lt;a href="http://get.qt.nokia.com/qtsdk/qt-sdk-linux-x86-opensource-2009.05.bin"&gt;http://get.qt.nokia.com/qtsdk/qt-sdk-linux-x86-opensource-2009.05.bin&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0in; font-family: lucida grande;"&gt;Login as root to the host machine and run the the binary file on the command promt.&lt;/p&gt;&lt;p style="margin-bottom: 0in; font-family: lucida grande;"&gt;LinuxHost&gt;chmod +x qt-sdk-linux-x86-opensource-2009.05.bin&lt;/p&gt;&lt;p style="margin-bottom: 0in; font-family: lucida grande;"&gt;LinuxHost&gt;./qt-sdk-linux-x86-opensource-2009.05.bin&lt;/p&gt;&lt;p style="margin-bottom: 0in; font-family: lucida grande;"&gt;Now once the installation is complete,run the QT Creator by clicking on desktop icon.&lt;/p&gt;&lt;p style="margin-bottom: 0in; font-family: lucida grande;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0in; font-family: lucida grande;"&gt;Navigate Tools-&gt;Options&lt;/p&gt;&lt;p style="margin-bottom: 0in; font-family: lucida grande;"&gt;Select the Qt installation path, in my case it is PATH “/opt/qtsdk-2009/qt”.&lt;/p&gt;&lt;p style="margin-bottom: 0in; font-family: lucida grande;"&gt;Now click on rebuild button to configure it,on success Qt creator will check the 'Debugging Helper'&lt;/p&gt;&lt;p style="margin-bottom: 0in; font-family: lucida grande;"&gt;The IDE is set to develop QT application for the Host machine.&lt;/p&gt;&lt;p style="margin-bottom: 0in; font-family: lucida grande;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0in; font-family: lucida grande;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;h1 class="western" style="font-family:lucida grande;"&gt;&lt;span style="font-size:100%;"&gt;Cross compilation of QT 4.5.3 for mini2440 board.&lt;/span&gt;&lt;/h1&gt;&lt;ol style="font-family: lucida grande;"&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;Download the compressed package&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p style="margin-bottom: 0in; font-family: lucida grande;"&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;&lt;u&gt;&lt;a href="http://qt.nokia.com/downloads/embedded-linux-cpp"&gt;http://qt.nokia.com/downloads/embedded-linux-cpp&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0in; font-family: lucida grande;"&gt;now extract qt-embedded-linux-opensource-src-4.5.3.tar.gz to an appropriate folder and configure the source,it is assumed that the cross compiler is installed and the path is updated in the environment variable.&lt;/p&gt;&lt;p style="margin-bottom: 0in; font-family: lucida grande;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0in; font-family: lucida grande;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0in; font-family: lucida grande;"&gt;\path-to-mini2440\&gt;tar -zxvf qt-embedded-linux-opensource-src-4.5.3.tar.gz &lt;/p&gt;&lt;p style="margin-bottom: 0in; font-family: lucida grande;"&gt;\path-to-mini2440&gt;cd qt-embedded-linux-opensource-src-4.5.3&lt;/p&gt;&lt;p style="margin-bottom: 0in; font-family: lucida grande;"&gt;\path-to-mini2440\qt-embedded-linux-opensource-src-4.5.3&gt;:&lt;/p&gt;&lt;p style="font-family: lucida grande;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="font-family: lucida grande;"&gt;2. Compile the qt-embedded-linux-opensource-src-4.5.3. Remove some unnecessary features, keep most of the commonly used functions, and add support for the tslib touch screen recalibration.&lt;/p&gt;&lt;p style="font-weight: bold;"&gt;&lt;span style="color: rgb(250, 4, 4);"&gt;&lt;sup&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;./configure \&lt;br /&gt;-prefix /new_disk/Hiteg/qt/build/ //specify the directory for installation,&lt;br /&gt;-release -shared \&lt;br /&gt;-fast \&lt;br /&gt;-pch \&lt;br /&gt;-no-qt3support \&lt;br /&gt;-qt-sql-sqlite \&lt;br /&gt;-no-libtiff -no-libmng \&lt;br /&gt;-qt-libjpeg \&lt;br /&gt;-qt-zlib \&lt;br /&gt;-qt-libpng \&lt;br /&gt;-qt-freetype \&lt;br /&gt;-no-openssl \&lt;br /&gt;-nomake examples -nomake demos -nomake tools \&lt;br /&gt;-optimized-qmake \&lt;br /&gt;-no-phonon \&lt;br /&gt;-no-nis \&lt;br /&gt;-no-opengl \&lt;br /&gt;-no-cups \&lt;br /&gt;-no-xcursor -no-xfixes -no-xrandr -no-xrender -no-xkb -no-sm \&lt;br /&gt;-no-xinerama -no-xshape \&lt;br /&gt;-no-separate-debug-info \&lt;br /&gt;-xplatform qws/linux-arm-g++ \&lt;br /&gt;-embedded arm \&lt;br /&gt;-depths 16 \&lt;br /&gt;-no-qvfb \&lt;br /&gt;-qt-gfx-linuxfb \&lt;br /&gt;-no-gfx-qvfb -no-kbd-qvfb -no-mouse-qvfb\&lt;br /&gt;-qt-kbd-usb \&lt;br /&gt;-confirm-license \&lt;br /&gt;-qt-mouse-tslib&lt;/i&gt;&lt;/span&gt;&lt;/sup&gt;&lt;/span&gt;&lt;/p&gt;&lt;blockquote style="font-family:lucida grande;"&gt;&lt;sup&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;span style="font-weight: bold;"&gt;$ make (or gmake)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;$ make install (or gmake install)&lt;/span&gt; &lt;/i&gt;&lt;/span&gt;&lt;/sup&gt;&lt;/blockquote&gt;3.Build filesystem, copy necessary Qt libraries to the filesystem directory: &lt;blockquote style="font-weight: bold;font-family:lucida grande;"&gt;&lt;em&gt;&lt;sup&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;cd $rootfs #$rootfs is the filesystem directory&lt;/i&gt;&lt;/span&gt;&lt;/sup&gt;&lt;/em&gt;&lt;sup&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;/sup&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;em&gt;&lt;sup&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;mkdir new_disk/hiteg/qt/build –p &amp;amp;&amp;amp; cd new_disk/hiteg/qt/build&lt;/i&gt;&lt;/span&gt;&lt;/sup&gt;&lt;/em&gt;&lt;sup&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;/sup&gt;&lt;em&gt;&lt;sup&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;cp /new_disk/hiteg/qt/build/lib/libQtCore.so ./&lt;/i&gt;&lt;/span&gt;&lt;/sup&gt;&lt;/em&gt;&lt;sup&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;/sup&gt;&lt;em&gt;&lt;sup&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;cp /new_disk/hiteg/qt/build/lib/libQtGui.so.4 ./&lt;/i&gt;&lt;/span&gt;&lt;/sup&gt;&lt;/em&gt;&lt;sup&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;/sup&gt;&lt;em&gt;&lt;sup&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;cp /new_disk/hiteg/qt/build/lib/libQtNetwork.so.4 ./&lt;/i&gt;&lt;/span&gt;&lt;/sup&gt;&lt;/em&gt;&lt;sup&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;/sup&gt;&lt;em&gt;&lt;sup&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;mkdir fonts&lt;/i&gt;&lt;/span&gt;&lt;/sup&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;p style="font-family: lucida grande;"&gt;copy the fonts that you want to implement in your Qt:&lt;/p&gt;&lt;blockquote style="font-weight: bold;font-family:lucida grande;"&gt;&lt;sup&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;cp /mnt/qt/build/lib/fonts/xxxxx.qpf fonts&lt;/i&gt;&lt;/span&gt;&lt;/sup&gt;&lt;/blockquote&gt;&lt;p style="margin-bottom: 0in; font-family: lucida grande;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;h1 class="western" style="font-family: lucida grande;"&gt;Installing tslib library on mini2440&lt;/h1&gt;&lt;p style="margin-bottom: 0in; font-family: lucida grande;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;ol style="font-family: lucida grande;"&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;&lt;b&gt;Where to download tslib source code.&lt;/b&gt;&lt;br /&gt;addr1 &lt;span style="color: rgb(0, 0, 128);"&gt;&lt;u&gt;&lt;a href="http://www.zelow.no/floppyfw/download/Development/src/"&gt;http://www.zelow.no/floppyfw/download/Development/src/&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;(I suggest use this one)&lt;br /&gt;addr 2 &lt;span style="color: rgb(0, 0, 128);"&gt;&lt;u&gt;&lt;a href="http://mail.pdaxrom.org/download/1.1.0beta3/src/"&gt;http://mail.pdaxrom.org/download/1.1.0beta3/src/&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-family:lucida grande;"&gt;&lt;/span&gt;&lt;b style="font-family: lucida grande;"&gt;2. How to compile&lt;/b&gt;&lt;br /&gt;We've to manual set some enviroment virables. and correctly configure the source code. I show you a build file wrote myself:&lt;br /&gt;&lt;blockquote style="margin-left: 0.89in; "&gt;&lt;span&gt;&lt;span&gt;&lt;i&gt;&lt;b&gt;&lt;span class="Apple-style-span"  &gt;&lt;span class="Apple-style-span" style="font-size: 85%;"&gt;#step 1 play a trick&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span"  &gt;&lt;span class="Apple-style-span" style="font-size: 85%;"&gt;echo "ac_cv_func_malloc_0_nonnull=yes" &gt; arm-linux.autogen&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span"  &gt;&lt;span class="Apple-style-span" style="font-size: 85%;"&gt;#step 2 set the enviroment&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span"  &gt;&lt;span class="Apple-style-span" style="font-size: 85%;"&gt;export CC=/cross-compile/bin/arm-linux-gcc&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span"  &gt;&lt;span class="Apple-style-span" style="font-size: 85%;"&gt;export CXX=/cross-compile/bin/arm-linux-g++&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span"  &gt;&lt;span class="Apple-style-span" style="font-size: 85%;"&gt;export CONFIG_SITE=arm-linux.autogen&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span"  &gt;&lt;span class="Apple-style-span" style="font-size: 85%;"&gt;#step 2&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span"  &gt;&lt;span class="Apple-style-span" style="font-size: 85%;"&gt;./configure --build=i386-linux --host=arm-linux --target=arm --disable-inputapi --prefix=/new_disk/Hiteg/qt&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" &gt;&lt;span class="Apple-style-span" style="font-size: 11px;"&gt;/&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  &gt;&lt;span class="Apple-style-span" style="font-size: 85%;"&gt;/build&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 102, 102); font-family: 'lucida grande'; "&gt;&lt;i&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: 'lucida grande'; "&gt;do make and make install,you will get what you want under ./build. Actually you can set the prefix as your root_fs befor hand then after the "make install" these file are stay on position.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3. Copy the libraries to the standard library path in file system and make it available to the application.&lt;/span&gt;&lt;span style="color: rgb(102, 102, 102); font-family: 'lucida grande'; "&gt;&lt;i&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); font-family: 'lucida grande'; "&gt;3.1 initialize the environment setting first, you'd better place them in /etc/profile or other place you like.&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote style="margin-left: 0.89in;"&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;b&gt;QTDIR=/new_disk/Hiteg/qt-arm/build&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote style="margin-left: 0.89in;"&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;b&gt;LD_LIBRARY_PATH=$QTDIR/lib&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote style="margin-left: 0.89in;"&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;b&gt;TSLIB_CONSOLEDEVICE=none&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote style="margin-left: 0.89in;"&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;b&gt;TSLIB_FBDEVICE=/dev/fb0&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote style="margin-left: 0.89in;"&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;b&gt;TSLIB_TSDEVICE=/dev/input/event0&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote style="margin-left: 0.89in;"&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;b&gt;TSLIB_CALIBFILE=/etc/pointercal&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote style="margin-left: 0.89in;"&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;b&gt;TSLIB_CONFFILE=/usr/local/etc/ts.conf&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote style="margin-left: 0.89in;"&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;b&gt;QWS_SIZE=240x320&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote style="margin-left: 0.89in;"&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;b&gt;QWS_DISPLAY="LinuxFb:mmWidth135:mmHeight155"&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote style="margin-left: 0.89in;"&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;b&gt;QWS_MOUSE_PROTO="Tslib:/dev/input/event0"&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote style="margin-left: 0.89in;"&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;b&gt;TSLIB_PLUGINDIR=$QTDIR/lib/ts&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote style="margin-left: 0.89in;"&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;b&gt;export USER LOGNAME PS1 PATH&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote style="margin-left: 0.89in;"&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;b&gt;export QTDIR&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote style="margin-left: 0.89in;"&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;b&gt;export LD_LIBRARY_PATH&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote style="margin-left: 0.89in;"&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;b&gt;export TSLIB_CONSOLEDEVICE&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote style="margin-left: 0.89in;"&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;b&gt;export TSLIB_FBDEVICE&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote style="margin-left: 0.89in;"&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;b&gt;export TSLIB_TSDEVICE&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote style="margin-left: 0.89in;"&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;b&gt;export TSLIB_CALIBFILE&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote style="margin-left: 0.89in;"&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;b&gt;export TSLIB_CONFFILE&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote style="margin-left: 0.89in;"&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;b&gt;export QWS_SIZE&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote style="margin-left: 0.89in;"&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;b&gt;export QWS_DISPLAY&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote style="margin-left: 0.89in;"&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;b&gt;export QWS_MOUSE_PROTO&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote style="margin-left: 0.89in;"&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;b&gt;export TSLIB_PLUGINDIR&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote style="margin-left: 0.89in; line-height: 0.07in; font-family: lucida grande;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8778816004128604020-2096267103941196976?l=linux-arm-porting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linux-arm-porting.blogspot.com/feeds/2096267103941196976/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-arm-porting.blogspot.com/2009/12/qt-application-development-on-mini2440.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8778816004128604020/posts/default/2096267103941196976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8778816004128604020/posts/default/2096267103941196976'/><link rel='alternate' type='text/html' href='http://linux-arm-porting.blogspot.com/2009/12/qt-application-development-on-mini2440.html' title='Qt Application development on mini2440'/><author><name>Ratheendran</name><uri>http://www.blogger.com/profile/13707346592776375631</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8778816004128604020.post-6441065721470729528</id><published>2009-09-14T13:53:00.000+05:30</published><updated>2009-09-15T10:40:08.136+05:30</updated><title type='text'>Porting uClinux 2.6  on AX4510</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6kkGMTZQfyc/Sq4XUyI_fvI/AAAAAAAAA60/yFu7Iv_ixrg/s1600-h/Ax4510.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 128px; height: 87px;" src="http://3.bp.blogspot.com/_6kkGMTZQfyc/Sq4XUyI_fvI/AAAAAAAAA60/yFu7Iv_ixrg/s320/Ax4510.jpg" alt="" id="BLOGGER_PHOTO_ID_5381264250578632434" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This section is about porting uClinux on ARM 7 based S3c4510 samsung processor.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;About AX4510&lt;/span&gt;&lt;br /&gt;This is ARM7 Development Board based on Samsung S3C4510B Microcontroller&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Dimensions: 177 x 130 mm&lt;/li&gt;&lt;li&gt;5.0V DC or USB power supply &lt;/li&gt;&lt;li&gt;4 M bytes Flash(2M x 16bit)&lt;/li&gt;&lt;li&gt;16 M bytes SDRAM(2M x 32bit)&lt;/li&gt;&lt;li&gt;2K x 8 EEPROM &lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; 2x RS232&lt;/span&gt;&lt;/li&gt;&lt;li&gt;USB connecter&lt;/li&gt;&lt;li&gt;10M/100M Ethernet interface connector(RJ45)&lt;/li&gt;&lt;li&gt;IDE44 port: for 2.5" hard disk&lt;/li&gt;&lt;li&gt;LCD port&lt;/li&gt;&lt;li&gt;2 PS2 port&lt;/li&gt;&lt;li&gt;4 key buttons&lt;/li&gt;&lt;li&gt;Reset button&lt;/li&gt;&lt;li&gt;4 LEDS&lt;/li&gt;&lt;li&gt;Beeper&lt;/li&gt;&lt;li&gt;20-pin JTAG interface connector&lt;/li&gt;&lt;li&gt;all the pins of CPU expand out&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;About uClinux&lt;br /&gt;&lt;/span&gt;uClinux as an operating system includes Linux kernel releases for 2.0 2.4 and 2.6 as well as a collection of user applications, libraries and tool chains,it basically meant to support processor without Memory Management unit.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Essential Tools and Source for Download.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(34, 34, 34);"&gt;&lt;a href="http://opensrc.sec.samsung.com/download/arm-elf-tools-20040427.sh"&gt;arm-elf-tools-20040427.sh&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(34, 34, 34);"&gt;GCC 2.95.3 with linux 2.6 patch and binutil 2.14 based ARM-ELF toolchain which is made based linux 2.6.5-hsc2 is available  for kernel and userland applications compile.&lt;/span&gt;&lt;span style="color: rgb(34, 34, 34);"&gt;It compiles the 2.4 kernel and applications.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.uclinux.org/pub/uClinux/dist/uClinux-dist-20040218.tar.gz"&gt;uClinux-dist-20040218.tar.gz&lt;/a&gt; distribution, this is a full source package, containing kernel, libraries and application code.&lt;br /&gt;&lt;span style="color: rgb(34, 34, 34);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(94, 17, 166);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;linux-2.6.9 &lt;/span&gt;&lt;/span&gt;vanilla kernels and adds patches relevent to AX4510 &lt;span style="color: rgb(94, 17, 166);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;/span&gt; &lt;a href="http://www.kernel.org/pub/linux/kernel/2.6/linux-2.6.9.tar.bz2" target="_blank"&gt;http://www.kernel.org/pub/&lt;wbr&gt;linux/kernel/2.6/linux-2.6.9.&lt;wbr&gt;tar.bz2&lt;/a&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;uClinux patch for linux-2.6.9&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;a href="http://www.uclinux.org/pub/uClinux/uClinux-2.6.x/linux-2.6.9-uc0.patch.gz" target="_blank"&gt;http://www.uclinux.org/pub/&lt;wbr&gt;uClinux/uClinux-2.6.x/linux-2.&lt;wbr&gt;6.9-uc0.patch.gz&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;MMU less ARM patch -&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Name: Hyoks patch&lt;br /&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;&lt;a href="http://opensrc.sec.samsung.com/download/linux-2.6.9-uc0-hsc0.patch.gz" target="_blank"&gt;http://opensrc.sec.samsung.&lt;wbr&gt;com/download/linux-2.6.9-uc0-&lt;wbr&gt;hsc0.patch.gz&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(34, 34, 34);"&gt;&lt;br /&gt;&lt;br /&gt;Steps to build the image and downloading to ram.&lt;br /&gt;1.extract uClinux distribution and remove all the existing linux kernel versions.&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color: rgb(94, 17, 166);"&gt;   &lt;span style="color: rgb(0, 0, 0);"&gt;tar -zxvf uClinux-dist-20040408.tar.gz&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="color: rgb(0, 0, 0);"&gt;   cd uClinux-dist-20040408&lt;/li&gt;&lt;li style="color: rgb(0, 0, 0);"&gt;   rm -rf linux-2.0.x linux-2.4.x linux-2.6.x&lt;/li&gt;&lt;/ul&gt;2. Extract these patches and apply them one after another.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;gunzip  -d linux-2.6.9-uc0.patch.gz&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;gunzip  -d linux-2.6.9-uc0-hsc0.patch.gz  &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;\linux-2.6.x&gt; patch -p1  &lt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;../linux-2.6.9-uc0.patch&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;\&lt;/span&gt;&lt;span style="color: rgb(94, 17, 166);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;linux-2.6.x&gt; patch -p1 &lt; ../&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;linux-2.6.9-uc0-hsc0.patch&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;3. Copy relevent &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;configuration files in vendor directory&lt;br /&gt;&lt;/span&gt; &lt;ul&gt;&lt;li&gt; \uClinux-dist-20040408&gt;cp linux-2.6.x/arch/armnommu/&lt;wbr&gt;configs/espd_4510b_defconfig   vendor/Samsung/4510B/config.&lt;wbr&gt;linux-2.6.x&lt;/li&gt;&lt;li&gt; \uClinux-dist-20040408&gt;cp vendor/Samsung/4510B/config.&lt;wbr&gt;vendor-2.4.x&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;vendor/Samsung/4510B/config.&lt;wbr&gt;vendor-2.6.x&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;    &lt;span style="color: rgb(0, 0, 0);"&gt;4. &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;edit 'vendor/Samsung/4510B/rc' file in uClinux-dist directory, change '/dev/ram0' to '/dev/ram1'&lt;br /&gt;&lt;/span&gt; &lt;p style="margin-bottom: 0in; color: rgb(0, 0, 0);"&gt;5. Edit the Kernel linker file to include the ROMFS&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0in; color: rgb(0, 0, 0);"&gt;edit file 'linux-2.6.x/arch/armnommu/&lt;wbr&gt;arch/kernel/vmlinux-lds.S',  Add the below lines&lt;/p&gt; &lt;ul&gt;&lt;li&gt;     81 *(.got) /* Global offset table */&lt;/li&gt;&lt;li&gt;     82&lt;/li&gt;&lt;li&gt;     83 romfs_start = .;&lt;/li&gt;&lt;li&gt;     84 romfs.o&lt;/li&gt;&lt;li&gt;     85 romfs_end = .;&lt;/li&gt;&lt;/ul&gt;     &lt;p style="margin-bottom: 0in; color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/p&gt;6. Configure the kernel using menuconfig,&lt;br /&gt;Block devices  ---&gt;Default RAM disk size (kbytes)  to 2100&lt;br /&gt;General setup  ---&gt; (root=/dev/ram0 initrd=&lt;start address="" of="" ramdisk=""&gt;,2100k keepinitrd) Default kernel command string &lt;span style="color: rgb(0, 0, 0);"&gt; &lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;Note: &lt;/span&gt;start address of ramdisk can be determined only compilation of uclinux,&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; this information can retrieved from System. map file after it is build. so I needed to recompile the uClinux with the updated ramdisk start address.&lt;br /&gt;&lt;/span&gt;&lt;ul style="color: rgb(0, 0, 0);"&gt;&lt;li&gt;make lib_only&lt;/li&gt;&lt;li&gt;make user_only&lt;/li&gt;&lt;li&gt;make romfs&lt;/li&gt;&lt;li&gt;make image&lt;br /&gt;&lt;/li&gt;&lt;li&gt; make all&lt;/li&gt;&lt;/ul&gt;7. image.ram is created in images folder of the distibution and this can be downloaded to ram using tftp.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;\uClinux-dist-20040408&gt;cd images/&lt;/li&gt;&lt;li&gt;\images&gt;tftp 192.168.1.2&lt;/li&gt;&lt;li&gt;\images&gt;put image.ram&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/start&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8778816004128604020-6441065721470729528?l=linux-arm-porting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linux-arm-porting.blogspot.com/feeds/6441065721470729528/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-arm-porting.blogspot.com/2009/09/porting-uclinux-26-on-ax4510.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8778816004128604020/posts/default/6441065721470729528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8778816004128604020/posts/default/6441065721470729528'/><link rel='alternate' type='text/html' href='http://linux-arm-porting.blogspot.com/2009/09/porting-uclinux-26-on-ax4510.html' title='Porting uClinux 2.6  on AX4510'/><author><name>Ratheendran</name><uri>http://www.blogger.com/profile/13707346592776375631</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6kkGMTZQfyc/Sq4XUyI_fvI/AAAAAAAAA60/yFu7Iv_ixrg/s72-c/Ax4510.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8778816004128604020.post-5031831853603413437</id><published>2009-09-10T16:50:00.000+05:30</published><updated>2009-09-19T12:33:08.430+05:30</updated><title type='text'>Configuring OPENSER as proxy</title><content type='html'>OpenSer is easily configurable and modular, the necessary configuration is done in openser.cfg. This take care of the incoming SIP messages and routing them to server address configured.The proxy also makes a few checks (and modifications) on the message and sends an error message if necessary.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Edit the Makefile, and at line 287 change this instruction:&lt;br /&gt;&lt;br /&gt;Install: all mk-install-dirs install-cfg install-bin install-modules \&lt;br /&gt;        install-doc install-man&lt;br /&gt;&lt;br /&gt;To&lt;br /&gt;&lt;br /&gt;Install: openser mk-install-dirs install-cfg install-bin install-modules \&lt;br /&gt;        install-doc install-man&lt;br /&gt;&lt;br /&gt;Now, making sure that you have super-user privileges, execute:&lt;br /&gt;&lt;br /&gt;&gt; make install&lt;br /&gt;Setting up the OpenSER proxy&lt;br /&gt;Edit openser.cfg&lt;br /&gt;&lt;br /&gt; # ----------- global configuration parameters ------------------------&lt;br /&gt;&lt;br /&gt; #Uncomment these lines to enter debugging mode&lt;br /&gt; debug=9            # debug level&lt;br /&gt; Fork=no&lt;br /&gt; Log_stderror=yes&lt;br /&gt;  &lt;br /&gt;&lt;br /&gt; check_via=no    # (cmd. line: -v)&lt;br /&gt; dns=no          # (cmd. line: -r)&lt;br /&gt; rev_dns=no      # (cmd. line: -R)&lt;br /&gt; listen= ip this pc will listen on&lt;br /&gt; port=5060&lt;br /&gt; children=4&lt;br /&gt; fifo="/tmp/openser_fifo"&lt;br /&gt;load modules and set parameters&lt;br /&gt;&lt;br /&gt;# ------------------ module loading ----------------------------------&lt;br /&gt;&lt;br /&gt; # Uncomment this if you want to use SQL database&lt;br /&gt; loadmodule "/usr/local/lib/openser/modules/mysql.so"&lt;br /&gt;&lt;br /&gt; loadmodule "/usr/local/lib/openser/modules/sl.so"&lt;br /&gt; loadmodule "/usr/local/lib/openser/modules/tm.so"&lt;br /&gt; loadmodule "/usr/local/lib/openser/modules/rr.so"&lt;br /&gt; loadmodule "/usr/local/lib/openser/modules/maxfwd.so"&lt;br /&gt; loadmodule "/usr/local/lib/openser/modules/usrloc.so"&lt;br /&gt;&lt;br /&gt; loadmodule "/usr/local/lib/openser/modules/registrar.so"&lt;br /&gt;&lt;br /&gt; # ----------------- setting module-specific parameters ---------------&lt;br /&gt;&lt;br /&gt; # -- usrloc params --&lt;br /&gt;&lt;br /&gt; # Uncomment this if you want to use SQL database&lt;br /&gt; # for persistent storage and comment the previous line&lt;br /&gt; modparam("usrloc", "db_mode", 0)&lt;br /&gt;&lt;br /&gt; # -- rr params --&lt;br /&gt; # add value to ;lr param to make some broken UAs happy&lt;br /&gt;&lt;br /&gt;modparam("rr", "enable_full_lr", 1)&lt;br /&gt;Changes in main routing logic&lt;br /&gt;replace&lt;br /&gt;               if (method=="REGISTER") {..}&lt;br /&gt;with&lt;br /&gt;if (method=="ACK") {&lt;br /&gt;                        route(1);&lt;br /&gt;                        exit;&lt;br /&gt;                         } if (method=="INVITE") {&lt;br /&gt;                        route(3);&lt;br /&gt;                        exit;&lt;br /&gt;                         } else if (method=="REGISTER") {&lt;br /&gt;                        route(2);&lt;br /&gt;                        exit;&lt;br /&gt;                         };&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Add the route[2] and route[3]  function for proxy behaviour in openser.cfg&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;route[2] {&lt;br /&gt;        #rewrinting the host allows the registrar to know that the message is destined for it&lt;br /&gt;        rewritehost("192.168.1.103");     # openser server ip address&lt;br /&gt;        if(!t_relay_to_udp("192.168.1.103","5060")) {&lt;br /&gt;                sl_reply_error();&lt;br /&gt;        };&lt;br /&gt;        exit;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;route[3] {&lt;br /&gt;         # -----------------------------------------------------------------&lt;br /&gt;         # INVITE Message Handler&lt;br /&gt;         lookup("aliases");&lt;br /&gt;         if (uri!=myself) {&lt;br /&gt;                 route(1);&lt;br /&gt;                 exit;&lt;br /&gt;         };&lt;br /&gt;         if (!lookup("location")) {&lt;br /&gt;                 sl_send_reply("404", "User Not Found");&lt;br /&gt;                 exit;&lt;br /&gt;         };&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now use this configuration script in 'usr/local/etc/openser/'&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8778816004128604020-5031831853603413437?l=linux-arm-porting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linux-arm-porting.blogspot.com/feeds/5031831853603413437/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-arm-porting.blogspot.com/2009/09/configuring-openser-as-proxy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8778816004128604020/posts/default/5031831853603413437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8778816004128604020/posts/default/5031831853603413437'/><link rel='alternate' type='text/html' href='http://linux-arm-porting.blogspot.com/2009/09/configuring-openser-as-proxy.html' title='Configuring OPENSER as proxy'/><author><name>Ratheendran</name><uri>http://www.blogger.com/profile/13707346592776375631</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8778816004128604020.post-5098448485294050959</id><published>2009-08-27T16:59:00.000+05:30</published><updated>2009-09-11T15:08:11.180+05:30</updated><title type='text'>Porting openSER 0.9.5 Server on LN2410 baord</title><content type='html'>   	&lt;meta equiv="CONTENT-TYPE" content="text/html; charset=utf-8"&gt; 	&lt;title&gt;&lt;/title&gt; 	&lt;meta name="GENERATOR" content="OpenOffice.org 3.0  (Linux)"&gt; 	&lt;style type="text/css"&gt; 	&lt;!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } 	--&gt; 	&lt;/style&gt;  &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="font-weight: bold;"&gt;About SIP&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm;"&gt;SIP is an application-layer protocol used to establish, modify, and terminate sessions or multimedia calls. These sessions can be conferences, e-learning, telephony over the Internet, and similar applications.  &lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;The SIP protocol supports five features for establishing and closing multimedia sessions.&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm;"&gt;User location: Determines the 	endpoint address used for communication.&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm;"&gt;User parameters negotiation: 	Determines the media and parameters to be used.&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm;"&gt;User availability: Determines if 	the user is available or not to establish a session.&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm;"&gt;Call establishment: Establishes 	the parameters for caller and callee, and informs on call progress 	(ringing, ringback, congestion) to both parties.&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm;"&gt;Call management: Session transfer 	and closing.&lt;/p&gt; 	&lt;p style="margin-bottom: 0cm;"&gt;&lt;/p&gt; &lt;/li&gt;&lt;/ul&gt; &lt;p style="margin-bottom: 0cm;"&gt;SIP Operation Theory&lt;/p&gt;  &lt;p style="margin-bottom: 0cm;"&gt;The entire SIP signaling flows through the SIP proxy server. On the other hand, the media signaling, transported by the RTP protocol, flows directly from one endpoint to another.  &lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;SIP Entities&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm;"&gt;UAC (user agent client)—Client 	or terminal that starts the SIP signaling.&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm;"&gt;UAS (user agent server)—Server 	that responds to the SIP signaling coming from a UAC.&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm;"&gt;UA (user agent)—SIP terminal (IP 	phone, ATA, softphone).&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm;"&gt;Proxy Server—It receives 	requests from a UA and transfers them to another SIP proxy if this 	specific terminal requested is not under its domain.&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm;"&gt;Redirect Server—This receives 	requests and sends back to the caller including data about the 	destination, instead of sending directly to the callee.&lt;/p&gt; 	&lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm;"&gt;Location Server—This provides 	the callee's contact addresses to Proxy and Redirect Servers.&lt;/p&gt; &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Openser-0.9.5 is older version of opensips and is compatible with gcc 2.95 cross compiler used for building the filesystem of LN2410, hence this version is used for porting openser on LN2410 board&lt;br /&gt;&lt;br /&gt;Requirements&lt;br /&gt;----------------&lt;br /&gt;a. cross-2.95.3.tar.bz2(gcc cross compiler version 2.95)&lt;br /&gt;b. Openser-0.9.5&lt;br /&gt;c. flex 2.5.33&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Flex cross compilation&lt;/span&gt;&lt;br /&gt;a. Download flex source code and follow the steps to configure and build the library.&lt;br /&gt;(It is assumed that cross compiler is installed and path is set in shell enviroment.)&lt;br /&gt;tar -zxvf flex-2.5.4a.tar.gz (http://flex.sourceforge.net/)&lt;br /&gt;cd flex-2.5.4&lt;br /&gt;mkdir /home/guest/flex_lib&lt;br /&gt;this folder is used save flex library.&lt;br /&gt;b. ./configure --prefix=/home/guest/flex_lib --build=i686-pc-linux-gnu --host=arm-linux --target=arm-linux CC=arm-linux-gcc&lt;br /&gt;c. Changes in Makefile&lt;br /&gt;CC = arm-linux-gcc&lt;br /&gt;AR = arm-linux-ar&lt;br /&gt;RANLIB = arm-linux-ranlib&lt;br /&gt;&lt;br /&gt;d. make prefix=/home/guest/flex_lib all&lt;br /&gt;e. make prefix=/home/guest/flex_lib install&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;openser-0.9.5 cross compilation&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;a. download openser-0.9.5 and perform the steps to cross compile and build the executable&lt;br /&gt;tar -zxvf openser-0.9.5_src.tar.gz (http://www.openser-project.org/pub/openser/)&lt;br /&gt;b. Changes in Makefile.def&lt;br /&gt;RELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)&lt;br /&gt;OS = linux&lt;br /&gt;ARCH = arm&lt;br /&gt;OSREL = 2.6.13.2&lt;br /&gt;#set some vars from the environment (and not make builtins)&lt;br /&gt;CC := arm-linux-gcc&lt;br /&gt;line # 301&lt;br /&gt;DEFS+= $(extra_defs) \&lt;br /&gt;-DNAME='"$(MAIN_NAME)"' -DVERSION='"$(RELEASE)"' -DARCH='"$(ARCH)"' \&lt;br /&gt;-DOS='"$(OS)"' -DCOMPILER='"$(CC_VER)"' -D__CPU_$(ARCH) -D__OS_$(OS) \&lt;br /&gt;-DCFG_DIR='"$(cfg-target)"'\&lt;br /&gt;-DPKG_MALLOC \&lt;br /&gt;-DSHM_MEM &lt;span style="color: rgb(255, 0, 0);"&gt;-DSHM_MMAP&lt;/span&gt;\&lt;br /&gt;&lt;br /&gt;line# 847&lt;br /&gt;LIBS= -L/home/guest/flex_lib/lib/ -L /lib -lfl -ldl -lresolv&lt;br /&gt;c. mkdir /openser_lib&lt;br /&gt;d. make prefix=/openser_lib skip_modules="mysql" modules&lt;br /&gt;e. make prefix=/openser_lib install&lt;br /&gt;f. copy the /openser_lib to LN2410 filesystem&lt;br /&gt;cp /openser_lib /media/disc/ -rf&lt;br /&gt;&lt;br /&gt;g. changes in /etc/openser/openser.cfg&lt;br /&gt;&lt;br /&gt;# ----------- global configuration parameters ------------------------&lt;br /&gt;&lt;br /&gt;debug=3         # debug level (cmd line: -dddddddddd)&lt;br /&gt;fork=yes&lt;br /&gt;log_stderror=no        # (cmd line: -E)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;check_via=no    # (cmd. line: -v)&lt;br /&gt;dns=no           # (cmd. line: -r)&lt;br /&gt;rev_dns=no      # (cmd. line: -R)&lt;br /&gt;port=5060&lt;br /&gt;children=4&lt;br /&gt;fifo="/tmp/openser_fifo"&lt;br /&gt;&lt;br /&gt;h. run openser on LN2410&lt;br /&gt;./openser_lib/sbin/openser -m 8&lt;br /&gt;you check the server process using the ps command&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Using the server&lt;/span&gt;&lt;br /&gt;There are plenty of soft-phone available on the net(e.g ekiga,twinkle) you can select any one of them,install on the PC, for windows user you can use windows messenger client to communicate with other softphone.&lt;br /&gt;&lt;br /&gt;Communication can achived in siple steps.&lt;br /&gt;1. Register the Softphones to server.&lt;br /&gt;2. call the other softphone using the uri (sip:2000@192.168.1.103)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;note:&lt;/span&gt; The server configuration allows registeration is without authentication hence you can register using any user id.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8778816004128604020-5098448485294050959?l=linux-arm-porting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linux-arm-porting.blogspot.com/feeds/5098448485294050959/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-arm-porting.blogspot.com/2009/08/porting-openser-095-server-on-ln2410.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8778816004128604020/posts/default/5098448485294050959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8778816004128604020/posts/default/5098448485294050959'/><link rel='alternate' type='text/html' href='http://linux-arm-porting.blogspot.com/2009/08/porting-openser-095-server-on-ln2410.html' title='Porting openSER 0.9.5 Server on LN2410 baord'/><author><name>Ratheendran</name><uri>http://www.blogger.com/profile/13707346592776375631</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8778816004128604020.post-6924221201571158973</id><published>2009-08-27T13:17:00.000+05:30</published><updated>2009-09-14T15:47:37.571+05:30</updated><title type='text'>Kermit for Serial communication</title><content type='html'>Kermit &lt;span style="visibility: visible;" id="main"&gt;&lt;span style="visibility: visible;" id="search"&gt;handles both modem and TCP/IP connections,I have used it for serial communication&lt;/span&gt;&lt;/span&gt; on LN2410,it is simple configure and use compared to minicom.&lt;br /&gt;&lt;br /&gt;Download Kermit from below link.&lt;br /&gt;http://www.columbia.edu/kermit/ck80.html#source&lt;br /&gt;&lt;br /&gt;To build and install follow the steps below.&lt;br /&gt;1. mkdir Kermit&lt;br /&gt;2. mv  /path-tokermit-source/cku211.tar.gz   Kermit&lt;br /&gt;3.  tar -zxvf cku211.tar.gz&lt;br /&gt;4. make linux&lt;br /&gt;5. make install&lt;br /&gt;&lt;br /&gt;create a file ".kermrc" in /root/ folder with the following details and save it.&lt;br /&gt;&lt;br /&gt;Contents of ".kermrc" file begins&lt;br /&gt;set line /dev/ttyS0                                          /* Kermit uses Serial port 0*/&lt;br /&gt;set speed 115200                                           /* Baud rate on which this operate*/&lt;br /&gt;set carrier­watch off&lt;br /&gt;set handshake none&lt;br /&gt;set flow­control none&lt;br /&gt;robust&lt;br /&gt;set file type bin&lt;br /&gt;set file name lit&lt;br /&gt;set rec pack 1000&lt;br /&gt;set send pack 1000&lt;br /&gt;set window 5&lt;br /&gt;&lt;br /&gt;Contents of ".kermrc" file ends&lt;br /&gt;&lt;br /&gt;Now connect LN2410 board to PC and type kermit on command line. type connect on command line to get the uboot shell type 'Ctrl' + '\' and 'u' keys to return to kermit prompt&lt;br /&gt;&lt;br /&gt;To send a file to LN2410 type  'send &lt;path&gt;/filename' on command promt&lt;/path&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8778816004128604020-6924221201571158973?l=linux-arm-porting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linux-arm-porting.blogspot.com/feeds/6924221201571158973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-arm-porting.blogspot.com/2009/08/kermit-for-serial-communication.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8778816004128604020/posts/default/6924221201571158973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8778816004128604020/posts/default/6924221201571158973'/><link rel='alternate' type='text/html' href='http://linux-arm-porting.blogspot.com/2009/08/kermit-for-serial-communication.html' title='Kermit for Serial communication'/><author><name>Ratheendran</name><uri>http://www.blogger.com/profile/13707346592776375631</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8778816004128604020.post-7846341064508729399</id><published>2009-08-27T12:46:00.000+05:30</published><updated>2009-08-27T12:56:25.193+05:30</updated><title type='text'>Running Telnet daemon on LN2410</title><content type='html'>The Telnet protocol is one of the simplest ways to log into a remote network host. Consequently, it’s the easiest way to access your target system once it is connected to a network. To enable remote login, your target must run a Telnet daemon. There are two main Telnet daemons available for use in embedded Linux systems: telnetd, which is part of the netkit packages mentioned earlier, and utelnetd, which is maintained by Robert Schwebel of Pengutronix.&lt;br /&gt;&lt;br /&gt;The utelnetd package provides a small and efficient stand alone&lt;br /&gt;telnet server daemon. The utelnetd  package is small and compact, and&lt;br /&gt;uses less resources than a traditional telnet server daemon, making&lt;br /&gt;it ideal for use on embedded systems, or systems where memory is&lt;br /&gt;limited.&lt;br /&gt;&lt;br /&gt;Download utelnet from the link below&lt;br /&gt;&lt;br /&gt;http://www.filewatcher.com/m/utelnetd­0.1.6.tar.gz.13869.0.0.html&lt;br /&gt;Extract the Source file from the tarball.&lt;br /&gt;tar ­-zxvf utelnetd­0.1.6.tar.gz&lt;br /&gt;&lt;br /&gt;Change the cc option to the cross compiler in the Makefile.&lt;br /&gt;CC        = arm­-linux­-gcc&lt;br /&gt;Now compile the file using the make command.&lt;br /&gt;&lt;br /&gt;Copy the binaries(utelnetd) to root file system's /bin folder&lt;br /&gt;Now boot the kernel and filesystem up.&lt;br /&gt;Now run the utelnetd server on the board,you can access the board&lt;br /&gt;using the telnet IP Address command from the host PC.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Note:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The Telnet daemon uses pseudoterminal devices, called pty for short,&lt;br /&gt;to provide a terminal for the shell and other programs to run in,&lt;br /&gt;when invoked from the network via this daemon. One of the most common&lt;br /&gt;pitfalls for novice embedded Linux system builders regarding the&lt;br /&gt;Telnet service is to neglect some configuration detail related to&lt;br /&gt;ptys that prevents users from logging in to the system via Telnet.&lt;br /&gt;If the Telnet daemon is running and networking is otherwise working&lt;br /&gt;(you can, for example, ping other hosts), make sure of the following:&lt;br /&gt;&lt;br /&gt;The /dev/ptmx exists and that it is a character device file with a&lt;br /&gt;major number of 5 and a minor of 2; if not, create it using the&lt;br /&gt;command:&lt;br /&gt;         $ mknod /dev/ptmx c 5 2&lt;br /&gt;• Support for the devpts pseudofilesystem is enabled in the kernel by&lt;br /&gt;looking for the devpts entry in the /proc/filesystems file, or add&lt;br /&gt;the support by turning on the&lt;br /&gt; CONFIG_UNIX98_PTYS Linux kernel build option.&lt;br /&gt;• The /dev/pts directory exists and that the devpts pseudofilesystem&lt;br /&gt;is mounted on it correctly, either by issuing the mount command and&lt;br /&gt;looking for the devpts entry or mounting it using the command:&lt;br /&gt;      $ mkdir /dev/pts &amp;amp;&amp;amp; mount ­t devpts none /dev/pts&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8778816004128604020-7846341064508729399?l=linux-arm-porting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linux-arm-porting.blogspot.com/feeds/7846341064508729399/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-arm-porting.blogspot.com/2009/08/runningtelnetdaemononln2410.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8778816004128604020/posts/default/7846341064508729399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8778816004128604020/posts/default/7846341064508729399'/><link rel='alternate' type='text/html' href='http://linux-arm-porting.blogspot.com/2009/08/runningtelnetdaemononln2410.html' title='Running Telnet daemon on LN2410'/><author><name>Ratheendran</name><uri>http://www.blogger.com/profile/13707346592776375631</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8778816004128604020.post-4531686147727102783</id><published>2009-05-27T09:43:00.000+05:30</published><updated>2009-05-27T17:03:53.088+05:30</updated><title type='text'>Porting Linux 2.6.13 on LN2410</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_6kkGMTZQfyc/Sh0kMNFPaGI/AAAAAAAAAwM/L2KyD-Dkm-c/s1600-h/ln2410sbc_board_h+copy.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 206px;" src="http://3.bp.blogspot.com/_6kkGMTZQfyc/Sh0kMNFPaGI/AAAAAAAAAwM/L2KyD-Dkm-c/s320/ln2410sbc_board_h+copy.jpg" alt="" id="BLOGGER_PHOTO_ID_5340464525219948642" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Introduction&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;There are many blog on net which are introducing porting Linux on LN2410,I tried their way,I was able to boot linux and filesystem, however I was not sucessfull in enabling the touch screen driver on the board.This is an attempt to fill those gap.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;Before we start with setting the enviroment we need to ensure that we have all the necessary source code and bineries required to set up the host enviroment are availble on the system.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Download Files&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-family:verdana;" &gt;Cross compiler&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.littlechips.com/downloads/customer/CD_Images/LN2410SBC/Linux/Toolchain/"&gt;&lt;span style="font-family:verdana;"&gt;gnu-arm-2005QIB-arm-none-linux-gnueabi-i686-pc-linux-gnu-1.tar.bz2&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.littlechips.com/downloads/customer/CD_Images/LN2410SBC/Linux/Toolchain/"&gt;cross-2.95.3.tar.bz2&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-family:verdana;" &gt;Linux Source code:&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.13.2.tar.bz2"&gt;&lt;span style="font-family:verdana;"&gt;linux-2.6.13.2.tar.bz2&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-family:verdana;" &gt;Patch for LN2410&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.littlechips.com/downloads/linux/"&gt;&lt;span style="font-family:verdana;"&gt;patch-2.6.13.2-ln2410sbc-0.6.gz &lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;We need to one more patch to enable the touch screen funtionality,this is created by Mr. Ragrot and can be downloaded from below link&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-family:verdana;" &gt;Patch for LN2410 by Mr. Ragrot&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.risacher.org/littlechips/"&gt;&lt;span style="font-family:verdana;"&gt;ln2410sbc-lc6-patch-rag-04-28-07.bz2&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-family:verdana;" &gt;UBoot source&lt;/span&gt;&lt;br /&gt;&lt;a href="http://littlechips.com/downloads/uboot/"&gt;&lt;span style="font-family:verdana;"&gt;uboot-1.1.1-ln2410sbc-0.3.tar.gz&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;style&gt;&lt;!-- 		@page { size: 8.5in 11in; margin: 0.79in } 		P { margin-bottom: 0.08in } 	--&gt; 	&lt;/style&gt;      &lt;p  style="margin-bottom: 0in;font-family:verdana;"&gt;&lt;span style="font-style: italic;"&gt;Microwindows&lt;/span&gt;&lt;br /&gt;a. &lt;a href="http://www.littlechips.com/downloads/customer/CD_Images/LN2410SBC/Linux/Microwindows/"&gt;microwindows-0.90.tar.gz&lt;/a&gt;&lt;br /&gt;b. &lt;a href="http://www.littlechips.com/downloads/customer/CD_Images/LN2410SBC/Linux/Microwindows/"&gt;microwindows-fonts-0.90.tar.gz&lt;/a&gt;&lt;br /&gt;c. &lt;a href="http://www.littlechips.com/downloads/customer/CD_Images/LN2410SBC/Linux/Microwindows/"&gt;patch-0.90-lc1.gz&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-family:verdana;" &gt;Root file system &lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.littlechips.com/downloads/customer/CD_Images/LN2410SBC/Linux/Images/"&gt;&lt;span style="font-family:verdana;"&gt;LN2410disk.gz&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);font-family:verdana;" &gt;The kernel compilation steps :&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;a. Environment.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;b. Compilation.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;c. Flashing to Memory.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-family:verdana;" &gt;a. Environment&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;extract &lt;/span&gt;&lt;span style="font-family:verdana;"&gt;'gnu-arm-2005QIB-arm-none-linux-gnueabi-i686-pc-linux-gnu-1.tar.bz2' &lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;  to /usr/local/arm/release-3.4.3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;$setenv GCC_ARM_HOME /usr/local/arm/release-3.4.3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;$set path=($GCC_ARM_HOME/bin:/$path)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-family:verdana;" &gt;b. Compilation&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Extract the kernel and apply above two patches&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;# bunzip2 -dc linux-2.6.13.2.tar.bz2 | tar xvf -&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;# gzip -dc patch-2.6.13.2-ln2410sbc-0.5.gz | (cd linux-2.6.13.2;patch -p1)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;# bunzip2 -dc ln2410sbc-lc6-patch-rag-04-28-07.bz2 | (cd linux-2.6.13.2;patch -p1)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;# cd linux-2.6.13&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;# make menuconfig&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;# make&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;If it is a successful compilation you will have zImage file in arch/arm/boot directory.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;extract the uboot source&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;# cd uboot-1.1.1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;# cd tools&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;#./mkimage -A arm -T kernel -O linux -a 0x30f00000 -e 0x30f00000 -n "Linux 2.6.13" -d /path/to/zImage   /path/to/zImage.bin &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-family:verdana;" &gt;c. Flashing it to memory&lt;/span&gt;&lt;br /&gt;	&lt;meta equiv="CONTENT-TYPE" content="text/html; charset=utf-8"&gt;&lt;title&gt;LN2410&lt;/title&gt;&lt;meta name="GENERATOR" content="OpenOffice.org 2.0  (Linux)"&gt;&lt;meta name="AUTHOR" content="natarajan"&gt;&lt;meta name="CREATED" content="20081225;19420000"&gt;&lt;meta name="CHANGEDBY" content="anirudh"&gt;&lt;meta name="CHANGED" content="20081225;19420000"&gt; 	 	&lt;style&gt; 	&lt;!-- 		@page { size: 8.5in 11in; margin: 0.79in } 		P { margin-bottom: 0in } 	--&gt;&lt;/style&gt;&lt;span style="font-family:verdana;"&gt;To Download zImage.bin onboard DRAM through serial port.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Go to terminal type 'kermit' to now to get the uboot command line type 'connect'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;I assume that you have installed the kermit and configured it.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;To return to kermit prompt by pressing 'Ctrl + \' and 'u'&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;To send a file from kermit prompt type send &lt;path&gt;/zImage.bin&lt;/path&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;LN2410SBC # loadb 0x31000000&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;transfer the file with Kermit, it takes a few minutes.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;now return to uboot prompt and type&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;LN2410SBC # erase 1:7-33  &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;This erase the sectors from  7 to 33&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Copying zImage from DRAM to Flash:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;LN2410SBC # cp.b 0x31000000 0x40000 &lt;size&gt; /* source, destination, size */&lt;/size&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt;The File system compilation steps :&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;a. Environment.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;b. Microwindows Compilation.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;c. Copy the root filesystem to host&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;a. Environment&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;extract &lt;/span&gt;&lt;span style="font-family:verdana;"&gt;'cross-2.95.3.tar.bz2' &lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;  on  /usr/local/arm/2.95.3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;$setenv GCC_ARM_HOME /usr/local/arm/2.95.3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;$set path=($GCC_ARM_HOME/bin:/$path)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-family:verdana;" &gt;b. Microwindows Compilation&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;i. Install microwindows-0.90, fonts and patch&lt;br /&gt;$ tar xvfz microwindows-0.90.tar.gz&lt;br /&gt;$ cd microwindows-0.90 /src&lt;br /&gt;$ tar xvfz ../../microwindows-fonts-0.90.tar.gz&lt;br /&gt;$ cd ../..&lt;br /&gt;$ gzip -cd patch-0.90-lc1.gz | (cd microwindows-0.90; patch -p1)&lt;br /&gt;ii. Build and install binaries&lt;br /&gt;$ cd microwindows-0.90/src&lt;br /&gt;In config file do the following changes&lt;br /&gt;ARMTOOLSPREFIX = arm-linux-&lt;br /&gt;In Mouse driver section&lt;br /&gt;NOMOUSE                 =N&lt;br /&gt;IPAQMOUSE              =Y&lt;br /&gt;For PCF font error:&lt;br /&gt;Modify: HAVE_PCF_SUPPORT = N&lt;br /&gt;HAVE_PCFGZ_SUPPORT = N&lt;br /&gt;PCF_FONT_DIR = “fonts/pcf”.&lt;br /&gt;$ which arm-linux-gcc /* make sure tool is available */&lt;br /&gt;/usr/local/arm/2.95.3/bin/arm-linux-gcc&lt;br /&gt;$ make&lt;br /&gt;$ mkdir ../install&lt;br /&gt;$ make INSTALL_PREFIX=../install install&lt;br /&gt;iii. Create new file system&lt;br /&gt;Copy files from RAMdisk image to new disk image&lt;br /&gt;$ unzip LN2410disk.gz&lt;br /&gt;$ mount -o loop LN2410disk olddisk&lt;br /&gt;$ mkdir newdisk&lt;br /&gt;$ copy -a olddisk/* newdisk&lt;br /&gt;iv. Copy Microwindows binary files to new disk&lt;br /&gt;$ copy -a microwindows-0.90/install/* newdisk&lt;br /&gt;c. Root filesystem on host(SD MMC card or USB drive)&lt;br /&gt;See me blog on '&lt;a href="http://linux-arm-porting.blogspot.com/2009/04/root-filesystem-on-sd-mmc-card.html"&gt;Root file system on SD-MMC card&lt;/a&gt;' for details&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Boot kernel:&lt;/span&gt;&lt;br /&gt;LN2410SBC # bootm 0x40000&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Running NANO-X/Micro-windows&lt;/span&gt;&lt;br /&gt;On BusyBox shell window,type following commands to start Nano-X&lt;br /&gt;$ mknod /dev/null c 1 3&lt;br /&gt;$ mknod -m 660 /dev/h3600_ts c 13 128&lt;br /&gt;$ mknod -m 666 /dev/h3600_tsraw c 13 144&lt;br /&gt;$ nano-X &amp;amp; /* start nano-X server */&lt;br /&gt;$ nanowm &amp;amp; /* Window manager */&lt;br /&gt;$ nxcal &amp;amp; /* touch screen calibration tool */&lt;br /&gt;$ ntetris &amp;amp; /* play tetris! */&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8778816004128604020-4531686147727102783?l=linux-arm-porting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linux-arm-porting.blogspot.com/feeds/4531686147727102783/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-arm-porting.blogspot.com/2009/05/porting-linux-2613-on-ln2410.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8778816004128604020/posts/default/4531686147727102783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8778816004128604020/posts/default/4531686147727102783'/><link rel='alternate' type='text/html' href='http://linux-arm-porting.blogspot.com/2009/05/porting-linux-2613-on-ln2410.html' title='Porting Linux 2.6.13 on LN2410'/><author><name>Ratheendran</name><uri>http://www.blogger.com/profile/13707346592776375631</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6kkGMTZQfyc/Sh0kMNFPaGI/AAAAAAAAAwM/L2KyD-Dkm-c/s72-c/ln2410sbc_board_h+copy.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8778816004128604020.post-4389768446336972434</id><published>2009-05-02T09:48:00.000+05:30</published><updated>2009-05-02T14:40:50.992+05:30</updated><title type='text'>Porting cURL Library on LN2410</title><content type='html'>&lt;span style="font-weight: bold; color: rgb(51, 0, 153);font-family:verdana;font-size:130%;"  &gt;Introduction&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div  style="text-align: justify;font-family:verdana;"&gt;&lt;span style="font-size:100%;"&gt;cURL library allows you to connect and communicate to many different types of    servers with many different types of protocols. &lt;/span&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"  style="font-size:100%;"&gt;libcurl&lt;/span&gt;&lt;span style="font-size:100%;"&gt; currently    supports the http, https, ftp, gopher, telnet, dict, file, and    &lt;/span&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"  style="font-size:100%;"&gt;ldap&lt;/span&gt;&lt;span style="font-size:100%;"&gt; protocols. &lt;/span&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"  style="font-size:100%;"&gt;libcurl&lt;/span&gt;&lt;span style="font-size:100%;"&gt; also supports HTTPS certificates, HTTP    POST, HTTP PUT, FTP uploading (this can also be done with &lt;/span&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"  style="font-size:100%;"&gt;PHP's&lt;/span&gt;&lt;span style="font-size:100%;"&gt;    ftp extension), HTTP form based upload, proxies, cookies, and    user+password authentication.&lt;br /&gt;In this section is about how to compile curl in the host &lt;/span&gt;&lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_4"  style="font-size:100%;"&gt;environment&lt;/span&gt;&lt;span style="font-size:100%;"&gt; and put it them on target machine.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(51, 0, 153);font-family:verdana;font-size:130%;"  &gt;&lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_5"&gt;Configuration&lt;/span&gt; and Installation&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Download and unpack the &lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;" class="blsp-spelling-error" id="SPELLING_ERROR_6"  &gt;cURL&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt; package.&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:monospace;font-size:100%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;" class="blsp-spelling-corrected" id="SPELLING_ERROR_7"  &gt;Source&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt; code of &lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;" class="blsp-spelling-error" id="SPELLING_ERROR_8"  &gt;cURL&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt; can be obtained from http://curl.haxx.se/download.html&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;'&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;" class="blsp-spelling-error" id="SPELLING_ERROR_9"  &gt;cd&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt;' to the new directory. (e.g. &lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;" class="blsp-spelling-error" id="SPELLING_ERROR_10"  &gt;cd&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt; curl-7.12.3)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;Now call the configuration script,Be sure and specify the '--host' and&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;'--build' parameters at configuration time.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;The following script is cross-compiling for ARM9 processor using the&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;cross tool chain 'cross-2.95.3.tar.bz2' on &lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;" class="blsp-spelling-error" id="SPELLING_ERROR_11"  &gt;RedHat&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt; Linux.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;(Other tool chains has library linking issues)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;font-family:verdana;font-size:100%;"  &gt;./configure --prefix=/root/curl --build=i686-&lt;/span&gt;&lt;span style="font-style: italic;font-family:verdana;font-size:100%;" class="blsp-spelling-error" id="SPELLING_ERROR_12"  &gt;pc&lt;/span&gt;&lt;span style="font-style: italic;font-family:verdana;font-size:100%;"  &gt;-&lt;/span&gt;&lt;span style="font-style: italic;font-family:verdana;font-size:100%;" class="blsp-spelling-error" id="SPELLING_ERROR_13"  &gt;linux&lt;/span&gt;&lt;span style="font-style: italic;font-family:verdana;font-size:100%;"  &gt;-gnu --host=arm-&lt;/span&gt;&lt;span style="font-style: italic;font-family:verdana;font-size:100%;" class="blsp-spelling-error" id="SPELLING_ERROR_14"  &gt;linux&lt;/span&gt;&lt;span style="font-style: italic;font-family:verdana;font-size:100%;"  &gt;  --target=arm-&lt;/span&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15" style=";font-family:verdana;font-size:100%;"  &gt;&lt;span style="font-style: italic;"&gt;linux&lt;/span&gt; &lt;/span&gt;&lt;span style="font-style: italic;font-family:verdana;font-size:100%;"  &gt;CC=/usr/local/arm/2.95.3/bin/arm-linux-gcc&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;font-family:verdana;" &gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;The '--prefix' parameter&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;   specifies where &lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;" class="blsp-spelling-error" id="SPELLING_ERROR_16"  &gt;cURL&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:verdana;"&gt; will be installed.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;CC parameter is the cross compiler toolchain path.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;  If 'configure' completes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:verdana;"&gt;   successfully, do 'make' and 'make install' as usual.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:verdana;"&gt;&lt;span style="font-weight: bold; color: rgb(51, 0, 153);font-size:130%;" &gt;Copying the binaries and libraries to root file system&lt;/span&gt;&lt;br /&gt;Once the make install is sucessfull,copy the binaries and libraries in curl folder to bin and lib folder  respectively on root file system.&lt;br /&gt;now test the libary on the commad line by typing 'curl url'&lt;br /&gt;I got  html page as a response  when I typed 'curl http://192.168.1.1' on the shell.&lt;br /&gt;&lt;br /&gt;[root@test Linux]# curl http://192.168.1.1&lt;br /&gt;&lt;title&gt;401 Unauthorized&lt;/title&gt;&lt;title&gt;401 Unauthorized&lt;/title&gt;&lt;title&gt;401 Unauthorized&lt;/title&gt;&lt;title&gt;401 Unauthorized&lt;/title&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;&lt;br /&gt;&lt;/h4&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8778816004128604020-4389768446336972434?l=linux-arm-porting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linux-arm-porting.blogspot.com/feeds/4389768446336972434/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-arm-porting.blogspot.com/2009/05/porting-curl-library-on-ln2410.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8778816004128604020/posts/default/4389768446336972434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8778816004128604020/posts/default/4389768446336972434'/><link rel='alternate' type='text/html' href='http://linux-arm-porting.blogspot.com/2009/05/porting-curl-library-on-ln2410.html' title='Porting cURL Library on LN2410'/><author><name>Ratheendran</name><uri>http://www.blogger.com/profile/13707346592776375631</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8778816004128604020.post-5577556553149396619</id><published>2009-04-19T10:54:00.000+05:30</published><updated>2009-09-12T11:32:41.205+05:30</updated><title type='text'>Root filesystem on SD MMC card</title><content type='html'>&lt;span style="font-size:130%;"&gt;&lt;a href="http://3.bp.blogspot.com/_6kkGMTZQfyc/SfAW3jWSDiI/AAAAAAAAAt0/_zDQqXNueJw/s1600-h/sbc_flash.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5327783502816611874" style="margin: 0px 10px 10px 0px; float: left; width: 125px; height: 95px;" alt="" src="http://3.bp.blogspot.com/_6kkGMTZQfyc/SfAW3jWSDiI/AAAAAAAAAt0/_zDQqXNueJw/s320/sbc_flash.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 102); font-style: italic;font-size:130%;" &gt;Introduction :&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;Hacking Linux kernel for LN2410 Single board computer&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;&lt;br /&gt;&lt;br /&gt;Here I would like to share my experience in porting root File system on the SD &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;MMC&lt;/span&gt; card,and configuring the kernel to use it&lt;br /&gt;&lt;br /&gt;I have done it in following steps&lt;br /&gt;1. Setting up the environment&lt;br /&gt;2. Kernel compilation and loading it to NOR flash&lt;br /&gt;3. preparing the SD &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;MMC&lt;/span&gt; card and File system.&lt;br /&gt;4. Copying the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;rootfs&lt;/span&gt; to SD &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;MMC&lt;/span&gt; Card&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 0, 153);font-size:130%;" &gt;Requirements :&lt;/span&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Toolchain&lt;/span&gt; :&lt;br /&gt;gnu-arm-2005QIB-arm-none-linux-gnueabi-i686-pc-linux-gnu-1.tar.bz2&lt;br /&gt;Kernel:&lt;br /&gt;linux-2.6.13.2-lc6.tar.gz&lt;br /&gt;File system:&lt;br /&gt;LN2410disk.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;gz&lt;/span&gt; (provided by vendor)&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 0, 153);font-size:130%;" &gt;Setting up the environment:&lt;/span&gt;&lt;br /&gt;-Extract the tool chain and update the environment.&lt;br /&gt;Please follow these steps&lt;br /&gt;create an arm folder in "/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;usr&lt;/span&gt;/local" and extract the binaries in this folder&lt;br /&gt;#&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;mkdir&lt;/span&gt; /&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;usr&lt;/span&gt;/local/arm&lt;br /&gt;#&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;cd&lt;/span&gt; /&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;usr&lt;/span&gt;/local/arm&lt;br /&gt;#tar –&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;jxvf&lt;/span&gt; gnu-arm-2005QIB-arm-none-linux-gnueabi-i686-pc-linux-gnu-1.tar.bz2&lt;br /&gt;update the shell environment by adding the following in .&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;bashrc&lt;/span&gt; file&lt;br /&gt;export PATH=$PATH:/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;usr&lt;/span&gt;/local/arm/bin&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 102);font-size:130%;" &gt;Kernel compilation and loading it to NOR flash&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;a. Extract the kernel source and compile it using the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;menuconfig&lt;/span&gt; option.&lt;br /&gt;# tar &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;xvzf&lt;/span&gt; linux-2.6.13.2-lc6.tar.gz&lt;br /&gt;#make &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;menuconfig&lt;/span&gt; -------- for configuring kernel&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;CONFIG&lt;/span&gt;_&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;CMDLINE&lt;/span&gt;="root=/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;dev&lt;/span&gt;/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;mmcblk&lt;/span&gt;0p1 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;rootfstype&lt;/span&gt;=ext2 console=&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;ttySAC&lt;/span&gt;0 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;rw&lt;/span&gt;"(kernel command line we used)&lt;br /&gt;In the Kernel command line we convey in command line the type of filesystem, the partition on which the root file system is &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_24"&gt;available&lt;/span&gt;&lt;br /&gt;Under character device driver section do select the&lt;br /&gt;&lt;*&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;MMC&lt;/span&gt; support&lt;br /&gt;[ ] &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;MMC&lt;/span&gt; debugging&lt;br /&gt;&lt;*&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;MMC&lt;/span&gt; block device driver&lt;br /&gt;&lt; &gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;Winbond&lt;/span&gt; W83L51&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;xD&lt;/span&gt; SD/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;MMC&lt;/span&gt; Card Interface support&lt;br /&gt;&lt;*&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;Samsung&lt;/span&gt; S3C2410 Multimedia Card Interface support&lt;br /&gt;#make ---------- u will get &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;zimage&lt;/span&gt; in (./arch/arm/boot/zimage)&lt;br /&gt;Once the Image is ready copy this image using the following commands.&lt;br /&gt;LN2410&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;SBC&lt;/span&gt; # &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;loadb&lt;/span&gt; 0x31000000 (Using Kermit send the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_35"&gt;zimage&lt;/span&gt;.bin )&lt;br /&gt;Once the image is copied the size of byte is indicated in the terminal&lt;br /&gt;LN2410&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_36"&gt;SBC&lt;/span&gt; # erase 1:7-33&lt;br /&gt;LN2410&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_37"&gt;SBC&lt;/span&gt; # &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_38"&gt;cp&lt;/span&gt;.b 0x31000000 0x40000 size&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 102);font-family:verdana;font-size:100%;"  &gt;&lt;span style="font-style: italic;font-size:130%;" &gt;preparing the SD &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_39"&gt;MMC&lt;/span&gt; card and File system.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;# &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_40"&gt;fdisk&lt;/span&gt; /&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_41"&gt;dev&lt;/span&gt;/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_42"&gt;sda&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;To create a new partition that will use up the whole free space, use the command sequence&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;like this:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Command (m for help): n&lt;/span&gt;&lt;enter&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Command action&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;e extended&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;p primary partition (1-4)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;p&lt;/span&gt;&lt;enter&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Partition number (1-4): 1&lt;/span&gt;&lt;enter&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;First cylinder (1-1011, default 1): &lt;/span&gt;&lt;enter&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Using default value 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Last cylinder or +size or +&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_43"&gt;sizeM&lt;/span&gt; or +&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_44"&gt;sizeK&lt;/span&gt; (1-1011, default 1011): &lt;/span&gt;&lt;enter&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Using default value 1011&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;prepare /&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_45"&gt;dev&lt;/span&gt;/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_46"&gt;sda&lt;/span&gt;1 for ext2 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_47"&gt;filesystem&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_48"&gt;mkfs&lt;/span&gt;.ext2 /&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_49"&gt;dev&lt;/span&gt;/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_50"&gt;sda&lt;/span&gt;1&lt;/span&gt;&lt;br /&gt;&lt;/enter&gt;&lt;/enter&gt;&lt;/enter&gt;&lt;/enter&gt;&lt;/enter&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;&lt;span style="color: rgb(0, 0, 102);"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;&lt;span style="color: rgb(0, 0, 102);"&gt;Changes in the kernel command line argument&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;#make &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;menuconfig&lt;/span&gt; -------- for configuring kernel&lt;br /&gt;&lt;/span&gt;and in &lt;span style=";font-family:verdana;font-size:100%;"  &gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;CONFIG&lt;/span&gt;_&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;CMDLINE=&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:verdana;font-size:100%;"  &gt;&lt;span style="color: rgb(0, 0, 102);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"root=/dev/sda1 rootfstype=ext2 rootdelay=10 init=/linuxrc rw&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;Coping the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_51"&gt;rootfs&lt;/span&gt; to SD &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_52"&gt;MMC&lt;/span&gt; Card&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:verdana;font-size:100%;"  &gt;#&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_53"&gt;gzip&lt;/span&gt; -dc LN2410disk.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_54"&gt;gz&lt;/span&gt;&lt;br /&gt;#&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_55"&gt;mkdir&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_56"&gt;olddisk&lt;/span&gt;&lt;br /&gt;#mount -o loop LN2410disk &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_57"&gt;olddisk&lt;/span&gt;&lt;br /&gt;Now mount the newly created partition on SD &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_58"&gt;MMc&lt;/span&gt; card on /&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_59"&gt;mnt&lt;/span&gt;&lt;br /&gt;#mount /&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_60"&gt;dev&lt;/span&gt;/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_61"&gt;sda&lt;/span&gt;1 /&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_62"&gt;mnt&lt;/span&gt;&lt;br /&gt;#&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_63"&gt;cp&lt;/span&gt; -&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_64"&gt;rf&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_65"&gt;olddisk&lt;/span&gt;/* /&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_66"&gt;mnt&lt;/span&gt;&lt;br /&gt;Now connect SD &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_67"&gt;MMC&lt;/span&gt; card on LN2410 board.&lt;br /&gt;&lt;br /&gt;Restart the board and type &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_68"&gt;loadm&lt;/span&gt; 0x40000 on shell prompt.&lt;br /&gt;&lt;br /&gt;Now the Kernel will mount the file system from SD &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_69"&gt;MMC&lt;/span&gt; card!!&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:verdana;font-size:100%;"  &gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8778816004128604020-5577556553149396619?l=linux-arm-porting.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linux-arm-porting.blogspot.com/feeds/5577556553149396619/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-arm-porting.blogspot.com/2009/04/root-filesystem-on-sd-mmc-card.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8778816004128604020/posts/default/5577556553149396619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8778816004128604020/posts/default/5577556553149396619'/><link rel='alternate' type='text/html' href='http://linux-arm-porting.blogspot.com/2009/04/root-filesystem-on-sd-mmc-card.html' title='Root filesystem on SD MMC card'/><author><name>Ratheendran</name><uri>http://www.blogger.com/profile/13707346592776375631</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6kkGMTZQfyc/SfAW3jWSDiI/AAAAAAAAAt0/_zDQqXNueJw/s72-c/sbc_flash.jpg' height='72' width='72'/><thr:total>1</thr:total></entry></feed>
