100% found this document useful (1 vote)
246 views91 pages

Mastering Embedded Linux Programming Second Chris Simmonds Download

The document provides information about the book 'Mastering Embedded Linux Programming Second Edition' by Chris Simmonds, which focuses on utilizing Embedded Linux and the Yocto Project for developing embedded solutions. It includes details about the author, the book's content, and various related products available for download. The book covers topics such as toolchains, bootloaders, kernel configuration, root filesystem building, and software updates in embedded systems.

Uploaded by

licakucio
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
246 views91 pages

Mastering Embedded Linux Programming Second Chris Simmonds Download

The document provides information about the book 'Mastering Embedded Linux Programming Second Edition' by Chris Simmonds, which focuses on utilizing Embedded Linux and the Yocto Project for developing embedded solutions. It includes details about the author, the book's content, and various related products available for download. The book covers topics such as toolchains, bootloaders, kernel configuration, root filesystem building, and software updates in embedded systems.

Uploaded by

licakucio
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 91

Mastering Embedded Linux Programming Second

Chris Simmonds download

https://ebookbell.com/product/mastering-embedded-linux-
programming-second-chris-simmonds-55061554

Explore and download more ebooks at ebookbell.com


Here are some recommended products that we believe you will be
interested in. You can click the link to download.

Mastering Embedded Linux Programming Create Fast And Reliable Embedded


Solutions With Linux 54 And The Yocto Project 31 Dunfell Third Edtion
3rd Edition Frank Vasquez

https://ebookbell.com/product/mastering-embedded-linux-programming-
create-fast-and-reliable-embedded-solutions-with-linux-54-and-the-
yocto-project-31-dunfell-third-edtion-3rd-edition-frank-
vasquez-27926052

Mastering Embedded Linux Programming Chris Simmonds

https://ebookbell.com/product/mastering-embedded-linux-programming-
chris-simmonds-5313882

Mastering Embedded Linux Programming 1st Edition Simmonds Chris

https://ebookbell.com/product/mastering-embedded-linux-
programming-1st-edition-simmonds-chris-11861606

Mastering Embedded Linux Programming 2nd Edition Simmonds Chris

https://ebookbell.com/product/mastering-embedded-linux-
programming-2nd-edition-simmonds-chris-11861608
Mastering Embedded Linux Programming Second Edition Unleash The Full
Potential Of Embedded Linux With Linux 49 And Yocto Project 22 Morty
Updates 2nd Edition Chris Simmonds

https://ebookbell.com/product/mastering-embedded-linux-programming-
second-edition-unleash-the-full-potential-of-embedded-linux-with-
linux-49-and-yocto-project-22-morty-updates-2nd-edition-chris-
simmonds-11059438

Mastering Embedded Linux Programming Second Edition Unleash The Full


Potential Of Embedded Linux With Linux 49 And Yocto Project 22 Morty
Updates 2nd Edition Chris Simmonds

https://ebookbell.com/product/mastering-embedded-linux-programming-
second-edition-unleash-the-full-potential-of-embedded-linux-with-
linux-49-and-yocto-project-22-morty-updates-2nd-edition-chris-
simmonds-11077142

Mastering Embedded Linux Programming Third Edition Frank Vasquez Chris


Simmonds

https://ebookbell.com/product/mastering-embedded-linux-programming-
third-edition-frank-vasquez-chris-simmonds-47965354

Mastering Embedded Linux Programming 1st Edition Chris Simmonds

https://ebookbell.com/product/mastering-embedded-linux-
programming-1st-edition-chris-simmonds-43035066

Mastering Stm32 Cubemx Unlock The Power Of Stm32 With Cubeide For
Embedded System Development Huang

https://ebookbell.com/product/mastering-stm32-cubemx-unlock-the-power-
of-stm32-with-cubeide-for-embedded-system-development-huang-85655836
< html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR/REC-html40/loose.dtd">
Mastering Embedded Linux
Programming
Second Edition

Unleash the full potential of Embedded Linux

Chris Simmonds

BIRMINGHAM - MUMBAI
< html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR/REC-html40/loose.dtd">
Mastering Embedded Linux
Programming
Second Edition

Copyright © 2017 Packt Publishing

All rights reserved. No part of this book may be reproduced, stored in a retrieval
system, or transmitted in any form or by any means, without the prior written
permission of the publisher, except in the case of brief quotations embedded in
critical articles or reviews. Every effort has been made in the preparation of this
book to ensure the accuracy of the information presented. However, the
information contained in this book is sold without warranty, either express or
implied. Neither the author, nor Packt Publishing, and its dealers and distributors
will be held liable for any damages caused or alleged to be caused directly or
indirectly by this book. Packt Publishing has endeavored to provide trademark
information about all of the companies and products mentioned in this book by
the appropriate use of capitals. However, Packt Publishing cannot guarantee the
accuracy of this information.

First published: December 2015

Second edition: June 2017

Production reference: 1280617

Published by Packt Publishing Ltd.


Livery Place
35 Livery Street
Birmingham
B3 2PB, UK.
ISBN 978-1-78728-328-2
www.packtpub.com
Credits

Copy Editors
Author
Madhusudan Uchil
Chris Simmonds
Stuti Shrivastava

Reviewers

Daiane Angolini Project Coordinator

Otavio Salvador Virginia Dias

Alex Tereschenko

Commissioning Editor Proofreader

Kartikey Pandey Safis Editing


Acquisition Editor Indexer

Prateek Bharadwaj Rekha Nair

Content Development Editor Graphics

Sharon Raj Kirk D'Penha

Technical Editor Production Coordinator

Vishal Kamal Mewada Melwyn Dsa


About the Author
Chris Simmonds is a software consultant and trainer living in southern England.
He has almost two decades of experience in designing and building open-source
embedded systems. He is the founder and chief consultant at 2net Ltd, which
provides professional training and mentoring services in embedded Linux, Linux
device drivers, and Android platform development. He has trained engineers at
many of the biggest companies in the embedded world, including ARM,
Qualcomm, Intel, Ericsson, and General Dynamics. He is a frequent presenter at
open source and embedded conferences, including the Embedded Linux
Conference and Embedded World. You can see some of his work on the Inner
Penguin blog at www.2net.co.uk.

I would like to thank Shirley Simmonds for being so supportive during the long
hours that I was shut in my home office researching and writing this book. I
would also like to thank all the people who have helped me with the research of
the technical aspects of this book, whether they realized that is what they were
doing or not. In particular, I would like to mention Klaas van Gend, Thomas
Petazzoni, and Ralph Nguyen for their help and advice. Lastly, I would like to
thank Sharon Raj, Vishal Mewada, and the team at Packt Publishing for keeping
me on track and bringing the book to fruition.
About the Reviewers
Daiane Angolini has been working with embedded Linux since 2008. She has
been working as an application engineer at NXP, acting on internal development,
porting custom applications from Android, and on-customer support for i.MX
architectures in areas such as Linux kernel, u-boot, Android, Yocto Project, and
user-space applications. However, it was on the Yocto Project that she found her
place. She has coauthored the books Embedded Linux Development with Yocto
Project and Heading for the Yocto Project, and learned a lot in the process.

Otavio Salvador loves technology and started his free software activities in
1999. In 2002, he founded O.S. Systems, a company focused on embedded
system development services and consultancy worldwide, creating and
maintaining customized BSPs, and helping companies with their product's
development challenges. This resulted in him joining the OpenEmbedded
community in 2008, when he became an active contributor to the
OpenEmbedded project. He has coauthored the books Embedded Linux
Development with Yocto Project and Heading for the Yocto Project.

Alex Tereschenko is an embedded systems engineer by day, and an avid maker


by night, who is convinced that computers can do a lot of good for people when
they are interfaced with real-world objects, as opposed to just crunching data in a
dusty corner. That's what's driving him in his projects, and this is why embedded
systems and the Internet of Things are the topics he enjoys the most.
www.PacktPub.com
For support files and downloads related to your book, please visit www.PacktPub.co
m. Did you know that Packt offers eBook versions of every book published, with
PDF and ePub files available? You can upgrade to the eBook version at www.Packt
Pub.comand as a print book customer, you are entitled to a discount on the eBook
copy. Get in touch with us at [email protected] for more details. At www.PacktPub.c
om, you can also read a collection of free technical articles, sign up for a range of
free newsletters and receive exclusive discounts and offers on Packt books and
eBooks.

https://www.packtpub.com/mapt

Get the most in-demand software skills with Mapt. Mapt gives you full access to
all Packt books and video courses, as well as industry-leading tools to help you
plan your personal development and advance your career.
Why subscribe?
Fully searchable across every book published by Packt
Copy and paste, print, and bookmark content
On demand and accessible via a web browser
Customer Feedback
Thanks for purchasing this Packt book. At Packt, quality is at the heart of our
editorial process. To help us improve, please leave us an honest review on this
book's Amazon page at https://www.amazon.com/dp/1787283283.

If you'd like to join our team of regular reviewers, you can e-mail us at
[email protected]. We award our regular reviewers with free eBooks and

videos in exchange for their valuable feedback. Help us be relentless in


