CM-T3730: Linux: Getting started

From Compulab Mediawiki
Jump to: navigation, search

Introduction

CM-T3730 Linux package supplied with Angstrom and Debian example root filesystem images. This article provides an introduction on how to install the Angstrom Linux image on CM-T3730. The Debian image installation can be easily performed by replacing angstrom-image-cm-t3730.tar.bz2 and angstrom-image-cm-t3730.ubi references by debian-image-cm-t3730.tar.bz2 and debian-image-cm-t3730.ubi respectively in the installation procedures described below.

Preparation steps

  • Obtain a PC workstation with a serial communication port.
  • For networked installation you need to install a TFTP server on the host PC. For Windows machines we recommend TFTPD32 included in the Linux package for CM-T3730 (link below).
  • Download the Linux package for CM-T3730 from CompuLab website. Unzip the package to a directory on your host workstation.
  • All image files mentioned below can be found in images subdirectory
  • Connect the host PC to the SB-T35 base-board (connector P12) via the serial cable supplied with the evaluation kit.
  • Start terminal emulation software on your PC. Set baud rate to 115200 bps, 8 bit per frame, 1 stop bit, no parity, no flow control.
  • Turn on the CM-T3730 evaluation system. The U-Boot boot-loader will start and you will get a command prompt.
Admolition note.png If the boot settings of your CM-T3730 are different than default, you may need to press and hold Ctrl-C while turning the CM-T3730 on, in order to get command prompt.

Boot into the installation environment (ramdisk)

The first step in CM-T3730 Linux installation is starting the installation environment (Linux kernel and Ramdisk image). This can be done using the following media:

Using installation environment on MMC/SD card

  • Copy kernel.img, ramdisk.img and bootscr.img from Linux package for CM-T3730 to the root directory on the first partition of the MMC/SD card. Note, the partition must be FAT (16 or 32) formatted.
  • Insert the MMC/SD card into the micro SD socket (P5) on the CM-T3730 module, or the SD socket (P13) on the SB-T35 depending on your modules configuration.
  • Use the following U-boot commands to boot the installation environment on the CM-T3730:
CM-T3x # mmc rescan
CM-T3x # fatload mmc 0:1 80400000 bootscr.img
CM-T3x # source 80400000

Using installation environment from TFTP server

  • Connect the CM-T3730 Ethernet port to your local network.
  • Put kernel.img, ramdisk.img and bootscr.img from Linux package for CM-T3730 to a location accessible by the TFTP server:
    - On Windows machine: copy kernel.img, ramdisk.img and bootscr.img to the same folder and point the TFTP server to that folder
    - On Linux machine: copy kernel.img, ramdisk.img and bootscr.img to TFTP server root directory, usually /tftpboot or /tftproot.
  • You can use U-boot dhcp command to obtain IP address
CM-T3x # dhcp
or manually set ipaddr environment variable:
CM-T3x # setenv ipaddr <CM-T3730 ip address>
  • Set serverip environment variable and save the new environment:
CM-T3x # setenv serverip <host ip address>
CM-T3x # saveenv
  • Use the following U-boot command to boot Linux on CM-T3730:
CM-T3x # tftp 80400000 bootscr.img && source 80400000

Install Kernel and Angstrom Linux Images

After the ramdisk image is loaded the Linux login prompt will appear. Login as root into the system.

compulab login: root

Mount the installation source media

The next step is installing the kernel and Angstorm Linux images. The following media can be used as a source for installation:

Mount an MMC/SD Card
  • Copy the angstrom-image-cm-t3730.ubi and the uImage-cm-t3730 from the Linux package for CM-T3730 to the root directory of any partition on the MMC/SD card. The partition can be formatted either ext2/3/4 or FAT file system.
  • Insert the MMC/SD card into the SD socket (P13) on the SB-T35.
  • The MMC/SD card is mounted automatically under /media/mmcblk0pX. Where X is the partition number.
  • If for some reason the MMC/SD card hasn't been mounted automatically, use the following mount command:
