CM-T3530: Linux: Getting started

From Compulab Mediawiki
Revision as of 13:33, 28 October 2013 by Grinberg (talk | contribs) (Install Images on the MMC/SD Card using Linux Host workstation)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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-T3530 (link below).
  • Download the Linux package for CM-T3530 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-T3530 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-T3530 are different than default, you may need to press and hold Ctrl-C while turning the CM-T3530 on, in order to get command prompt.

Boot into the installation environment (ramdisk)

The first step in CM-T3530 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-T3530 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 SD card socket (P13) on the SB-T35.
  • Use the following U-boot commands to boot the installation environment on the CM-T3530:
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-T3530 Ethernet port to your local network.
  • Put kernel.img, ramdisk.img and bootscr.img from Linux package for CM-T3530 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-T3530 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-T3530:
CM-T3x # tftp 80400000 bootscr.img && source 80400000

Install Kernel and Angstrom Linux Images

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-t3530.ubi, angstrom-image-cm-t3530.tar.bz2 and the uImage-cm-t3530 from the Linux package for CM-T3530 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-t3530.ubi, angstrom-image-cm-t3530.tar.bz2 and the uImage-cm-t3530 from Linux package for CM-T3530 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-T3530 Ethernet port (connector P16 or P18 on the SB-T35) to your local network.
  • Copy the angstrom-image-cm-t3530.ubi, angstrom-image-cm-t3530.tar.bz2 and the uImage-cm-t3530 from the Linux package for CM-T3530 to a directory exported through NFS.
  • During Ramdisk image booting the CM-T3530 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-T3530:
    • If P18 Ethernet port is connected (CM-T3530 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-t3530 and the angstrom-image-cm-t3530.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-T3530 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-T3530 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-t3530
  • 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-t3530.ubi
Install on the MMC/SD Card
  • MMC/SD card must be prepared as described in the CM-T3x: Linux: Booting from MMC/SD card article.
  • 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 MMC/SD card first (FAT) partition is mounted under the /media/mmcblk0p1:
root@compulab:~# cat /proc/mounts | grep -c mmcblk0p1
1
  • Copy the uImage-cm-t3530 to the MMC/SD card first (FAT) partition:
root@compulab:~# cp /mount/point/uImage-cm-t3530 /media/mmcblk0p1/
  • Unmount the MMC/SD card first (FAT) partition
root@compulab:~# umount /dev/mmcblk0p1
  • Create an additional partition for the Linux file system on the MMC/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 MMC/SD card partition:
root@compulab:~# mkdir -p /media/mmcblk0p2 && mount /dev/mmcblk0p2 /media/mmcblk0p2/
  • Extract the content of angstrom-image-cm-t3530.tar.bz2 onto that partition:
root@compulab:~# tar -xvpf /mount/point/angstrom-image-cm-t3530.tar.bz2 -C /media/mmcblk0p2 && sync

Install Images on the MMC/SD Card using Linux Host workstation

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

  • Obtain a Linux PC workstation with a MMC/SD card reader.
  • MMC/SD card must be prepared as described in the CM-T3x: Linux: Booting from MMC/SD card article.
  • Plug the MMC/SD card, supplied with the CM-T3530 Evaluation kit, into the MMC/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 MMC/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 MMC/SD card:
sudo mkdir -p /media/boot && sudo mount /dev/sde1 /media/boot/
  • Copy the uImage-cm-t3530 to the MMC/SD card first (FAT) partition:
sudo cp cm-t3530-linux/images/uImage-cm-t3530 /media/boot/
  • Unmount the MMC/SD card first (FAT) partition
sudo umount /dev/sde1
  • Create an additional partition for the Linux file system on the MMC/SD card:
echo -e "n\np\n2\n\n\nw\neof\n" | sudo fdisk /dev/sde
  • Format the second MMC/SD card partition with ext4 filesystem:
sudo mkfs.ext4 /dev/sde2
  • Mount the second MMC/SD card partition:
sudo mkdir -p /media/rootfs && sudo mount /dev/sde2 /media/rootfs/
  • Extract the content of the angstrom-image-cm-t3530.tar.bz2 onto that partition:
sudo tar -xpvf cm-t3530-linux/images/angstrom-image-cm-t3530.tar.bz2 -C /media/rootfs && sync
  • Unmount all MMC/SD card partitions:
sudo umount /dev/sde1; sudo umount /dev/sde2

After Installation

  • Reset the system.
Admolition note.png If the boot settings of your CM-T3530 are different than default, you may need to press and hold ^C while turning the CM-T3530 on, in order to get command prompt.
  • CM-T3530 will boot Angstrom Linux from the internal NAND flash or the MMC/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-T3530 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 MMC/SD Card

  • Install SB-T35 E6 jumper or hold SW-1 (SD Boot) button.
  • Reset the system.
  • The boot from MMC/SD card will start automatically with default U-Boot environment.

Configure video output

Select LCD model

CM-T3530 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-T3530 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