Difference between revisions of "Parallella Linaro Nano"
(Created page with "= How to Install Linaro nano 14.01 (minimal headless system) = Copied here from [http://forums.parallella.org/viewtopic.php?f=9&t=844&start=10#p5989 Shodruk's forum post]. ==...") |
(14.01->14.03, LXDE) |
||
Line 1: | Line 1: | ||
− | = How to Install Linaro nano 14. | + | = How to Install Linaro nano 14.03 (minimal headless system) = |
Copied here from [http://forums.parallella.org/viewtopic.php?f=9&t=844&start=10#p5989 Shodruk's forum post]. | Copied here from [http://forums.parallella.org/viewtopic.php?f=9&t=844&start=10#p5989 Shodruk's forum post]. | ||
Line 11: | Line 11: | ||
<pre> | <pre> | ||
− | + | wget -O rel.14.02.06.tgz https://github.com/parallella/parallella-bin/blob/master/rel.14.02.06.tgz?raw=true | |
− | + | wget http://releases.linaro.org/14.03/ubuntu/saucy-images/nano/linaro-saucy-nano-20140323-649.tar.gz | |
+ | </pre> | ||
+ | |||
+ | <pre>md5sum rel.14.02.06.tgz</pre> | ||
− | + | <blockquote> | |
+ | <pre> | ||
+ | 23eb538fd58d684b5a64236e81275dc8 rel.14.02.06.tgz | ||
</pre> | </pre> | ||
+ | </blockquote> | ||
− | + | <pre>md5sum linaro-saucy-nano-20140323-649.tar.gz</pre> | |
+ | <blockquote> | ||
<pre> | <pre> | ||
− | + | 0bb79433fc2018c1b5ff6da9d9f970c7 linaro-saucy-nano-20140323-649.tar.gz | |
+ | </pre> | ||
+ | </blockquote> | ||
− | |||
− | |||
== Determine the device name of the SD Card == | == Determine the device name of the SD Card == | ||
<pre> | <pre> | ||
− | + | sudo parted -l | |
</pre> | </pre> | ||
In case of a 2GB SD Card: | In case of a 2GB SD Card: | ||
+ | <blockquote> | ||
<pre> | <pre> | ||
Model: SD/MM Reader | Model: SD/MM Reader | ||
Line 44: | Line 52: | ||
2 49.3MB 2042MB 1992MB primary ext4 | 2 49.3MB 2042MB 1992MB primary ext4 | ||
</pre> | </pre> | ||
+ | </blockquote> | ||
− | "/dev/sdX" is the device name of the SD Card | + | "/dev/sdX" is the device name of the SD Card<br /> |
− | (e.g. sdb, sdc, sdd, sde, ... and, Don't partition HDD!!!) | + | (e.g. sdb, sdc, sdd, sde, mmcblk0, mmcblk1, ... and, Beware! Don't partition HDD!!!) |
== Partition the SD Card == | == Partition the SD Card == | ||
Line 53: | Line 62: | ||
<pre> | <pre> | ||
− | + | sudo parted -a optimal /dev/sdX | |
(parted) print | (parted) print | ||
Line 60: | Line 69: | ||
If there are two partitions on the SD Card, | If there are two partitions on the SD Card, | ||
+ | <blockquote> | ||
<pre> | <pre> | ||
Number Start End Size Type File system Flags | Number Start End Size Type File system Flags | ||
Line 65: | Line 75: | ||
2 99.6MB 2042MB 1942MB primary | 2 99.6MB 2042MB 1942MB primary | ||
</pre> | </pre> | ||
+ | </blockquote> | ||
Delete all existing partition | Delete all existing partition | ||
Line 84: | Line 95: | ||
<pre> | <pre> | ||
− | + | sudo fdisk -l /dev/sdX | |
</pre> | </pre> | ||
+ | <blockquote> | ||
<pre> | <pre> | ||
Device Boot Start End Blocks Id System | Device Boot Start End Blocks Id System | ||
Line 92: | Line 104: | ||
/dev/sdX2 194560 3987455 1896448 83 Linux | /dev/sdX2 194560 3987455 1896448 83 Linux | ||
</pre> | </pre> | ||
+ | </blockquote> | ||
Format the partition | Format the partition | ||
<pre> | <pre> | ||
− | + | sudo mkfs.vfat -n BOOT /dev/sdX1 | |
− | + | sudo mkfs.ext4 -L rootfs /dev/sdX2 | |
</pre> | </pre> | ||
Line 103: | Line 116: | ||
<pre> | <pre> | ||
− | + | 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 | |
</pre> | </pre> | ||
Line 113: | Line 126: | ||
<pre> | <pre> | ||
− | + | sudo mount -o umask=000 -t vfat /dev/sdX1 /tmp/mnt2 | |
− | + | sudo tar -C /tmp/mnt2 -xzf rel.14.02.06.tgz | |
− | + | </pre> | |
− | + | (The warning "Cannot change ownership..." can be ignored.) | |
− | + | <pre> | |
− | + | sudo sync | |
− | + | sudo umount /tmp/mnt2 | |
− | |||
− | |||
</pre> | </pre> | ||
== Edit some configuration files == | == Edit some configuration files == | ||
+ | ==== Preventing to install unnecessary packages ==== | ||
<pre> | <pre> | ||
− | + | sudo mount /dev/sdX2 /tmp/mnt1 | |
− | + | sudo nano /tmp/mnt1/etc/apt/apt.conf.d/00InstallRecommends | |
</pre> | </pre> | ||
− | + | (Edit and save.) | |
+ | <blockquote> | ||
<pre> | <pre> | ||
APT::Install-Recommends "false"; | APT::Install-Recommends "false"; | ||
</pre> | </pre> | ||
+ | </blockquote> | ||
− | + | ==== Network configuration ==== | |
− | |||
− | Network configuration | ||
If your router's IP address is 192.168.0.1 and the Parallella's IP address is 192.168.0.2, | If your router's IP address is 192.168.0.1 and the Parallella's IP address is 192.168.0.2, | ||
<pre> | <pre> | ||
− | + | sudo nano /tmp/mnt1/etc/network/interfaces | |
</pre> | </pre> | ||
− | + | (Edit and save.) | |
+ | <blockquote> | ||
<pre> | <pre> | ||
source-directory /etc/network/interfaces.d | source-directory /etc/network/interfaces.d | ||
Line 152: | Line 165: | ||
auto eth0 | auto eth0 | ||
+ | |||
+ | # static network settings | ||
iface eth0 inet static | iface eth0 inet static | ||
address 192.168.0.2 | address 192.168.0.2 | ||
Line 157: | Line 172: | ||
gateway 192.168.0.1 | gateway 192.168.0.1 | ||
up sleep 3; mii-tool -F 1000baseT-FD | 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 | ||
</pre> | </pre> | ||
+ | </blockquote> | ||
<pre> | <pre> | ||
− | + | sudo nano /tmp/mnt1/etc/resolv.conf | |
</pre> | </pre> | ||
+ | <blockquote> | ||
<pre> | <pre> | ||
nameserver 192.168.0.1 | nameserver 192.168.0.1 | ||
</pre> | </pre> | ||
+ | </blockquote> | ||
<pre> | <pre> | ||
− | + | sudo sync | |
− | + | sudo umount /tmp/mnt1 | |
</pre> | </pre> | ||
− | + | Insert the SD Card to the Parallella,<br /> | |
− | + | power-on,<br /> | |
− | + | Wait 30 seconds,<br /> | |
− | + | You'll see a root terminal.<br /> | |
− | + | If it doesn't boot, press the reset button and try again.<br /> | |
− | + | ||
− | + | ==== Install openssh-server ==== | |
On the Parallella: | On the Parallella: | ||
<pre> | <pre> | ||
− | + | apt-get update | |
− | + | apt-get install openssh-server | |
+ | sync | ||
</pre> | </pre> | ||
− | Now you can login the Parallella from your PC. | + | Now you can login the Parallella from your PC.<br /> |
− | On the PC | + | On the PC, |
<pre> | <pre> | ||
− | + | ssh linaro@192.168.0.2 | |
password: linaro | password: linaro | ||
</pre> | </pre> | ||
− | + | ==== Create device nodes ==== | |
<pre> | <pre> | ||
− | + | sudo mknod -m 600 /dev/ttyPS0 c 251 0 | |
+ | sudo chown root:tty /dev/ttyPS0 | ||
</pre> | </pre> | ||
+ | |||
+ | ==== Let's see how lightweight it is ==== | ||
<pre> | <pre> | ||
− | + | free | |
− | |||
− | |||
− | |||
</pre> | </pre> | ||
− | + | <blockquote> | |
+ | <pre> | ||
+ | total used free shared buffers cached | ||
+ | Mem: 992452 38356 954096 0 1816 13076 | ||
+ | -/+ buffers/cache: 23464 968988 | ||
+ | Swap: 0 0 0 | ||
+ | </pre> | ||
+ | </blockquote> | ||
+ | |||
+ | The memory consumption is only 23MB !! :D | ||
<pre> | <pre> | ||
− | + | df | |
</pre> | </pre> | ||
+ | <blockquote> | ||
<pre> | <pre> | ||
− | Filesystem 1K-blocks Used Available Use% Mounted on | + | Filesystem 1K-blocks Used Available Use% Mounted on |
− | /dev/root | + | /dev/root 30348232 311108 28472452 2% / |
− | none 99248 | + | none 99248 68 99180 1% /run |
− | none 5120 0 5120 0% /run/lock | + | none 5120 0 5120 0% /run/lock |
− | none 496224 0 496224 0% /run/shm | + | none 496224 0 496224 0% /run/shm |
− | none 102400 0 102400 0% /run/user | + | none 102400 0 102400 0% /run/user |
</pre> | </pre> | ||
+ | </blockquote> | ||
− | + | The disk consumption is only 304MB !! | |
+ | |||
+ | == Additional Installation == | ||
+ | |||
+ | ==== Recommended Packages ==== | ||
<pre> | <pre> | ||
− | + | sudo apt-get install vim-tiny nano fake-hwclock wget less unzip | |
</pre> | </pre> | ||
+ | |||
+ | ==== Epiphany SDK ==== | ||
<pre> | <pre> | ||
− | + | sudo apt-get install build-essential man-db manpages-dev git libmpc-dev libmpc2 libgmp3-dev libmpfr-dev ca-certificates | |
− | + | ||
− | + | wget ftp://ftp.parallella.org/esdk/esdk.5.13.09.10_linux_armv7l.tgz | |
− | + | ||
− | + | md5sum esdk.5.13.09.10_linux_armv7l.tgz | |
− | + | </pre> | |
− | + | ||
− | + | <blockquote> | |
− | + | <pre> | |
− | + | 52e3b60185c882c7641115993b6a72b5 esdk.5.13.09.10_linux_armv7l.tgz | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</pre> | </pre> | ||
+ | </blockquote> | ||
<pre> | <pre> | ||
− | + | sudo mkdir -p /opt/adapteva/ | |
+ | sudo tar xzf esdk.5.13.09.10_linux_armv7l.tgz -C /opt/adapteva/ | ||
+ | sudo ln -sTf /opt/adapteva/esdk.5.13.09.10 /opt/adapteva/esdk | ||
+ | |||
+ | touch ~/.nano_history | ||
+ | nano ~/.bashrc | ||
</pre> | </pre> | ||
+ | (add to the bottom of the file) | ||
+ | <blockquote> | ||
<pre> | <pre> | ||
− | + | EPIPHANY_HOME=/opt/adapteva/esdk | |
− | + | . ${EPIPHANY_HOME}/setup.sh | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</pre> | </pre> | ||
+ | </blockquote> | ||
+ | |||
+ | ==== Disable sshd hostname look-up ==== | ||
+ | (To fix slow SSH connections) | ||
+ | <pre> | ||
+ | sudo nano /etc/ssh/sshd_config | ||
+ | </pre> | ||
+ | (add to the bottom of the file) | ||
+ | <blockquote> | ||
+ | <pre> | ||
+ | UseDNS no | ||
+ | </pre> | ||
+ | </blockquote> | ||
+ | |||
+ | ==== Enable devtmpfs ==== | ||
+ | (and disable serial console: they are incompatible) | ||
+ | <pre> | ||
+ | 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 https://raw.githubusercontent.com/parallella/parallella-linux-adi/xcomm_zynq/arch/arm/boot/dts/zynq-parallella.dts | ||
+ | |||
+ | sudo mv zynq-parallella.dts devicetree.dts | ||
+ | sudo nano devicetree.dts | ||
+ | </pre> | ||
+ | (Search and Edit the "bootargs" line) | ||
+ | <blockquote> | ||
+ | <pre> | ||
+ | bootargs = "root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait devtmpfs.mount=1"; | ||
+ | </pre> | ||
+ | </blockquote> | ||
+ | |||
+ | <pre> | ||
+ | sudo dtc -I dts devicetree.dts -O dtb -o devicetree.dtb | ||
+ | cd / | ||
+ | sync | ||
+ | sudo reboot | ||
+ | </pre> | ||
+ | |||
+ | That's all! Below are installation instructions of lightweight desktop environment. | ||
+ | |||
+ | = How to Install X environment to minimal headless system = | ||
+ | |||
+ | Demo video: | ||
+ | http://youtu.be/6gpM57qB-I8 | ||
+ | |||
+ | ==== Install LXDE ==== | ||
+ | |||
+ | <pre> | ||
+ | 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 | ||
+ | </pre> | ||
+ | |||
+ | ==== Disable PCManFM Desktop mode ==== | ||
+ | (for faster displaying) | ||
+ | <pre> | ||
+ | sudo nano /etc/xdg/lxsession/LXDE/autostart | ||
+ | </pre> | ||
+ | (Delete the line "@pcmanfm --desktop --profile LXDE" and save.) | ||
+ | |||
+ | ==== Set a background image ==== | ||
+ | |||
+ | Put a background image file in your home directory.<br /> | ||
+ | (e.g. /home/linaro/background.png)<br /> | ||
+ | |||
+ | <pre> | ||
+ | sudo nano /etc/xdg/lxsession/LXDE/autostart | ||
+ | </pre> | ||
+ | (Append this line to the bottom of the file) | ||
+ | |||
+ | <blockquote> | ||
+ | <pre> | ||
+ | @feh --bg-scale /home/linaro/background.png | ||
+ | </pre> | ||
+ | </blockquote> | ||
+ | |||
+ | ==== xorg configuration ==== | ||
+ | |||
+ | <pre> | ||
+ | sudo nano /etc/X11/xorg.conf | ||
+ | </pre> | ||
+ | |||
+ | <blockquote> | ||
+ | <pre> | ||
+ | Section "Device" | ||
+ | Identifier "Card0" | ||
+ | Driver "modesetting" | ||
+ | Option "ShadowFB" "True" | ||
+ | Option "SWCursor" "True" | ||
+ | Option "HWCursor" "False" | ||
+ | EndSection | ||
+ | Section "Screen" | ||
+ | Identifier "Screen0" | ||
+ | Device "Card0" | ||
+ | SubSection "Display" | ||
+ | #---- Uncomment your preferred mode ---- | ||
+ | #Modes "1920x1200" | ||
+ | #Modes "1920x1080" | ||
+ | #Modes "1280x720" | ||
+ | #Modes "640x480" | ||
+ | EndSubSection | ||
+ | EndSection | ||
+ | </pre> | ||
+ | </blockquote> | ||
+ | |||
+ | ==== ALSA configuration ==== | ||
+ | |||
+ | <pre> | ||
+ | nano ~/.asoundrc | ||
+ | </pre> | ||
+ | (copy, paste and save) | ||
+ | <blockquote> | ||
+ | <pre> | ||
+ | pcm.!default { | ||
+ | type rate | ||
+ | slave { | ||
+ | pcm "hw:0" | ||
+ | rate 48000 | ||
+ | } | ||
+ | converter "samplerate" | ||
+ | } | ||
+ | </pre> | ||
+ | </blockquote> | ||
+ | |||
+ | <pre> | ||
+ | sync | ||
+ | sudo reboot | ||
+ | </pre> | ||
+ | |||
+ | ==== How to login as a normal user ==== | ||
+ | |||
+ | After booting, press Ctrl+Alt+F2 | ||
+ | <pre> | ||
+ | login: linaro | ||
+ | Password: linaro | ||
+ | </pre> | ||
+ | |||
+ | Or, (easier way)<br /> | ||
+ | In the root prompt,<br /> | ||
+ | <pre> | ||
+ | su linaro | ||
+ | cd | ||
+ | </pre> | ||
+ | |||
+ | ==== Start X environment ==== | ||
+ | |||
+ | <pre> | ||
+ | startx | ||
+ | </pre> | ||
+ | |||
+ | ==== Install Firefox ==== | ||
+ | |||
+ | <pre> | ||
+ | sudo apt-get install firefox | ||
+ | </pre> | ||
+ | |||
+ | ==== Using a RAM disk for cache ==== | ||
+ | |||
+ | <pre> | ||
+ | sudo nano /etc/fstab | ||
+ | </pre> | ||
+ | (Add this line to the bottom of the file) | ||
+ | <blockquote> | ||
+ | <pre> | ||
+ | tmpfs /home/linaro/.cache tmpfs noatime,nodev,nosuid,size=100M 0 0 | ||
+ | </pre> | ||
+ | </blockquote> | ||
+ | |||
+ | ==== Limit the cache size of Firefox ==== | ||
+ | On Firefox,<br /> | ||
+ | MENU->Edit->Preferences->Advanced->Network->Cached Web Content<br /> | ||
+ | [v]Override automatic cache management<br /> | ||
+ | Limit cache to [50] MB of space<br /> | ||
+ | |||
+ | ==== More responsive mouse wheel ==== | ||
+ | On Firefox,<br /> | ||
+ | Type "about:config" in URL bar,<br /> | ||
+ | mousewheel.acceleration.start : Double click, set [2]<br /> | ||
+ | |||
+ | ==== Install media player ==== | ||
+ | |||
+ | <pre> | ||
+ | sudo apt-get install smplayer | ||
+ | </pre> | ||
+ | |||
+ | Launch smplayer,<br /> | ||
+ | Options->Preferences->Video->Output driver: x11<br /> | ||
+ | Options->Preferences->Audio->Output driver: alsa<br /> |
Revision as of 14:47, 6 April 2014
Contents
- 1 How to Install Linaro nano 14.03 (minimal headless system)
- 2 How to Install X environment to minimal headless system
- 2.1 Install LXDE
- 2.2 Disable PCManFM Desktop mode
- 2.3 Set a background image
- 2.4 xorg configuration
- 2.5 ALSA configuration
- 2.6 How to login as a normal user
- 2.7 Start X environment
- 2.8 Install Firefox
- 2.9 Using a RAM disk for cache
- 2.10 Limit the cache size of Firefox
- 2.11 More responsive mouse wheel
- 2.12 Install media player
How to Install Linaro nano 14.03 (minimal headless system)
Copied here from Shodruk's forum post.
Requirements
Ubuntu PC, SD Card, SD Card adapter, Parallella
On the PC's terminal:
Download the files
wget -O rel.14.02.06.tgz https://github.com/parallella/parallella-bin/blob/master/rel.14.02.06.tgz?raw=true wget http://releases.linaro.org/14.03/ubuntu/saucy-images/nano/linaro-saucy-nano-20140323-649.tar.gz
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 192.168.0.1 and the Parallella's IP address is 192.168.0.2,
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 address 192.168.0.2 netmask 255.255.255.0 gateway 192.168.0.1 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
nameserver 192.168.0.1
sudo sync sudo umount /tmp/mnt1
Insert the SD Card to the Parallella,
power-on,
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 sync
Now you can login the Parallella from your PC.
On the PC,
ssh linaro@192.168.0.2 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
free
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
df
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 wget ftp://ftp.parallella.org/esdk/esdk.5.13.09.10_linux_armv7l.tgz md5sum esdk.5.13.09.10_linux_armv7l.tgz
52e3b60185c882c7641115993b6a72b5 esdk.5.13.09.10_linux_armv7l.tgz
sudo mkdir -p /opt/adapteva/ sudo tar xzf esdk.5.13.09.10_linux_armv7l.tgz -C /opt/adapteva/ sudo ln -sTf /opt/adapteva/esdk.5.13.09.10 /opt/adapteva/esdk touch ~/.nano_history nano ~/.bashrc
(add to the bottom of the file)
EPIPHANY_HOME=/opt/adapteva/esdk . ${EPIPHANY_HOME}/setup.sh
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 https://raw.githubusercontent.com/parallella/parallella-linux-adi/xcomm_zynq/arch/arm/boot/dts/zynq-parallella.dts 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 / sync sudo reboot
That's all! Below are installation instructions of lightweight desktop environment.
How to Install X environment to minimal headless system
Demo video: http://youtu.be/6gpM57qB-I8
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" EndSection Section "Screen" Identifier "Screen0" Device "Card0" SubSection "Display" #---- Uncomment your preferred mode ---- #Modes "1920x1200" #Modes "1920x1080" #Modes "1280x720" #Modes "640x480" EndSubSection EndSection
ALSA configuration
nano ~/.asoundrc
(copy, paste and save)
pcm.!default { type rate slave { pcm "hw:0" rate 48000 } converter "samplerate" }
sync 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 cd
Start X environment
startx
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