Embedded Linux/Microcontroller Project


What is uClinux?


Getting started with uClinux


uCsimm Hardware Project

uClinux Ports

bFLT and elf2flt

The Developers

E-Mail Forum

HTTP download

uClinux-dist on SourceForge

Sponsor Links


STEP 1 Installing the Binaries

The easiest way to install uClinux is to use the RPM binaries located in /RPMS/.

First, determine which shared libraries your Linux distribuion is using, by typing this command:

#ldd /bin/ls

"cd" to the appropriate directory (/RPMS/libc5 or /RPMS/libc6) and type 'make'. This is probably all you need to do for the initial installation of uClinux.

Depending on which Linux distribution you are running, you may need to edit the Makefile to remove dependency checking, like this:


rpm -i --force --nodeps /cdrom/RPMS/libc6/m68k-coff-binutils-2.9.1-1.i386.rpm
rpm -i --force --nodeps /cdrom/RPMS/libc6/m68k-coff-gcc-

...and so on...

To save time, you can grab an edited make file [HERE]. (It may need further editing, depending on where your cd-rom is mounted, and whether you have libc5 or libc6)

NOTE: If you are using RedHat, you should remove your existing genromfs package before installing uClinux.

Now, do a 'make -f [your Makefile]' to install the uClinux toolchains, sources and utility programs in /opt/uClinux.

STEP 2 Setting up a Working Environment

Now, you'll want to create a working environment. {see manual pg 21}. Create a working directory, then type 'buildenv' from within that directory. Now type 'make'. This copies over the uClinux sources and compiles them to produce the default image binaries. You have just produced the binary 'image.bin', which is the default image that comes pre-installed on our uCsimms.

STEP 3 Building Your Own Image.

You'll notice your working directory contains a file called "deftemplate.sh". This script specifies which binaries to add to image.bin. Note that it will only ADD binaries. To remove unwanted utilities, you must remove them from the template file, and also manually delete them from the romdisk directory. The ROMfs image on the simm will be a copy of the romdisk directory, so you should ensure romdisk/ contains ONLY what you need. You might want to check/modify the files in romdisk/etc (rc, resolv.conf, and so on) to make sure they suit your needs. Once you've edited romdisk and the template file, just run 'make' in your working directory to build a new image.bin.

The file 'image.bin' is actually a concatenation of the kernel image 'linux.bin' and the filesystem image 'romdisk.img'. To recompile the kernel, cd to /opt/Uclinux/linux and type 'make menuconfig'. Next type 'make dep', and then 'make linux.bin'. Run 'make' from your working directory to incorporate this new linux.bin into image.bin.

STEP 4 Writing Your Image into FLASH ROM

Ensure that your simm is attached to your workstation via serial port, and start a terminal emulator (such as minicom). Make sure that the serial port you are using is configured to 9600bps 8N1 with NO hardware or software flow control, and set the modem init and reset strings to empty. When you power up the uCsimm, you should see 'uCbootstrap v1.x....etc,' followed by a prompt. If you have selected an AUTOBOOT timeout, press <esc> within the specified time. You are now ready to enter bootloader commands.

Type 'fast' to change the port speed to 115200bps (don't forget to also change this in minicom). Type 'rx' at the prompt, and begin XMODEM uploading on your terminal emulator (ctrl-s in minicom). Send the file you wish to program into the module (normally image.bin from your working directory). When uploading is complete, type 'program' to write the image into ROM. Type 'go' to execute the newly-written image. (Don't forget that if you reset the unit, you have to set your terminal emulator back to 9600bps)

NOTE: If you want to execute an image from RAM, please see the appropriate FAQ question.

Copyright © 1998 - 2002 D. Jeff Dionne and Michael Durrant Copyright © 2002 - 2018 Arcturus Networks Inc.
μClinux, uCsimm, μCsimm, uCdimm, μCdimm, Arcturus and the logos versions are Trademarks of Arcturus Networks Inc.