Questions tagged [uclinux]

μClinux was a fork of the Linux kernel for microcontrollers (in embedded systems) without a memory management unit (MMU). It was integrated into the main line of development as of 2.5.46; the project continues to develop patches and tools for microcontrollers.

μClinux was originally created by D. Jeff Dionne and Kenneth Albanowski in 1998. Initially, they targeted the Motorola DragonBall family of embedded 68k processors (specifically the 68EZ328 series used in the Motorola PalmPilot) on a 2.0.33 Linux kernel. After releasing their initial work, a developer community quickly sprang up extending their work to newer kernels and other microprocessor architectures. In early 1999, support was added for the Motorola (now Freescale) ColdFire family of embedded microprocessors. ARM processor support was added later.

Although originally targeting 2.0 series Linux kernels, it now has ports based on Linux 2.4 and Linux 2.6. The Linux 2.4 ports were forward ported from the 2.0.36 Linux kernel by Michael Leslie and Evan Stawnyczy during their work at Rt-Control. There were never any μClinux extensions applied to the 2.2 series kernels.

Since version 2.5.46 of the Linux kernel, the major parts of μClinux have been integrated with the main line kernel for a number of processor architectures. Greg Ungerer (who originally ported μClinux to the Motorola ColdFire family of processors) continues to maintain and actively push core μClinux support into the 2.6 series Linux kernels. In this regard, μClinux is essentially no longer a separate fork of Linux.

The project continues to develop patches and supporting tools for using Linux on microcontrollers. μClinux has support for many architectures, and forms the basis of many products, like network routers, security cameras, DVD or MP3 players, VoIP phone or Gateways, scanners, and card readers.

Source: Wikipedia (μClinux)

Official website: www.uclinux.org

100 questions
33
votes
4 answers

How can I get the source code for the linux utility tail?

this command is really very useful but where I can get the source code to see what is going on inside . thanks .
Haiyuan Zhang
  • 36,164
  • 38
  • 101
  • 131
23
votes
2 answers

How to add my own software to a Buildroot Linux package?

I am trying to add my own program to a small linux, created with Buildroot. What I've done so far: I've created a new directory inside my 'buildroot/package/' called 'HelloWorld'. Inside 'buildroot/package/HelloWorld' I have : a Config.in,…
AlexandruC
  • 3,354
  • 5
  • 43
  • 76
12
votes
5 answers

Lock a mutex multiple times in the same thread

I'm developing an application on an embedded linux OS (uClinux) and I need to be able to lock the mutex more than once (by the same thread). I have a mutex and a mutexattr defined and initialized as follows: pthread_mutexattr_t…
Megacan
  • 2,462
  • 2
  • 19
  • 31
8
votes
5 answers

Can I use boost on uclibc linux?

Does anyone have any experience with running C++ applications that use the boost libraries on uclibc-based systems? Is it even possible? Which C++ standard library would you use? Is uclibc++ usable with boost?
bmdhacks
  • 15,153
  • 8
  • 32
  • 55
7
votes
4 answers

ctags does not parse stdio.h properly

I am trying to use ctags with VIM, and I am a newbie to both. In order to test the extent to which ctags could be useful I decided to put it through a very simple test, namely to parse the headers in /usr/include so that I could autocomplete some…
ldog
  • 10,559
  • 9
  • 52
  • 68
6
votes
4 answers

Using mono in embedded linux for hardware

I am doing research for a company as an internship. I had some question in using Mono, the cross platform implementation of .Net platform. My company designs hardware and sotware. My knowledge of using embedded linux is very limited. My company…
Benjamin
  • 101
  • 1
  • 8
6
votes
4 answers

Refresh multicast group membership

I have several embedded machines listening and streaming rtp audio data to a multicast group. They are connected to a smart managed switch (Netgear GS108Ev2) which does basic igmp snooping and multicast filtering on its ports, so that the rest of my…
derhoch
  • 458
  • 6
  • 9
5
votes
6 answers

arm-linux-gcc vs arm-elf-gcc

I am looking at uClinux system that builds the kernel with arm-linux-xxx, but builds the user apps with arm-elf-xxx. If the apps are intended to run on linux, wouldn't it be better to build everything with arm-linux-xxx ? Where does one set that…
user126593
  • 2,357
  • 2
  • 19
  • 16
4
votes
1 answer

Executing code that is preloaded in flash NOR

I'm building a uClinux system to run on an NXP LPC2478. The chip has 512k on-board fast flash from which it can directly execute code. I want to load and run a user app out of regular external SDRAM. But I have a special graphics library that I…
user126593
  • 2,357
  • 2
  • 19
  • 16
4
votes
1 answer

Cross Compilation error can't load library 'libc.so.6'

I am trying to implement a dynamic library(liblog.so) which is going to run on i386 controller. when i compile that in Host Machine (Ubuntu Machine) it compiles and generates the .so file successfully. liblog.so is the the file which is put under…
Arun Gupta
  • 780
  • 2
  • 7
  • 26
4
votes
1 answer

ucLinux libbzip2 reloc type error when cross compiled

I've been trying to compile ucLinux with libCurl included, but any time I include curl in the config it barfs when trying to compile libbzip2. I'm cross compiling this for the coldfire 68K processors. It says that a relocation type isn't supported…
MechaMarinara
  • 612
  • 1
  • 7
  • 21
4
votes
3 answers

Dynamic allocation in uClinux

I'm new to embedded development, and the big differences I see between traditional Linux and uClinux is that uClinux lacks the MMU. From this article: Without VM, each process must be located at a place in memory where it can be run. In the…
Chris Tonkinson
  • 12,213
  • 12
  • 52
  • 87
3
votes
0 answers

Runtime-detecting nommu Linux unobtrusively

I'm looking for a reliable, unobtrusive runtime check a process can make for whether it's running on Linux without mmu. By unobtrusive, I mean having minimal or no side effects on process state. For example, getting EINVAL from fork would be one…
R.. GitHub STOP HELPING ICE
  • 195,354
  • 31
  • 331
  • 669
3
votes
2 answers

Please explain the use of ':' and a trailing ',' in this struct initialization C code

static struct file_operations memory_fops = { open: memory_open, /* just a selector for the real open */ }; this is from mem.c file in uclinux
mike
  • 31
  • 2
3
votes
3 answers

How do I spawn a daemon in uClinux using vfork?

This would be easy with fork(), but I've got no MMU. I've heard that vfork() blocks the parent process until the child exits or executes exec(). How would I accomplish something like this?: pid_t pid = vfork(); if (pid == -1) { // fail …
lxe
  • 153
  • 9
1
2 3 4 5 6 7