@@ -29,13 +29,16 @@ def deploy():
29
29
disable_bonescript_and_release_http_port ()
30
30
update_debian_package_lists ()
31
31
remove_unneeded_debian_packages ()
32
- install_debian_packages ()
32
+ for package in DEBIAN_PACKAGES_TO_INSTALL :
33
+ install_debian_package (package )
33
34
install_python_modules ()
34
35
install_rascal_software ()
35
36
install_config_files ()
36
37
allow_uwsgi_to_control_supervisor ()
37
38
allow_uwsgi_to_access_usb_port ()
39
+ install_libpruio ()
38
40
install_oh_my_zsh ()
41
+ autoremove_debian_package_remnants ()
39
42
print (green ('Rascal 2 deployment complete. Rebooting . . .' ))
40
43
reboot ()
41
44
@@ -74,14 +77,14 @@ def package_installed(package):
74
77
result = run (cmd )
75
78
return result .succeeded
76
79
77
- def install_debian_packages ():
78
- for package in DEBIAN_PACKAGES_TO_INSTALL :
79
- if not package_installed (package ):
80
- print (green ('\n Installing package: {0}' .format (package )))
81
- run ('apt-get install -y ' + package , pty = False )
82
- else :
83
- print (green ('Package ' + package + ' already installed' ))
80
+ def install_debian_package (package ):
81
+ if not package_installed (package ):
82
+ print (green ('\n Installing package: {0}' .format (package )))
83
+ run ('apt-get install -y ' + package , pty = False )
84
+ else :
85
+ print (green ('Package ' + package + ' already installed' ))
84
86
87
+ def autoremove_debian_package_remnants ():
85
88
print (green ('\n Removing unneeded package remnants' ))
86
89
run ('apt-get autoremove -y' , pty = False )
87
90
@@ -138,6 +141,35 @@ def allow_uwsgi_to_control_supervisor():
138
141
def allow_uwsgi_to_access_usb_port ():
139
142
run ('usermod -a -G dialout www-data' )
140
143
144
+ def install_libpruio ():
145
+ install_debian_package ('am335x-pru-package' )
146
+
147
+ run ('wget http://www.freebasic-portal.de/dlfiles/589/BBB_fbc-1.00.tar.bz2' )
148
+ run ('tar xjf BBB_fbc-1.00.tar.bz2' )
149
+ run ('mv BBB_fbc-1.00/usr/bin/fbc /usr/bin/' )
150
+ run ('mv BBB_fbc-1.00/usr/lib/freebasic /usr/lib/' )
151
+ run ('rm -rf BBB_fbc-1.00' )
152
+
153
+ run ('http://www.freebasic-portal.de/dlfiles/539/FB_prussdrv-0.0.tar.bz2' )
154
+ run ('tar xjf FB_prussdrv-0.0.tar.bz2' )
155
+ run ('mkdir /usr/include/freebasic/BBB' )
156
+ run ('mv FB_prussdrv-0.0/include /usr/include/freebasic/BBB/' )
157
+ run ('rm /usr/bin/pasm' )
158
+ run ('mv FB_prussdrv-0.0/bin/pasm /usr/bin/pasm' )
159
+ run ('rm -rf FB_prussdrv-0.0' )
160
+
161
+ run ('wget https://github.com/rascalmicro/libpruio/archive/master.zip' )
162
+ run ('tar xjf master.zip' )
163
+ run ('mv master/src/c_wrapper/libpruio.so /usr/lib' ) # directory name is probably wrong
164
+ run ('ldconfig' )
165
+ run ('mv master/src/c_wrapper/pruio*.h* /usr/include' )
166
+ run ('mv master/src/config/libpruio-00A0.dtbo /lib/firmware' ) # note corrected filename 0A00 -> 00A0
167
+ run ('mv master/src/pruio/pruio*.bi /usr/include/freebasic/BBB' )
168
+ run ('mv master/src/pruio/pruio.hp /usr/local/include/freebasic/BBB' )
169
+ run ('echo uio_pruss >> /etc/modules' ) # load uio_pruss module at boot
170
+ put ('libpruio.service' , '/etc/systemd/system/libpruio.service' )
171
+ run ('systemctl enable libpruio.service' )
172
+
141
173
def install_oh_my_zsh ():
142
174
run ('wget --no-check-certificate http://install.ohmyz.sh -O - | sh' )
143
175
0 commit comments