Parallella Linaro Nano
Revision as of 12:05, 10 February 2014 by Carrierdetect (talk | contribs) (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]. ==...")
Contents
How to Install Linaro nano 14.01 (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 ftp://ftp.parallella.org/parallella/gen1/Parallella16_z7020wGPIO_131224.zip $ wget http://releases.linaro.org/14.01/ubuntu/saucy-images/nano/linaro-saucy-nano-20140126-627.tar.gz $ wget https://github.com/parallella/parallella-bin/blob/master/rel.14.02.06.tgz
Unzip the files
$ unzip Parallella16_z7020wGPIO_131224.zip $ tar xzf rel.14.02.06.tgz
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, ... and, 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-20140126-627.tar.gz $ sudo sync $ sudo umount /tmp/mnt1
Extract BOOT partition
$ sudo losetup -o 32256 /dev/loop0 Parallella16_z7020wGPIO_131220.img $ sudo mount -o umask=000 -t vfat /dev/loop0 /tmp/mnt1 $ sudo mount -o umask=000 -t vfat /dev/sdX1 /tmp/mnt2 $ sudo cp -r /tmp/mnt1/* /tmp/mnt2/ $ sudo cp rel.14.02.06/* /tmp/mnt2/ $ sudo sync $ sudo umount /tmp/mnt1 $ sudo losetup -d /dev/loop0 $ sudo umount /tmp/mnt2
Edit some configuration files
$ sudo mount /dev/sdX2 /tmp/mnt1 $ sudo nano /tmp/mnt1/etc/apt/apt.conf.d/00InstallRecommends
APT::Install-Recommends "false";
For extreme minimalist :D
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
source-directory /etc/network/interfaces.d auto lo iface lo inet loopback auto eth0 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
$ 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
- Connect Ethernet only
- Power-on
- Wait 30 seconds
- Connect HDMI, USB keyboard
- You'll see a root terminal
- Install openssh-server
On the Parallella:
# 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
Let's see how lightweight it is.
$ free
total used free shared buffers cached Mem: 992452 43696 948756 0 7512 13960 -/+ buffers/cache: 22224 970228 Swap: 0 0 0
Memory Consumption: Only 22MB !! :D
$ df
Filesystem 1K-blocks Used Available Use% Mounted on /dev/root 1833872 270072 1452596 16% / none 99248 72 99176 1% /run none 5120 0 5120 0% /run/lock none 496224 0 496224 0% /run/shm none 102400 0 102400 0% /run/user
Disk Consumption: Only 270MB !!
$ ps axo pid,cmd,rss,vsz
PID CMD RSS VSZ 1 /sbin/init 1696 2756 2 [kthreadd] 0 0 3 [ksoftirqd/0] 0 0 4 [kworker/0:0] 0 0 5 [kworker/0:0H] 0 0 6 [kworker/u4:0] 0 0 7 [migration/0] 0 0 8 [rcu_preempt] 0 0 9 [rcu_bh] 0 0 10 [rcu_sched] 0 0 11 [migration/1] 0 0 12 [ksoftirqd/1] 0 0 13 [kworker/1:0] 0 0 14 [kworker/1:0H] 0 0 15 [khelper] 0 0 16 [kdevtmpfs] 0 0 17 [kworker/u4:1] 0 0 340 [writeback] 0 0 342 [bioset] 0 0 343 [kblockd] 0 0 361 [khubd] 0 0 384 [cfg80211] 0 0 468 [rpciod] 0 0 478 [khungtaskd] 0 0 483 [kswapd0] 0 0 484 [fsnotify_mark] 0 0 485 [nfsiod] 0 0 486 [crypto] 0 0 583 [.qspi] 0 0 627 [xemacps] 0 0 639 [aoe_tx0] 0 0 640 [aoe_ktio0] 0 0 654 [kpsmoused] 0 0 811 [mmcqd/0] 0 0 823 [binder] 0 0 849 [irq/39-] 0 0 898 [deferwq] 0 0 905 [kworker/1:1H] 0 0 906 [kworker/0:1H] 0 0 907 [kworker/1:1] 0 0 908 [jbd2/mmcblk0p2-] 0 0 909 [ext4-rsv-conver] 0 0 999 upstart-udev-bridge --daemo 720 1964 1006 /lib/systemd/systemd-udevd 1084 8712 1118 rsyslogd -c5 1400 30124 1439 upstart-socket-bridge --dae 420 1924 1441 upstart-file-bridge --daemo 764 2332 1517 /sbin/getty -8 38400 tty4 704 1796 1519 /sbin/getty -8 38400 tty5 704 1796 1529 /sbin/getty -8 38400 tty2 704 1796 1531 /sbin/getty -8 38400 tty3 704 1796 1534 /sbin/getty -8 38400 tty6 704 1796 1558 /usr/sbin/sshd -D 2080 5600 1563 cron 784 2324 1597 /bin/login -f 1256 3264 1613 -bash 1624 4280 3568 sshd: linaro [priv] 2708 8852 3591 sshd: linaro@pts/1 1432 8852 3594 -bash 1636 4272 4104 [kworker/0:2] 0 0 4269 /sbin/getty -n -l /bin/auto 684 1616 4272 ps axo pid,cmd,rss,vsz 840 3740
$ dpkg-query -Wf='${binary:Package}\n'
adduser apt apt-utils base-files base-passwd bash bsdutils busybox-initramfs console-setup coreutils cpio cron dash debconf debianutils diffutils dpkg e2fslibs:armhf e2fsprogs file findutils gcc-4.8-base:armhf gnupg gpgv grep gzip hostname ifupdown initramfs-tools initramfs-tools-bin initscripts insserv iproute iproute2 iputils-ping isc-dhcp-client isc-dhcp-common kbd keyboard-configuration klibc-utils kmod libacl1:armhf libapt-inst1.5:armhf libapt-pkg4.12:armhf libattr1:armhf libaudit-common libaudit1:armhf libblkid1:armhf libbsd0:armhf libbz2-1.0:armhf libc-bin libc6:armhf libcap2:armhf libck-connector0:armhf libcomerr2:armhf libdb5.1:armhf libdbus-1-3:armhf libdrm2:armhf libedit2:armhf libexpat1:armhf libffi6:armhf libfribidi0:armhf libgcc1:armhf libgcrypt11:armhf libgnutls-openssl27:armhf libgnutls26:armhf libgpg-error0:armhf libgssapi-krb5-2:armhf libjson-c2:armhf libjson0:armhf libk5crypto3:armhf libkeyutils1:armhf libklibc libkmod2:armhf libkrb5-3:armhf libkrb5support0:armhf liblocale-gettext-perl liblockfile-bin liblockfile1:armhf liblzma5:armhf libmagic1:armhf libmount1:armhf libncurses5:armhf libncursesw5:armhf libnewt0.52:armhf libnih-dbus1:armhf libnih1:armhf libp11-kit0:armhf libpam-modules:armhf libpam-modules-bin libpam-runtime libpam0g:armhf libpcre3:armhf libplymouth2:armhf libpng12-0:armhf libpopt0:armhf libprocps0:armhf libpython-stdlib:armhf libpython2.7-minimal:armhf libpython2.7-stdlib:armhf libreadline6:armhf libselinux1:armhf libsemanage-common libsemanage1:armhf libsepol1:armhf libslang2:armhf libsqlite3-0:armhf libss2:armhf libssl1.0.0:armhf libstdc++6:armhf libtasn1-3:armhf libtinfo5:armhf libudev1:armhf libusb-0.1-4:armhf libustr-1.0-1:armhf libuuid1:armhf libwrap0:armhf linaro-nano linaro-overlay linaro-overlay-minimal locales lockfile-progs login logrotate lsb-base makedev mawk mime-support module-init-tools mount mountall multiarch-support ncurses-base ncurses-bin net-tools netbase netcat-openbsd ntpdate openssh-client openssh-server passwd perl-base plymouth procps python python-minimal python2.7 python2.7-minimal readline-common rsyslog sed sensible-utils sudo sysv-rc sysvinit-utils tar tzdata ubuntu-keyring ucf udev upstart util-linux whiptail xkb-data zlib1g:armhf