Click here to learn
about this Sponsor:
Home  |  News  |  Articles  |  Polls  |  Forum

Keywords: Match:
A developer's review of LynuxWorks' BlueCat Linux (Part 3)
(continuation)

Development Process

The development process is essentially that of Linux, with the addition of some useful utilities.

Kernel 2.2.12 is used, with some patches applied. LynuxWorks reports that substituting a later kernel should be straightforward; though they don't support it, and curiously seem to discourage it, emphasizing the "version-stabilized" kernel they provide. The x86, PowerPC, ARM/StongARM/XScale, MIPS, and SuperH architectures are supported. Building the kernel or developing custom applications is nearly identical to the same processes for native Linux development after setting up the environment with SETUP.sh -- the normal tools are there, they just refer to the cross development tools rather than those for the native environment. The process is documented well enough for all but the very newest Linux developer; novices would do well to start with a beginner's book on native Linux development.

BlueCat provides some utilities to assist in the cross development process. 'mkkernel' is a simple script to build a kernel based on a specified .config file and a location to place the resulting kernel image. Thus multiple kernel profiles are easily managed, a task that is often important when developing embedded systems.

'mkrootfs' is a powerful and flexible utility for, as its name suggests, building root file system images. You provide it a specification file defining a root file system on the target, and it builds a file system image. It can optionally scan the executables to determine which shared libraries to include, then automatically include them. mkrootfs even runs ldconfig to set up the necessary links for the libraries. mkrootfs operates from a configuration file that is similar to a shell script file. Like a shell script, the config file can invoke some Unix-like commands such as cp, rm, and mkdir to construct the target image; but the only way to control execution flow in the script is an if-else-endif construct.

BlueCat provides complete and well-designed support for target system deployment, centering around the flexible and robust utility 'mkboot'. The boot options are somewhat x86-oriented, focusing on booting in a system which has a BIOS.

To create a bootable floppy for your target, insert the floppy into the drive on your development host. Then simply run 'mkboot' with the proper flags to set up the boot sector, install the kernel, indicate where the root file system resides, and (optionally) to install the root file system on the floppy if that's where you want it. The root file system can also be on any other appropriate device on the system.

Deploying to a hard drive is similar if the disk can be temporarily mounted on the development host. In this case you simply format the disk, transfer your root file system to it, and use 'mkboot' to install the kernel and make the disk bootable. Then just move the disk to the target and boot. There's nothing fancy about this process; all of this could be done with freely available tools. But BlueCat provides helpful tools and clear documentation to help the user.

Using BlueCat OS Loader and BlueCat OS Loader Shell

One of the more useful tools provided by BlueCat is the BlueCat OS Loader, essentially a stripped-down Linux used as a bootloader. Typically you would install it on a floppy and boot it, which puts you into the BlueCat Loader Shell (BLOSH), a limited shell oriented toward installing and booting an OS over a network. From BLOSH you can specify from where to get the kernel and root file system, then boot them. A typical BLOSH sequence (taken from my test setup) might look like this:

> set IP 192.168.123.200
> set HOST 192.168.123.178
> set IF eth0
> set KERNEL nfs /disk2/BlueCat demo.x86/osloader/zImage.adastra
> set RFS nfs /disk2/BlueCat demo.x86/modular/modular.rfs
> boot

These are pretty obvious: you set your own IP address and that of the host from which you intend to get the kernel and root file system, indicate which interface to use, specify which files to get and which protocol to use in getting them; then boot the system. Besides NFS, you can use TFTP, a parallel port, or a local file system to get the kernel and root file system. You can also set kernel command-line arguments from BLOSH -- useful for using an NFS-based root file system, among other things. BLOSH commands can also be put into the file /etc/blosh.rc to be executed automatically on bootup, eliminating the necessity of typing in all information every time.

Most users will welcome the simplicity and clear documentation of the BlueCat OS Loader and of BLOSH. The fact that the OS Loader is itself based on Linux also has fortunate side-effects. Configuring the OS Loader for your system is just a matter of configuring the Linux kernel for your hardware; usually you'll then be able to use the same kernel for your target system.

This is exactly what I did in the above example. I configured the OS Loader for the Jumptec-Adastra VNS-786L SBC, one of the three SBCs I'm using for this series, leaving the kernel in zImage.adastra. I then wrote a boot floppy using this kernel and the osloader root file system and booted it on the VNS-786L.

BlueCat provides a good variety of sample systems, one of which (the "modular" sample) I then loaded via BLOSH along with the previously built kernel. This process worked equally well for the other two SBCs I'm using, the WinSystems EBC-TXPlus and the Ampro Little Board/P5x.

The BlueCat OS Loader consists of the Linux kernel and BLOSH, which is run as the init process invoked by the kernel. Full source is provided for BLOSH, which is released under the GPL. BLOSH is extensible; you can add commands to it by following a simple and well-documented procedure.

--- Continued ---



Story navigation . . .

(Click here for further information)


FUEL Database on MontaVista Linux
Whether building a mobile handset, a car navigation system, a package tracking device, or a home entertainment console, developers need capable software systems, including an operating system, development tools, and supporting libraries, to gain maximum benefit from their hardware platform and to meet aggressive time-to-market goals.

