« Previous - Version 29/34 (diff) - Next » - Current version
Ben Hilburn, 01/16/2012 08:06 pm
Adding a warning about using these files.


E100 Boot Files and Kernel Modules

READ THIS FIRST

The boot files and kernel modules listed on this wiki page should generally be considered experimental, and are not officially supported by the Ettus Research team.

Ettus Research makes full filesystem images available, with boot files, that we have tested and certified.

You can find those here:
Ettus E1xx Files Directory

... and instructions on how to use them here:
Create SD Card Images

The files listed here may be newer than the files included in the most recent image, and may have improvements and new features. Since they have not been tested or used by the Ettus Research team, however, we cannot support them.

USE THESE FILES AT YOUR OWN RISK. If you choose to use these files and have issues, we will more than likely refer you to our official SD card images.

Boot Files

There are two partitions on the E100 micro SD card, FAT and rootfs. The FAT partition contains essential boot information while the root file system, rootfs, contains remaining files (driver modules, application libraries, home directories, etc.). For details on the root file system, see Images. The boot partition consists of the following files with links to images for use with the master UHD branch.

Updating Boot Files

The boot files can be updated from the device itself, or by removing the micro SD card and using another Linux host with a card reader. The procedures for either method are nearly identical.

Mounting on a separate host

Insert the SD card into a card reader. On most Linux distributions, the two partitions should mount automatically as "FAT" and "rootfs". If not, the partitions need to be mounted manually.

$ ls /media/
FAT  rootfs

Mounting on the device itself

Create the mount point and edit fstab with your favourite text editor.

# mkdir /media/FAT
# vim /etc/fstab

Add '/dev/mmcblk0p1' boot partition to fstab.

rootfs               /                    auto       defaults              1  1
proc                 /proc                proc       defaults              0  0
devpts               /dev/pts             devpts     mode=0620,gid=5       0  0
usbfs                /proc/bus/usb        usbfs      defaults              0  0
tmpfs                /var/volatile        tmpfs      defaults              0  0
tmpfs                /dev/shm             tmpfs      mode=0777             0  0
tmpfs                /media/ram           tmpfs      defaults              0  0
/dev/mmcblk0p1       /media/FAT           auto       defaults,sync         0  0

Now mount the boot partition.

# mount /media/FAT

Copying the boot files

Install the MLO. Always copy a new MLO over the old one since it is required to be in a specific location. If not performed properly, the partition will need to be restored from a backup or reformatted.

$ cd /media/FAT
$ cp <download location>/MLO MLO

Install the U-Boot image and Linux kernel

$ cp <download location>/u-boot.bin-for-3.0 u-boot.bin
$ cp <download location>/uImage-3.0-pm-r0d-usrp-e1xx.bin uImage

Unmount the partitions. If a card reader was used, the SD card can now be removed and inserted in the device.

$ umount /media/FAT
$ umount /media/rootfs

The device can now be powered on or rebooted.

$ reboot

Linux Kernel Modules

The kernel modules include device drivers not compiled into the kernel or required during the boot process. The driver for the E100 interface to the FPGA is included as a kernel modules. In most cases, the kernel modules will be included with root file system image, but the modules can also be added or updated independently to an existing file system. Kernel modules for the master UHD branch are provided.

Updating kernel modules

Kernel modules can be installed from the running device or by using another host with a card reader. Kernel modules must reside in the following directory.

/lib/modules/<kernel-version>. 

The specific kernel module for the E100 will be in the following location.

/lib/modules/<kernel-version>/kernel/drivers/misc/usrp_e.ko

From the device

The modules tarball must be unpacked in the top level directory.

# cd / 
# tar xvfz /path/to/downloaded/modules-3.0-pm-r0d-usrp-e1xx.tgz

Force all changes to disk and reboot.

# sync
# reboot

Generate module dependencies and reboot again.

# depmod -a
# reboot

Checking versions of installed files

After updating, verify the version of updated files using the Version checking instructions.