User talk:Ramuk

From NAS-Central Buffalo - The Linkstation Wiki
Revision as of 23:29, 9 September 2006 by Ramuk (Talk | contribs)

Jump to: navigation, search

Contents

My Install

Get the archive

Linkstation-debdux.giffreelink_powerpc-hdhglan-1.11.zip

Flash The The LinkStation firmware flasher

  • Disable any firewall(s), including any built-in Windows firewall
  • Make sure the LinkStation and your PC are on the same sub-network. This likely requires that you change the IP address (and probably the subnet-mask) of your PC and router to a different IP address (out of the box the LS should start out on 192.168.1.XXX but in EM Mode it will have a static IP address of 192.168.11.150)
  • Run the firmware updater executable HD-HGLAN FWUpdate-english.exe

GeneralFreeLink1.jpg

  • After finding your LinkStation, press the "Renew Firmware" button, and wait. Have patience, and keep your calm. If you think the Firmware updater is acting strange, do not try to disconnect the LinkStation or abort the update in another way.
  • After flashing connect your LinkStation up to the network with subnet 192.168.1.XXX
  • Find your LinkStation on the network and Telnet to it with PuTTYtel You will be at the root shell.

Freelink - Convert the LinkStation into a Full-fledged Debian Linux Server

Debian GNU/Linux 3.1 %h

root@LinkStation:/#

Change the root password

passwd root

Get and update with apt-get

apt-get update
apt-get upgrade
apt-get install samba smbfs
apt-get install webmin webmin-core webmin-cpan webmin-inetd webmin-logrotate webmin-firewall
apt-get install webmin-samba

Install SSH and remove the Telnet Daemon from startup

apt-get install ssh
rm /etc/rc2.d/S05utelnetd

Freeing up space on hda1

cp -Rdp /home /mnt
rm -R   /home
ln -s /mnt/home /home
cp -Rdp /usr /mnt
rm -R   /usr
ln -s /mnt/usr /usr
cp -Rdp /var /mnt
rm -R   /var
ln -s /mnt/var /var

Get access to packages from the Debian unstable branch

1. Edit or create the file /etc/apt/apt.conf and add:

APT::Default-Release 
"stable";

2. Edit /etc/apt/sources.list and add the following lines:

deb http://http.us.debian.org/debian unstable main contrib non-free
deb-src http://http.us.debian.org/debian unstable main contrib non-free

3. Then update:

apt-get update

Add Stuff

Correct the system time and setup Network Time Protocol (NTP)

tzconfig
apt-get install ntp ntp-simple ntp-server ntpdate

Upgrade to the 2.6-kernel (ppc only)

wget http://hvkls.dyndns.org/downloads/latest-webinstaller.tar.gz
tar -C / -xvzf latest-webinstaller.tar.gz
/usr/local/sbin/webinstaller-kernelinst.sh
  • REBOOT

Install an Encrypted Filespace with EncFS

wget  http://hvkls.dyndns.org/downloads/fuse_2.5.3-binaries-ppc.tar.gz 
tar -C / -xvzf fuse_2.5.3-binaries-ppc.tar.gz
apt-get install encfs

Troubleshooting Windows shares (samba) - guest access

1. Pick a directory you wish to share ie: /mnt/share and change the access permissions to make it readable and writable to everybody.

mkdir /mnt/share
chmod 777 /mnt/share

2. Add the [share] section to /etc/samba/smb.conf

[global]
 security = share
 workgroup = MSHOME
 create mode = 777
 directory mode = 777

[share]
 comment = LinkStation Share
 path = /mnt/share
 read only = no 
 public = yes

3. Restart Samba on the Linkstation with this command:

/etc/rc.d/init.d/smb restart

Macintosh related configuration, netatalk, mt-daapd