improving our products!
Table of Contents
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Downloading the color images of this book
Errata
Piracy
Questions
1. Starting Out
Selecting the right operating system
The players
Project life cycle
The four elements of embedded Linux
Open source
Licenses
Hardware for embedded Linux
Hardware used in this book
The BeagleBone Black
QEMU
Software used in this book
Summary
2. Learning About Toolchains
Introducing toolchains
Types of toolchains
CPU architectures
Choosing the C library
Finding a toolchain
Building a toolchain using crosstool-NG
Installing crosstool-NG
Building a toolchain for BeagleBone Black
Building a toolchain for QEMU
Anatomy of a toolchain
Finding out about your cross compiler
The sysroot, library, and header files
Other tools in the toolchain
Looking at the components of the C library
Linking with libraries – static and dynamic linking
Static libraries
Shared libraries
Understanding shared library version numbers
The art of cross compiling
Simple makefiles
Autotools
An example: SQLite
Package configuration
Problems with cross compiling
Summary
3. All About Bootloaders
What does a bootloader do?
The boot sequence
Phase 1 – ROM code
Phase 2 – secondary program loader
Phase 3 – TPL
Booting with UEFI firmware
Moving from bootloader to kernel
Introducing device trees
Device tree basics
The reg property
Labels and interrupts
Device tree include files
Compiling a device tree
Choosing a bootloader
U-Boot
Building U-Boot
Installing U-Boot
Using U-Boot
Environment variables
Boot image format
Loading images
Booting Linux
Automating the boot with U-Boot scripts
Porting U-Boot to a new board
Board-specific files
Configuring header files
Building and testing
Falcon mode
Barebox
Getting barebox
Building barebox
Using barebox
Summary
4. Configuring and Building the Kernel
What does the kernel do?
Choosing a kernel
Kernel development cycle
Stable and long term support releases
Vendor support
Licensing
Building the kernel
Getting the source
Understanding kernel configuration – Kconfig
Using LOCALVERSION to identify your kernel
Kernel modules
Compiling – Kbuild
Finding out which kernel target to build
Build artifacts
Compiling device trees
Compiling modules
Cleaning kernel sources
Building a kernel for the BeagleBone Black
Building a kernel for QEMU
Booting the kernel
Booting the BeagleBone Black
Booting QEMU
Kernel panic
Early user space
Kernel messages
Kernel command line
Porting Linux to a new board
A new device tree
Setting the board compatible property
Additional reading
Summary
5. Building a Root Filesystem
What should be in the root filesystem?
The directory layout
The staging directory
POSIX file access permissions
File ownership permissions in the staging directory
Programs for the root filesystem
The init program
Shell
Utilities
BusyBox to the rescue!
Building BusyBox
ToyBox – an alternative to BusyBox
Libraries for the root filesystem
Reducing the size by stripping
Device nodes
The proc and sysfs filesystems
Mounting filesystems
Kernel modules
Transferring the root filesystem to the target
Creating a boot initramfs
Standalone initramfs
Booting the initramfs
Booting with QEMU
Booting the BeagleBone Black
Mounting proc
Building an initramfs into the kernel image
Building an initramfs using a device table
The old initrd format
The init program
Starting a daemon process
Configuring user accounts
Adding user accounts to the root filesystem
A better way of managing device nodes
An example using devtmpfs
An example using mdev
Are static device nodes so bad after all?
Configuring the network
Network components for glibc
Creating filesystem images with device tables
Booting the BeagleBone Black
Mounting the root filesystem using NFS
Testing with QEMU
Testing with the BeagleBone Black
Problems with file permissions
Using TFTP to load the kernel
Additional reading
Summary
6. Selecting a Build System
Build systems
Package formats and package managers
Buildroot
Background
Stable releases and long-term support
Installing
Configuring
Running
Creating a custom BSP
U-Boot
Linux
Build
Adding your own code
Overlays
Adding a package
License compliance
The Yocto Project
Background
Stable releases and supports
Installing the Yocto Project
Configuring
Building
Running the QEMU target
Layers
BitBake and recipes
Customizing images via local.conf
Writing an image recipe
Creating an SDK
The license audit
Further reading
Summary
7. Creating a Storage Strategy
Storage options
NOR flash
NAND flash
Managed flash
MultiMediaCard and Secure Digital cards
eMMC
Other types of managed flash
Accessing flash memory from the bootloader
U-Boot and NOR flash
U-Boot and NAND flash
U-Boot and MMC, SD, and eMMC
Accessing flash memory from Linux
Memory technology devices
MTD partitions
MTD device drivers
The MTD character device, mtd
The MTD block device, mtdblock
Logging kernel oops to MTD
Simulating NAND memory
The MMC block driver
Filesystems for flash memory
Flash translation layers
Filesystems for NOR and NAND flash memory
JFFS2
Summary nodes
Clean markers
Creating a JFFS2 filesystem
YAFFS2
Creating a YAFFS2 filesystem
UBI and UBIFS
UBI
UBIFS
Filesystems for managed flash
Flashbench
Discard and TRIM
Ext4
F2FS
FAT16/32
Read-only compressed filesystems
squashfs
Temporary filesystems
Making the root filesystem read-only
Filesystem choices
Further reading
Summary
8. Updating Software in the Field
What to update?
Bootloader
Kernel
Root filesystem
System applications
Device-specific data
Components that need to be updated
The basics of software update
Making updates robust
Making updates fail-safe
Making updates secure
Types of update mechanism
Symmetric image update
Asymmetric image update
Atomic file updates
OTA updates
Using Mender for local updates
Building the Mender client
Installing an update
Using Mender for OTA updates
Summary
9. Interfacing with Device Drivers
The role of device drivers
Character devices
Block devices
Network devices
Finding out about drivers at runtime
Getting information from sysfs
The devices: /sys/devices
The drivers: /sys/class
The block drivers: /sys/block
Finding the right device driver
Device drivers in user space
GPIO
Handling interrupts from GPIO
LEDs
I2C
Serial Peripheral Interface (SPI)
Writing a kernel device driver
Designing a character driver interface
The anatomy of a device driver
Compiling kernel modules
Loading kernel modules
Discovering the hardware configuration
Device trees
The platform data
Linking hardware with device drivers
Additional reading
Summary
10. Starting Up – The init Program
After the kernel has booted
Introducing the init programs
BusyBox init
Buildroot init scripts
System V init
inittab
The init.d scripts
Adding a new daemon
Starting and stopping services
systemd
Building systemd with the Yocto Project and Buildroot
Introducing targets, services, and units
Units
Services
Targets
How systemd boots the system
Adding your own service
Adding a watchdog
Implications for embedded Linux
Further reading
Summary
11. Managing Power
Measuring power usage
Scaling the clock frequency
The CPUFreq driver
Using CPUFreq
Selecting the best idle state
The CPUIdle driver
Tickless operation
Powering down peripherals
Putting the system to sleep
Power states
Wakeup events
Timed wakeups from the real-time clock
Further reading
Summary
12. Learning About Processes and Threads
Process or thread?
Processes
Creating a new process
Terminating a process
Running a different program
Daemons
Inter-process communication
Message-based IPC
Unix (or local) sockets
FIFOs and named pipes
POSIX message queues
Summary of message-based IPC
Shared memory-based IPC
POSIX shared memory
Threads
Creating a new thread
Terminating a thread
Compiling a program with threads
Inter-thread communication
Mutual exclusion
Changing conditions
Partitioning the problem
Scheduling
Fairness versus determinism
Time-shared policies
Niceness
Real-time policies
Choosing a policy
Choosing a real-time priority
Further reading
Summary
13. Managing Memory
Virtual memory basics
Kernel space memory layout
How much memory does the kernel use?
User space memory layout
The process memory map
Swapping
Swapping to compressed memory (zram)
Mapping memory with mmap
Using mmap to allocate private memory
Using mmap to share memory
Using mmap to access device memory
How much memory does my application use?
Per-process memory usage
Using top and ps
Using smem
Other tools to consider
Identifying memory leaks
mtrace
Valgrind
Running out of memory
Further reading
Summary
14. Debugging with GDB
The GNU debugger
Preparing to debug
Debugging applications
Remote debugging using gdbserver
Setting up the Yocto Project for remote debugging
Setting up Buildroot for remote debugging
Starting to debug
Connecting GDB and gdbserver
Setting the sysroot
GDB command files
Overview of GDB commands
Breakpoints
Running and stepping
Getting information
Running to a breakpoint
Native debugging
The Yocto Project
Buildroot
Just-in-time debugging
Debugging forks and threads
Core files
Using GDB to look at core files
GDB user interfaces
Terminal user interface
Data display debugger
Eclipse
Debugging kernel code
Debugging kernel code with kgdb
A sample debug session
Debugging early code
Debugging modules
Debugging kernel code with kdb
Looking at an Oops
Preserving the Oops
Further reading
Summary
15. Profiling and Tracing
The observer effect
Symbol tables and compile flags
Beginning to profile
Profiling with top
Poor man's profiler
Introducing perf
Configuring the kernel for perf
Building perf with the Yocto Project
Building perf with Buildroot
Profiling with perf
Call graphs
perf annotate
Other profilers – OProfile and gprof
Tracing events
Introducing Ftrace
Preparing to use Ftrace
Using Ftrace
Dynamic Ftrace and trace filters
Trace events
Using LTTng
LTTng and the Yocto Project
LTTng and Buildroot
Using LTTng for kernel tracing
Using Valgrind
Callgrind
Helgrind
Using strace
Summary
16. Real-Time Programming
What is real time?
Identifying sources of non-determinism
Understanding scheduling latency
Kernel preemption
The real-time Linux kernel (PREEMPT_RT)
Threaded interrupt handlers
Preemptible kernel locks
Getting the PREEMPT_RT patches
The Yocto Project and PREEMPT_RT
High-resolution timers
Avoiding page faults
Interrupt shielding
Measuring scheduling latencies
cyclictest
Using Ftrace
Combining cyclictest and Ftrace
Further reading
Summary
Preface
Linux has been the mainstay of embedded computing for many years. And yet,
there are remarkably few books that cover the topic as a whole: this book is
intended to fill that gap. The term embedded Linux is not well-defined, and can
be applied to the operating system inside a wide range of devices ranging from
thermostats to Wi-Fi routers to industrial control units. However, they are all
built on the same basic open source software. Those are the technologies that I
describe in this book, based on my experience as an engineer and the materials I
have developed for my training courses.

Technology does not stand still. The industry based around embedded computing
is just as susceptible to Moore's law as mainstream computing. The exponential
growth that this implies has meant that a surprisingly large number of things
have changed since the first edition of this book was published. This second
edition is fully revised to use the latest versions of the major open source
components, which include Linux 4.9, Yocto Project 2.2 Morty, and Buildroot
2017.02. Since it is clear that embedded Linux will play an important part in the
Internet of Things, there is a new chapter on the updating of devices in the field,
including Over the Air updates. Another trend is the quest to reduce power
consumption, both to extend the battery life of mobile devices and to reduce
energy costs. The chapter on power management shows how this is done.

Mastering Embedded Linux Programming covers the topics in roughly the order
that you will encounter them in a real-life project. The first 6 chapters are
concerned with the early stages of the project, covering basics such as selecting
the toolchain, the bootloader, and the kernel. At the conclusion of this this
section, I introduce the idea of using an embedded build tool, using Buildroot
and the Yocto Project as examples.

The middle part of the book, chapters 7 through to 13, will help you in the
implementation phase of the project. It covers the topics of filesystems, the init
program, multithreaded programming, software update, and power management.
The third section, chapters 14 and 15, show you how to make effective use of the
many debug and profiling tools that Linux has to offer in order to detect
problems and identify bottlenecks. The final chapter brings together several
threads to explain how Linux can be used in real-time applications.

Each chapter introduces a major area of embedded Linux. It describes the


background so that you can learn the general principles, but it also includes
detailed worked examples that illustrate each of these areas. You can treat this as
a book of theory, or a book of examples. It works best if you do both: understand
the theory and try it out in real life.
What this book covers
Starting Out, sets the scene by describing the embedded Linux
Chapter 1,
ecosystem and the choices available to you as you start your project.

Learning About Toolchains, describes the components of a toolchain


Chapter 2,
and shows you how to create a toolchain for cross-compiling code for the target
board. It describes where to get a toolchain and provides details on how to build
one from the source code.

All About Bootloaders, explains the role of the bootloader in loading the
Chapter 3,
Linux kernel into memory, and uses U-Boot and Bareboot as examples. It also
introduces device trees as the mechanism used to encode the details of hardware
in almost all embedded Linux systems.

Configuring and Building the Kernel, provides information on how to


Chapter 4,
select a Linux kernel for an embedded system and configure it for the hardware
within the device. It also covers how to port Linux to the new hardware.

Building a Root Filesystem, introduces the ideas behind the user space
Chapter 5,
part of an embedded Linux implementation by means of a step-by-step guide on
how to configure a root filesystem.

Selecting a Build System, covers two commonly used embedded Linux


Chapter 6,
build systems, Buildroot and Yocto Project, which automate the steps described
in the previous four chapters.

Creating a Storage Strategy, discusses the challenges created by


Chapter 7,
managing flash memory, including raw flash chips and embedded MMC
(eMMC) packages. It describes the filesystems that are applicable to each type
of technology.

Chapter 8,Updating Software in the Field, examines various ways of updating the
software after the device has been deployed, and includes fully managed Over
the Air (OTA) updates. The key topics under discussion are reliability and
security.
Interfacing with Device Drivers, describes how kernel device drivers
Chapter 9,
interact with the hardware with worked examples of a simple driver. It also
describes the various ways of calling device drivers from the user space.

Starting Up – The Init Program, shows how the first user space
Chapter 10,
program--init--starts the rest of the system. It describes the three versions of the
init program, each suitable for a different group of embedded systems, ranging
from the simplicity of the BusyBox init, through System V init, to the current
state-of-the-art, systemd.

Managing Power, considers the various ways that Linux can be tuned
Chapter 11,
to reduce power consumption, including Dynamic Frequency and Voltage
scaling, selecting deeper idle states, and system suspend. The aim is to make
devices that run for longer on a battery charge and also run cooler.

Learning About Processes and Threads, describes embedded systems


Chapter 12,
from the point of view of the application programmer. This chapter looks at
processes and threads, inter-process communications, and scheduling policies

Managing Memory, introduces the ideas behind virtual memory and


Chapter 13,
how the address space is divided into memory mappings. It also describes how
to measure memory usage accurately and how to detect memory leaks.

Chapter 14, Debugging with GDB, shows you how to use the GNU debugger,
GDB, together with the debug agent, gdbserver, to debug applications running
remotely on the target device. It goes on to show how you can extend this model
to debug kernel code, making use of the kernel debug stubs, KGDB.

Profiling and Tracing, covers the techniques available to measure the


Chapter 15,
system performance, starting from whole system profiles and then zeroing in on
particular areas where bottlenecks are causing poor performance. It also
describes how to use Valgrind to check the correctness of an application's use of
thread synchronization and memory allocation.

Real-Time Programming, provides a detailed guide to real-time


Chapter 16,
programming on Linux, including the configuration of the kernel and the
PREEMPT_RT real-time kernel patch. The kernel trace tool, Ftrace, is used to
measure kernel latencies and show the effect of the various kernel
configurations.
What you need for this book
The software used in this book is entirely open source. In almost all cases, I have
used the latest stable versions available at the time of writing. While I have tried
to describe the main features in a manner that is not version-specific, it is
inevitable that some of the examples will need adaptation to work with later
software.

Embedded development involves two systems: the host, which is used for
developing the programs, and the target, which runs them. For the host system, I
have used Ubuntu 16.04, but most Linux distributions will work with just a little
modification. You may decide to run Linux as a guest in a virtual machine, but
you should be aware that some tasks, such as building a distribution using the
Yocto Project, are quite demanding and are better run on a native installation of
Linux.

I chose two exemplar targets: the QEMU emulator and the BeagleBone Black.
Using QEMU means that you can try out most of the examples without having to
invest in any additional hardware. On the other hand, some things work better if
you do have real hardware, for which, I have chosen the BeagleBone Black
because it is not expensive, it is widely available, and it has very good
community support. Of course, you are not limited to just these two targets. The
idea behind the book is to provide you with general solutions to problems so that
you can apply them to a wide range of target boards.
Who this book is for
This book is written for developers who have an interest in embedded computing
and Linux, and want to extend their knowledge into the various branches of the
subject. In writing the book, I assume a basic understanding of the Linux
command line, and in the programming examples, a working knowledge of the C
language. Several chapters focus on the hardware that goes into an embedded
target board, and, so, a familiarity with hardware and hardware interfaces will be
a definite advantage in these cases.
Conventions
In this book, you will find a number of text styles that distinguish between
different kinds of information. Here are some examples of these styles and an
explanation of their meaning. Code words in text, database table names, folder
names, filenames, file extensions, pathnames, dummy URLs, user input, and
Twitter handles are shown as follows: "You configure tap0 in exactly the same
way as any other interface."

