Difference between revisions of "XUELK-AN-002: Running Debian distribution"

From DAVE Developer's Wiki
Jump to: navigation, search
(Introduction)
(Initial configuration)
Line 23: Line 23:
 
[1] Non-volatile storage footprint is the typical example. Disk occupation of a desktop distribution is measured in GB or tens of GB, while many embedded platforms have less the 1 GB of flash memory.
 
[1] Non-volatile storage footprint is the typical example. Disk occupation of a desktop distribution is measured in GB or tens of GB, while many embedded platforms have less the 1 GB of flash memory.
 
==Initial configuration==
 
==Initial configuration==
For the sake of simplicity, the same approach described [[AXEL_ULite_and_SBC_Lynx_Embedded_Linux_Kit_(XUELK)#Target_setup_and_first_boot|here]] is used. It is quite straightforward to prepare a microSD card containing a Debian minimal root file system that replaces the one delivered along the XUELK.
+
For the sake of simplicity, the same approach described [[AXEL_ULite_and_SBC_Lynx_Embedded_Linux_Kit_(XUELK)#Target_setup_and_first_boot|here]] is used.  
 +
 
 +
It is quite straightforward to prepare a microSD card containing a Debian minimal root file system that replaces the one delivered along the XUELK.
  
 
To get such an image, issue the following command on your host machine:[1]
 
To get such an image, issue the following command on your host machine:[1]
Line 206: Line 208:
 
root@arm:~#
 
root@arm:~#
 
</pre>
 
</pre>
 +
 +
By default, two users are defined:
 +
* user <code>debian</code>, password <code>temppwd</code>
 +
* user <code>root</code>, password <code>root</code>
  
  
Line 211: Line 217:
  
 
[1] These information are retrieved from [https://eewiki.net/display/linuxonarm/Wandboard#Wandboard-RootFileSystem(smallflash) here].
 
[1] These information are retrieved from [https://eewiki.net/display/linuxonarm/Wandboard#Wandboard-RootFileSystem(smallflash) here].
 +
 
==Adding packages==
 
==Adding packages==
 
Of course, one of the greatest - if not ''the'' greatest - pros of having a desktop distribution, is the availability of a huge archive of pre-built packages. They can be installed very easily with tools such as [https://wiki.debian.org/Apt <code>apt</code>] and [https://packaging.python.org <code>pip</code>]:
 
Of course, one of the greatest - if not ''the'' greatest - pros of having a desktop distribution, is the availability of a huge archive of pre-built packages. They can be installed very easily with tools such as [https://wiki.debian.org/Apt <code>apt</code>] and [https://packaging.python.org <code>pip</code>]:

Revision as of 11:46, 1 February 2017

Info Box
SBC Lynx-top.png Applies to SBC Lynx

History[edit | edit source]

Version Date Notes
1.0.0 February 2017 First public release

Introduction[edit | edit source]

Several "distribution" are available for embedded Linux devices. Yocto and Buildroot are just two examples of the most common. Nevertheless, for some applications the use of a desktop/server distribution might be preferable. Since they are not conceived for embedded platforms, these distributions have to be carefully tailored, in order to match hardware resources.[1]

This application note shows how to run one of such distributions - Debian Jessie - on SBC Lynx. It is assumed that the reader if already familiar with AXEL ULite and SBC Lynx Embedded Linux Kit (XUELK), as it is the basis of this work.



[1] Non-volatile storage footprint is the typical example. Disk occupation of a desktop distribution is measured in GB or tens of GB, while many embedded platforms have less the 1 GB of flash memory.

Initial configuration[edit | edit source]

For the sake of simplicity, the same approach described here is used.

It is quite straightforward to prepare a microSD card containing a Debian minimal root file system that replaces the one delivered along the XUELK.

To get such an image, issue the following command on your host machine:[1]

wget -c https://rcn-ee.com/rootfs/eewiki/barefs/debian-8.7-bare-armhf-2017-01-14.tar.xz

To verify it:

sha256sum debian-8.7-bare-armhf-2017-01-14.tar.xz
159e1a6addc35bbfff03b5eafd5cb741086a8a016d5ab9572ab122ce64d63e5e  debian-8.7-bare-armhf-2017-01-14.tar.xz

After inserting the microSD card into the adapter connectd to the host machine, it is possible to decompress the .tar.xz file in the ROOTFS partition:

unzip debian-8-xfce-wandboard-20150514.zip 
cd debian-8.7-bare-armhf-2017-01-14/
tar xvf armhf-rootfs-debian-jessie.tar -C /media/dvdk/ROOTFS/
sudo umount /media/dvdk/BOOT 
sudo umount /media/llandre/ROOTFS 

On target side, these are the messages printed out on the serial console, when this card is used:

...
[    5.114803] VFS: Mounted root (ext3 filesystem) on device 179:2.
[    5.125035] devtmpfs: mounted
[    5.128943] Freeing unused kernel memory: 408K (80b15000 - 80b7b000)
[    5.751274] systemd[1]: System time before build time, advancing clock.
[    5.783486] systemd[1]: Failed to insert module 'kdbus': Function not imp
[    5.823801] systemd[1]: systemd 230 running in system mode. (+PAM +AUDIT +GNUTLS +ACL +XZ -LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN)
[    5.843563] systemd[1]: Detected architecture arm.

Welcome to Debian GNU/Linux 8 (jessie)!

[    5.880235] systemd[1]: Set hostname to <arm>.
[    6.727889] systemd[1]: Listening on udev Control Socket.
[  OK  ] Listening on udev Control Socket.
[    6.758625] systemd[1]: Listening on Journal Socket (/dev/log).
[  OK  ] Listening on Journal Socket (/dev/log).
[    6.788119] systemd[1]: Reached target Encrypted Volumes.
[  OK  ] Reached target Encrypted Volumes.
[    6.818418] systemd[1]: Listening on Syslog Socket.
[  OK  ] Listening on Syslog Socket.
[    6.839082] systemd[1]: Reached target Remote File Systems (Pre).
[  OK  ] Reached target Remote File Systems (Pre).
[    6.869354] systemd[1]: Started Forward Password Requests to Wall Directo
[  OK  ] Started Forward Password Requests to Wall Directory Watch.
[    6.901334] systemd[1]: Set up automount Arbitrary Executable File Format
[  OK  ] Set up automount Arbitrary Executab...ats File System Automount Poi
[    6.939313] systemd[1]: Listening on /dev/initctl Compatibility Named Pip
[  OK  ] Listening on /dev/initctl Compatibility Named Pipe.
[    6.968527] systemd[1]: Reached target Remote File Systems.
[  OK  ] Reached target Remote File Systems.
[    6.999801] systemd[1]: Reached target Swap.
[  OK  ] Reached target Swap.
[    7.019678] systemd[1]: Created slice System Slice.
[  OK  ] Created slice System Slice.
[    7.038667] systemd[1]: Reached target Slices.
[  OK  ] Reached target Slices.
[    7.059455] systemd[1]: Created slice system-serial\x2dgetty.slice.
[  OK  ] Created slice system-serial\x2dgetty.slice.
[    7.089497] systemd[1]: Created slice system-getty.slice.
[  OK  ] Created slice system-getty.slice.
[    7.119398] systemd[1]: Listening on Journal Socket.
[  OK  ] Listening on Journal Socket.
[    7.145290] systemd[1]: Starting Journal Service...
         Starting Journal Service...
[    7.182154] systemd[1]: Starting Remount Root and Kernel File Systems...
         Starting Remount Root and Kernel File Systems...
[    7.241987] systemd[1]: Mounting Debug File System...
         Mounting Debug File System...
[    7.308585] systemd[1]: Starting Load Kernel Modules...
         Starting Load Kernel Modules...
[    7.364001] systemd[1]: Started Dispatch Password Requests to Console Dir
[  OK  ] Started Dispatch Password Requests to Console Directory Watch.
[    7.418164] systemd[1]: Reached target Paths.
[  OK  ] Reached target Paths.
[    7.451915] systemd[1]: Starting Create Static Device Nodes in /dev...
         Starting Create Static Device Nodes in /dev...
[    7.508441] systemd[1]: Listening on udev Kernel Socket.
[  OK  ] Listening on udev Kernel Socket.
[    7.528001] systemd[1]: Reached target Sockets.
[  OK  ] Reached target Sockets.
[    7.558251] systemd[1]: Mounted Debug File System.
[  OK  ] Mounted Debug File System.
[    7.589958] systemd[1]: Started Remount Root and Kernel File Systems.
[  OK  ] Started Remount Root and Kernel File Systems.
[    7.651199] systemd[1]: Started Load Kernel Modules.
[  OK  ] Started Load Kernel Modules.
[    7.680384] systemd[1]: Started Create Static Device Nodes in /dev.
[  OK  ] Started Create Static Device Nodes in /dev.
[    7.716855] systemd[1]: Starting udev Kernel Device Manager...
         Starting udev Kernel Device Manager...
[    7.780271] systemd[1]: Starting Apply Kernel Variables...
         Starting Apply Kernel Variables...
[    7.821035] systemd[1]: Mounting FUSE Control File System...
         Mounting FUSE Control File System...
[    7.909856] systemd[1]: Starting udev Coldplug all Devices...
         Starting udev Coldplug all Devices...
[    7.932630] systemd[1]: Reached target Local File Systems (Pre).
[  OK  ] Reached target Local File Systems (Pre).
[    8.001492] systemd[1]: Starting Load/Save Random Seed...
         Starting Load/Save Random Seed...
[    8.058300] systemd[1]: Reached target Local File Systems.
[  OK  ] Reached target Local File Systems.
[    8.114063] systemd[1]: Mounted FUSE Control File System.
[  OK  ] Mounted FUSE Control File System.
[    8.179693] systemd[1]: Started udev Kernel Device Manager.
[  OK  ] Started udev Kernel Device Manager.
[    8.210239] systemd[1]: Started Apply Kernel Variables.
[  OK  ] Started Apply Kernel Variables.
[    8.251215] systemd[1]: Started Load/Save Random Seed.
[  OK  ] Started Load/Save Random Seed.
[    8.295404] systemd[1]: Starting Raise network interfaces...
         Starting Raise network interfaces...
[    9.378588] systemd[1]: Started Journal Service.
[  OK  ] Started Journal Service.
         Starting Flush Journal to Persistent Storage...
[   10.329376] systemd-journald[134]: Received request to flush runtime jour
[  OK  ] Started Flush Journal to Persistent Storage.
         Starting Create Volatile Files and Directories...
[  OK  ] Started Create Volatile Files and Directories.
         Starting Network Time Synchronization...
         Starting Update UTMP about System Boot/Shutdown...
[  OK  ] Started udev Coldplug all Devices.
[   21.038081] fec 2188000.ethernet eth0: Freescale FEC PHY driver [Micrel K
[   21.188538] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[  OK  ] Started Update UTMP about System Boot/Shutdown.
[  OK  ] Started Network Time Synchronization.
[  OK  ] Reached target System Initialization.
[  OK  ] Reached target Basic System.
[  OK  ] Started Regular background program processing daemon.
         Starting Cape Manager Service...
         Starting System Logging Service...
         Starting getty on tty2-tty6 if dbus and logind are not available...
[  OK  ] Started Daily Cleanup of Temporary Directories.
[  OK  ] Reached target Timers.
         Starting Generic Board Startup...
[  OK  ] Reached target System Time Synchronized.
[FAILED] Failed to start Cape Manager Service.
See 'systemctl status capemgr.service' for details.
[FAILED] Failed to start Generic Board Startup.
See 'systemctl status generic-board-startup.service' for details.
[  OK  ] Started System Logging Service.
[   25.038599] libphy: 2188000.ethernet:03 - Link is Up - 100/Full
[   25.044599] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[  OK  ] Started getty on tty2-tty6 if dbus and logind are not available.
[  OK  ] Found device /dev/ttymxc0.
[  OK  ] Started Raise network interfaces.
[  OK  ] Reached target Network.
         Starting /etc/rc.local Compatibility...
         Starting Permit User Sessions...
[  OK  ] Started /etc/rc.local Compatibility.
[  OK  ] Started Permit User Sessions.
[  OK  ] Started Getty on tty6.
[  OK  ] Started Getty on tty3.
[  OK  ] Started Serial Getty on ttymxc0.
[  OK  ] Started Getty on tty2.
[  OK  ] Started Getty on tty1.
[  OK  ] Started Getty on tty5.
[  OK  ] Started Getty on tty4.
[  OK  ] Reached target Login Prompts.
[  OK  ] Reached target Multi-User System.
[  OK  ] Reached target Graphical Interface.
         Starting Update UTMP about System Runlevel Changes...
[  OK  ] Started Update UTMP about System Runlevel Changes.

Debian GNU/Linux 8 arm ttymxc0

default username:password is [debian:temppwd]

arm login: root
Password:
Last login: Sun Jan 15 02:57:41 UTC 2017 on ttymxc0
Linux arm 3.14.52-xuelk-1.1.0 #7 SMP PREEMPT Fri Nov 25 17:15:33 CET 2016 ar

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
root@arm:~#

By default, two users are defined:

  • user debian, password temppwd
  • user root, password root



[1] These information are retrieved from here.

Adding packages[edit | edit source]

Of course, one of the greatest - if not the greatest - pros of having a desktop distribution, is the availability of a huge archive of pre-built packages. They can be installed very easily with tools such as apt and pip:

root@arm:~# apt update
Get:1 http://security.debian.org jessie/updates InRelease [63.1 kB]
Get:2 http://repos.rcn-ee.com jessie InRelease [4373 B]
Ign http://httpredir.debian.org jessie InRelease
Get:3 http://httpredir.debian.org jessie-updates InRelease [145 kB]
Get:4 http://httpredir.debian.org jessie Release.gpg [2373 B]
Get:5 http://httpredir.debian.org jessie Release [148 kB]
Get:6 http://security.debian.org jessie/updates/main armhf Packages [420 kB]
Get:7 http://repos.rcn-ee.com jessie/main armhf Packages [796 kB]
Get:8 http://security.debian.org jessie/updates/contrib armhf Packages [994 B]
Get:9 http://security.debian.org jessie/updates/non-free armhf Packages [20 B]
Get:10 http://httpredir.debian.org jessie-updates/main armhf Packages [17.6 kB]
Get:11 http://httpredir.debian.org jessie-updates/contrib armhf Packages [20 B]
Get:12 http://httpredir.debian.org jessie-updates/non-free armhf Packages [450 B]
Get:13 http://httpredir.debian.org jessie/contrib armhf Packages [44.7 kB]
Get:14 http://httpredir.debian.org jessie/non-free armhf Packages [74.9 kB]
Get:15 http://httpredir.debian.org jessie/main armhf Packages [8850 kB]
Fetched 10.6 MB in 43s (240 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
All packages are up to date.
root@arm:~# apt-get install python
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  file libexpat1 libmagic1 libpython-stdlib libpython2.7-minimal
  libpython2.7-stdlib libsqlite3-0 libssl1.0.0 mime-support python-minimal
  python2.7 python2.7-minimal
Suggested packages:
  python-doc python-tk python2.7-doc binutils binfmt-support
The following NEW packages will be installed:
  file libexpat1 libmagic1 libpython-stdlib libpython2.7-minimal
  libpython2.7-stdlib libsqlite3-0 libssl1.0.0 mime-support python
  python-minimal python2.7 python2.7-minimal
0 upgraded, 13 newly installed, 0 to remove and 0 not upgraded.
Need to get 5449 kB of archives.
After this operation, 20.5 MB of additional disk space will be used.
Do you want to continue? [Y/n]
Get:1 http://security.debian.org/ jessie/updates/main libssl1.0.0 armhf 1.0.1t-1+deb8u6 [868 kB]
Get:2 http://httpredir.debian.org/debian/ jessie/main libmagic1 armhf 1:5.22+15-2+deb8u3 [245 kB]
Get:3 http://httpredir.debian.org/debian/ jessie/main libsqlite3-0 armhf 3.8.7.1-1+deb8u2 [384 kB]
Get:4 http://httpredir.debian.org/debian/ jessie/main libpython2.7-minimal armhf 2.7.9-2+deb8u1 [376 kB]
Get:5 http://httpredir.debian.org/debian/ jessie/main python2.7-minimal armhf 2.7.9-2+deb8u1 [1152 kB]
Get:6 http://httpredir.debian.org/debian/ jessie/main mime-support all 3.58 [36.0 kB]
Get:7 http://httpredir.debian.org/debian/ jessie/main python-minimal armhf 2.7.9-1 [40.2 kB]
Get:8 http://httpredir.debian.org/debian/ jessie/main libexpat1 armhf 2.1.0-6+deb8u3 [61.8 kB]
Get:9 http://httpredir.debian.org/debian/ jessie/main file armhf 1:5.22+15-2+deb8u3 [60.0 kB]
Get:10 http://httpredir.debian.org/debian/ jessie/main libpython2.7-stdlib armhf 2.7.9-2+deb8u1 [1805 kB]
Get:11 http://httpredir.debian.org/debian/ jessie/main python2.7 armhf 2.7.9-2+deb8u1 [252 kB]
Get:12 http://httpredir.debian.org/debian/ jessie/main libpython-stdlib armhf 2.7.9-1 [19.6 kB]
Get:13 http://httpredir.debian.org/debian/ jessie/main python armhf 2.7.9-1 [151 kB]
Fetched 5449 kB in 4s (1306 kB/s)
debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76, <> line 13.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (Can't locate Term/ReadLine.pm in @INC (you may need to install the Term::ReadLine module) (@INC contains: /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/arm-linux-gnueabihf/perl5/5.20 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl .) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 7, <> line 13.)
debconf: falling back to frontend: Teletype
Preconfiguring packages ...
Selecting previously unselected package libssl1.0.0:armhf.
(Reading database ... (Reading database ... 5%(Reading database ... 10%(Reading database ... 15%(Reading database ... 20%(Reading database ... 25%(Reading database ... 30%(Reading database ... 35%(Reading database ... 40%(Reading database ... 45%(Reading database ... 50%(Reading database ... 55%(Reading database ... 60%(Reading database ... 65%(Reading database ... 70%(Reading database ... 75%(Reading database ... 80%(Reading database ... 85%(Reading database ... 90%(Reading database ... 95%(Reading database ... 100%(Reading database ... 8710 files and directories currently installed.)
Preparing to unpack .../libssl1.0.0_1.0.1t-1+deb8u6_armhf.deb ...
Unpacking libssl1.0.0:armhf (1.0.1t-1+deb8u6) ...
Selecting previously unselected package libmagic1:armhf.
Preparing to unpack .../libmagic1_1%3a5.22+15-2+deb8u3_armhf.deb ...
Unpacking libmagic1:armhf (1:5.22+15-2+deb8u3) ...
Selecting previously unselected package libsqlite3-0:armhf.
Preparing to unpack .../libsqlite3-0_3.8.7.1-1+deb8u2_armhf.deb ...
Unpacking libsqlite3-0:armhf (3.8.7.1-1+deb8u2) ...
Selecting previously unselected package libpython2.7-minimal:armhf.
Preparing to unpack .../libpython2.7-minimal_2.7.9-2+deb8u1_armhf.deb ...
Unpacking libpython2.7-minimal:armhf (2.7.9-2+deb8u1) ...
Selecting previously unselected package python2.7-minimal.
Preparing to unpack .../python2.7-minimal_2.7.9-2+deb8u1_armhf.deb ...
Unpacking python2.7-minimal (2.7.9-2+deb8u1) ...
Selecting previously unselected package python-minimal.
Preparing to unpack .../python-minimal_2.7.9-1_armhf.deb ...
Unpacking python-minimal (2.7.9-1) ...
Selecting previously unselected package mime-support.
Preparing to unpack .../mime-support_3.58_all.deb ...
Unpacking mime-support (3.58) ...
Selecting previously unselected package libexpat1:armhf.
Preparing to unpack .../libexpat1_2.1.0-6+deb8u3_armhf.deb ...
Unpacking libexpat1:armhf (2.1.0-6+deb8u3) ...
Selecting previously unselected package libpython2.7-stdlib:armhf.
Preparing to unpack .../libpython2.7-stdlib_2.7.9-2+deb8u1_armhf.deb ...
Unpacking libpython2.7-stdlib:armhf (2.7.9-2+deb8u1) ...
Selecting previously unselected package python2.7.
Preparing to unpack .../python2.7_2.7.9-2+deb8u1_armhf.deb ...
Unpacking python2.7 (2.7.9-2+deb8u1) ...
Selecting previously unselected package libpython-stdlib:armhf.
Preparing to unpack .../libpython-stdlib_2.7.9-1_armhf.deb ...
Unpacking libpython-stdlib:armhf (2.7.9-1) ...
Setting up libpython2.7-minimal:armhf (2.7.9-2+deb8u1) ...
Setting up python2.7-minimal (2.7.9-2+deb8u1) ...
Linking and byte-compiling packages for runtime python2.7...
Setting up python-minimal (2.7.9-1) ...
Selecting previously unselected package python.
(Reading database ... (Reading database ... 5%(Reading database ... 10%(Reading database ... 15%(Reading database ... 20%(Reading database ... 25%(Reading database ... 30%(Reading database ... 35%(Reading database ... 40%(Reading database ... 45%(Reading database ... 50%(Reading database ... 55%(Reading database ... 60%(Reading database ... 65%(Reading database ... 70%(Reading database ... 75%(Reading database ... 80%(Reading database ... 85%(Reading database ... 90%(Reading database ... 95%(Reading database ... 100%(Reading database ... 9539 files and directories currently installed.)
Preparing to unpack .../python_2.7.9-1_armhf.deb ...
Unpacking python (2.7.9-1) ...
Selecting previously unselected package file.
Preparing to unpack .../file_1%3a5.22+15-2+deb8u3_armhf.deb ...
Unpacking file (1:5.22+15-2+deb8u3) ...
Setting up libssl1.0.0:armhf (1.0.1t-1+deb8u6) ...
debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (Can't locate Term/ReadLine.pm in @INC (you may need to install the Term::ReadLine module) (@INC contains: /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/arm-linux-gnueabihf/perl5/5.20 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl .) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 7.)
debconf: falling back to frontend: Teletype
Setting up libmagic1:armhf (1:5.22+15-2+deb8u3) ...
Setting up libsqlite3-0:armhf (3.8.7.1-1+deb8u2) ...
Setting up mime-support (3.58) ...
Setting up libexpat1:armhf (2.1.0-6+deb8u3) ...
Setting up libpython2.7-stdlib:armhf (2.7.9-2+deb8u1) ...
Setting up python2.7 (2.7.9-2+deb8u1) ...
Setting up libpython-stdlib:armhf (2.7.9-1) ...
Setting up python (2.7.9-1) ...
Setting up file (1:5.22+15-2+deb8u3) ...
Processing triggers for libc-bin (2.19-18+deb8u7) ...
root@arm:~# pip install 'autobahn==0.13.0'
Downloading/unpacking autobahn==0.13.0
  Downloading autobahn-0.13.0.tar.gz (169kB): 169kB downloaded
  Running setup.py (path:/tmp/pip-build-bHFxQl/autobahn/setup.py) egg_info f

    package init file 'twisted/plugins/__init__.py' not found (or not a regu
    Unhandled Error
    Traceback (most recent call last):
      File "<string>", line 17, in <module>

      File "/tmp/pip-build-bHFxQl/autobahn/setup.py", line 259, in <module>
        list(getPlugins(IPlugin))
      File "/usr/local/lib/python2.7/dist-packages/twisted/plugin.py", line
        allDropins = getCache(package)
    --- <exception caught here> ---
      File "/usr/local/lib/python2.7/dist-packages/twisted/plugin.py", line
        provider = pluginModule.load()
      File "/usr/local/lib/python2.7/dist-packages/twisted/python/modules.py
        return self.pathEntry.pythonPath.moduleLoader(self.name)
      File "/usr/local/lib/python2.7/dist-packages/twisted/python/reflect.py
        topLevelPackage = _importAndCheckStack(trialname)
      File "/usr/local/lib/python2.7/dist-packages/twisted/python/reflect.py
        reraise(excValue, excTraceback)
      File "/tmp/pip-build-bHFxQl/autobahn/twisted/plugins/autobahn_endpoint
        from autobahn.twisted.websocket import WrappingWebSocketServerFactor
      File "autobahn/twisted/__init__.py", line 41, in <module>
        from autobahn.twisted.choosereactor import install_reactor
      File "autobahn/twisted/choosereactor.py", line 31, in <module>
        import txaio
    exceptions.ImportError: No module named txaio

    Twisted found (default reactor is <class 'twisted.internet.epollreactor.
    Twisted dropin.cache regenerated.
Downloading/unpacking six>=1.10.0 (from autobahn==0.13.0)
  Downloading six-1.10.0-py2.py3-none-any.whl
Downloading/unpacking txaio>=2.2.2 (from autobahn==0.13.0)
  Downloading txaio-2.6.0-py2.py3-none-any.whl
Installing collected packages: autobahn, six, txaio
  Running setup.py install for autobahn
    package init file 'twisted/plugins/__init__.py' not found (or not a regu

    Unhandled Error
    Traceback (most recent call last):
      File "<string>", line 1, in <module>

      File "/tmp/pip-build-bHFxQl/autobahn/setup.py", line 259, in <module>
        list(getPlugins(IPlugin))
      File "/usr/local/lib/python2.7/dist-packages/twisted/plugin.py", line
        allDropins = getCache(package)
    --- <exception caught here> ---
      File "/usr/local/lib/python2.7/dist-packages/twisted/plugin.py", line
        provider = pluginModule.load()
      File "/usr/local/lib/python2.7/dist-packages/twisted/python/modules.py
        return self.pathEntry.pythonPath.moduleLoader(self.name)
      File "/usr/local/lib/python2.7/dist-packages/twisted/python/reflect.py
        topLevelPackage = _importAndCheckStack(trialname)
      File "/usr/local/lib/python2.7/dist-packages/twisted/python/reflect.py
        reraise(excValue, excTraceback)
      File "/usr/local/lib/python2.7/dist-packages/twisted/plugins/autobahn_
        from autobahn.twisted.websocket import WrappingWebSocketServerFactor
      File "autobahn/twisted/__init__.py", line 41, in <module>
        from autobahn.twisted.choosereactor import install_reactor
      File "autobahn/twisted/choosereactor.py", line 31, in <module>
        import txaio
    exceptions.ImportError: No module named txaio

    Twisted found (default reactor is <class 'twisted.internet.epollreactor.
    Twisted dropin.cache regenerated.
  Found existing installation: six 1.8.0
    Not uninstalling six at /usr/lib/python2.7/dist-packages, owned by OS
Successfully installed autobahn six txaio
Cleaning up...