wget http://hvkls.dyndns.org/downloads/libid3tag_0.15.1b-binaries-ppc.tar.gz
wget http://hvkls.dyndns.org/downloads/mtdaapd_0.2.4-binaries-ppc.tar.gz
tar -C / -xvzf libid3tag_0.15.1b-binaries-ppc.tar.gz
tar -C / -xvzf mtdaapd_0.2.4-binaries-ppc.tar.gz
mv /etc/mt-daapd.SAMPLE /etc/mt-daapd
  • Then edit /etc/mt-daapd/*. When done,
/etc/init.d/mt-daapd start

Precompiled C development environment, running on the LS

mkdir tmp
cd tmp
wget http://downloads.linkstationwiki.net/development_tools/ppc-tools-2_1.tgz 
mkdir devtools
cd devtools
tar xzvf ../ppc-tools-2_1.tgz
./install.sh
wget http://downloads.linkstationwiki.net/kernel_headers/kernel-headers-2.4.20_hglan_htgl-2.0.tar.bz2
tar -C / -xvjf kernel-headers-2.4.20_hglan_htgl-2.0.tar.bz2

USB Palm OS Device as an LCD Display

apt-get install lcdproc
apt-get remove lcdproc
wget http://lcdproc.omnipotent.net/download/lcdproc-0.4.5.tar.gz
tar -xvzf lcdproc-0.4.5.tar.gz
cd lcdproc-0.4.5
./configure
make
make install

Install Ipkg on the Linkstation (for end-users)

wget http://downloads.linkstationwiki.net/powerpc-hdhlan/powerpc-hdhlan-ipkg-0.99.153-1.tgz 
tar -C / -xvzf powerpc-hdhlan-ipkg-0.99.153-1.tgz
  • Add the following lines to the file /etc/ipkg.conf:
src nslu2-cross-stable http://ipkg.nslu2-linux.org/feeds/optware/ds101g/cross/stable/
src nslu2-cross-unstable http://ipkg.nslu2-linux.org/feeds/optware/ds101g/cross/unstable/
src nslu2-native-stable http://ipkg.nslu2-linux.org/feeds/optware/ds101g/native/stable/
src nslu2-native-unstable http://ipkg.nslu2-linux.org/feeds/optware/ds101g/native/unstable/
  • then
ipkg update

XBMC - Using Xbox Media Center with the LinkStation

ipkg install ccxstream
  • Edit the ccxstream start file and change the username and shared directory for your system

/opt/etc/init.d/S75ccxstream

#!/bin/sh

if [ -n "`pidof ccxstream`" ] ; then
   killall ccxstream 2>/dev/null

fi
 
# see /opt/doc/ccxstream/README for the full summary on
# command-line options, but the terse summary is that
# -r is the directory to "share" using ccxstream, and is
# probably the option you most want to adjust.
#

sleep 2
/opt/sbin/ccxstream -r /mnt/share -u username -f -F /var/run/ccxstream.pid
  • Start the ccXStream daemon
/opt/etc/init.d/S75ccxstream


KAID - XLink Kai online gaming for Xbox, 360, PS2 and PSP

wget http://www.teamxlink.co.uk/binary/kaid-ppc-static-libc-2.3.zip
unzip kaid-*
mv kaid-static* kaid
mv kaid /usr/local/sbin
chmod 755 /usr/local/sbin/kaid
  • create /etc/init.d/kaid
#! /bin/sh
export USER="root"
NAME=kaid
start()
{
mkdir /var/misc
touch /var/misc/kaiSystemConfig.txt
touch /var/misc/kaiEnginePersist.txt
chmod ugo+w /var/misc/kaiSystemConfig.txt
chmod ugo+w /var/misc/kaiEnginePersist.txt
su - $USER -c"kaid"
}
stop()
{
su - $USER -c"killall kaid"
}
case "$1" in
start)
echo -n "Starting Kaid: "
start
;;
stop)
echo -n "Stopping Kaid "
stop
;;
restart)
echo -n "Restarting Kaid "
stop
start
;;
*)
echo "Usage: /etc/init.d/$NAME {start|stop|restart}"
exit 1
;;
esac
exit 0
  • Create a symbolic link to start kaid at every reboot and kill it at every shutdown automaticly:
chmod 755 /etc/init.d/kaid  
ln -s /etc/init.d/kaid /etc/rc.d/rc0.d/K99kaid
ln -s /etc/init.d/kaid /etc/rc.d/rc2.d/S99kaid
ln -s /etc/init.d/kaid /etc/rc.d/rc6.d/K99kaid
  • Create /etc/kaid.conf and put in your username/password
################################################################################
# Kai Engine Configuration File (7.0.0.6-a)
#
# This file contains the configuration options for Kai Engine.
# There are some fields which can be modified, the descriptions of these fields
# and their default values are listed below
#
#
# Verbosity : Debug output verbosity. Options are as follows:
# 0 - Silent apart from starting / stopping messages, and init failures.
# 1 - As 1, but shows import events such as UI attach/detach, console detection,
# orb connection / loss.
# 2 - As 2, but more detailed, showing thread start/stop events, DHCP
# events, and other important information.
# 3 - Debug - same as 2, but with lots of extra information - useful
# for diagnosing segfaults etc.
Verbosity = 1
#
# User : Specifies which system user to switch to after having
# allocated necessary privileged resources. (FreeBSD Only!)
User = daemon
#
# UIBind : Specifies which ip/port kaid will use to listen for controller
# UIs. You don't want to change this.
UIBind = :34522
#
# OrbPort : Specifies which port kaid will use to probe(UDP) and talk to
# Orbitals (TCP) . You don't want to change this.
OrbPort = 34525
#
# OrbDeepPort : Specified which port kaid will use to probe and talk to
# deep resolution servers. You don't want to change this.
OrbDeepPort = 34523
#
# EngineBind : Specifies the IP:port to listen for the engine (UDP socket);
# (port should be forwarded in your router if using NAT)
# Ex.: 69.69.69.69, 69.69.69.69:37500, :37500
EngineBind = :0
#
# EngineDeepBind : Specifies the IP:port to listen for the engine (deep resolution)
# Do not enable this unless directed to.
# EngineDeepBind must be a different port than EngineBind if
# they use the same IP address
# Ex.: 69.69.69.69, 69.69.69.69:37501, :37501
EngineDeepBind = :0
#
# Engine PAT : Tells the orbital server to use your perceived UDP port, as opposed to the
# one specified in EngineBind. Ignored if EngineBind is 0. Please don't turn this
# setting to 1, unless directed to do so in a troubleshooting session.
EnginePAT = 0
#
# SniffDevice : NIC to sniff for console traffic (eth0, ethX, ...). Will be used
# for packet injection too.
# Ex.: eth0 (default), en0 (Mac OSX), br0 (WRT54G)
SniffDevice = eth0
#
# LocalDevices : How many consoles to detect before the engine locks the pcap filter. Setting this to 0,
# means the engine will never lock - which means you can use any number of consoles, but
# you will notice a performance hit, if your network is busy with other traffic. The best
# thing to do here is to set the number to the number of consoles you own - that's why it
# defaults to 1 - because most people have just 1 console.
LocalDevices = 1
#
# ConfigURL : URL where orb list is published (and extra stuff) - best not to mess with this.
ConfigURL = www.teamxlink.co.uk/connector/clientgetconfig.php
#
# ConfigCache : Location of cached orb list - this file is used if the ConfigURL is inaccessible
# Make sure this file is writable. WRT54G users might want to change it to a non-volatile
# location if that feature is available in their firmware
# (i.e. /jffs/tmp/ for DD-WRT, /usr/local/ for Sveasoft)
ConfigCache = /var/misc/kaiSystemConfig.txt
#
# CacheFile : Location of Kai engine cache information
# Make sure this file is writable. WRT54G users might want to change it to a non-volatile
# location if that feature is available in their firmware
# (i.e. /jffs/tmp/ for DD-WRT, /usr/local/ for Sveasoft)
CacheFile = /var/misc/kaiEnginePersist.txt
#
#Authentication : Set username and password and AutoLogin=1 for an easy life...
Username =XXXXXXXXX
Password =XXXXXXXXX
AutoLogin = 1
#
# Xbox DHCP setting : Please leave alone, unless playing with emulators or DoomX etc. You DO NOT need this set to 1
# to use XBMC as a dashboard - setting it to 1 will *break* your dashboards internet connectivity.
XBoxHomebrew = 0


S.M.A.R.T. hard drive monitoring

apt-get install smartmontools
  • Edit /etc/default/smartmontools
start_smartd=yes
  • Edit the smartd config file /etc/smartd.conf
    • comment out: DEVICESCAN
    • add: /dev/hda -a -H -m root

This little script generates a small bit of html showing a number of system stats


 tc=$(smartctl -a /dev/hda | grep 194 | colrm 1 87)
 tf=$(echo "scale=2;((9/5) * $tc) + 32" |bc)
 echo " Used   %  Share"
 echo "------ --- -----"
 df -h | grep /dev/hda | colrm 1 27 | colrm 6 11
 df -h| colrm  45 55 | grep /dev/s | grep -v tmpfs | colrm 1 27 | colrm 6 11
 echo "<table>"
 echo "<tr><td>Users:</td><td>"
 users
 echo "</td></tr>"
 echo "<tr><td>Uptime:</td><td> "
 uptime \
  | awk '{
   # chops off "up" and everything before it:
   sub(/.*up[ ]+/,"",$0)
   # chops off ", # users" and everything after it:
   sub(/,[ ]+[0-9]+ user.*/,"",$0)
   # cleans up extra spaces, i think:
   sub(/,/,"",$0)
   # obvious enough, prints the results
   print($0)
 }'
 echo "</td></tr>"
 echo "<tr><td>Load:</td><td>"
 uptime | sed 's/^.*average: / /'
 echo "</td></tr><tr><td>Temp:</td><td>"
 echo $tf " F"
 echo "</td></tr> </table>"
 echo "<hr>"
 date | colrm 20 30"
 echo "<hr>"