root@compulab:~# mkdir -p /media/mmcblk0pX && mount /dev/mmcblk0pX /media/mmcblk0pX
Mount a USB Storage Device
  • Copy the angstrom-image-cm-t3730.ubi and the uImage-cm-t3730 from Linux package for CM-T3730 to the root directory of any partition on the USB storage device.
  • Plug the USB storage device to any port on the dual USB host connector (P17) on the SB-T35.
  • The USB device is mounted automatically under /media/sdXY. Where X is the device letter and Y is the partition number.
  • If for some reason the USB storage device hasn't been mounted automatically, use the following mount command:
root@compulab:~# mkdir -p /media/sdXY && mount /dev/sdXY /media/sdXY
Mount an NFS drive
  • Connect the CM-T3730 Ethernet port (connector P16 or P18 on the SB-T35) to your local network.
  • Copy the angstrom-image-cm-t3730.ubi and the uImage-cm-t3730 from the Linux package for CM-T3730 to a directory exported through NFS.
  • During Ramdisk image booting the CM-T3730 attempts to obtain an IP address using DHCP. If from some reason the IP address has not been obtained, use the following commands to obtain IP address for the CM-T3730:
    • If P18 Ethernet port is connected (CM-T3730 SMSC Ethernet controller is used):
      export eth_device=smsc911x.0
    • If P16 Ethernet port is connected (SB-T35 SMSC Ethernet controller is used):
      export eth_device=smsc911x.1
    • Obtain IP using DHCP:
      root@compulab:~#  ifup `basename /sys/devices/platform/$eth_device/net/eth?`
    • If you do not have a DHCP server, you can set a static IP address using ifconfig:
      root@compulab:~#  ifconfig `basename /sys/devices/platform/$eth_device/net/eth?` <ip address>
  • Mount the NFS share containing the uImage-cm-t3730 and the angstrom-image-cm-t3730.ubi files:
root@compulab:~#  mount -o nolock <host ip>:/path/to/nfs/share /mnt/net

Install Images

Once the ramdisk image is loaded and the media containing the CM-T3730 Kernel and Angstrom Linux images is mounted, the installation can be done on either of the following:

Install on the NAND flash

The installation on the NAND flash can be done using the mounted media containing the CM-T3730 Kernel and Angstorm Linux images.

  • In this section the term /mount/point can be either of the following:
    • /media/mmcblk0pX if MMC/SD card is used, where X is the partition number.
    • /media/sdXY if USB storage is used, where X is the USB drive letter and Y is the partition number.
    • /mnt/net if NFS drive is used.
  • Format the NAND flash kernel partition and write the kernel image onto it:
root@compulab:~# flash_erase /dev/mtd3 0 0
root@compulab:~# nandwrite -p /dev/mtd3 /mount/point/uImage-cm-t3730
  • Format the NAND flash root filesystem partition and write Angstorm filesystem image onto it:
root@compulab:~# ubiformat -O 2048 /dev/mtd4 -f /mount/point/angstrom-image-cm-t3730.ubi
Install on the Micro SD Card
  • In this subsection the term /mount/point can be:
    • /mnt/net if NFS is used
    • /media/sdXY if USB storage is used, where X is the USB drive letter and Y is the partition number.
  • Make sure the micro SD card first (FAT) partition is mounted under the /media/mmcblk0p1:
root@compulab:~# cat /proc/mounts | grep -c mmcblk0p1
1
  • Copy the uImage-cm-t3730 to the micro SD card first (FAT) partition:
root@compulab:~# cp /mount/point/uImage-cm-t3730 /media/mmcblk0p1/
  • Unmount the micro SD card first (FAT) partition
root@compulab:~# umount /dev/mmcblk0p1
  • Create an additional partition for the Linux file system on the micro SD card:
root@compulab:~# echo -e "n\np\n2\n\n\nw\neof\n" | fdisk /dev/mmcblk0
  • Format the new partition with ext4 filesystem:
root@compulab:~# mkfs.ext4 /dev/mmcblk0p2
  • Mount the new micro SD card partition:
root@compulab:~# mkdir -p /media/mmcblk0p2 && mount /dev/mmcblk0p2 /media/mmcblk0p2/
  • Extract the content of angstrom-image-cm-t3730.tar.bz2 onto that partition:
root@compulab:~# tar -xvpf /mount/point/angstrom-image-cm-t3730.tar.bz2 -C /media/mmcblk0p2 && sync

