uClinux kernel panic: Stack overflow

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:

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:

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 + a call to malloc instead. If this can not fix […]

Installing 2 Linux distributions in one PC

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. Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011. www.cnx-software.com

Finding large files in a Linux system

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 Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011. www.cnx-software.com

EP9307 Thin Client with DirectVNC

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 […]

Installing Android in HTC Touch Cruise Polaris – HTC P3650

If you have an HTC Touch Cruise (Polaris) running Windows Mobile 6.1, you may want to try out Android in this hardware. The good thing is that you do not need to remove Windows, but you can just bootstrap Linux from Windows Mobile. Just go to XDA Developers Forum below for further details: Android for HTC Touch Cruise Polaris or just follow the simple instructions below: Instructions to install Android in SDCard: Download either the 320×480 or 240×320 version Extract the content of the downloaded zip files to a temporary directory Rename default.polaris.txt to default.txt (rename or delete the original default.txt file) in andboot directory Copy extracted /andboot folder to the Root of your SDCard In your mobile phone, inside /andboot folder, Run HaRET, then hit “run” to launch android The first time, press Volume Up to start the installation and follow the menu instructions. If you don’t follow that […]

Sigma Designs Android Demo

Here’s a demo of Android running on Sigma Designs SMP8654. They made their own GUI and start Android from there. To see the android part just go to 2:35 directly. Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011. www.cnx-software.com

sudo inside a cron job

If some reasons you need to use sudo in a cron job, for example if you use ltib (Linux Target Image Builder)  in a nightly build script, you may realize that it does not work by default and you may get the message: sudo: sorry, you must have a tty to run sudo In that case simply run visudo and comment out the line: #Default requiretty Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011. www.cnx-software.com

Exit mobile version
EmbeddedTS embedded systems design