USB devices including CUPS printing, scanners, and webcams

apt-get install hotplug usbview usbutils

Use this perl script to give you a tree of USB devices: http://www.linux-usb.org/usbtree

And use this to convert it to HTML:

#!/bin/bash
# usage csv2html.sh (field delimiter) (data file)

IFS=$1
echo '<Table border="1">'
while read line
do
echo "<tr>"
for word in $line
do
echo "<td>$word</td>"
done
echo "</tr>"
done <$2
echo "</table>"

Album - Photo gallery generator which has theme support

MarginalHacks/Album: A HTML photo album generator that supports themes. It takes directories of images and creates all the thumbnails and HTML that you need.

apt-get install album

Dominatrix6.jpg

Dominatrix6

  • Use wget to get and install this theme
  • To use a theme, download the theme .tar or .zip and unpack it.
mkdir /home/httpd/Themes/
cd /home/httpd/Themes/
wget http://marginalhacks.com/Hacks/album/Themes/Dominatrix6.tar.gz
tar -xvzf Dominatrix6.tar.gz
rm Dominatrix6.tar.gz
  • Full resolution images are usually too big for a web album, so we'll use medium images on the image pages:
  • Then call album with the -theme option, with or without -theme_path:
album -medium 33% -theme Dominatrix6 /home/httpd/test/Photos
album -medium 33% -theme Dominatrix6 -theme_path /home/httpd/Themes/ /home/httpd/test/Photos

Small and simple console-based bandwidth monitor

Bandwidth Monitor NG (bwm-ng) is a small and simple console-based live bandwidth monitor. Short list of features:

  • Supports /proc/net/dev, netstat, getifaddr, sysctl, kstat and libstatgrab
  • Unlimited number of interfaces supported
  • Interfaces are added or removed dynamically from list
  • White-/blacklist of interfaces
  • Output of KB/s, Kb/s, packets, errors, average, max and total sum
  • Output in curses, plain console, CSV or HTML
  • Configfile
apt-get install bwm-ng
bwm-ng -T a -o html

Kernel News

UNIQ4c68a33d6603add1-rss-00000003-QINU