Install Images on the micro SD Card using Linux Host workstation

Installation of Linux kernel and Angstrom user space on micro SD card can be also performed using Linux Host workstation.

  • Obtain a Linux PC workstation with a micro SD card reader.
  • Micro SD card must be prepared as described in the CM-T3x: U-Boot: Firmware Overview article. Micro SD card, supplied with the CM-T3730 Evaluation kit, already contains first (FAT) partition with the bootloader.
  • Plug the micro SD card, supplied with the CM-T3730 Evaluation kit, into the micro SD card reader attached to the desktop workstation.
  • Depending on the desktop system setup, following steps might require super user privileges.
  • The following steps assume that the micro SD card is /dev/sde (this might change depending on the desktop system setup) and the desktop system used does not perform automount.
  • Mount the first (boot) partition of the micro SD card:
sudo mkdir -p /media/boot && sudo mount /dev/sde1 /media/boot/
  • Copy the uImage-cm-t3730 to the micro SD card first (FAT) partition:
sudo cp cm-t3730-linux/images/uImage-cm-t3730 /media/boot/
  • Unmount the micro SD card first (FAT) partition
sudo umount /dev/sde1
  • Create an additional partition for the Linux file system on the micro SD card:
echo -e "n\np\n2\n\n\nw\neof\n" | sudo fdisk /dev/sde -u=cylinders
  • Format the second micro SD card partition with ext4 filesystem:
sudo mkfs.ext4 /dev/sde2
  • Mount the second micro SD card partition:
sudo mkdir -p /media/rootfs && sudo mount /dev/sde2 /media/rootfs/
  • Extract the content of the angstrom-image-cm-t3730.tar.bz2 onto that partition:
sudo tar -xpvf cm-t3730-linux/images/angstrom-image-cm-t3730.tar.bz2 -C /media/rootfs && sync
  • Unmount all micro SD card partitions:
sudo umount /dev/sde1; sudo umount /dev/sde2
  • Remove the micro SD card from the SD card reader and install it in the CM-T3730 micro SD card socket (P5).
  • Continue to the After Installation section.

After Installation

  • Make sure there is no MMC/SD card in the SD socket (P13) on SB-T35.
  • Reset the system.
Admolition note.png If the boot settings of your CM-T3730 are different than default, you may need to press and hold ^C while turning the CM-T3730 on, in order to get command prompt.
  • CM-T3730 will boot Angstrom Linux from the internal NAND flash or the micro SD card.
Admolition note.png The first boot might take longer time because Angstrom Linux performs a lot of one-time initialization tasks.

Boot from the NAND flash

  • Set the bootargs environment variable:
CM-T3x # setenv bootargs 'ubi.mtd=rootfs,2048 root=ubi0:rootfs rw rootfstype=ubifs console=ttyO2,115200n8'
  • To boot Linux, type:
CM-T3x # nboot 82000000 nand0 2a0000; bootm


Admolition note.png The Linux kernel for CM-T3730 is shipped with built-in command line parameters. Setting U-Boot bootargs environment variable overrides default kernel command line.
  • For Linux automatic boot, type:
CM-T3x # setenv bootdelay 3
CM-T3x # setenv bootcmd "nboot 82000000 nand0 2a0000; bootm"
CM-T3x # saveenv
CM-T3x # boot

Boot from the Micro SD Card

  • Reset the system.
  • The boot from micro SD card will start automatically with default U-Boot environment.

Configure video output

Select LCD model

CM-T3730 Evaluation Kit can be equipped with either of the following LCD panels: Toppoly TDO35S or DataImage SCF0403852GGU04. Toppoly TDO35S is registered as default OMAP DSS LCD device.

To set DataImage LCD as OMAP DSS LCD device add the following boot option to the kernel command line parameters:

cm_t3x_lcd=dataimage

Select video out

Default CM-T3730 video output device is LCD. Other video output devices can be used as well:

  • DVI output can be enabled by adding the following boot options to the kernel command line parameters:
omapfb.vram=1:4M vram=8M omapfb.mode=dvi:1024x768-24@60 omapdss.def_disp=dvi
  • TV output can be enabled by adding the following boot options to the kernel command line parameters:
omapfb.mode=tv:ntsc omapdss.def_disp=tv

See also