A block of code is set as follows:


/ {
#address-cells = <2>;
#size-cells = <2>;
memory@80000000 {
device_type = "memory";
reg = <0x00000000 0x80000000 0 0x80000000>;
};
};

Any command-line input or output is written as follows:


$ mipsel-unkown-linux-gnu-gcc -dumpmachine
milsel-unknown-linux-gnu

New terms and important words are shown in bold.

Warnings or important notes appear in a box like this.

Tips and tricks appear like this.


Reader feedback
Feedback from our readers is always welcome. Let us know what you think
about this book-what you liked or disliked. Reader feedback is important for us
as it helps us develop titles that you will really get the most out of. To send us
general feedback, simply e-mail [email protected], and mention the book's title
in the subject of your message. If there is a topic that you have expertise in and
you are interested in either writing or contributing to a book, see our author
guide at www.packtpub.com/authors.
Customer support
Now that you are the proud owner of a Packt book, we have a number of things
to help you to get the most from your purchase.
Downloading the example code
You can download the example code files for this book from your account at http:/
/www.packtpub.com. If you purchased this book elsewhere, you can visit http://www.pack
tpub.com/support and register to have the files e-mailed directly to you. You can
download the code files by following these steps:

1. Log in or register to our website using your e-mail address and password.
2. Hover the mouse pointer on the SUPPORT tab at the top.
3. Click on Code Downloads & Errata.
4. Enter the name of the book in the Search box.
5. Select the book for which you're looking to download the code files.

6. Choose from the drop-down menu where you purchased this book from.
7. Click on Code Download.

Once the file is downloaded, please make sure that you unzip or extract the
folder using the latest version of:

WinRAR / 7-Zip for Windows


Zipeg / iZip / UnRarX for Mac
TAR for Linux

The code bundle for the book is also hosted on GitHub at https://github.com/PacktPublis
hing/Mastering-Embedded-Linux-Programming-Second-Edition. We also have other code
bundles from our rich catalog of books and videos available at https://github.com/Pack
tPublishing/. Check them out!
Downloading the color images of this
book
We also provide you with a PDF file that has color images of the
screenshots/diagrams used in this book. The color images will help you better
understand the changes in the output. You can download this file from https://www.
packtpub.com/sites/default/files/downloads/MasteringEmbeddedLinuxProgrammingSecondEdition_ColorI
mages.pdf.
Errata
Although we have taken every care to ensure the accuracy of our content,
mistakes do happen. If you find a mistake in one of our books-maybe a mistake
in the text or the code-we would be grateful if you could report this to us. By
doing so, you can save other readers from frustration and help us improve
subsequent versions of this book. If you find any errata, please report them by
visiting http://www.packtpub.com/submit-errata, selecting your book, clicking on the
Errata Submission Form link, and entering the details of your errata. Once your
errata are verified, your submission will be accepted and the errata will be
uploaded to our website or added to any list of existing errata under the Errata
section of that title. To view the previously submitted errata, go to https://www.packtp
ub.com/books/content/support and enter the name of the book in the search field. The
required information will appear under the Errata section.
Piracy
Piracy of copyrighted material on the Internet is an ongoing problem across all
media. At Packt, we take the protection of our copyright and licenses very
seriously. If you come across any illegal copies of our works in any form on the
Internet, please provide us with the location address or website name
immediately so that we can pursue a remedy. Please contact us
at [email protected] with a link to the suspected pirated material. We
appreciate your help in protecting our authors and our ability to bring you
valuable content.
Questions
If you have a problem with any aspect of this book, you can contact us
at [email protected], and we will do our best to address the problem.
Starting Out
You are about to begin working on your next project, and this time it is going to
be running Linux. What should you think about before you put finger to
keyboard? Let's begin with a high-level look at embedded Linux and see why it
is popular, what are the implications of open source licenses, and what kind of
hardware you will need to run Linux.

