uClinux kernel panic: Stack overflow

July 11th, 2010 No comments

If you’re using ucLinux, you may get kernel panic errors  coming out of nowhere. There may be several reasons (buffer overflow, out of memory..), but the most common is stack overflow for the process or one of the threads. To increase the stack size of a flat binary you’ll need to adjust the LDFLAGS as follows: LDFLAGS+=-Wl,-elf2flt=”-s65536″ This will set the stack size to 64KB. To change the stack size of a thread (e.g. 32KB below), you’ll need to set the stack size attribute: pthread_attr_init(&attr); err = pthread_attr_setstacksize(&attr, 32*1024); if (err) { printf(“pthread_attr_setstacksize returned non-zero: %s\n”, strerror(errno)); } err = pthread_create(&pthThread, &attr, thread, NULL); How to detect which thread suffers from stack overflow ? First you can check your code for recursive function calls and local variables (especially arrays) both of which will be added at runtime to the stack to estimate what should be the stack size. So if you have large arrays you may use a pointer +…

Read more…

Digital Signage Standard by POPAI

July 4th, 2010 No comments

Currently digital signage implementations are mainly proprietary, and that means once you choose a vendor you are stuck with it, unless you completely change your network and the way you manage your content or handles separate systems. If the digital signage industry really wants to take off some standards are needed. One of the first standard for digital signage has been released by POPAI (Point of Purchase Advertising International). This first standard is to promote interoperability between different providers by defining Screen Media Formats (Click to open the standard) basically telling which video and audio codecs and containers (“Wrappers”)  and which and picture formats  should/could be supported by digital signage players and providing different levels of standard profiles and extended profiles a bit like it is done in MPEG-4 specifications. POPAI also used to provide some media samples to test your system previously available at www.popai.com/DS/ContentSamples but the link is now dead. You may have to contact them to get…

Read more…

Installing 2 Linux distributions in one PC

July 4th, 2010 No comments

Here are the step I followed to install two distributions of Linux: Install the first distribution normally with GRUB in the MBR. While installing the second distribution make sure to set GRUB in its root partition. At this point the second distribution should not be available in GRUB Boot loader, login in the first distribution as root and edit /etc/grub.conf and add the following lines: Linux Distribution 2 root (hd0,2) chainloader +1 Save and restart your PC you should have 2 choices in GRUB, select “Linux Distribution 2”or whatever name you gave in grub.conf and this should start the second Linux distribution. Here are the step I followed to install two distributions of Linux: Install the first distribution normally with GRUB in the MBR. While installing the second distribution make sure to…

Categories: Linux, Linux 2.4, Linux 2.6 Tags:

Finding large files in a Linux system

July 3rd, 2010 No comments

To list large files in a directory and subdirectories

This command looks for files larger than 10MB in /home/user directory and displays the result as follows: /home/user/largefile1.tar.bz2: 32M /home/user/bugzilla.sql: 21M To list large files in a directory and subdirectories

[crayon-5a8e620be3818141996106/]

This command looks for files larger than 10MB in /home/user directory and displays the result as follows: /home/user/largefile1.tar.bz2: 32M /home/user/bugzilla.sql:…

Using vi as an hex editor

July 1st, 2010 No comments

To use vi as an hexadecimal editor: vi doc.txt [esc] :%!xxd To use vi as an hexadecimal editor: vi doc.txt [esc] :%!xxd

Categories: Linux, Linux 2.4, Linux 2.6, Programming, Testing Tags:

EP9307 Thin Client with DirectVNC

June 26th, 2010 No comments

One of my reader had issues running Thin-clients ENTC Encore-1000 based on EP9307 and wanted to update the firmware in his systems. So I’ll explain how to access Linux, Windows XP or any other operating systems using a thin client based on Cirrus Logic EP9307 hardware. This is for reference only, and the performance may not be suitable for your environment/setup. One PC (server) is needed to run VNC (Virtual Network Computing) server for each remote desktop (i.e. each thin client), then the thin client can run the software without hard disk by just using the network connection. This can be used for checking emails, browsing internet, office applications, etc.. All resource heavy tasks are done on the server side whose specifications may be chosen to match the applications requirements. I’ll explain how to use Linux, but Windows XP (or any other operating systems for that matter) could also be used in the thin client. But at the time I…

Read more…

IPAD Killer – Allgo Android Tablet

June 26th, 2010 No comments

Ok, the title is a bit over the top but the Allgo tablet reference design running android would only cost around 35 USD to manufacture (15 dollars for the board, 15 dollars for the touch screen display and 5 dollars for the battery). So you’d be able to browse the web, read e-books, flicker through your pictures and access a wide range of applications through Google app store for less than 100 USD (retail) compared to  the IPAD retail price of 499 USD that would seem like a bargain even though the performance is not as good as the IPAD (but still acceptable) as you can see in the video below. Ok, the title is a bit over the top but the Allgo tablet reference design running android would only cost around 35 USD to manufacture (15 dollars for the board,…

Categories: Android, Hardware Tags: allgo, Android, ipad, tablet, wifi

ARM-based Android Set-Top-Box

June 19th, 2010 No comments

Last month, I posted a blog entry about demo featuring Sigma Designs Android STB that was shown at CeBit last January. AFAIK this is still being developed and there is still no Android STB products based on Sigma Designs Chips that can be purchased. Earlier this month, another company Webia Technologies demo’ed an Android STB (HDMI 1080p – ARM 11) whose factory price would be 50 USD, which is well below the price of a similar Sigma Designs STB based on SMP8640 or SMP8650 series. They also showed a smaller box that can support 720p and selling for 25 USD (Factory price, not retail price). You can see the demo below showing both set-top-boxes. Interestingly enough, I was unable to find Webia Technologies website or other previous news about this company. All I found is Webia Technologies is supposedly registered in Hong Kong. Update: After searching which ARM-based solution may support Android for STB, I found another video on Charbax…

Read more…