Install ArchLinuxARM on the Seagate GoFlex Home

2011-04-28 23:14 | Category: Arch LinuxOther Hardware | Tags: ARMhome networkremote filesystemsSeagate GoFlex HomeVPN

Attention! This is an advanced topic! Do not engage in any activity if you're not cool with the Linux command line and ready to do something to your GoFlex Home that Seagate did not intend you to do! I've warned you.

 

The section describing the basic system setup is out of date as of 2013-06-05. Please refer to http://archlinuxarm.org/platforms/armv5/seagate-goflex-home for up-to-date information.

The Hardware

Images of the hardware to be found in the Beyond Logic Wiki.

It's a fairly standard hardware platform commonly found in many consumer NAS products:

TypeComponent Used in Seagate GoFlex Home
CPUMarvell "Kirkwood" 88F6281 @ 1.2GHz (ARM926EJ-S) (ARMv5 (ARM9) based)
Ram128 MB (Nanya NT5TU64M16DG-AC, 64M x 16, 400MHz, 5-5-5)
Flash512 MB
Network10/100/1000 Marvell 88E1116R Gigabit Ethernet
USB1x USB 2.0 Marvell Orion EHCI
HDDSeagate ST31000528AS (1TB Version)

Information from the running Plugbox Linux system (that's what it was called when I started this post - now its Arch Linux ARM):

More on the hard and software of the GoFlex Home: http://archlinuxarm.org/platforms/armv5/seagate-goflex-home.
The GoFlex Home has a cryptographic hardware accelerator built right into its Kirkwood SoC: http://wiki.openwrt.org/toh/seagate/dockstar#crypto.hardware.acceleration.

See the thread Hardware Cryptography for Kirkwood in the ArchLinuxARM forum, Sebastien Lucas' blog post "Dockstar et ArchLinux : tout ça pour l'accélération matérielle" from his blog Technology and me and my speedup log for OpenSSL. See my alarm forum post and this French blog post.

Initial installation of Arch Linux ARM (was: Plugbox Linux)

Arch Linux ARM / Plugbox Linux is based on Arch Linux so you can find a lot of information on their wiki.

This section is outdated as it describes the installation of the former Plugbox Linux. As of 2012-03-01 you want to install Arch Linux ARM and the instructions can be found on http://archlinuxarm.org/platforms/armv5/seagate-goflex-home (click on Installation there).

First connect your GoFlex Home to a router (it must receive an IP automatically via DHCP). Run the wizard on the website of the device (needs Internet connectivity – I had no problems with that) and create a user. Then connect using SSH on the terminal (XXXX-XXXX-XXXX-XXXX is the product key on the backside):

ssh USERNAME_hipserv2_seagateplug_XXXX-XXXX-XXXX-XXXX@YOUR_IP_ADDRESS

To gain root access run:

sudo -E -s

Now disable updates:

chmod -x /usr/bin/oe-update-checker
chmod -x /etc/cron.daily/update-checker
chmod -x /etc/cron.hourly/update-checker
chmod -x /etc/init.d/openvpn
chmod -x /usr/sbin/openvpn
chmod -x /var/www/admin/sshtunnel.pl

Install UBIT (when repeating this step later – so when Plugbox Linux is allready installed on the GoFlex – you must make sure, cpio is installed by running pacman -Sy cpio beforehand):

# Download the U-Boot Install Toolkit (UBIT) environment
cd /tmp
wget http://jeff.doozan.com/debian/goflex/v0.6/uInitrd
wget http://jeff.doozan.com/debian/goflex/v0.6/ubit_start
chmod +x ubit_start

Start the UBIT environment where the prompt will read ubit0-6:~#:

./ubit_start

Install uboot and prepare your HDD for Plugbox Linux to be installed:

uboot_uptodate
chain_install goflexhome
fdisk /dev/sda
# and enter `p`, `d 1`, `p`, `n`, `p`, `1`, then `ENTER` (default values) finally `w`.
# Note: U-Boot does have partition size limitations.
# If your install doesn't work on a large (1TB+ drive) try creating a small (~32GB) boot partition instead.

mke2fs -j /dev/sda1

Download the Plugbox tarball and unpack the Plugbox tarball (this will take a long time):

on /dev/sda1 wget http://plugboxlinux.org/os/2011.02/PlugApps-Linux-2011.02-rootfs.tar.gz -O rootfs.tar.gz
on /dev/sda1 tar -xzvf rootfs.tar.gz

You need to set the MAC address to the value printed on the back side label of your GoFlex Home:

ethaddr uu:vv:ww:xx:yy:zz

Still on the UBIT prompt: install the rescue system and mark the partition with the special label "rootfs"

on /dev/sda1 ubit_write
tune2fs -L "rootfs" /dev/sda1

Leave the UBIT shell and reboot the device

exit
/sbin/reboot

Run a full system update

pacman -Scc  
pacman -Syyuf

In case of problems have a look at https://gist.github.com/946214#file_netconsole_debugging.log.

Prepare the HDD on an different system

Connect the HDD to a different Linux computer and run the following commands:

cd /media/boothdd
sudo wget http://plugboxlinux.org/os/2011.02/PlugApps-Linux-2011.02-rootfs.tar.gz -O rootfs.tar.gz
sudo tar -xzvf rootfs.tar.gz

U-Boot rescue terminal

http://forum.doozan.com/read.php?2,4083,4417#msg-4417
http://archlinuxarm.org/forum/viewtopic.php?p=4447#p4447

Format a usb stick with ext3 and get ubit boot files and modules:

cd /media/stick
sudo wget http://jeff.doozan.com/debian/goflex/v0.6/v2.6.37/boot.tar.gz
sudo wget http://jeff.doozan.com/debian/goflex/v0.6/v2.6.37/modules.tar.gz
sudo tar -xf boot.tar.gz
sudo tar -xf modules.tar.gz
cp -R ./lib/modules/2.6.37-ubit-01715-g1e5cda0/* /lib/modules/
cd ..
sudo umount /media/stick

Going back to the original Firmware

The following site describes how to get the official firmware back on your Goflex Home:
http://support.goflexhome.hipserv.com/en/reflash/index.html

Creating a Linux User Account

https://wiki.archlinux.org/index.php/Users_and_Groups#User_management

useradd -m -g users -G audio,lp,optical,storage,video,wheel,games,power,scanner -s /bin/bash philipp

Jumbo Frames (MTU > 1500)

https://wiki.archlinux.org/index.php/Jumbo_Frames

The linux driver mv643xx_eth for the Marvell Ethernet Controller has support for jumbo frames (MTUs > 1500). However, hardware support for checksum calculation is only available up the MTU 1600 on the Kirwood architecture.
I don't know if this is a limitation of the Ethernet controller, as the the ASUS NAS-M25a and the Synology DS211+ b support jumbo frames officially (both using the Marvell 88E1116R Gigabit Ethernet Controller).

I tested to set the MTU to 4000 bytes:

ifconfig eth0 mtu 4000

To check the current value for the MTU run this:

ifconfig eth0 | grep MTU

I could increase the speed of a file transfer via SSH by ~10 % when the MTU was set to 4000 (on my computer and the GoFlex Home connected via a jumbo frame capable Netgear GS105 Gigabit Switch).

To test, if your jumbo packages get through, you can use the ping command ping -D -s 3800 IP_OF_GOFLEX (should be something like ping IP_OF_GOFLEX -f -l 3800 on Windows).

Controlling the LEDs

http://forum.doozan.com/read.php?2,4638,4645,quote=1

There are two control files for the LEDs in /sys/class/leds:

  • status:green:health and
  • status:orange:fault.

Examples:

echo heartbeat > /sys/class/leds/status\:green\:health/trigger
echo default-on > /sys/class/leds/status\:orange\:fault/trigger
echo none > /sys/class/leds/status\:orange\:fault/trigger

Since version 1.4.9 iptables directly supports led indicators in order to let you see arriving Ethernet packages:

pacman -Sy iptables
modprobe xt_LED

Set up a rule to blink the orange LED when you receive incoming SSH traffic:

iptables -A INPUT -p tcp --dport 22 -j LED --led-trigger-id ssh --led-delay 100
echo netfilter-ssh > /sys/class/leds/status\:orange\:fault/trigger

If you want a the green LED off and the orange on when a shutdown is finished (safe to remove any drives), add the following two lines at the end of your /etc/init.d/halt:

echo none > /sys/class/leds/status\:green\:health/trigger
echo default-on > /sys/class/leds/status\:orange\:fault/trigger

For more in-depth information on the LEDs, have a look at the additional file arch/arm/mach-kirkwood/goflexhome-setup.c in the Linux kernel as added in the ArchLinuxARM kernel patch file.
One may also be able to use the Sysfs Interface for Userspace framework in the linux kernel (GPIO SYSFS: /sys/class/gpio). Introductory information on this can be found in the section "Sysfs Interface for Userspace" of http://www.kernel.org/doc/Documentation/gpio.txt. The usage of it is well described on http://www.avrfreaks.net/wiki/index.php/Documentation:Linux/GPIO and on http://squidge.sourceforge.net/gpio/. I don't know yet how to enable it.

Setting your Timezone

See https://wiki.archlinux.org/index.php/Time#Time_Zone

# To check the current zone:
timedatectl status
# To list available zones (exit with 'q'):
timedatectl list-timezones
# To set your time zone run:
timedatectl set-timezone Europe/Berlin

Controlling the hardware clock

https://wiki.archlinux.org/index.php/Network_Time_Protocol_daemon

On my box, the hardware clock was off quite a bit and I don't like the hwclock daemon. So I installed ntpd to synchronize time with NTP service automatically, replaced the hwclock daemon with it and set up a cron job to update the hardware clock accordingly:

pacman -S ntp

(On older installations I'd update my /etc/rc.conf to DAEMONS=(!hwclock ntpd [...]). Not needed anymore as of 2012-12.)

And my crontab -e:

# Set the hwclock to an NTP synced system clock:
#47 */12 * * * ntpd -s; hwclock -w
47 */12 * * * hwclock -w

Hard Disk Spindown

https://bbs.archlinux.de/viewtopic.php?id=17359

Manually force a spindown on the SATA drive:

hdparm -y /dev/sda

or on a connected USB hard disk:

sdparm --flexible --command=stop /dev/sdb

Package Management with Plugbox Linux

http://archlinuxarm.org/support/guides/applications/package-management

Install OpenVPN

https://wiki.archlinux.org/index.php/OpenVPN

pacman -Sy openvpn

Set up NFS

http://wiki.archlinux.org/index.php/Nfs

Install the packages for a NFS server:

pacman -Sy nfs-utils rpcbind

Relevant configuration files:

  • /etc/conf.d/nfs-common.conf
  • /etc/conf.d/nfs-server.conf

Plugbox Linux automatically mounts all partitions. To get the NAS partition mounted explicitly, add it to /etc/fstab:

/dev/sda3    /NASdata    ext3    defaults    0    0

(You might need to create the mountpoint), mount it and change the user rights (anyone may read and write):

mkdir /NASdata
mount /NASdata
chmod 777 /NASdata

Set up the exports using vi /etc/exports to enable network access to the storage:

/NASdata 192.168.1.1/24(rw,async,insecure,no_subtree_check)

This makes the folder writable for all clients in the network 192.168.1.1/24 (192.168.1.1 to 192.168.1.254).

And allow this network in /etc/hosts.allow:

nfsd: 192.168.1.0/255.255.255.0
rpcbind: 192.168.1.0/255.255.255.0
mountd: 192.168.1.0/255.255.255.0

Start the daemons when booting by adding the list rpcbind, nfs-common und nfs-server to the DAEMONS in /etc/rc.conf. For example:

DAEMONS=(syslog-ng network netfs crond sshd openntpd rpcbind nfs-common nfs-server)

Reboot. Now you can mount the folder using:

mkdir mountpoint
mount 192.168.1.42:/NASdata ./mountpoint

Setting It up as a Log Host for Syslog

Check out this blog post.

Transmission BT client

http://archlinuxarm.org/support/guides/applications/transmission

pacman -Sy transmission-cli

If you want to run the Transmission daemon at boot, add transmissiond to the DAEMONSarray in /etc/rc.conf. You have to set the user in /etc/conf.d/transmissiond.

adduser torrent
TRANSMISSION_HOME=/NASdata
cat << EOF >> /etc/conf.d/transmissiond 
TRANSMISSION_HOME=$TRANSMISSION_HOME
TRANS_USER="torrent"
TRANS_ARGS="-g $TRANSMISSION_HOME/.config/transmission-daemon"
EOF

Change the configuration file:

# Create the configuration file by starting and stopping the daemon:
/etc/rc.d/transmissiond start && /etc/rc.d/transmissiond stop
# Edit the main configuration file:
vi /NASdata/.config/transmission-daemon/settings.json
# set "rpc-whitelist-enabled" to false.

To start the transmission daemon manually run:

/etc/rc.d/transmissiond start

To run Transmission on startup, add transmissiond to the DAEMONS in /etc/rc.conf:

vi /etc/rc.conf

The web configuration interface is then available on http://plug.ip.address:9091

 

Firefly Media Server

Attention! This mt-daapd / Firefly Media Server does not work with newer iTunes versions (iTunes keeps breaking compatibility with mt-daapd and it's always a fight to get it back working). I don't use it anymore!

pacman -Sy dbus mt-daapd
vi /etc/mt-daapd/mt-daapd.conf
  • Change to admin_pw to a unique password.
  • Change the mp3_dir to your folder filled with MP3s on your external hard drive.
  • Change the servername to something you like. (This is what comes up in iTunes. I set it to goflex.)
  • Change runas to root.

Starting the Firefly Media Server manually:

/etc/rc.d/dbus start && /etc/rc.d/avahi-daemon start && /etc/rc.d/mt-daapd start

Add dbus avahi-daemon mt-daapd to the DAEMONS in /etc/rc.conf to start it automatically at startup.

The web configuration interface is then available on http://plug.ip.address:3689/

Afterwards it should appear in iTunes as a share. You can also add it to XMBC by adding an audio source: Zeroconf → goflex (iTunes Music Sharing) and you will get a path such as daap://your.ip:3689/goflex/ .

Apache, MySQL and PHP

http://lifehacker.com/#!5637092/turn-a-pogoplug-into-a-fully+featured-linux-web-server

pacman -Sy apache mysql php

For the installation log (containing hints on setting the MySQL password etc.) see https://gist.github.com/949765#file_lamp_installation_plugbox_linux.log.

iSCSI (not working yet)

The information on iSCSI below is outdated as of 2013-02-11. Check out https://wiki.archlinux.org/index.php/ISCSI_Target for more information.

http://archlinuxarm.org/forum/viewtopic.php?p=4680#p4680
https://blog.philippklaus.de/2011/04/iscsi-on-ubuntu-linux/http://en.wikipedia.org/wiki/LIO_Target

pacman -Sy iscsitarget-svn

Change the iSCSI configuration. cat /etc/iet/ietd.conf:

iSNSServer 192.168.1.21
iSNSAccessControl No
IncomingUser joe secret
OutgoingUser jack 12charsecret

iqn.2014-04.com.example:storage
  #Lun 0 Path=/dev/sda3,Type=fileio
  Lun 0 Path=/dev/sda3,Type=blockio

cat /etc/iet/initiators.allow:

iqn.2014-04.com.example:storage 192.168.1.1/24

restart the iscsi target service:

/etc/rc.d/iscsi-target stop
/etc/rc.d/iscsi-target start

Currently this produces the error:

FATAL: Module iscsi_trgt not found.

open-iscsi (which is an iSCSI Initiator – a client that accesses an iSCSI target device and makes it available on the local system):

PlugUI

http://archlinuxarm.org/forum/viewtopic.php?f=3&t=911

pacman -Sy plugui

After it installs, start it up with:

/etc/rc.d/plugui start

The Plug UI will be served as web site on port 80.

If you go to System → About Plug in the PlugUI, it gives you some information on the hardware:

Plug information / About your Device
Device: Seagate GoFlex Home
Processor: Feroceon 88FR131 rev 1 (v5l)
Architecture: armv5tel
Kernel: Linux 2.6.38 #1 PREEMPT Thu Apr 21 11:14:23 MDT 2011

MiniDLNA

http://archlinuxarm.org/support/guides/applications/minidlna

MiniDLNA is a slim DLNA media server for photos, music and videos. You may install it via PlugUI or in Terminal (check the link above).

After you installed MiniDLNA, set the media directory and started it up, you can view your media via XBMC (in my case on a Mac) by adding an audio source: UPnP Devices → PlugApps: root. This will show you a path like UPNP://4D696E69-444C-164E-9D41-0010759629C8 which you can add and then you are able to play music from this source.

AFP and Time Machine support

http://archlinuxarm.org/support/guides/applications/time-machine
http://archlinuxarm.org/forum/viewtopic.php?f=15&t=518
https://wiki.archlinux.org/index.php/Netatalk

Check the dedicated blog post Set up an AFP Server for Apple Time Machine. Here are the basics:

# Install Netatalk and its dependencies:
pacman -Sy netatalk avahi dbus
# Let's start setting it all up:
echo "afpd: ALL" >> /etc/hosts.allow
echo " - -transall -uamlist uams_randnum.so,uams_dhx2.so -nosavepassword -advertise_ssh" >> /etc/netatalk/afpd.conf
sed -i "s|#enable-dbus=yes|enable-dbus=yes|g" /etc/avahi/avahi-daemon.conf
# Is this needed? I don't know but it doesn't hurt:
echo "AVAHI_DAEMON_START=1" > /etc/default/avahi-daemon
# Now let's create a directory for TimeMachine backups:
mkdir -p /NASdata/TimeMachine
echo '/NASdata/TimeMachine "Time Machine" cnidscheme:cdb options:usedots,upriv,tm' >> /etc/netatalk/AppleVolumes.default
# ^ usedots: required if you want to use invisible files and folders (= starting with a dot)
# ^ upriv: adds support for AFP3 unix file privileges
# Set up the user philipp for use with Netatalk:
touch /etc/netatalk/afppasswd
afppasswd -a philipp
#! Give it permissions to access the TimeMachine folder:
chown philipp /NASdata/TimeMachine
chmod 777 /NASdata/TimeMachine

Add dbus avahi-daemon afpd cnid to your DAEMONS in /etc/rc.conf and restart.

For the upcoming netatalk 3.0 the configuration will be simplified and you have to check the notes in the upgrade guide. Also read the Release Notes for the 3.0-alpha1 (27th of March 2012).

SABnzbd

SABnzbd is an Open Source Binary Newsreader written in Python.
SABnzbd makes Usenet as simple and streamlined as possible by automating everything we can. All you have to do is add an .nzb. SABnzbd takes over from there, where it will be automatically downloaded, verified, repaired, extracted and filed away with zero human interaction.

The installation is pretty straight forward:

pacman -Syyu
pacman -S sabnzbd

My installation log

To start and stop you do

/etc/rc.d/sabnzbd start
/etc/rc.d/sabnzbd stop

The configuration file is /etc/conf.d/sabnzbd (You may want to change the IP to an external one in order to access the web interface via http://ip:8080). You can also add sabnzbd to the DAEMONS list at the end of /etc/rc.conf in order to have it run at system startup.

Running Postfix as MTA on the GoFlex Home

pacman -Syyu
pacman -S postfix

https://wiki.archlinux.org/index.php/Postfix

vsftpd

https://wiki.archlinux.org/index.php/Very_Secure_FTP_Daemon

Although FTP is insecure by design (passwords being transmitted in clear text) I use it to transfer files on to my GoFlex on the local network. It's the fastest way (~ 30MB/s)!

pacman -S vsftpd

Now change the config file /etc/vsftpd.conf:

  • anonymous_enable=NO
  • local_enable=YES
  • write_enable=YES

start it:

rc.d start vsftpd

and / or add vsftpd to your DAEMONS=() in /etc/rc.conf.

You can also set up its SSL encryption but this will slow it down and means you could just as well use SSH / SFTP.

DownloadDaemon

DownloadDaemon is can be used to get content shared on one-click hosters etc. Also check http://archlinuxarm.org/forum/viewtopic.php?f=4&t=701. Here is how to get it:

pacman -S yaourt
yaourt -S downloaddaemon

Getting USB Sound Cards to Work – Installing Pulseaudio

I had to install Pulseaudio because my sound was crippled and bad via Alsa. Probably there is an easier solution directly via Alsa though: http://archlinuxarm.org/forum/viewtopic.php?p=1742#p1742

https://wiki.archlinux.org/index.php/PulseAudio
https://wiki.archlinux.org/index.php/PulseAudio/Examples More HowTos: For OpenWrtfor Ubuntufor Gentoovia Airtunes, about running Pulseaudio system widePulseAudio on top of JACK and PulseAudio's Network Setup

Helpful Posts in the Arch Linux ARM Forum: 12

pacman -S pulseaudio pulseaudio-alsa avahi dbus

Start avahi-daemon and dbus:

rc.d start dbus && rc.d start avahi-daemon

grep resample-method /etc/pulse/daemon.conf

; resample-method=speex-float-0
resample-method = trivial

grep exit-idle-time /etc/pulse/daemon.conf

exit-idle-time = -1

grep native-protocol-tcp /etc/pulse/default.pa:

load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.102.0/24 auth-anonymous=1

grep zeroconf-publish /etc/pulse/default.pa:

load-module module-zeroconf-publish

And set up ALSA to use Pulseaudio:

cat << EOF > /etc/asound.conf 
pcm.!default {
    type pulse
}

ctl.!default {
    type pulse
}

# Explicit PulseAudio device
pcm.pulse {
    type pulse
}

ctl.pulse {
    type pulse
}
EOF

ToDo:

  1. Create a /etc/rc.d/pulseaudio file containing something like pulseaudio --start -D -v
  2. Experiment with the sample rate. The current default is 48000 as grep defaults.pcm.dmix.rate /usr/share/alsa/alsa.conf reveals defaults.pcm.dmix.rate 48000.
  3. Trying to reduce lag:
  4. https://wiki.archlinux.org/index.php/Advanced_Linux_Sound_Architecture#Crackling_sound_with_USB_devices
  5. http://alsa.opensrc.org/Usb-audio#Tuning_USB_devices_for_minimal_latencies

To change to volume of my sound card, I have to run something like pacmd set-sink-volume 5 400 (read this for more information). This can probably also be done via amixer.

Getting the M-Audio Transit USB Sound Card to Work

https://aur.archlinux.org/packages.php?ID=12812
https://wiki.archlinux.org/index.php/ALSA

pacman -S yaourt alsa-utils
yaourt -AS madfuload

Install ShairPort

With Shairport you can stream music from iTunes to your Arch Linux ARM box (running Pulseaudio with a USB sound card being connected). It works great for me!

mkdir -p /root/Downloads
cd /root/Downloads
git clone git://github.com/albertz/shairport.git
cd shairport
make
perl -MCPAN -e shell
# ^ follow the CPAN autoconfiguration...
# then enter:
#  q
# to quit the CPAN shell and open it again (RAM would be a problem otherwise):
perl -MCPAN -e shell
# and install the following:
#  install HTTP::Request
#  install HTTP::Message
#  install Crypt::OpenSSL::RSA
#  install IO::Socket::INET6
#  q

If any of the above commands return an error, you might be missing some of the following packages found here (I had a lot of that stuff installed already): avahi libao openssl perl-libwww perl-crypt-openssl-rsa (or from the Debian list: build-essential libssl-dev libcrypt-openssl-rsa-perl libao-dev libio-socket-inet6-perl libwww-perl avahi-utils pkg-config).

Run ShairPort as the user who started Pulseaudio like this:

perl /root/Downloads/shairport/shairport.pl --ao_driver=pulse --apname=SoundDistributor

More hints: http://archlinuxarm.org/forum/viewtopic.php?p=5737#p5737. Use the option --help to see more configuration options:

perl /home/philipp/Downloads/shairport/shairport.pl --help

After installing Shairport the way described I realized, I would not need pearl: https://github.com/albertz/shairport/issues/133#issuecomment-3404811

Install the Music Player Daemon - MPD

https://wiki.archlinux.org/index.php/Music_Player_Daemon

pacman -S mpd
cp /usr/share/mpd/mpd.conf.example /etc/mpd.conf

Check http://mpd.wikia.com/wiki/Clients for clients. The standard MPD client is mpc.

GLCD2USB LCD Display

GLCD2USB allows you to connect a LCD screen to the USB port. You can display all kinds of stuff on it. See my other blog post.

I had problems getting this to work with lcd4linux.
Serdisplib works though

yaourt -S serdisplib
# edit the PKGBUILD and replace with
# https://gist.github.com/2774176#file_pkgbuild

Test using

testserdisp

More stuff I tried (with no great results):

Install [GraphLCD (also called glcdlib)][http://graphlcd.berlios.de/]

yaourt -S graphlcd-base-svn
# adjust PKGBUILD to accept arm as arch and quickly remove any asm code from
# /var/abs/local/yaourtbuild/graphlcd-base-svn/src/graphlcd-base-build/graphlcd-base/glcddrivers/port.c
# copy http://svn.berlios.de/wsvn/graphlcd/trunk/graphlcd-base/graphlcd.conf
# to /etc/

yaourt -S lcdproc
# adjust PKGBUILD to accept arm as arch

yaourt -S lcd4linux-svn

Temperature measurement using 1w / OneWire sensors

1-Wire (OneWire) is a device communications bus system that you can use for multiple electronic devices like small thermometers such as the DS18S20 / DS18B20 (good overview in German: http://www.mikrocontroller.net/articles/Temperatursensor#DS18S20_.2F_DS18B20).
You may use the USB → Onewire Adapter DS9490R ( In Germany, you can buy it on http://shop.wiregate.de/wiregate/usb-produkte/ds9490r-1-wire-usb-adapter.html) via the OneWire Linux filesystem – owfs.

Don Veino was working on this. See http://veino.com/blog/?p=603. To install owfs (including temploggerd) run pacman -S owfs. Some of the steps Don verified to work are:

owserver -F -s 4304 -d /dev/ttyUSB0
owhttpd -F --readonly -s 4304 -p 3001
mkdir /tmp/1wire
owfs -F -s 4304 /tmp/1wire
ls /tmp/1wire

node-whatsapp

su
pacman -Su nodejs
npm install -g coffee-script
su philipp
cd ~
git clone git://github.com/saschagehlich/node-whatsapp.git
cd node-whatsapp
npm install
coffee ./index.coffee

resources

转载于:https://my.oschina.net/CasparLi/blog/818486

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值