Linux first became a viable choice for embedded devices around 1999. That was
when Axis (https://www.axis.com), released their first Linux-powered network
camera and TiVo (https://business.tivo.com/) their first Digital Video Recorder
(DVR). Since 1999, Linux has become ever more popular, to the point that today
it is the operating system of choice for many classes of product. At the time of
writing, in 2017, there are about two billion devices running Linux. That
includes a large number of smartphones running Android, which uses a Linux
kernel, and hundreds of millions of set-top-boxes, smart TVs, and Wi-Fi routers,
not to mention a very diverse range of devices such as vehicle diagnostics,
weighing scales, industrial devices, and medical monitoring units that ship in
smaller volumes.

So, why does your TV run Linux? At first glance, the function of a TV is simple:
it has to display a stream of video on a screen. Why is a complex Unix-like
operating system like Linux necessary?

The simple answer is Moore's Law: Gordon Moore, co-founder of Intel,


observed in 1965 that the density of components on a chip will double
approximately every two years. That applies to the devices that we design and
use in our everyday lives just as much as it does to desktops, laptops, and
servers. At the heart of most embedded devices is a highly integrated chip that
contains one or more processor cores and interfaces with main memory, mass
storage, and peripherals of many types. This is referred to as a System on Chip,
or SoC, and SoCs are increasing in complexity in accordance with Moore's Law.
A typical SoC has a technical reference manual that stretches to thousands of
pages. Your TV is not simply displaying a video stream as the old analog sets
used to do.
The stream is digital, possibly encrypted, and it needs processing to create an
image. Your TV is (or soon will be) connected to the Internet. It can receive
content from smartphones, tablets, and home media servers. It can be (or soon
will be) used to play games. And so on and so on. You need a full operating
system to manage this degree of complexity.

Here are some points that drive the adoption of Linux:

Linux has the necessary functionality. It has a good scheduler, a good


network stack, support for USB, Wi-Fi, Bluetooth, many kinds of storage
media, good support for multimedia devices, and so on. It ticks all the
boxes.
Linux has been ported to a wide range of processor architectures, including
some that are very commonly found in SoC designs--ARM, MIPS, x86, and
PowerPC.
Linux is open source, so you have the freedom to get the source code and
modify it to meet your needs. You, or someone working on your behalf, can
create a board support package for your particular SoC board or device.
You can add protocols, features, and technologies that may be missing from
the mainline source code. You can remove features that you don't need to
reduce memory and storage requirements. Linux is flexible.
Linux has an active community; in the case of the Linux kernel, very active.
There is a new release of the kernel every 8 to 10 weeks, and each release
contains code from more than 1,000 developers. An active community
means that Linux is up to date and supports current hardware, protocols,
and standards.
Open source licenses guarantee that you have access to the source code.
There is no vendor tie-in.

For these reasons, Linux is an ideal choice for complex devices. But there are a
few caveats I should mention here. Complexity makes it harder to understand.
Coupled with the fast moving development process and the decentralized
structures of open source, you have to put some effort into learning how to use it
and to keep on re-learning as it changes. I hope that this book will help in the
process.
Selecting the right operating system
Is Linux suitable for your project? Linux works well where the problem being
solved justifies the complexity. It is especially good where connectivity,
robustness, and complex user interfaces are required. However, it cannot solve
every problem, so here are some things to consider before you jump in:

Is your hardware up to the job? Compared to a traditional real-time


operating system (RTOS) such as VxWorks, Linux requires a lot more
resources. It needs at least a 32-bit processor and lots more memory. I will
go into more detail in the section on typical hardware requirements.
Do you have the right skill set? The early parts of a project, board bring-up,
require detailed knowledge of Linux and how it relates to your hardware.
Likewise, when debugging and tuning your application, you will need to be
able to interpret the results. If you don't have the skills in-house, you may
want to outsource some of the work. Of course, reading this book helps!
Is your system real-time? Linux can handle many real-time activities so
long as you pay attention to certain details, which I will cover in detail in
Chapter 16, Real-Time Programming.

Consider these points carefully. Probably the best indicator of success is to look
around for similar products that run Linux and see how they have done it; follow
best practice.
The players
Where does open source software come from? Who writes it? In particular, how
does this relate to the key components of embedded development—the
toolchain, bootloader, kernel, and basic utilities found in the root filesystem?

The main players are:

The open source community: This, after all, is the engine that generates
the software you are going to be using. The community is a loose alliance
of developers, many of whom are funded in some way, perhaps by a not-
for-profit organization, an academic institution, or a commercial company.
They work together to further the aims of the various projects. There are
many of them—some small, some large. Some that we will be making use
of in the remainder of this book are Linux itself, U-Boot, BusyBox,
Buildroot, the Yocto Project, and the many projects under the GNU
umbrella.
CPU architects: These are the organizations that design the CPUs we use.
The important ones here are ARM/Linaro (ARM-based SoCs), Intel (x86
and x86_64), Imagination Technologies (MIPS), and IBM (PowerPC). They
implement or, at the very least, influence support for the basic CPU
architecture.
SoC vendors (Atmel, Broadcom, Intel, Qualcomm, TI, and many others).
They take the kernel and toolchain from the CPU architects and modify
them to support their chips. They also create reference boards: designs that
are used by the next level down to create development boards and working
products.
Board vendors and OEMs: These people take the reference designs from
SoC vendors and build them in to specific products, for instance, set-top-
boxes or cameras, or create more general purpose development boards, such
as those from Avantech and Kontron. An important category are the cheap
development boards such as BeagleBoard/BeagleBone and Raspberry Pi
that have created their own ecosystems of software and hardware add-ons.

These form a chain, with your project usually at the end, which means that you
do not have a free choice of components. You cannot simply take the latest
kernel from https://www.kernel.org/, except in a few rare cases, because it does not
have support for the chip or board that you are using.

This is an ongoing problem with embedded development. Ideally, the developers


at each link in the chain would push their changes upstream, but they don't. It is
not uncommon to find a kernel which has many thousands of patches that are not
merged. In addition, SoC vendors tend to actively develop open source
components only for their latest chips, meaning that support for any chip more
than a couple of years old will be frozen and not receive any updates.

The consequence is that most embedded designs are based on old versions of
software. They do not receive security fixes, performance enhancements, or
features that are in newer versions. Problems such as Heartbleed (a bug in the
OpenSSL libraries) and ShellShock (a bug in the bash shell) go unfixed. I will
talk more about this later in this chapter under the topic of security.

What can you do about it? First, ask questions of your vendors: what is their
update policy, how often do they revise kernel versions, what is the current
kernel version, what was the one before that, and what is their policy for
merging changes up-stream? Some vendors are making great strides in this way.
You should prefer their chips.

Secondly, you can take steps to make yourself more self-sufficient. The chapters
in section 1 explain the dependencies in more detail and show you where you
can help yourself. Don't just take the package offered to you by the SoC or board
vendor and use it blindly without considering the alternatives.
Project life cycle
This book is divided into four sections that reflect the phases of a project. The
phases are not necessarily sequential. Usually they overlap and you will need to
jump back to revisit things that were done previously. However, they are
representative of a developer's preoccupations as the project progresses:

Elements of embedded Linux (Chapters 1 to 6) will help you set up the


development environment and create a working platform for the later
phases. It is often referred to as the board bring-up phase.
System architecture and design choices (Chapters 7 to 11) will help you to
look at some of the design decisions you will have to make concerning the
storage of programs and data, how to divide work between kernel device
drivers and applications, and how to initialize the system.
Writing embedded applications (Chapters 12 and 13) shows how to make
effective use of the Linux process and threads model, and how to manage
memory in a resource-constrained device.
Debugging and optimizing performance (Chapters 14 and 15) describes
how to trace, profile, and debug your code in both the applications and the
kernel.

The fifth section on real-time (Chapter 16, Real-Time Programming) stands


somewhat alone because it is a small, but important, category of embedded
systems. Designing for real-time behavior has an impact on each of the four
main phases.
The four elements of embedded Linux
Every project begins by obtaining, customizing, and deploying these four
elements: the toolchain, the bootloader, the kernel, and the root filesystem. This
is the topic of the first section of this book.

Toolchain: The compiler and other tools needed to create code for your
target device. Everything else depends on the toolchain.
Bootloader: The program that initializes the board and loads the Linux
kernel.
Kernel: This is the heart of the system, managing system resources and
interfacing with hardware.
Root filesystem: Contains the libraries and programs that are run once the
kernel has completed its initialization.

Of course, there is also a fifth element, not mentioned here. That is the collection
of programs specific to your embedded application which make the device do
whatever it is supposed to do, be it weigh groceries, display movies, control a
robot, or fly a drone.

Typically, you will be offered some or all of these elements as a package when
you buy your SoC or board. But, for the reasons mentioned in the preceding
paragraph, they may not be the best choices for you. I will give you the
background to make the right selections in the first six chapters and I will
introduce you to two tools that automate the whole process for you: Buildroot
and the Yocto Project.
Open source
The components of embedded Linux are open source, so now is a good time to
consider what that means, why open sources work the way they do, and how this
affects the often proprietary embedded device you will be creating from it.
Random documents with unrelated
content Scribd suggests to you:
The Project Gutenberg eBook of Harper's Round Table, May
26, 1896
This ebook is for the use of anyone anywhere in the United States and most other
parts of the world at no cost and with almost no restrictions whatsoever. You may
copy it, give it away or re-use it under the terms of the Project Gutenberg License
included with this ebook or online at www.gutenberg.org. If you are not located in
the United States, you will have to check the laws of the country where you are
located before using this eBook.

Title: Harper's Round Table, May 26, 1896

Author: Various

Release date: September 11, 2018 [eBook #57888]

Language: English

Credits: Produced by Annie R. McGuire

*** START OF THE PROJECT GUTENBERG EBOOK HARPER'S ROUND TABLE, MAY 26,
1896 ***
THE CRUISE OF A COMMERCE-DESTROYER.
PRACTICAL GOLF.
CATCHING SHAD FOR MARKET.
PARTS OF A FLOWER.
AN "OLD-FIELD" SCHOOL-GIRL.
RICK DALE.
SOLVING A GEOGRAPHICAL CONUNDRUM.
THE ARMENIAN RELIEF COMMITTEE OF
FROM CHUM TO CHUM.
INTERSCHOLASTIC SPORT.
BICYCLING.
STAMPS.
THE CAMERA CLUB.
THE PUDDING STICK.

Copyright, 1896, by Harper & Brothers. All Rights Reserved.

published weekly. NEW YORK, TUESDAY, MAY 26, 1896. five cents a copy.
vol. xvii.—no. 865. two dollars a year.
THE CRUISE OF A COMMERCE-DESTROYER.
BY YATES STIRLING, JUN.
The officer of the deck is pacing his last hour of a very dull forenoon watch upon the
bridge of the U. S. S. Minneapolis. The tropical sun beats down with unflinching
savageness upon his head; his eyes are restlessly scanning the horizon at every turn, but
nothing has disturbed the monotony of its outline, as his sullen pacing bears witness. The
sentries and men on lookout are at their stations, and are listlessly walking to and fro on
the small patch of deck called their posts. Small knots of men are gathered together here
and there on the spar-deck, under the shade of a boat or a gun-shield, spinning yarns or
playing at sailor games. Some of the younger officers can be seen aft on the quarter-
deck gazing fixedly over the wide expanse of ocean, as if they expected an enemy to rise
up before them from the sea. Some of the more impulsive ones occasionally lift their
voices in expostulation at the dull life they are leading, while others are seeing active
service on fighting-ships. The great hull of the cruiser is slowly forging ahead in the quiet
sea; her huge and powerful engines are barely turning over.
Like a picture in a kinetoscope, all this has changed. Every man on board has awakened
from his lethargy. All hands are alert and gazing at the horizon to the eastward. What is
the cause of this sudden awakening? Two words from the lookout in the foretop: "Sail
ho!" Yes, broad on the port-bow can be seen a low line of black smoke that to any but a
sailor's eye would appear to be a cloud on the distant horizon. Scarcely a quarter of an
hour, and with all speed the cruiser is cutting the sea in the direction of the fast-
approaching smoke.
Eager young officers have ascended into the tops to be the first to make out the
character of the stranger. In the foretop are two midshipmen, still in their teens, class-
mates at the Naval Academy, and stanch friends. Scarcely a thought has one the other
does not share. With that reckless ambition that is one of the attributes of youth they are
both longing for excitement. Their dreams of battle and glory have toppled like a castle of
cards.
As yet the Minneapolis has seen no fighting; she has been doing the work cut out for her
without bloodshed. Merchantman after merchantman has been overhauled and captured
or ransomed in the last six months, and the cruiser's name has become the terror of the
enemy's merchant marine.
Once only, while coming out of a neutral port, she had to run the gauntlet of two of the
enemy's cruisers, but with her superior speed two hours sufficed to put the enemy hull-
down astern, with but slight damage to the commerce-destroyer. Her orders were, on the
outbreak of the war "to capture or destroy the enemy's commerce wherever met; refuse
battle," and this order had been faithfully carried out. All hands had grown rich in prize-
money; fresh provisions were obtained in abundance.
Coal was the problem. It had been attempted to coal at sea from captured vessels, but
this mode could not be relied upon to replenish the bunkers of a ship with such a
tremendous expenditure. So a certain amount of risk had to be run in coaling in neutral
ports.
The Minneapolis and her two sister ships were the prizes coveted of all the enemy's
cruisers. When the United States was building them other nations laughed at the idea,
and put their dock-yards at work building ships of greater armament but less speed. But
now they saw too late the awful advantage of these beautiful toys, as the foreign press
were wont to call them, that could give or refuse battle at pleasure.
Ship after ship of the enemy's navy was in search of these "freebooters," but very few
had even had the honor of coming within signal distance. One of these was the Whistle,
a cruiser of a little heavier armament, but several knots less speed. The Minneapolis was
in the port of St. Thomas, coaling, when this warlike hull hove in sight. Very little time
was lost in putting to sea, but not before two or three shots had been exchanged, and
some very taunting signals had been displayed by the disappointed ship.
All the officers and men would gladly have accepted battle, with but small fear of the
result, but each and every one knew what awful odds would be on the Whistle's side.
America had but a few handfuls of ships; if these were pitted against the navy of the
enemy, they would be overwhelmed, annihilated. No; the quickest way to humble the foe
is through her commerce. So the bitter pill had to be swallowed in silence. But the mere
thought of the occurrence brought a hot flush to the cheek of every man aboard.
The stranger has drawn near, and is soon made out to be a merchantman, an ocean liner,
one of the greyhounds that had plied between New York and Harborport before the
outbreak of hostilities. Large volumes of black smoke from her immense smoke-pipes
show she has scented danger, and is making all speed to escape.
The young officers in the foretop are thrilled with excitement as their glass shows them
the character of the stranger. The younger is a boy of eighteen, his light hair and blue
eyes betokening his Saxon ancestry. He is clad in a neat-fitting blue uniform, and his cap
set jauntily on the back of his head revealed a mass of light curly locks. With his eyes
fairly sparkling, he bears a striking contrast to his companion. Dark and sullen, with
lowering eyes and heavy forehead, the other showed not by a single sign that he realizes
that in a short time the first and long-cherished battle of his life will be enacted.
The younger lad has dreamed of battles both in his sleep and his waking moments, in
which he has cut his way with his sword to honor and distinction. He has oftentimes
pictured his friends, his mother, and his sweetheart reading of his heroic deeds in the
daily papers of his home, and now it seems to his youthful mind his dreams are to be
fulfilled.
As his glass scans the stranger he realizes that in the eyes of naval experts the stranger
is nearly equal to the Minneapolis in fighting qualities. He knows that these fast ships
have been subsidized by the hostile government, and are heavily armed and protected.
His dreams fairly dance before his eyes. But another picture flashes across his mental
vision. He is on the battery-deck; the decks are wet and slippery with blood; the terribly
mangled dead and wounded are lying all about him; he sees brave men struck down
around. A cold shiver runs through his well-knit frame as he shakes from him the ghastly
nightmare.
The other lad is not a dreamer. Morose, almost cynical, he never gives himself up to such
reveries. To him everything appears in a less gilded light. He knows that if the stranger
has not superior speed, his services and his companion's will soon be needed on the deck
below.
The two lads scramble down through the hollow mast as the drummers are beating the
long-roll to quarters. All during the hot sultry day the chase continues, and when night
settles down on the watery waste the Minneapolis is still out of gun-shot astern. The
night is bright, and when morning dawns the blood-hound is still upon the trail. The crew
of the 8-inch breech-loading rifle on the forecastle is called to quarters, and a shell is
sent speeding over the water in the direction of the fleeing ship. Slowly the distance
diminishes. Suddenly a white cloud of smoke bursts from the liner, and a heavy shell
strikes close aboard the American ship.
All hands are soon at their stations, and in a short time all is in readiness for battle. The
stars and stripes at her trucks flaunt a challenge to the enemy's ensign at the Calabria's
gaff.
The two ships are now within battle range, and the thunder of their heavy ordnance
breaks the stillness of the ocean.
Shells go speeding through the unarmored sides of the ships, their explosions making
terrific havoc among their unprotected crews. The picture before the midshipman's eyes
is now a reality. Tirelessly the two lads work; their guns are next to each other. As they
give their commands in sharp decisive voices, the contrast seems less striking. A shell
comes in the gun-port and strikes down the captain of the younger lad's gun; the lock-
string falls from his lifeless hand. Gently laying the dead man aside, he takes the lanyard.
As he stood at his gun before the heat of action, he was seized with an awful trembling,
and he feared lest he might show by his actions the white feather to his men. Then came
the bursting of shells and the explosion of discharges, and then the shell striking down
his gun-captain, spluttering his life-blood all about him. At once his fears left him, his
eyes brightened, and a terrible anger awoke in him, the like of which he had never
known. He fired his gun at the enemy with a fierce exultancy, wondering in a cruel way
how many lives the shell had cut down. It seems ages since the battle started. With his
eyes always on the enemy, he is spared from seeing his friend, struck by a flying splinter,
being carried below to the surgeons. He sees the Calabria, her sides ablaze with fire,
sweep majestically across his small horizon, and then disappear. He is always aware of
her awful presence from the never-ceasing bursting of her shells around him. Then again
she appears, and is once more in his angle of fire. During this small space of time his gun
has done all that could be expected; he has watched shell after shell from it explode
aboard the enemy; he can see large rents in her black hull, and he notices her fire is
becoming more desultory; the fight will soon be over. As she disappears again, he
musters up courage to look about him. There is but little life on the battery-deck, that
only a half-hour before was the scene of so much activity. The gun next his is not in
action; a shell has completely shattered the breech-plug; nearly its entire crew are lying
about on the deck, their dark life-blood staining the white planking. His companion's cap
is lying near a dark mass on the deck. Is it his blood? His senses are so paralyzed that he
feels his mind must give way. The enemy emerges into view; his hand is upon the lock-
string; the elevator and trainer are attentively watching for their orders. They do not
come. His thoughts are far away in the midst of a modest New England home. He sees a
beautiful motherly woman, her face pale and anxious, and by her side is a young girl in
the first blush of womanhood.
He is suddenly conscious of a young seaman standing before him, giving him a message.
In a dazed way he relinquishes his lock-string to one of his gunners, and is making his
way over the reeking deck toward the bridge. He hears a voice, as if in a dream, giving
him orders to be ready to board the prize. Then the enemy has surrendered? His gaze
seeks the other ship. But a short distance away he sees her shattered hull rolling in the
smooth sea. A huge white flag flutters from her signal-halyards. The boats are ready and
alongside. The men are embarking. He takes his place, and they shove off, and are soon
scaling the side of the captured vessel. Her decks are almost deserted, scarcely a living
man is about, but everywhere death and destruction reign. He hears a well-known voice
close to him. Has the last hour been an awful nightmare, or has his mind been shaken at
last? He cannot grasp the situation. There is his friend, looking paler than ever, his right
arm in splints, and his head tied up in a huge bandage. His joy knows no bounds. With a
fervent "Thank Heaven!" they embrace. There is no time now for explanations; it is
enough to know that his companion is still alive. With orders from his Lieutenant, he is
leading, pistol in hand, a gang of tars down into the Calabria's bowels. The surprised
firemen and stokers are quickly manacled, and ready Americans have taken their places.
An engineer officer is giving rapid orders to his men; the huge engines start ahead,
slowly at first, then the revolutions increase, till the shafts are revolving at a terrific
speed. When he again reaches the deck everything is again calm and peaceful. On the
port quarter, but a short distance away, he sees the Minneapolis. Both ships are going at
full speed; and astern, just out of gun-shot, he sees the hulls of three more ships. He
understands it all now. The Calabria had nearly led them into a trap.
A red wigwag flag is waving on board the white cruiser: "Must reduce speed in order to
reach port." Coal is running short. The horribly significant signal can hardly be realized.
Will she fall a prey to the enemy's cruisers after such a glorious victory? Foot by foot the
hostile ships draw nearer to the commerce-destroyer and her prize. In case they are
overtaken, the Calabria is to go on and reach Hampton Roads in safety. It is the only
thing to do. Why sacrifice another ship unnecessarily? For two days and nights the
pursuit continues. Cape Henry Light-house is sighted on the port bow. Just within gun-
shot astern are the three heavily armed cruisers, using their bow chasers with great
rapidity and precision on the fleeing ships. Large volumes of brown smoke pour from the
American cruiser's smoke-pipes. She is making her last spurt for life. Bulkheads,
furniture, and all combustible material have been fed to the mighty furnaces.
Slowly they draw away from their pursuers. The light-house is close on the port beam.
The heavy guns there are directed against three dark hulls to the eastward. They are the
baffled enemy.
There is a story told of an Irishman who went out in the woods to shoot a bear. It was
winter-time, and the Irishman wanted a fur coat very badly. When he finally sighted his
bear he cried out, "Ah, there is my fur overcoat!" The bear was very hungry, and when
he saw the hunter, he cried out, "Ah, there is my meal!" Well, the hunter fired his rifle
and the bear jumped behind the tree. Now, the amusing part of the story is, that the
hunter fired his rifle and didn't hit the bear; still he got the fur of the bear for an overcoat
because the bear ate the hunter. Which of the two was the better satisfied is still in
doubt.
PRACTICAL GOLF.
BY W. G. van TASSEL SUTPHEN.
(In Five Papers.)

V.—STYLE AND FAULTS.


he question of style is a ghost that will not down. There are those who
say that form is the all-important point, and that if you get the swing
right all the rest will follow. And there are others who as stoutly affirm
that the only thing to do is to thump away at the ball, and trust to
nature and the laws of mechanics. Now it is certainly true that style by
itself will never drive a ball, and it may be laid down as an axiom that
whenever the mind is intent upon some point of how to strike rather
than upon the actual business of hitting, a miss more or less palpable
is sure to follow. But it is just as true that hands or feet or body may
be in such a position that a fair stroke is utterly impossible, and this is surely not golf.
Evidently truth lies between the two extremes.
There can be no question but that in all games the right way is easier and productive of
better results than the wrong way, and golf cannot claim to be entirely independent of
this general principle. Therefore it is wise to begin our practice on the general lines laid
down by the wisdom of the ages, subject of course to the necessary modifications due to
age, sex, or previous conditions of servitude to tennis, baseball, and other obsolete forms
of amusement. Undoubtedly the most satisfactory method is instruction from a
competent coach. The beginner may think that he is following faithfully the instructions
given him in these papers, and yet be unconsciously going wrong in a dozen ways,
imperceptible perhaps except to an expert eye. By all means seek the counsel and
instruction of a professional golfer or expert amateur, if there be one within reach, for he
can certainly save you many false steps.
But supposing that there is no way of obtaining this practical assistance, must we give up
golf as unattainable and book knowledge as untrustworthy? Not at all. Study and digest
the instructions and hints given in these papers as thoroughly as you can, and do your
best to put them into practice. There is only one thing to guard against, and that is the
tendency of exaggeration in any or all points. For instance, I tell you that the left wrist
must be kept taut, and this is indeed necessary. But if you go to work with the idea that
in a stiff wrist lies the secret of all golf, you are turning a caution into a fetich, and the
result must be unsatisfactory. Even the italicized injunction at the end of each article,
about the necessity of keeping the eye upon the ball, is not the whole of golf, and,
important as it is, it must not absorb the whole of your attention. All these things work
together for golf, and the moment that you exalt any one of them above the others you
destroy both your mental and your physical balance, and
the result is no game. Finally, let the forming of style be
reserved for practice play. Once engaged in a tournament
(and, by-the-way, you should enter as many regular
competitions as possible), you must let your style take care
of itself, and devote the whole of your attention and energy
to hitting the ball clean. If you begin to think how you are
going to hit it, or how far you will drive it, or anything about
it except the simple duty of hitting it, you will fail altogether.
In practice let your aim be style; in a match let it be the
hitting of the ball.
The detection and cure of specific faults are difficult tasks
on paper, for very often different causes may produce what
is apparently the same effect, and it is obvious that the
particular remedy depends upon the specific disease.
For example, the ball has a great tendency to go off to the
right of the line instead of straight. Now the reason may be
that the player is putting a cut on the ball by drawing in his BEGINNING OF FULL
arms ("slicing" proper), or he may have the face of the club SWING—INCORRECT.
turned back (wrong grip), or he may be hitting off the heel
of the club ("heeling") and at the same time putting a "slice" on the ball. Evidently the
same corrective will not answer in every case. For "slicing" proper it will be well to attend
to the precept of "slow back," so that the body muscles may be used, and the arms
allowed to go freely out both in the up swing and in the "follow on." Perhaps the right
foot is too far advanced, and a change in position (not distance) may encourage the loins
and shoulders to get in the work. Try drawing the right foot back in proportion to the
amount of "skid." Laying the face back is the result of a wrong grip. The left hand may be
too far under, and the right hand may be holding too loosely. Look up the instructions for
the proper grip. "Heeling," or hitting off the heel, is due to poor aim. Stand up and hit
more carefully.
"Pulling" or "hooking," which sends the ball off to the left of the proper line, is not so
common a fault. Generally it is the result of having the club face turned in, and this in
turn comes of "pressing," or trying to strike too hard and without the proper swing. Give
up the idea that you are hitting at a baseball, and guard against stooping forward.
When a ball is "topped" or hit above the centre it is nearly always due to carelessness, or
overdue concentration on some point of style. If your swing is too straight up and down,
and you are drawing in your arms across the line of fire, a "top" is pretty sure to follow.
Let your arms go out so that the curve of your swing may be longer, or rather flatter, and
try to look at the side of your ball, and not straight down upon it. If you are looking
persistently at the top of your ball, and your "eye is in," the club head must perforce
obey its instructions. It is not only the ball but the side of the ball that you want to hit.
Another reason why players "top" is because they are afraid of the ground and of
breaking their clubs. Now, as a matter of fact, an honest "sclaff" or scrape does no harm
either to the club or to the flight of the ball, except perhaps
when the ground is frozen, and the game cannot properly be
played at all. Therefore get down to the ball always.
In the approach stroke "slicing" is the most troublesome
fault to mend. It is a great help in the shorter shots to keep
the right arm rubbing lightly against the body, for the sake
of its support, and, indeed, without some such aid
steadiness is impossible. And keep the left wrist taut.
When a player goes off in his putting,
the case is pretty sure to be mental, i.e.,
lack of patience and concentration. And
this is particularly true of the short
holing-out puts of thirty inches or so.
Still, the sin may be one of commission:
the player is playing with a jerk, or he is
looking at the hole instead of at the ball,
or both of his arms are hanging clear of
END OF FULL SWING— his body, and consequently deprived of
INCORRECT. its support, or, finally, his putter may be
badly balanced. Once the cause is
discovered, the remedy is easy of application.
The beginner will do well to study carefully the illustrations that have
appeared in the preceding articles. The professional Willie Dunn, who
appears in most of them, is not only a fine player himself, but his
form is especially good, and a safe model upon which to pattern. The
incorrect positions illustrate faults in stand and swing into which the INCORRECT
beginner is particularly liable to fall, and a study of them may save "STANCE."
him from many misconceptions.
It is to be noted that no distinction has been made in these articles between the girl's
game and that of her brother's, and, indeed, none is necessary. The same instructions
apply, and virtually the same results should follow. The girl may not be able to drive so
far, but there is no reason why she should not hold her own in approaching and putting,
and a sensible costume will obviously be of advantage.
Left-handed players must of course make the necessary correction in the instructions, but
if possible they should try to play in the ordinary style. It is a curious fact that, unlike
tennis, billiards, or baseball, first-class golf is seldom acquired by left-handers.
Finally, don't think the game too easy, and so play carelessly, and, on the other hand,
don't get discouraged and give it up as too difficult. In the words of an old-time hero of
the green, "It's dogged as does it."
CATCHING SHAD FOR MARKET.
BY J. PARMLY PARET.
Hooks and lines are about as useless in shad-fishing as nets would be if eels were
wanted. Not one of those long rows of shad you see in the markets was caught with a
hook. They were all foolish enough to swim straight into nets spread out to trap them,
and they hadn't sense enough to swim out again. So when you see Mr. Shaddie served
up before you for your breakfast, you may remember that it is because he has more
bones than brains that you have a chance to eat him. Mr. Shaddie inherits two fatal
features—his lack of brains and the breadth of his shoulders. One gets him tangled up in
fish-nets, and the other prevents his getting out again. Were it not for this, shad would
be as scarce in the market as terrapin.
Just as soon as the last ice has left the rivers the shad-fishermen begin to prepare for the
fishing season. They must make the most of the few weeks while it lasts, so they never
fail to have all their nets ready as soon as the shad begin to "run"—as they call it when
the fish commence to swim up the rivers.
There are two ways of catching shad—by small nets set on poles, and with "seine" nets.
Most of the fish we see in the markets are taken in the small nets, as the poles are
always used in the rivers where the current runs too fast for the "seines." These poles
are simply long saplings, like telegraph poles, with their lower ends sharpened so as to
stick up in the muddy bottom. The fishermen pick out some part of the river where their
nets are not likely to be torn and broken up by passing boats, and then drive down their
poles in long rows.
These poles are generally "planted" in
water forty or fifty feet deep, so it is not
easy to drive them into the bottom so far
under the water. Pontoon boats, built by
joining two scows or row-boats together,
are anchored at the place selected for the
row, and the sharpened ends of the long
saplings are pushed into the ground. A
crossbar is fastened to one of the poles,
high out of water, and the fishermen jump
up and down on this until the sapling is
driven down firmly into the mud. There
are anywhere from twenty to forty of
these poles in a row, and they are placed
about thirty feet from each other. DRIVING A STAKE.

At the first sign of the fish the nets are


set out on these poles. These shad-nets are like enormous fly-traps, open at one end.
The meshes are large enough to let the shad put their foolish heads in the nooses, but
not big enough to let their shoulders through. The top and bottom of each net are
fastened to two long ropes, and the ends of these ropes are tied to wooden rings like
barrel hoops, slid over the poles, and sunk down under the surface of the water by
weights. So the open end of each net is stretched between two poles, and the meshes
belly out with the swift current like a big bag. All along the row these nets are fixed by
the fishermen soon after the tide has turned, and then they go ashore to wait for the
next tide.
Along comes Mr. Stupid Shaddie,
swimming rapidly with the current.
Suddenly he runs against the net, and
before he knows what has happened his
head is thrust through one of the
openings in its meshes. Mr. Shaddie
foolishly tries to push through the barrier,
and soon finds his gills tangled up with
the thin cords that hold him. He has not
sense enough to turn around when he
first finds himself in the net and swim out
again the way he came in. The door is
still open, but he hates to swim against
the tide, so he goes on trying to push
DRAGGING THE NETS. ahead until he is hopelessly caught in the
net, and the more he struggles the tighter
he is held. Mr. Shaddie's brothers, too, are equally stupid. They follow his silly example,
and soon there are a number of them struggling in each net.
The fishermen in the mean time have waited patiently on shore. Just before the tide
turns again they row out to their nets and haul them up. If they waited too long, Mr.
Shaddie and his foolish friends would get out, for the turn of the tide would swing the net
in the opposite direction and soon release the struggling fish. The long fishing-boat is
manned by four men, and they row out to the nets. The boat is tied at each end to one
of the poles, and the "haul" begins. Long notched sticks or boat-hooks are thrust down
under the water beside the poles, and the net-ropes pulled up to the surface.
Slowly and cautiously the fishermen, two at each end, pull in the ropes that hold the net.
They soon reach the mouth of the bag, and pulling this over the edge of the boat, they
quickly haul up the rest of the meshes; for it is then too late for any of the fish to get
away. As the net comes up to the surface, Mr. Shaddie and his companions seem too
stupid or too much dazed to struggle. When they are jerked out of the water, however,
and into the boat, they hop around excitedly for a few minutes, but it is then too late to
escape. The fishermen throw their catch into the bottom of the boat, and cast the net
back into the water. Then they push along to the next poles, and repeat the same work
with the next net.
Down the long row they go, the boat's bottom gradually filling up with the big shad.
Sometimes a net will have only one or two in it, while fifteen or twenty are occasionally
caught in a single net when the season is
at its height. A good haul will often yield
three hundred shad, and the fishermen
hurry ashore to pack them off to the
markets. But shad are not the only fish
they get in the nets. Catfish are often
pulled up with shad, as well as many
other varieties. Some of them are taken
ashore and cooked, and others are
thrown back into the water.
Then, too, there are the "blackfish," as
the fishermen jokingly call the pieces of
drift-wood that get tangled up in the
meshes. Sometimes these are so heavy
as to tear open the nets, and then the
shad escape with the "blackfish." Careless THE FIRST CATCH OF THE SEASON.
captains of passing boats often tear them,
too, and occasionally pull down the poles
in steering through the fishermen's rows. Extra nets are always carried in the fishing-
boats, and when a torn one is found it is taken ashore to be mended, and a whole net is
put in its place.
The shad-fisherman's life is not an easy one. During the short season when his trade is
profitable he works both night and day. He must live close by the water, and sleep only
between the tides. When the boat first comes in after hauling the nets, the men must
take out their fish and pack them for the market. Then there are the torn nets to be
mended; and when all this is finished, and the meals are cooked and eaten, the
fishermen may get a few hours' sleep, perhaps; but they never lie down without first
setting an alarm-clock for an hour before the tide turns again. For, rain or shine, by night
and by day, those nets must be hauled up at every turn of the tide, and the tide turns
every six hours. "Time and tide wait for no man."
PARTS OF A FLOWER.
Whenever we study science we have some hard names to learn. One advantage that
scientific people have over others is that they know how to apply precise names to
things. A botanist, for example, does not speak of flower leaves. He says sepals if he
means the outside green leaves; petals, if the inside, colored. A complete flower has four
distinct parts or organs.
In early spring the big trees and little plants awake out of a long nap and bestir
themselves to grow. They have a good deal to do, and they set to work very
industriously. Ants and bees are not busier than plants in spring. At first the awakened
plant thinks only of forming fresh branches and lovely expanding green leaves. But after
a time it seems to say to itself, "I must not forget to make seed, so that if I should die in
the autumn my race may not die with me, but live on and on."
The plant may not be going to die in autumn. It may be a perennial, living year after
year. But it always acts as if it might perish, and provides against contingencies. Plants
which live one year only are called annuals.
In order to produce a flower, the branch stops growing in length. The end becomes a
receptacle. First, upon the receptacle comes a circle of small green leaves, called a calyx;
separately, sepals. Sometimes the calyx is not cut up into sepals, but makes a little round
vase, notched or pointed, in which the rest of the flower is held. Inside the calyx, and
just a bit higher up, appear the colored petals, the beautiful and fragrant parts of a
flower. It is the corolla. Like the calyx, sometimes the corolla is a vase or cup, and it is a
monopetalous corolla.
If you want to speak of both calyx and corolla in one word, you may say perianth. Floral
envelopes mean the same thing. The purpose of these parts of a flower is, mainly, to
cover and protect the seed while ripening. A second purpose, and probably the reason
why they are so prettily colored and sweetly fragrant, is to attract insects. This we will
talk about later. But we shall smell of a rose and admire it just as much, as if it were
made for our special enjoyment. All the same, if the plant did not protect its seed, and
invite insects to crawl into its tubes, I fear all flowers would be like the lizardtail to secure
which I once nearly fell into the water. I had to cross an old rotten mill-dam, over and
through which water was trickling, step on slippery stones, catch hold of a tree with one
hand, and reach away down with the other. One foot got wet, but that was a trifle. I
plucked my lizardtail, and have it now in my herbarium. It has no calyx and corolla, only
the two organs essential to making seed, called stamens and pistils.
Next to the petals, and slightly higher, the stamens stand like little soldiers with caps on,
in a circle, or two or more circles. The stem is called filament, a word meaning thread-
like. The cap is an anther, containing in one or two pockets a fine yellow or brown dust—
the pollen. You may get pollen on your nose if you smell of a lily; for when the anther-
pockets split open, the pollen lies around loose, and gets on anything that touches it.
Bees collect it in pouches on their legs, and make bread of it for their winter use.
AN "OLD-FIELD" SCHOOL-GIRL.
BY MARION HARLAND.

CHAPTER X.
Felicia Grigsby sat alone by the fire in her room on the afternoon of December 24. A book
was open upon her lap, but she was not reading. Her hands were thin and white; her
gray eyes were unnaturally large and dark in a face that had wasted until it looked like an
elf's. She had lain in bed for six weeks, and was still so weak that her father had carried
her up and down stairs to her meals.
He had been very kind to her throughout her illness, but never tender, and he was always
grave nowadays. Flea was thinking of these and other puzzling things this afternoon.
While she thought, two tears arose and enlarged in her eyes, until their weight carried
them over the lower lids, and they plashed down upon the book. The first snow-storm of
the season was driving at a sharp slant past the windows; the wind cried in the chimney
in a low-spirited, feeble-minded way; the fire kept up heart, and spat snappishly as stray
hailstones and snowflakes flew down the throat of the chimney.
Flea kicked one foot out of the blanket shawl laid over her lap, and moaned fretfully: "I
don't care for anything or anybody, and nobody cares whether I live or die!"
The door opened and her father came in. He looked unusually grave even for him. He
laid more logs on the fire, and stirred the coals below the blazing fore-stick. "Is it too hot
for you?" he asked, as the fire leaped up with a greedy roar.
"A little," Flea said, shielding her eyes with her hand.
Her father took hold of her rocking-chair with one hand, the cricket on which her feet
rested with the other, and lifted her away from the flaring flames. Then he rearranged
the covering over her knees and feet. It was a checked blanket shawl, red and green,
that belonged to Mrs. Grigsby. It was always brought out when an invalid was able to sit
up, or not quite ill enough to be put to bed. In Flea's mind it was joined with the
remembered taste of jalap, Epsom-salts, castor oil, and tansy tea. The checks were just
two inches square. She had measured them a hundred times. Her mother used to give
her medicine; her father read aloud to her when she had the measles, and chills and
fever after the measles.
She got hold of his hand and laid her face against it with a sob that seemed to bring her
heart up with it.
"Father! you haven't called me 'lassie' all the time I've been sick. Don't you love me any
more?"
He let her keep his hand, but he did not press hers. He stood bolt-upright, his eyes upon
the driving snow; his tone was constrained: "A father never stops loving his children, my
daughter, let them do what they may."
Flea twisted around to get a good view of his face.
"Have I done anything to displease you, father? Maybe 'twas some silly thing I said when
I was out of my head. Mother says I talked dreadfully sometimes. You know I didn't
mean it. Won't you forgive it, and let me be your own lassie again?"
She was crying fast, clinging to his hand and covering it with kisses. He drew it away
gently, and put his thumb and finger into the pocket of his waistcoat, bringing out with
them a paper, creased and worn by much handling.
"Look at that!" he said, in a tone that arrested her tears.
Flea unfolded it, and gave a
cry of surprise.
"My report! Where did it come
from?"
"You ought to know."
"But I don't! We looked for it
all the way to school that last
day. I thought likely that I had
dropped it on the step of the
old cabin—the haunted house,
you know. I sat down there
the day before to look at the
report, and staid there ever so
long. When I saw what was in
it I just hated to bring it
home. I didn't think how late it
was, until Mrs. Fogg—the old
Mrs. Fogg—came round the
corner of the house and FLEA UNFOLDED IT AND GAVE A CRY OF
scared me. I scared her too"— SURPRISE.
laughing nervously at the
recollection; "and although I
was sure that I had put the paper back into my geography, it wasn't there when I got
home. We hunted all about the door-step—Dee and I—next morning, but couldn't find it.
We supposed the wind must have blown it away, if I dropped it there."
Her father drew up a chair and sat down beside her, a little back of her, so she could not
study his face. He tried to speak carelessly.
"What was Mrs. Fogg doing there at that time of day?"
"I don't know, I am sure. She is a funny old woman, always turning up just where you
wouldn't expect to see her."
"Did she go into the house?"
"Why, no, sir. It's nailed up, I think—windows and doors too. She said that she mistook
me for a ghost—h'ant,' she called it. Father!"
She had his hand again, and again raised it to her cheek. Her voice was tremulous.
"Well?" watching her out of the corners of his eyes.
"I did something wrong and foolish that day. I told her once that I'd ask Major Duncombe
to let her grandchildren go to school. I was sorry for the little fellows. I told her that day
that she'd better send them to the Old Harry than to Mr. Tayloe. You see, I was as mad
as fire about my report."
"And then?"
"I ran home, and left her there sitting on the step."
"Did you ever see her again?"
She hesitated visibly; the color came and went in the thin sensitive face. She dropped her
voice:
"She came to the spring next day. Mr. Tayloe sent me for a bucket of water—after school,
you know. He said you did help me with that awful sum, and made me stay in and do it
all over again. I never felt so angry before. I wished that I could kill him. And Mrs. Fogg
began palavering, and I tried to get away from her. She would help me up the hill with
the bucket, and I wasn't decently polite to her. When I got into the school-house, there
was my slate on the bench where Mr. Tayloe had put it while I was gone, and he had
rubbed out the sum I had done. Then—I think it was like being possessed of a devil, for
my head went round and round, and I got hot all over. For there he sat, with that horrid
smile on his face, as if he were making fun of me, when I had done my very best, and
been disgraced for nothing at all. I jumped up and threw the bucket on him, and ran
away as fast as I could. That's all. Oh, father, please don't let us talk any more about that
horrible day!" Her voice arose into a piteous cry.
"No, lassie, never again!"
He gathered her into his arms, and held her there as he had in that wonderful ride
through the woods the night he found her asleep in the school-house, and she sobbed
herself calm upon the heart where there was always love for his children, and where she
knew at last the warmest place was for her.
When he appeared belowstairs he found his sister in the chamber alone, but for the
sleeping baby whom she had offered to look after, while the other children in a gale of
spirits superintended and hindered the frying of the doughnuts.
"Does that amuse you, David?" asked Mis. McLaren, smiling at the pains he took to tear a
scrap of white paper into bits, all exactly the same size, and to throw them one by one
into the fire. Each was seized by the hot draught and whirled up the chimney.
"It pleases me—mightily!" he rejoined, his face as sunny as hers. "I am disposing of the
last objection I had to putting my bit lassie into your hands. I can trust her the world
over now."
He sat down by his sister, stretching his long legs in front of him, and locking his hands at
the back of his head, with the air of one who has shaken off a burden.
"I've had a long talk with the bairnie, Jean. I'm willing to trust her away from me. You'll
do better for her than I can."
"It will be a trial to your mother and myself to let you go," he said to Flea on Christmas
day, in telling her of Aunt Jean's wish to take her and Dee home with her. "We will bear it
for the sake of the good you'll get."
What the trial was to himself nobody comprehended. All through the quiet winter that
shut down upon the river-lands early in January the most momentous events to the
father's heart were the weekly arrival of the letters from his daughter. They were long
and, to him, wonderful. He was kept in touch with her home life, her school, her reading,
her sight-seeing, her growth in knowledge and her burning thirst for more knowledge.
She sent him books now and then; his sister provided him with two weekly papers and a
monthly magazine, but the short days and long evenings wore away tediously.
The months seemed like as many years in looking back upon them on a certain June
morning, when he and Flea set out for a ride on horseback. She had been at home but
eighteen hours, and he had still to persuade himself from time to time that he was not
dreaming.
He looked her over pridefully as they rode off from the house.
"You are more like yourself this morning, lassie. Last night you were paler and quieter
than seemed just natural. I suppose you were tired after the journey."
Flea blushed and averted her face. "I feel beautifully rested out to-day," she said. Honest
as ever, she could not say more without revealing what would have pained his loyal
heart.
I have made no secret of her faults, and I do not excuse what her father was never
allowed to guess. Her homecoming had been a dismay as well as a disappointment to
her. Nothing had come to pass as she had expected and planned, except the look on her
father's face when he had espied her on the deck of the boat, waving her hand to him on
the wharf, and the long, silent hug she received as she sprang into his arms. She had
never heard the word "disillusion," or she would have known better what the next few
hours meant. Mr. Grigsby had come to the landing in a blue-bodied "carryall." A plank laid
across the front served him for a seat. Two splint-bottomed chairs were set for the
children, leaving room behind them for their trunks. It was not heroineic, but it was
natural that, seeing her late fellow-passengers eying the equipage from the boat, Flea
grew hot with embarrassment, and wished that her father had thought of borrowing a
better-looking vehicle from Greenfield.
The road over which they jolted was rutty and straggling, the fences ungainly. Nothing
was trimmed and well-kept to eyes used, for five months, to spick-and-span Philadelphia.
Her own home was sadly unlike her recollection of it. It had been newly whitewashed in
honor of her coming, but she had forgotten that there never were shutters at the
windows. They stared at her like eyes without lids and lashes. The calico half-curtains
were "poor-white-folksy," the furniture was scanty and common. Her mother wore a
purple calico. She was "partial to purple calico"; it kept its color, did not show dirt, and
looked so clean when it was clean. She did not bethink herself, or she had never known,
that purple is, of all colors, most trying to women of no particular complexion. Her hair
was pulled back tightly from her temples, and done at the back of her head in a knot that
would not come undone of itself in a week. On her head was a cap of rusty black cotton
lace. Bea had bedecked her fair self in a light blue lawn, short-sleeved, and low upon the
shoulders. A double string of wax beads was about her neck, and a single string upon
each wrist. Her yellow hair was braided and tucked up. Bea was fifteen, and quite the
young lady now. About her head was a narrow band of black velvet, fastened above her
forehead with a breast-pin containing a green glass stone. Bea thought it was an
emerald. Flea knew that it was not, yet felt horribly ashamed that she could notice all
these things and that they dampened her spirits.
They had a "big supper," to which Dee's boyish appetite did abundant justice. Flea
berated and despised herself for seeing that the coffee-pot was tin and was the boiler in
which the coffee had been made, and that the handles of the two-tined forks were of
bone; that her mother poured her coffee into her saucer to cool before drinking it, and
that everything—fried chicken, ham, fish, preserves, cake, pudding, pie, frozen custard,
and waffles—was put on the table at once.
It was unkind, ungrateful, undaughterly, and every other "un" she could think of, to let
such trifles destroy the comfort of the first evening at home.
Her pillow was moistened with remorseful tears, and the more she hated herself for such
meanness, fickleness, and ingratitude, the more plentiful was the flow of briny drops.
Things were more tolerable in the morning. With the elasticity of youth she adjusted
ideas and feelings to suit her circumstances, or, as she put it to herself, she "came to her
senses." She donned the neat habit her Aunt Jean had ordered for her, and tripped down
stairs when the horses were ready, radiant with pleasurable anticipation. The habit found
little favor in the sight of her mother and sister. They called the gray linen braided with
black "Quakerish." To her father's eyes she looked the little lady from crown to toe.
The clover-fields were aflush with bobbing blooms, and a thousand bees were swinging
and humming above these; the hay was ripe for cutting; the corn-fields shook glossy
lances in the face of the sun; in the woods every bird that could sing was swelling his
throat and heart with music; hares scampered fearlessly in the open road under the
horses' feet; and striped ground-squirrels raced on the top rails of the fences for a mile at
a time, just ahead of the riders.
"I must have been tired last night," repeated Flea, filling her lungs with the scented air. "I
didn't feel a bit like myself. I am all right again. How dear and beautiful everything is to-
day! There's nothing like the country, after all, especially the country in Old Virginia."
With that her tongue was loosened, and she opened to her indulgent confidante her
hopes, aspirations, and plans. Aunt Jean was as gentle and tender as a mother to her;
her teachers were wisdom and goodness personified; she was doing well in all her
classes, and had taken two prizes on Examination day, the first for composition, the
second for history.
"It's like a fairy-tale," she prattled on, happily. "When I was young and foolish I used to
dream of such things as are coming to pass every day, and I take them as a matter of
course, until I stop to think how wonderful and nice it all is. I often call Aunt Jean my
fairy godmother.'"
In return, her father talked of his hope of being his own master and a land-owner by the
time her school days should be over, hopes he had shared with no one else, he said, not
even her mother, who might be disappointed if they came to nothing. "My canny little
lassie can always be trusted," he said, with fondness.
Happy, honored little Flea! Riding close beside him, his hand on the neck of her horse,
her eyes, moist and beaming, upturned to his, she would not have exchanged places with
a princess of the blood. The weakness and false pride of yesterday were recalled only to
brighten by contrast the joys of to-day.
As the day neared noon the bird-music ceased, and the stir of green leaves in the weak
wind did not rise above the thud of hoofs upon the dead leaves that had fallen and lain
on the bridle-road for fifty winters. The crash of a falling tree, that might have been a
mile away, boomed and echoed like the report of a cannon, and was a long time in dying
upon the distant hills. From the virgin forest, where oaks and hickories locked arms
above their heads, they emerged upon a swampy spot through which a fire had swept in
April, leaving a deserted track behind it. Ferns and wild flowers were springing up as
though eager to hide the blackened ruins.
"The Major is having this swamp cleared," remarked Mr. Grigsby. "The men are about
other work to-day, but they have been cutting in here all the week."
Rounding an evergreen thicket, they saw a horse harnessed to a low gig, which the riders
recognized at once. The carriage was empty, and the gray mare was tethered to the
stump of a sapling. She neighed long and wistfully at sight of Mr. Grigsby. He patted her
in passing.
"The Major cannot be far off," he said. "He is looking to see what we have been doing, I
suppose. I am glad to see him show interest in plantation work once more. He never
opens his lips to me on the subject, of course, but there is something heavy on his mind.
The gossips say that he is bitterly opposed to Miss Emily's marrying Mr. Tayloe."

[to be continued.]
RICK DALE.
BY KIRK MUNROE.

CHAPTER XXVII.

BONNY COMMANDS THE SITUATION.

ur lads had barely time to do up the tents and blankets they had used
for bedding into compact bundles before M. Filbert arrived, with his
servant François, and a carriage full of packages, including a bundle of
iron-shod alpenstocks. He was clad in what appeared to Bonny and
the idlers gathered about the station a very curious costume, though
to Alaric, who had often seen its like in Switzerland, it did not seem at
all out of the way. It consisted of a coat and knee-breeches of dark
green velveteen, a waistcoat of scarlet cloth, stout yarn stockings
patterned in green and scarlet and folded over at the knees, the
heaviest of laced walking-boots with hobnailed soles, and a soft Tyrolese hat, in which
was stuck a jaunty cock's feather.
He was full of excited bustle, and the moment he caught sight of Alaric, began to shower
questions and directions upon him with bewildering rapidity. At length, thanks to Alaric's
clear head and Bonny's practical common-sense, confusion was reduced to order, and
everything was got on board the train that was to carry the expedition to Yelm Prairie—a
station about twenty miles south of Tacoma, from which the real start was to be made.
The arrival at Yelm Prairie produced an excitement equal to that of a circus, and our
friends had hardly alighted from the train before they were surrounded by a clamorous
throng of would-be guides, packers, teamsters, owners of saddle-animals or pack-ponies,
and a score of others, who were loud in declaring that without their services the
expedition would surely come to grief.
In vain did the bewildered Frenchman storm and rave, and stamp his feet and
gesticulate. Not one word that he said could be understood by the crowd, who, in their
efforts to attract his attention, only shouted the louder and pressed about him more
closely. Finally the poor man, turning to Alaric and saying, "Do what you will. Everything I
leave to you," clapped his hands to his ears, broke through the uproarious throng, and
started on a run for the open prairie.
"He leaves everything to us," said Alaric, who was almost as bewildered by the clamor
and novelty of the situation as was M. Filbert himself.
"Good enough!" cried Bonny. "Now we will be able to do something. I take it that on this
cruise you are first mate and I am second. So if you'll just give the word to go ahead, I'll
settle the business in a hurry."
"I only wish you would," returned Alaric, "for it looks as though we were going to be
mobbed."
Armed with this authority, Bonny sprang on a packing-case that lifted him well above his
surroundings, and shouted, "Fellow-citizens!"
Instantly there came a hush of curious expectancy.
"I reckon all you men are looking for a job?"
"That's about the size of it," answered several voices.
"Very well; I'll give you one that'll prove just about the biggest contract ever let out in
Yelm Prairie. It is to shut your mouths and keep quiet."
Here the speaker was greeted by angry murmurs and cries of "None of yer chaff, yung
feller!" "What are you giving us?" and the like.
Nothing daunted, Bonny continued: "I'm not fooling. I'm in dead earnest. What we are
after is quiet, and the Prince out there, whom you have scared away with your racket, is
so bound to have it that he's willing to pay handsomely for it. He's got the money, too,
and don't you forget it. He wants to hire several guides and packers, also a lot of saddle-
horses and ponies, but a noisy, loud-talking chap he can't abide, and won't have round.
He has left the whole business to my partner here and me to settle, seeing that we are
his interpreters, and we are going to do it the way he pays us to do it and wants it done.
So, according to the rule we've laid down in all our travellings and mountain-climbings up
to date, the man who speaks last will be hired first, and the fellow who makes the most
noise won't be given any show at all. Sabe? As an example, we want a team to take our
dunnage to the river, and I'm going to give the job to that fellow sitting in the wagon,
who hasn't so far spoken a word."
"Good reason why! He's deaf and dumb," shouted a voice.
"All the better," replied Bonny, in no wise abashed. "That's the kind we want. There are
two more chaps who haven't said anything that I've heard, and I'm going to give them
the job of pitching camp for us. I mean those two Siwash at the end of the platform."
"They are quiet because they can't speak any English," remonstrated some of those who
stood near by.
"We don't mind that, though we are French," replied Bonny, cheerfully. "You see, the
Prince looked out for such things when he engaged us interpreters, and now we are
ready to talk to every man in his own language, including Chinook and United States.
Now the only other thing I've got to say is that we won't be ready to consider any further
business proposals until two o'clock this afternoon, and anybody coming to our camp
before that time will lose his chance. After that we shall be glad to see you all, and the
fellows that make the least talk will stand the best show of getting a job."
The effect of this bold proposition was surprising. Instead of exciting wrath and causing
hostile demonstrations, as Alaric feared, its quieting influence was magical. Times were
hard in Yelm Prairie, and a well-paid trip up the mountain, or the chance to obtain a
dollar a day for the hire of a pony, was not to be despised.
So Bonny was allowed to engage the deaf-and-dumb teamster by signs, and the two
Indians by a few words of Chinook, without hinderance. All these worked with such
intelligence and expedition that within an hour one of the neatest camps ever seen in
that section was ready for occupancy beside the white waters of the glacier-fed Nisqually.
When M. Filbert, who spied it from afar, came in soon afterwards, with hands and
pockets full of floral specimens, he found a comfortably arranged tent and a bountiful
camp dinner awaiting him. At sight of these things his peace of mind was fully restored,
and he congratulated himself on having secured such skilful interpreters of both his
words and wishes as the lads through whom they had been accomplished.
Promptly at the hour named by Bonny a motley but orderly throng of men, mules, and
ponies presented themselves at the camp, and the whole afternoon was spent in making
a selection of animals and testing the skill of packers. Both Alaric and Bonny were
inexperienced riders, but neither of them hesitated when invited to mount and try the
steeds offered for their use. A moment later Bonny was sprawling on the ground, with his
pony gazing at him derisively, while Alaric was flying over the prairie at a speed that
quickly carried him out of sight. It was nearly an hour before he returned, dishevelled
and flushed with excitement, but triumphant, and with his pony cured of his desire for
bolting, at least for a time.
By nightfall the selections and engagements had been made, and the expedition was
strengthened by the addition of two white men to act as packers, two Indians who were
to serve as guides and hunters, five saddle-ponies, and as many pack-animals.
That night our lads slept under canvas for the first time, and as they lay on their blankets
discussing the novelty of the situation, Bonny said:
"I tell you what, Rick, this mountain-climbing is a more serious business than some folks
think. When you first told me what our job was to be I had a sort of an idea that we
could get to the top of old Rainier easy enough in one day and come back the next. So I
couldn't imagine why Mr. Bear should want to engage us by the month. Now, though, it
begins to look as though we were in for something of a cruise."
"I should say so," laughed Alaric, who had learned a great deal about mountain-climbing
in Switzerland. "It would probably take the best part of a week to go from here straight
to the summit and back again. But we shall be gone much longer than that, for we are to
make a camp somewhere near the snow-line, and spend a fortnight or so up there
collecting flowers and things."
"Flowers?" said Bonny, inquiringly.
"Yes. M. Filbert is a botanist, you know, and makes a specialty of mountain flora. But I
say, Bonny, what makes you call him 'Mr. Bear'?"
"Because I thought that was his name. I know you call him 'Phil Bear,' but I never was
one to become familiar with a Cap'n on short acquaintance."
"Ho! ho!" laughed Alaric; "that's a good one. Why, Bonny, Filbert is his surname. F-i-l-b-e-
r-t—the same as the nut, you know, only the French pronounce things differently from
what we do."
"I should say they did if that's a specimen, and I'm glad I'm not expected to talk in any
such language. Plain Chinook and every-day North American are good enough for me. I
suppose he would say 'Rainy' for Rainier?"
"Something very like it. I see you are catching the accent. We'll make a Frenchman of
you yet before this trip is ended."
"Humph!" ejaculated Bonny. "Not if I know it, you won't."
Sunrise of the following morning found the horsemen of the expedition galloping over the
brown sward of the park-like prairie toward the forest that for hundreds of miles covers
the whole western slope of the Cascade Range like a vast green blanket. The road soon
entered the timber and began a gradual ascent, winding among the trunks of stately firs
and gigantic cedars that often shot upward for more than one hundred feet before a
branch broke their columnlike regularity.
By noon they were at Indian Henry's, twenty miles on their way, and at the end of the
wagon-road. That night camp was pitched in the dense timber, and our lads had their
first taste of life in the forest. How snugly they were walled in by those close-crowding
tree-trunks, and how they revelled in the roaring camp-fire, with its leaping flames,
showers of dancing sparks, and perfume of burning cedar! What a delight it was to lie on
their blankets just within its circle of light and warmth, listening to its crisp cracklings!
Mingled with these was the cheery voice of a tumbling stream that came from the
blackness beyond, and the soft murmurings of night winds among the branches far above
them.
Another day's journey through the same grand forest, only broken by the verdant length
of Succotash Valley, and by the rocky beds of many streams, brought them to Longmire's
Springs and the log cabins of the hardy settler who had given them his name. At this
point, though they had been steadily ascending ever since leaving Yelm Prairie, they were
still less than three thousand feet above the sea, and the real work of climbing was not
yet begun. After an evening spent in listening to Longmire's thrilling descriptions of the
difficulties and dangers awaiting them, Bonny admitted to Alaric that he had never before
entertained even a small idea of what a mountain really was.

CHAPTER XXVIII.

ON THE EDGE OF PARADISE VALLEY.


From the springs a four-mile scramble through the woods and up the rocky beds of
ancient waterways brought the party to a place where the Nisqually River must be
crossed. Here a single giant tree had been felled so as to span the torrent, and its upper
surface roughly hewn to a level. A short distance above the rude bridge rose the
frowning front of a glacier. Although its ice was mud-stained and honeycombed by
countless rivulets that ponied from its upper surface in tiny cascades, it still formed an
inspiring spectacle, and one that filled Bonny with wondering admiration, for it was his
first glacier.
From an arched ice cavern at its base poured the milk-white river, with a hollow roaring,
and such force that fair-sized bowlders were swept down its channel as though they were
so many sticks of wood. The whole scene was of such fascinating interest that it very
nearly brought poor Bonny to grief.
He had dismounted, and was preparing to
follow M. Filbert and Alaric, who had
already led their ponies in safety across the
narrow bridge. These animals had crossed
so readily that he supposed his would do
the same, and, as he stepped out on the
great log, was paying far more attention to
the glacier than to it. Suddenly he was
jerked violently backward, pitched
headlong down the bank, and barely saved
himself from the icy torrent by clutching at
a friendly bush. At the same moment his
pony, who had no confidence in mountain
bridges, dashed into the roaring stream,
was instantly swept from his footing, rolled
over and over, and borne struggling away
toward what seemed certain destruction.
By the good fortune that attends all fools,
animals as well as human, he managed to
escape both drowning and broken bones,
and finally regained his feet on a friendly
reef that projected into the river a quarter
of a mile below the bridge. There he stood BONNY WAS JERKED VIOLENTLY
trembling, bruised, and dripping when BACKWARD.
Bonny and one of the Indians, who had
hastened down the bank to discover his fate, found him a few minutes later. From that
time forth he was the meekest and most docile pony imaginable, suffering himself not
only to be led over the log bridge without remonstrance, but wherever else his young
master desired.
High above this lovely valley, and close to the line where snow and timber met, M. Filbert
called a halt, and ordered the permanent camp to be pitched. Although this point was
less than half-way to the top of the mountain, or only 6500 feet above sea-level, the
ponies could climb no higher, and, after being unladen, were sent back in charge of the
packers into Paradise Valley, where they might fatten on its juicy grasses until needed for
the return trip.
From here, then, the ragged slope of ice, snow, and rock that stretched indefinitely
upward toward the far-away shining summit must be traversed on foot or not at all. But
this was not to be done now nor for days to come, during which the camp just pitched
was to be the base of a widespread series of explorations. A few straggling hemlocks, so
bent by the ice-laden winds that swept down the mountain-side in winter that they
looked like decrepit old men, furnished shelter, fuel, and bedding.
"It beats the sloop away out of sight," remarked Bonny.
"Or Skookum John's," said Alaric.
"Yes, or being chased and starved."
"The best of it all is that up here I seem to amount to something," added Alaric.
This was, after all, the true secret of our lads' content; for, in spite of its novelty, the
present situation would quickly have grown wearisome had they not been constantly and
happily occupied. Every day that the weather would permit they tramped from early
morning until dark over snow-fields and glaciers, sealed cliffs, scrambled down into
valleylike meadows set like green jewels in the grim mountain-side, threaded their way
amid the fantastic forms of stunted forests, toiled slowly up lofty heights, or slid with the
speed of toboggans down gleaming slopes. Each day they gained in agility and daring,
and each night they returned to that cheery camp with its light, warmth, and abounding
comforts, so healthfully tired and so ravenously hungry that it is no wonder they grew to
look upon it as a home and a very pleasant one.
Both lads developed specialties in which they became expert. Alaric's was photography,
an art that he had acquired in France, and had practised at intervals for more than a
year. As soon as M. Filbert discovered this knowledge on the part of his young interpreter,
he entrusted him with the camera, and never had the lad devoted himself to anything
with such enthusiasm, as he now did to the capturing of views. His greatest triumph
came through hours of tedious and noiseless creeping over a rough icefield that finally
placed him within twenty yards of a couple of mountain-goats.
Although the wind was blowing strongly from them to him, the timid creatures were
already alarmed, and were sniffing the air suspiciously, when a click of the camera's
shutter sent them off like a flash. But the shot had been successful, as was shown by the
development of a perfect plate that evening. M. Filbert was jubilant over this feat, which
he said had never before been accomplished, and complimented the lad in flattering
terms upon the skilful patience that had led to it.
Bonny's specialty lay in the collecting of flowers, to which he had devoted himself
assiduously ever since learning that they were what the little Frenchman most desired.
Keen-eyed, nimble-footed, and tireless, he discovered and secured many a rare specimen
that but for him would have been passed unnoticed.
Thus the leader of the expedition found reason to value the good qualities of his young
assistants more highly with each day, and was already planning to have them accompany
him on his entire American tour, during which he proposed to ascend at least a dozen
more mountains. Bonny was jubilant over the prospect of such a trip, and was now as
eager to learn French, in order to qualify himself for it, as he had formerly been scornful
of the language.
With all this open-air life and splendid physical exercise the one-time pale-faced and
slender Alaric was broadening and developing beyond belief. His cheeks were now a
ruddy brown, his eyes were clear, his muscles hard, and his step as springy as that of a
mountain-goat. Above everything else in his own estimation he was learning to swing an
axe with precision, and could now chop a log in two almost as neatly as Bonny himself.
For all that they were so constantly and agreeably occupied, the boys were possessed of
a great and ever-increasing longing to stand on the lofty but still distant summit, with the
general aspect of which they had become so familiar during their stay in the timber-line
camp. Thus, when one evening M. Filbert decided to make a start toward it on the
morrow, they hailed the announcement with joy. One of the Indians was to accompany
them as guide, while his fellow was to be left with François to keep camp.
The greater part of the following morning was devoted to making preparations for the
climb and what was thought might prove a three days' absence from camp. The hobnails
of their walking-boots, worn smooth by friction, were replaced by a fresh set. Alpenstocks
were tested until it was certain that each of those to be taken would bear the weight of
the heaviest of the party. Provisions were cooked and packs laid out. Each was to carry a
canvas-covered blanket sleeping-bag, inside of which would be rolled provisions for three
days, a tin plate, and a cup. Each was also provided with a sheath-knife and a supply of
matches. Besides these things M. Filbert was to carry a barometer, a thermometer, a
compass, and a collecting-case. Alaric was entrusted with the camera and two dozen
plates. Bonny's extras were a hatchet and a fifty-foot coil of stout rope; while the Indian
was to carry an ice-axe, and pack a burden of fire-wood.
It was nearly noon when, fortified by a hearty lunch, they left their homelike camp, and
facing resolutely upward, began a tedious climb over the limitless expanse of snow that
they struck within the first hundred yards. The climb of that afternoon was hot, in spite
of the snow that crunched beneath their feet, tedious, and only mildly exciting, for all the
perils of the ascent were to come on the morrow. Shortly before the sun sank into the
sea of cloud that spread in fleecy undulations beneath them, they reached the base of
the Cleaver, a gigantic ridge that seemed to bar their further progress. Here, on a small
plat of nearly level ground from which they dug away the snow, they made a fire over
which to boil water for a pot of tea, ate supper, and prepared to pass the night. They
were four thousand feet above timber-line, and two miles higher than the waters of
Puget Sound.
As soon as supper was over the entire party crawled into their sleeping-bags for
protection against the bitter cold of the night, and for a while the two boys, nestling
together, talked in low tones.

[to be continued.]
SOLVING A GEOGRAPHICAL CONUNDRUM.
THE LONG-VEXED QUESTION OF THE MOBANGI-MAKUA
RIVER.

BY CYRUS C. ADAMS.
f you were to select a bit of the earth's surface to illustrate the slow and
painful steps by which geographical knowledge often grows, you could do
no better than to point to the Mobangi-Makua River, the largest Congo
tributary. No other subordinate river in Africa has ever been the theme of so
much mistaken guess-work, or has cost the labor of so many explorers. For
many years this was the largest river in the world that was in dispute. Even
the name by which it was long known was a blunder. When Schweinfurth
asked its name, the natives answered, "Welle." But Welle simply means
"river," and is not the name of the stream.
If all African tribes were great travellers, as some of them are, and were
gifted, like the Eskimos, with keen geographical instinct, they would save explorers no
end of blunders, guess-work, and toil. But often they do not know rivers, lakes, or
mountains beyond their own frontiers, and each tribe has its own names, or no names at
all, for the geographical aspects around them. When an explorer asked the name of a
great lake, the natives shouted, "Nyassa!" which means simply "lake": and so we have
the name Lake Nyassa on the maps to-day. Nearly every tribe along the Mobangi-Makua
has its own name for the river, which, being disguised as the Kibali, the Makua, the Dua,
the Mobangi, and so on, was hard to recognize as one and the same great river under
many aliases.
Schweinfurth says it was a thrilling moment when first he stood upon the bank of the
"noble river, which rolled its deep dark flood majestically to the west." At a glance he
settled one important question. He had heard of the river, and thought it might be a
tributary of the Nile. But on that spring day in 1870 he saw its flood drifting into the
great unknown to the west. One point was settled. It was not a Nile affluent; and the
explorer, listening to all the natives could tell him, studying all our meagre information
about water systems to the west, convinced himself that he had discovered the upper
part of the Shari River, which pours into Lake Tchad, on the edge of the Sahara Desert.
For years most geographers agreed with him, and map-makers traced the supposed
course of Schweinfurth's Welle to the edge of the great northern desert.
But when Stanley floated down the Congo in 1877, he saw great rivers entering it from
the north. It occurred to him, and to the explorers who followed him, that one of them
was probably the lower course of Schweinfurth's Welle. For years this and that river was
talked about as the possible outlet of the Welle.
Stanley thought it was very likely identical with the Aruwimi, and he published his
hypothesis in his book The Congo in 1885. He had never seen the mighty flood that the
Mobangi pours into the Congo, hundreds of miles below the Aruwimi confluence.
Nobody knew, until after Stanley's book was published, that one of the greatest and most
modest of explorers, the late Dr. Wilhelm Junker, had already traced the Welle—or the
Makua, as he called it—for hundreds of miles, to a point far west of the Aruwimi, proving
that it could not possibly be that river. For nearly seven years (1879-86) this man of
science lived alone near the upper waters of the mysterious river, studying Nature and
Nature's children, eating the food his black friends sold him, including fried ants and
other relishes and dainties not known in our cuisine, and wandering through the land
with only a cane in his hand, and a few black servants to carry his baggage. At the
frontier of a new district he always pitched his camp, sent his presents forward to the
chief, made his peaceful purpose known, and asked permission to go on. In all these
years he never fired a hostile shot; and late in 1882 he set out down the river to find if it
really flowed to Lake Tchad.
But Junker's heart was heavy within him. How could he map the unknown region he was
entering? His scientific equipment was worthless. Some instruments had been broken
during mouths of incessant travel. Others had been ruined by the humid climate. He had
absolutely nothing except a compass to aid in determining his positions. Destitute of
scientific outfit he determined to make up for it, as far as he could, by scrupulous care,
and the most minute exactitude he could attain in his route survey.
So Dr. Junker trudged along through the grass, that was
often higher than his head, compass in hand, counting
every step. Every fifteen minutes he stopped and jotted
down in his note-book the distance and the mean
direction travelled in the preceding quarter of an hour.
He noted all the little streams, the names of villages, the
hill features, and so on; and at night he drew on his
route map, with the greatest care, the journey of the
day, and all the data that may be recorded on a map.
Geographers still examine with great interest these neat
and methodical map sheets. But they did not know, till
years after Junker had returned home, that he had
achieved, as we shall see, one of the most remarkable
geographical feats on record.
Junker kept up this trying routine through all the weeks
of his long journey. Compelled at last to turn back, when
nearly four hundred miles on his way, by news that the
Mahdists might destroy all the collections he had left JUNKER TRUDGED ALONG,
behind, he computed the latitude and longitude of his COMPASS IN HAND.
farthest point. All the facts for this computation were his
note-book records and the known position of his
starting-point. When he returned home, he and Dr. Hassenstein, a famous German
Welcome to our website – the perfect destination for book lovers and
knowledge seekers. We believe that every book holds a new world,
offering opportunities for learning, discovery, and personal growth.
That’s why we are dedicated to bringing you a diverse collection of
books, ranging from classic literature and specialized publications to
self-development guides and children's books.

More than just a book-buying platform, we strive to be a bridge


connecting you with timeless cultural and intellectual values. With an
elegant, user-friendly interface and a smart search system, you can
quickly find the books that best suit your interests. Additionally,
our special promotions and home delivery services help you save time
and fully enjoy the joy of reading.

Join us on a journey of knowledge exploration, passion nurturing, and


personal growth every day!

ebookbell.com

You might also like