Breaking New Ground: The Evolution of Linux Clustering
With a platform comprising a complete Linux distribution, enhanced for clustering, and tailored for HPC, Penguin Computing¿s Scyld Software provides the building blocks for organizations from enterprises to workgroups to deploy, manage, and maintain Linux clusters, regardless of their size.

Data Monitoring with NightStar LX
Unlike ordinary debuggers, NightStar LX doesn¿t leave you stranded in the dark. It¿s more than just a debugger, it¿s a whole suite of integrated diagnostic tools designed for time-critical Linux applications to reduce test time, increase productivity and lower costs. You can debug, monitor, analyze and tune with minimal intrusion, so you see real execution behavior. And that¿s positively illuminating.

Virtualizing Service Provider Networks with Vyatta
This paper highlights Vyatta's unique ability to virtualize networking functions using Vyatta's secure routing software in service provider environments.

High Availability Messaging Solution Using AXIGEN, Heartbeat and DRBD
This white paper discusses a high-availability messaging solution relying on the AXIGEN Mail Server, Heartbeat and DRBD. Solution architecture and implementation, as well as benefits of using AXIGEN for this setup are all presented in detail.

Understanding the Financial Benefits of Open Source
Will open source pay off? Open source is becoming standard within enterprises, often because of cost savings. Find out how much of a financial impact it can have on your organization. Get this methodology and calculator now, compliments of JBoss.

Embedded Hardware and OS Technology Empower PC-Based Platforms
The modern embedded computer is the jack of all trades appearing in many forms.

Data Management for Real-Time Distributed Systems
This paper provides an overview of the network-centric computing model, data distribution services, and distributed data management. It then describes how the SkyBoard integration and synchronization service, coupled with an implementation of the OMG¿s Data Distribution Service (DDS) standard, can be used to create an efficient data distribution, storage, and retrieval system.

7 Advantages of D2D Backup
For decades, tape has been the backup medium of choice. But, now, disk-to-disk (D2D) backup is gaining in favor. Learn why you should make the move in this whitepaper.

 


Got a HOT tip?   please tell us!
Free weekly newsletter
Enter your email...
Click here for a profile of each sponsor:
PLATINUM SPONSORS
(Become a sponsor)

ADVERTISEMENT
(Advertise here)

Check out the latest Linux powered...

Mobile phones!

MIDs, UMPCs
& tablets

Mobile devices

Other cool
gadgets



BREAKING NEWS

• LiMo to gain FOMA pack
• Quad-core PICMG board runs Linux
• DIY Linux service gains ultralight GUI
• Asus nettop gets discrete graphics
• Mapping the mobile open source ecosystem
• WiMAX deal "clears" Linux for takeoff
• HMI panels run Linux
• Nokia alludes to Linux phone plans
• Linux music phone boasts stereo mini-jack
• Nokia spins open Linux home automation gateway
• Qseven module sports Atom
• Open source phone gains "fat" distro
• Android phone launches in China
• Microsoft to bake own phone?
• Tux cashes in on paint


Most popular stories -- past 90 days:
• Open source phone goes mass-market
• Tinest Linux system, yet?
• Garmin Nav devices run Gnome Linux
• ARM9 board boots Debian in 0.69 seconds
• Low-cost laptop runs Linpus Linux
• Linux-friendly Beagle fetches $150
• Mini Linux PC breaks $100 barrier
• Open source camera records geotagged video to SATA HDD
• Open set-top box ships
• First $100 laptop runs Linux


DesktopLinux headlines:
• Linux gains FPS
• Ubuntu tops on desktop, but not servers
• Browser swallows OS
• Tutorial reveals desktop Linux security tips
• Fedora 10 first impressions
• 8,000 TuxTop models and counting
• "Moonlight" ready to shine
• Adobe unleashes 64-bit Flash
• Debian Lenny installer arrives
• Ubuntu announces ARM port


Also visit our sister site:


Sign up for LinuxDevices.com's...

news feed

Home  |  News  |  Articles  |  Polls  |  Forum  |  About  |  Contact
 

Ziff Davis Enterprise Home | Contact Us | Advertise | Link to Us | Reprints | Magazine Subscriptions | Newsletters
Tech RSS Feeds | White Papers | ROI Calculators | Tech Podcasts | Tech Video | VARs | Channel News

Baseline | Careers | Channel Insider | CIO Insight | DesktopLinux | DeviceForge | DevSource | eSeminars |
eWEEK | Enterprise Network Security | LinuxDevices | Linux Watch | Microsoft Watch | Mid-market | Networking | PDF Zone |
Publish | Security IT Hub | Strategic Partner | Web Buyer's Guide | Windows for Devices

Developer Shed | Dev Shed | ASP Free | Dev Articles | Dev Hardware | SEO Chat | Tutorialized | Scripts |
Code Walkers | Web Hosters | Dev Mechanic | Dev Archives | igrep

Use of this site is governed by our Terms of Service and Privacy Policy. Except where otherwise specified, the contents of this site are copyright © 1999-2008 Ziff Davis Enterprise Holdings Inc. All Rights Reserved. Reproduction in whole or in part in any form or medium without express written permission of Ziff Davis Enterprise is prohibited. Linux is a registered trademark of Linus Torvalds. All other marks are the property of their respective owners.