-
Notifications
You must be signed in to change notification settings - Fork 1
1. Norns 2.0 Full Build on RasPi
This information is from April 2019 and may now be out of date.
Proceed at your own risk.
https://www.raspberrypi.org/downloads/raspbian/ (tested with 2018-11-13 release)
Use balenaEtcher - https://www.balena.io/etcher/
Some details here https://caffinc.github.io/2016/12/raspberry-pi-3-headless/
Boot the pi and login with default user:pass - pi:raspberry
There's a new set of instructions to get the same kernel setup used by pisound along with the ssd1322 oled driver.
https://github.com/okyeron/norns-linux-bits/blob/master/README.md
Follow all those instructions then come back here
follow instructions for apt-get, accept all defaults
updated to use https://package.monome.org/
curl https://keybase.io/artfwo/pgp_keys.asc | sudo apt-key add -
echo "deb https://package.monome.org/ stretch main" | sudo tee /etc/apt/sources.list.d/norns.list
sudo apt update
sudo apt install --no-install-recommends jackd2
sudo apt-get install libboost1.62-dev
sudo apt-get install libjack-jackd2-dev
sudo apt install libmonome-dev libnanomsg-dev supercollider-language supercollider-server supercollider-supernova supercollider-dev liblua5.3-dev libudev-dev libevdev-dev liblo-dev libcairo2-dev liblua5.3-dev libavahi-compat-libdnssd-dev libasound2-dev
sudo apt install dnsmasq
sudo apt install sc3-plugins ladspalist
sudo apt install usbmount
for DAC Audio
sudo apt-get install alsa-utils
sudo apt-get install libi2c-dev
sudo nano /lib/systemd/system/systemd-udevd.service
change slave
to shared
https://github.com/okyeron/norns-image/wiki/2.-DAC-Audio-Config-(WM3731)
https://github.com/okyeron/norns-image/wiki/3.-USB-Audio-Setup
Make a quick change to network interfaces so network-manager does not take over wifi
NOTE - At the end of the network-manager install you will get kicked of off wifi and will be assigned a new IP address. You will want to have a keyboard and monitor attached here to login directly and get your IP address with ifconfig
- or you can fake it by checking a tool like LanScan to find the device on your network.
Also - the IP address will likely change each time you reboot.
We will fix this at the very end of the install.
sudo nano /etc/network/interfaces
#add this
auto wlan0
Then install network-manager and reboot
sudo apt install network-manager
git clone https://github.com/monome/norns-image.git
cd norns-image
do not run setup.sh YET
nano setup.sh
# comment out
#sudo apt install network-manager dnsmasq-base midisport-firmware
# comment out dhcp/interfaces copies so it does not hose your wifi when you install
#sudo cp config/interfaces /etc/network/interfaces
nano config/norns-jack.service
# if your using a usb soundcard, you'll may need to change this and also maybe change the buffer size (-p)
Framebuffer setup for ssd1322 oled
nano config/norns-matron.service
# replace the line that starts with ExecStart with this one
ExecStart=/home/we/norns/build/ws-wrapper/ws-wrapper ws://*:5555 /home/we/norns/build/matron/matron -f/dev/fb1
nano scripts/init-norns.sh
# comment out i2cset for analog gain stages again
#sudo i2cset -y 1 0x28 0x00
#sudo i2cset -y 1 0x28 0x40
#sudo i2cset -y 1 0x29 0x00
#sudo i2cset -y 1 0x29 0x40
# may need to comment out Mixer line depending on your DAC setup
Create norns-init.service
sudo nano /etc/systemd/system/norns-init.service
[Unit]
Description=norns-init
[Service]
Type=oneshot
ExecStart=/bin/sh -c "/bin/echo -n performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor"
[Install]
WantedBy=norns.target
then re-add norns-init to norns.target
nano config/norns.target
#add above norns-jack.service
Requires=norns-init.service
now run setup.sh
./setup.sh
cd ~
git clone https://github.com/monome/norns.git
cd norns
./waf configure
./waf
sclang
cd sc
./install.sh
Framebuffer setup for oled
edit matron.sh
to add -f/dev/fb1
sudo nano ~/norns/matron.sh
./build/ws-wrapper/ws-wrapper ws://*:5555 ./build/matron/matron -f/dev/fb1
Get dust from updater and push to device over SFTP
Or... trying another way - included with the other linux bits...
cd ~
cp ~/norns-linux-bits/dust.tar .
tar -xvf dust.tar
rm dust.tar
Get maiden from github releases: https://github.com/monome/maiden/releases
cd ~
wget https://github.com/monome/maiden/releases/download/v0.13/maiden-v0.13.tgz
tar -xvf maiden-v0.13.tgz
rm maiden-v0.13.tgz
compile dts files for overlays if needed (or if you're using different GPIO pins)
.dts needs to be compiled to .dtbo and then the .dtbo and copy to /boot/overlays/
sudo dtc -W no-unit_address_vs_reg -@ -I dts -O dtb -o /boot/overlays/norns-buttons-encoders.dtbo norns-buttons-encoders-overlay.dts
sudo dtc -W no-unit_address_vs_reg -@ -I dts -O dtb -o /boot/overlays/ssd1322-fates.dtbo ssd1322-fates-overlay.dts
Add overlay to /boot/config.txt
so it loads the button/encoder overlay:
sudo nano /boot/config.txt
# Buttons and encoders
dtoverlay=norns-buttons-encoders
dtoverlay=ssd1322-fates
test: `./maiden.arm -debug -app app/build/ -data ~/norns/lua'
check functionality from browser http://norns.local/maiden/
reset /etc/network/interfaces
to norns default. This means removing any custom setup you might have used to connect via SSH so far.
NOTE - If you don't do this step, supercollider might not get a proper network address and might not be able to talk to the other norns software - resulting in an ERROR: AUDIO ENGINE
situation.
sudo cp ~/norns-linux-bits/interfaces /etc/network/interfaces
rename /etc/wpa_supplicant/wpa_supplicant.conf
to something else and reboot.
this should get network manager to take over
mv /etc/wpa_supplicant/wpa_supplicant.conf /etc/wpa_supplicant/wpa_supplicant_bak.conf
sudo reboot
At this point you will need use the norns screen (not SSH) to login to your WiFi network. This is at SYSTEM>WIFI
in the norns menu. ADD to your WiFi network and then CONNECT and you should be good. This is all using Network Manager
behind the scenes.