Parallella Linaro Nano

Revision as of 15:03, 6 April 2014 by Shodruky (talk | contribs) (How to Install X environment to minimal headless system)
Jump to: navigation, search

How to Install Linaro nano 14.03 (minimal headless system)

Copied here from Shodruk's forum post.


Ubuntu PC, SD Card, SD Card adapter, Parallella

On the PC's terminal:

Download the files

wget -O rel.14.02.06.tgz

md5sum rel.14.02.06.tgz
23eb538fd58d684b5a64236e81275dc8  rel.14.02.06.tgz
md5sum linaro-saucy-nano-20140323-649.tar.gz
0bb79433fc2018c1b5ff6da9d9f970c7  linaro-saucy-nano-20140323-649.tar.gz

Determine the device name of the SD Card

sudo parted -l

In case of a 2GB SD Card:

Model: SD/MM Reader
Disk /dev/sdX: 2042MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number Start End Size Type File system Flags
1 1049kB 49.3MB 48.2MB primary fat16
2 49.3MB 2042MB 1992MB primary ext4

"/dev/sdX" is the device name of the SD Card
(e.g. sdb, sdc, sdd, sde, mmcblk0, mmcblk1, ... and, Beware! Don't partition HDD!!!)

Partition the SD Card

Unmount the SD Card if it was automounted, then,

sudo parted -a optimal /dev/sdX

(parted) print

If there are two partitions on the SD Card,

Number Start End Size Type File system Flags
1 1049kB 99.6MB 98.6MB primary fat16 lba
2 99.6MB 2042MB 1942MB primary

Delete all existing partition

(parted) rm 2
(parted) rm 1

Make new partitions

(parted) mkpart p fat32 2048s 100m
(parted) mkpart p ext2 100m -1m
(parted) q

Check the partition

sudo fdisk -l /dev/sdX
Device Boot Start End Blocks Id System
/dev/sdX1 2048 194559 96256 c W95 FAT32 (LBA)
/dev/sdX2 194560 3987455 1896448 83 Linux

Format the partition

sudo mkfs.vfat -n BOOT /dev/sdX1
sudo mkfs.ext4 -L rootfs /dev/sdX2

Extract rootfs

sudo mkdir /tmp/mnt1 /tmp/mnt2
sudo mount /dev/sdX2 /tmp/mnt1
sudo tar --strip-components=1 -C /tmp/mnt1 -xzpf linaro-saucy-nano-20140323-649.tar.gz
sudo sync
sudo umount /tmp/mnt1

Extract BOOT partition

sudo mount -o umask=000 -t vfat /dev/sdX1 /tmp/mnt2
sudo tar -C /tmp/mnt2 -xzf rel.14.02.06.tgz

(The warning "Cannot change ownership..." can be ignored.)

sudo sync
sudo umount /tmp/mnt2

Edit some configuration files

Preventing to install unnecessary packages

sudo mount /dev/sdX2 /tmp/mnt1
sudo nano /tmp/mnt1/etc/apt/apt.conf.d/00InstallRecommends

(Edit and save.)

APT::Install-Recommends "false";

Network configuration

If your router's IP address is and the Parallella's IP address is,

sudo nano /tmp/mnt1/etc/network/interfaces

(Edit and save.)

source-directory /etc/network/interfaces.d

auto lo
iface lo inet loopback

auto eth0

# static network settings
iface eth0 inet static
   up sleep 3; mii-tool -F 1000baseT-FD

# If you prefer DHCP, comment out the above 5 lines, uncomment the below.
#iface eth0 inet dhcp
sudo nano /tmp/mnt1/etc/resolv.conf
sudo sync
sudo umount /tmp/mnt1

Insert the SD Card to the Parallella,
Wait 30 seconds,
You'll see a root terminal.
If it doesn't boot, press the reset button and try again.

Install openssh-server

On the Parallella:

apt-get update
apt-get install openssh-server

Now you can login the Parallella from your PC.
On the PC,

ssh linaro@
password: linaro

Create device nodes

sudo mknod -m 600 /dev/ttyPS0 c 251 0
sudo chown root:tty /dev/ttyPS0

Let's see how lightweight it is

             total       used       free     shared    buffers     cached
Mem:        992452      38356     954096          0       1816      13076
-/+ buffers/cache:      23464     968988
Swap:            0          0          0

The memory consumption is only 23MB !! :D

Filesystem     1K-blocks   Used Available Use% Mounted on
/dev/root       30348232 311108  28472452   2% /
none               99248     68     99180   1% /run
none                5120      0      5120   0% /run/lock
none              496224      0    496224   0% /run/shm
none              102400      0    102400   0% /run/user

The disk consumption is only 304MB !!

Additional Installation

Recommended Packages

sudo apt-get install vim-tiny nano fake-hwclock wget less unzip

Epiphany SDK

sudo apt-get install build-essential man-db manpages-dev git libmpc-dev libmpc2 libgmp3-dev libmpfr-dev ca-certificates


md5sum esdk. 
52e3b60185c882c7641115993b6a72b5  esdk.
sudo mkdir -p /opt/adapteva/
sudo tar xzf esdk. -C /opt/adapteva/
sudo ln -sTf /opt/adapteva/esdk. /opt/adapteva/esdk

touch ~/.nano_history
nano ~/.bashrc

(add to the bottom of the file)


Disable sshd hostname look-up

(To fix slow SSH connections)

sudo nano /etc/ssh/sshd_config

(add to the bottom of the file)

UseDNS no

Enable devtmpfs

(and disable serial console: they are incompatible)

sudo mknod -m 660 /dev/mmcblk0 b 179 0
sudo mknod -m 660 /dev/mmcblk0p1 b 179 1
sudo mknod -m 660 /dev/mmcblk0p2 b 179 2

sudo apt-get install device-tree-compiler

sudo mount /dev/mmcblk0p1 /mnt
cd /mnt
sudo cp devicetree.dtb devicetree.dtb.bak

sudo wget

sudo mv zynq-parallella.dts devicetree.dts
sudo nano devicetree.dts

(Search and Edit the "bootargs" line)

bootargs = "root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait devtmpfs.mount=1";
sudo dtc -I dts devicetree.dts -O dtb -o devicetree.dtb
cd /
sudo reboot

That's all! Below are installation instructions of lightweight desktop environment.

How to Install lightweight X environment

Demo video:

Install LXDE

sudo apt-get install lxde xserver-xorg xinit alsa-base alsa-utils libasound2-plugins feh galculator xserver-xorg-video-fbdev xserver-xorg-video-modesetting x11-xserver-utils

Disable PCManFM Desktop mode

(for faster displaying)

sudo nano /etc/xdg/lxsession/LXDE/autostart

(Delete the line "@pcmanfm --desktop --profile LXDE" and save.)

Set a background image

Put a background image file in your home directory.
(e.g. /home/linaro/background.png)

sudo nano /etc/xdg/lxsession/LXDE/autostart

(Append this line to the bottom of the file)

@feh --bg-scale /home/linaro/background.png

xorg configuration

sudo nano /etc/X11/xorg.conf
Section "Device"
  Identifier "Card0"
  Driver "modesetting"
  Option "ShadowFB" "True"
  Option "SWCursor" "True"
  Option "HWCursor" "False"
Section "Screen"
  Identifier "Screen0"
  Device "Card0"
  SubSection "Display"
#---- Uncomment your preferred mode ----
    #Modes "1920x1200"
    #Modes "1920x1080"
    #Modes "1280x720"
    #Modes "640x480"

ALSA configuration

nano ~/.asoundrc

(copy, paste and save)

pcm.!default {
 type rate
 slave {
  pcm "hw:0"
  rate 48000
 converter "samplerate"
sudo reboot

How to login as a normal user

After booting, press Ctrl+Alt+F2

login: linaro
Password: linaro

Or, (easier way)
In the root prompt,

su linaro

Start X environment


Install Firefox

sudo apt-get install firefox

Using a RAM disk for cache

sudo nano /etc/fstab

(Add this line to the bottom of the file)

tmpfs /home/linaro/.cache tmpfs noatime,nodev,nosuid,size=100M 0 0

Limit the cache size of Firefox

On Firefox,
MENU->Edit->Preferences->Advanced->Network->Cached Web Content
[v]Override automatic cache management
Limit cache to [50] MB of space

More responsive mouse wheel

On Firefox,
Type "about:config" in URL bar,
mousewheel.acceleration.start : Double click, set [2]

Install media player

sudo apt-get install smplayer

Launch smplayer,
Options->Preferences->Video->Output driver: x11
Options->Preferences->Audio->Output driver: alsa